diff --git a/assets/css/style.scss b/assets/css/style.scss index a0feb3c..b3243c5 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -511,6 +511,9 @@ select { &:first-child { margin-left: 0; } + &:hover { + cursor: pointer; + } } } diff --git a/assets/js/scripts.js b/assets/js/scripts.js new file mode 100644 index 0000000..a26c6f9 --- /dev/null +++ b/assets/js/scripts.js @@ -0,0 +1,29 @@ +"use strict"; + +let synth = window.speechSynthesis; + +function initSpeak() { + if (synth && document.querySelector('.content')) { + document.querySelector('#speakBtn').style.display = ''; + stopSpeak(); + } +} + +function speak() { + stopSpeak(); + let voices = synth.getVoices().filter(voice => voice.lang.startsWith(document.querySelector('html').lang)); + if (voices.length == 0) return; + document.querySelector('#speakBtn').innerHTML = "Stop speaking!"; + let utterThis = new SpeechSynthesisUtterance(document.querySelector('.content').textContent); + utterThis.voice = voices[0]; + utterThis.onerror = stopSpeak; + utterThis.onend = stopSpeak; + synth.speak(utterThis); +} + +function stopSpeak() { + synth.cancel(); + document.querySelector('#speakBtn').innerHTML = "Read to me, please."; +} + +window.onload = initSpeak(); \ No newline at end of file diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 6573cc6..abd2c63 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -41,5 +41,7 @@ {{ partialCached "footer" . }} {{ partialCached "custombodyend" . }} + {{ $scripts := resources.Get "js/scripts.js" | minify | fingerprint }} + \ No newline at end of file diff --git a/layouts/partials/post_meta.html b/layouts/partials/post_meta.html index ba1e845..5957413 100644 --- a/layouts/partials/post_meta.html +++ b/layouts/partials/post_meta.html @@ -37,6 +37,7 @@ {{ T "also_on" }}:{{ $delimiter := "" }}{{ range $index, $link := . }}{{ $delimiter }} {{ (urls.Parse $link).Host }}{{ $delimiter = "," }}{{ end }} {{ end }} + {{ if .IsTranslated }}
{{ i18n "translations" }}: {{ $delimiter := "" }}{{ range .Translations }}{{ $delimiter }}{{ .Language.LanguageName }}{{ $delimiter = ", " }}{{ end }}