From c282cee4db7eb02b44a96989c430aa33e5517eab Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Tue, 10 Dec 2019 06:48:11 +0100 Subject: feature dracula themed doc (#12816) * Implement gorgeous Dracula themed Nim documentation * Add color for escape sequences * fixes the test cases * the big CSS cleanup --- nimdoc/test_out_index_dot_html/expected/index.html | 807 +-------------------- .../test_out_index_dot_html/expected/theindex.html | 800 +------------------- 2 files changed, 73 insertions(+), 1534 deletions(-) (limited to 'nimdoc/test_out_index_dot_html/expected') diff --git a/nimdoc/test_out_index_dot_html/expected/index.html b/nimdoc/test_out_index_dot_html/expected/index.html index 49873c0d4..caf38a86d 100644 --- a/nimdoc/test_out_index_dot_html/expected/index.html +++ b/nimdoc/test_out_index_dot_html/expected/index.html @@ -18,772 +18,7 @@ foo - + @@ -798,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } @@ -808,6 +74,13 @@ function main() {

foo

+
+ +     Dark Mode +
diff --git a/nimdoc/test_out_index_dot_html/expected/theindex.html b/nimdoc/test_out_index_dot_html/expected/theindex.html index 46fcc13a4..e0b0c067d 100644 --- a/nimdoc/test_out_index_dot_html/expected/theindex.html +++ b/nimdoc/test_out_index_dot_html/expected/theindex.html @@ -18,772 +18,7 @@ Index - + @@ -798,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } @@ -816,7 +82,7 @@ function main() {
-- cgit 1.4.1-2-gfad0