/*jshint esversion: 6 */ window.onload = function() { reorganize_html(); create_theme_switcher(); roll_elems(); }; function roll_elems() { // Make the rollable headers actually rollable and rolled $(".outline-2").each(function() { ['h2', 'h3', 'h4', 'h5', 'h6'].forEach(htitle => { $(this).find(htitle).each(function($header) { $header = $(this); if (isEmpty($header.next())) { $header.next().remove(); } $header.click(function() { $header.nextAll().each(function() { $(this).slideToggle(500); }); $header.toggleClass('rotated'); }); }); }); }); } function reorganize_html() { // Remove table of contents $("#table-of-contents").remove(); // Move the title out of the content div $('#content').before('
'); $('.title').prependTo($('.h1-container')); // Move the postamble in the content div $('#postamble').appendTo($('#content')); // Move each table in a div to handle large tables' overflow $('table').each(function() { $table = $(this); $table.before('
'); $table.prependTo($table.prev()); }); } function create_theme_switcher() { // set the correct CSS depending on the cookie, dark is default var light = isThemeLight(); $('body').append('
')); $('head').append('')); // switch CSS files and button icon, set new cookie on theme switcher click $('.themeBtn').click(function() { console.log("Theme change"); var light = !isThemeLight(); console.log(light); $("#theme").first().attr('href', './css/' .concat(light ? 'light' : 'dark') .concat('.css')); $('.themeBtn').html('')); Cookies.set('light-theme', light ? 'true' : 'false'); }); } function isThemeLight() { // set the css and button depending on the cookie found, dark is default var light; switch (Cookies.get('light-theme')) { case 'true': light = true; break; case null: // If no theme cookie is found, set dark by default Cookies.set('light-theme', false); /* falls through */ default: light = false; break; } return light; } function isEmpty(el) { return !$.trim(el.html()); }