diff --git a/src/moin/static/js/slideshow.js b/src/moin/static/js/slideshow.js
new file mode 100644
index 000000000..46483732f
--- /dev/null
+++ b/src/moin/static/js/slideshow.js
@@ -0,0 +1,40 @@
+/* jslint browser: true, nomen: true */
+
+let slideNo = 1;
+const slides = document.getElementsByClassName('moin-slides');
+
+function showSlide(n) {
+ let i;
+ slideNo = n;
+ for (i = 0; i < slides.length; i++) {
+ slides[i].style.display = 'none';
+ }
+ slides[slideNo - 1].style.display = 'block';
+ }
+
+function nextSlide() {
+ if (slideNo < slides.length) {
+ showSlide((slideNo += 1));
+ }
+}
+
+function prevSlide() {
+ if (slideNo > 1) {
+ showSlide((slideNo -= 1));
+ }
+}
+
+function lastSlide() {
+ showSlide(slides.length);
+}
+
+document.addEventListener('keydown', (event) => {
+ if (event.code === 'ArrowLeft') {
+ prevSlide();
+ }
+ if (event.code === 'ArrowRight') {
+ nextSlide();
+ }
+});
+
+showSlide(slideNo);
diff --git a/src/moin/templates/slideshow.html b/src/moin/templates/slideshow.html
index 68aa1ca51..742a50c40 100644
--- a/src/moin/templates/slideshow.html
+++ b/src/moin/templates/slideshow.html
@@ -25,43 +25,5 @@
-
+
{% endblock %}