From 2b5394336af769e6f25eaac079faf0953c343c03 Mon Sep 17 00:00:00 2001 From: Alex Myasoedov Date: Thu, 2 Mar 2017 22:16:37 -0500 Subject: [PATCH] Theme ctrl --- static/js/slides.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/static/js/slides.js b/static/js/slides.js index 06e1756..36e79d2 100644 --- a/static/js/slides.js +++ b/static/js/slides.js @@ -5,6 +5,7 @@ function isPreview() { function initializeReveal() { // Full list of configuration options available at: // https://github.com/hakimel/reveal.js#configuration + Reveal.initialize({ controls: true, progress: true, @@ -70,6 +71,8 @@ function initializeReveal() { } ] }); + + themesCtrl(); } function highlightAnyCodeBlocks() { @@ -112,6 +115,47 @@ function externalLinksInNewWindow() { insertMarkdownReference(); initializeReveal(); +function themesCtrl() { + var defaultTheme = "black.css", + currentTheme = localStorage.getItem('theme?') || + defaultTheme; + + function setTheme(theme) { + cssEl = $("#theme"); + cssEl.attr("href", "/static/reveal.js/css/theme/" + theme); + localStorage.setItem('theme?', theme); + } + setTheme(currentTheme); + + if (!isPreview()) { + return + } + var availableThemes = [ + "black.css", + "beige.css", + "blood.css", + "league.css", + "moon.css", + "night.css", + "serif.css", + "simple.css", + "sky.css", + "solarized.css", + "white.css", + ]; + themeEl = $("#themes"); + availableThemes.forEach(function(theme) { + elem = $(""); + themeEl.append(elem); + }) + themeEl.val(currentTheme); + themeEl.change(function() { + val = themeEl.val() + setTheme(val); + }); + themeEl.attr("hidden", false); +} + // Monkey patch Reveal so we can reload markdown through an // inter window message (using the reveal rpc api) // (yes, reveal has an rpc api!)