Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ gh_edit_branch: "master" # the branch that your docs is served from
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately

# Color scheme currently only supports "dark", "light"/nil (default), or a custom scheme that you define
color_scheme: nil
color_scheme:

# Google Analytics Tracking (optional)
# e.g, UA-1234567-89
Expand Down
30 changes: 29 additions & 1 deletion _layouts/default.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,33 @@

<html lang="{{ site.lang | default: 'en-US' }}">
{% include head.html %}

<body>
<script>

// document.addEventListener('DOMContentLoaded', function () {
//
// var d = document.querySelector('#theme-toggle');
//
// d.addEventListener("click", function () {
//
//
// if (jtd.getTheme() === 'dark') {
//
// d.textContent = 'Dark Theme';
// jtd.setTheme('light');
// }else{
//
//
// d.textContent = 'Light Theme';
// jtd.setTheme('dark');
// }
// });
//
// });


</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-link" viewBox="0 0 24 24">
<title>Link</title>
Expand Down Expand Up @@ -67,7 +93,7 @@
{% endif %}
</nav>
<footer class="site-footer">
This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
<button id="theme-toggle" class="btn js-toggle-dark-mode" onclick="modeSwitcher()">Dark Theme</button>
</footer>
</div>
<div class="main" id="top">
Expand Down Expand Up @@ -200,5 +226,7 @@ <h2 class="text-delta">Table of contents</h2>
<div class="search-overlay"></div>
{% endif %}
</div>
<script src="/assets/js/mode-switcher.js"></script>
</body>

</html>
30 changes: 26 additions & 4 deletions _sass/base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,45 @@
* {
box-sizing: border-box;
}
html, html [data-theme="light"] {

::selection {
color: $white;
background: $link-color;
--body-background-color: red;
}

html [data-theme="dark"] {
--body-background-color: blue;
}

@media (prefers-color-scheme: dark) {

html, html [data-theme="dark"] {
--body-background-color: blue;
}


html [data-theme="light"] {
--body-background-color: red;
}
}


html {
@include fs-4;
scroll-behavior: smooth;
}


body {
font-family: $body-font-family;
font-size: inherit;
line-height: $body-line-height;
color: $body-text-color;
background-color: $body-background-color;
background-color: var(--body-background-color);
}

::selection {
color: $white;
background: $link-color;
}

ol,
Expand Down
34 changes: 17 additions & 17 deletions _sass/color_schemes/dark.scss
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
$body-background-color: $grey-dk-300;
$sidebar-color: $grey-dk-300;
$border-color: $grey-dk-200;

$body-text-color: $grey-lt-300;
$body-heading-color: $grey-lt-000;
$nav-child-link-color: $grey-dk-000;
$search-result-preview-color: $grey-dk-000;

$link-color: $blue-000;
$btn-primary-color: $blue-200;
$base-button-color: $grey-dk-250;

$code-background-color: $grey-dk-250;
$search-background-color: $grey-dk-250;
$table-background-color: $grey-dk-250;
$feedback-color: darken($sidebar-color, 3%);
//$body-background-color: $grey-dk-300;
//$sidebar-color: $grey-dk-300;
//$border-color: $grey-dk-200;
//
//$body-text-color: $grey-lt-300;
//$body-heading-color: $grey-lt-000;
//$nav-child-link-color: $grey-dk-000;
//$search-result-preview-color: $grey-dk-000;
//
//$link-color: $blue-000;
//$btn-primary-color: $blue-200;
//$base-button-color: $grey-dk-250;
//
//$code-background-color: $grey-dk-250;
//$search-background-color: $grey-dk-250;
//$table-background-color: $grey-dk-250;
//$feedback-color: darken($sidebar-color, 3%);
3 changes: 2 additions & 1 deletion _sass/support/_variables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,14 @@ $red-100: #f96e65 !default;
$red-200: #e94c4c !default;
$red-300: #dd2e2e !default;

$body-background-color: $white !default;
//$body-background-color: $white !default;
$sidebar-color: $grey-lt-000 !default;
$search-background-color: $white !default;
$table-background-color: $white !default;
$code-background-color: $grey-lt-000 !default;
$feedback-color: darken($sidebar-color, 3%) !default;


$body-text-color: $grey-dk-100 !default;
$body-heading-color: $grey-dk-300 !default;
$search-result-preview-color: $grey-dk-000 !default;
Expand Down
2 changes: 1 addition & 1 deletion assets/css/just-the-docs-dark.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
---
---
{% include css/just-the-docs.scss.liquid color_scheme="dark" %}
//{% include css/just-the-docs.scss.liquid color_scheme="dark" %}
31 changes: 23 additions & 8 deletions assets/js/just-the-docs.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@

// Event handling



jtd.addEvent = function(el, type, handler) {
if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
}
jtd.removeEvent = function(el, type, handler) {
if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler);
}

