about summary refs log tree commit diff
path: root/tvix/docs/mdbook-extra.js
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/docs/mdbook-extra.js')
-rw-r--r--tvix/docs/mdbook-extra.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/tvix/docs/mdbook-extra.js b/tvix/docs/mdbook-extra.js
new file mode 100644
index 000000000000..bff412e69eb2
--- /dev/null
+++ b/tvix/docs/mdbook-extra.js
@@ -0,0 +1,24 @@
+"use strict"
+
+function main() {
+	document.removeEventListener("DOMContentLoaded", main, false)
+
+	// NOTE: this is a hacky solution but should do the job for making a
+	// listenable audio link
+	function playAudio(evt) {
+		evt.preventDefault()
+		var audio = document.createElement("audio")
+		audio.addEventListener("ended", function() { audio.delete() }, false)
+		audio.addEventListener("loadeddata", function() { audio.play() }, false)
+		audio.src = evt.target.href
+		audio.load()
+	}
+
+	var audios = document.querySelectorAll("a[href^=\"data:audio/\"]")
+	Array.prototype.forEach.call(audios, function setupAudio(elem) {
+		elem.setAttribute("role", "button")
+		elem.addEventListener("click", playAudio, false)
+	})
+}
+
+document.addEventListener("DOMContentLoaded", main, false)