jtd.onReady = function(ready) {

// in case the document is already rendered
if (document.readyState!='loading') ready();
// modern browsers
Expand All @@ -20,10 +24,19 @@ jtd.onReady = function(ready) {
if (document.readyState=='complete') ready();
});
}
// const toggleDarkMode = document.querySelector('.js-toggle-dark-mode');
// console.log(toggleDarkMode)
// toggleDarkMode.addEventListener('click',function(){
// console.log('jere')
// })
// toggleDarkMode.attachEvent('onclick',function(){
// console.log("here")
// })

// Show/hide mobile menu

function initNav() {

jtd.addEvent(document, 'click', function(e){
var target = e.target;
while (target && !(target.classList && target.classList.contains('nav-list-expander'))) {
Expand Down Expand Up @@ -447,19 +460,21 @@ function searchLoaded(index, docs) {

// Switch theme

jtd.getTheme = function() {
var cssFileHref = document.querySelector('[rel="stylesheet"]').getAttribute('href');
return cssFileHref.substring(cssFileHref.lastIndexOf('-') + 1, cssFileHref.length - 4);
}
// jtd.getTheme = function() {
// var cssFileHref = document.querySelector('[rel="stylesheet"]').getAttribute('href');
// return cssFileHref.substring(cssFileHref.lastIndexOf('-') + 1, cssFileHref.length - 4);
// }
//
// jtd.setTheme = function(theme) {
// var cssFile = document.querySelector('[rel="stylesheet"]');
// cssFile.setAttribute('href', '{{ "assets/css/just-the-docs-" | absolute_url }}' + theme + '.css');
// }

jtd.setTheme = function(theme) {
var cssFile = document.querySelector('[rel="stylesheet"]');
cssFile.setAttribute('href', '{{ "assets/css/just-the-docs-" | absolute_url }}' + theme + '.css');
}

// Document ready

jtd.onReady(function(){
console.log('ready')
initNav();
{%- if site.search_enabled != false %}
initSearch();
Expand Down
55 changes: 55 additions & 0 deletions assets/js/mode-switcher.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
let systemInitiatedDark = window.matchMedia("(prefers-color-scheme: dark)");
let theme = sessionStorage.getItem('theme');

if (systemInitiatedDark.matches) {
document.getElementById("theme-toggle").innerHTML = "Light Mode";
} else {
document.getElementById("theme-toggle").innerHTML = "Dark Mode";
}

function prefersColorTest(systemInitiatedDark) {
if (systemInitiatedDark.matches) {
document.documentElement.setAttribute('data-theme', 'dark');
document.getElementById("theme-toggle").innerHTML = "Light Mode";
sessionStorage.setItem('theme', '');
} else {
document.documentElement.setAttribute('data-theme', 'light');
document.getElementById("theme-toggle").innerHTML = "Dark Mode";
sessionStorage.setItem('theme', '');
}
}
systemInitiatedDark.addListener(prefersColorTest);


function modeSwitcher() {
console.log('jere')
let theme = sessionStorage.getItem('theme');
if (theme === "dark") {
console.log('works')
document.documentElement.setAttribute('data-theme', 'light');
sessionStorage.setItem('theme', 'light');
document.getElementById("theme-toggle").innerHTML = "Dark Mode";
} else if (theme === "light") {
document.documentElement.setAttribute('data-theme', 'dark');
sessionStorage.setItem('theme', 'dark');
document.getElementById("theme-toggle").innerHTML = "Light Mode";
} else if (systemInitiatedDark.matches) {
document.documentElement.setAttribute('data-theme', 'light');
sessionStorage.setItem('theme', 'light');
document.getElementById("theme-toggle").innerHTML = "Dark Mode";
} else {
document.documentElement.setAttribute('data-theme', 'dark');
sessionStorage.setItem('theme', 'dark');
document.getElementById("theme-toggle").innerHTML = "Light Mode";
}
}

if (theme === "dark") {
document.documentElement.setAttribute('data-theme', 'dark');
sessionStorage.setItem('theme', 'dark');
document.getElementById("theme-toggle").innerHTML = "Light Mode";
} else if (theme === "light") {
document.documentElement.setAttribute('data-theme', 'light');
sessionStorage.setItem('theme', 'light');
document.getElementById("theme-toggle").innerHTML = "Dark Mode";
}