diff --git a/css/area_main-sidebar-nav.less b/css/area_main-sidebar-nav.less index 4525e98..8eecd0c 100755 --- a/css/area_main-sidebar-nav.less +++ b/css/area_main-sidebar-nav.less @@ -70,7 +70,7 @@ } } - a { + a, label { &:link, &:visited { opacity: .9; @@ -89,8 +89,12 @@ background-color: var(--color-background); border-radius: 0.5rem; + &.themeToggle input { + display: none; + } + // the toggle element - a { + a, label { border-radius: 0.5rem; background-color: var(--color-shade-1); transition: background-color 150ms; @@ -159,7 +163,7 @@ position: relative; // always show label, even with collapsed sidebar z-index: 100; - a { + a, label { width: 100%; background-color: transparent; diff --git a/css/base.less b/css/base.less index a05abe0..60dc216 100755 --- a/css/base.less +++ b/css/base.less @@ -611,18 +611,29 @@ nav > ul { } } - html, - html.light { - .light(); - } - - html.dark { - .dark(); - } - @media (prefers-color-scheme: dark) { html { .dark(); + + &:has(#themeLight:checked) { + .light(); + } + } + #themeToggleDark { + display: none !important; + } + } + + @media (prefers-color-scheme: light) { + html { + .light(); + + &:has(#themeDark:checked) { + .dark(); + } + } + #themeToggleLight { + display: none !important; } } diff --git a/lang/de-informal/lang.php b/lang/de-informal/lang.php new file mode 100755 index 0000000..c39687d --- /dev/null +++ b/lang/de-informal/lang.php @@ -0,0 +1,107 @@ +<?php +/** + * German language file for template + *__background_site__ + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ + + +$lang['direct_prefix'] = 'Direkt'; +$lang['direct_content_main'] = 'Hauptinhalt dieser Seite'; +$lang['direct_quick_search'] = 'Schnellsuche'; +$lang['direct_content_toggle'] = 'Breite des Contents ändern'; + +$lang['adjunct_linked_logo_text'] = ' - Link zur Startseite'; +$lang['a11y_sidebartoggle'] = 'Navigation anzeigen/verbergen'; + +$lang['nav-area-head'] = 'Navigationsmenüs und Suche'; +$lang['head_magic_matcher'] = 'MagicMatcher'; +$lang['head_quick_search'] = 'Wikiübergreifende Schnellsuche'; +$lang['head_menu_status'] = 'Seitenstatus'; +$lang['head_breadcrumb_youarehere'] = 'Standortanzeiger'; +$lang['head_menu_trace'] = 'Zuletzt Angesehen'; +$lang['head_meta_box'] = 'Metainformationen zur Seite'; +$lang['head_menu_starred'] = 'Gemerkte Seiten'; +$lang['head_menu_tool-select'] = 'Werkzeuge'; + +$lang['jump_to_quicksearch'] = 'Springe zur Schnellsuche'; + +/** it will be shown from plugin lang.php: +$lang['meta_box_jira_tickets_none'] = 'Keine Jira-Tickets verknüpft'; +$lang['meta_box_tags_none'] = 'Keine Tags verknüpft'; +$lang['js']['meta_box_toc_none'] = 'kein Inhaltsverzeichnis vorhanden'; +$lang['prefix_tasks_user'] = 'Ihre offenen Aufgaben: '; +*/ + +$lang['custom_modeswitch'] = 'Lichtschalter'; + +$lang['tab_tags'] = 'Tags'; +$lang['tab_issues'] = 'Issues'; + +$lang['quality_trigger'] = 'Seitenanalyse anzeigen/verbergen'; + +$lang['prefix_tasks_page'] = 'offene Aufgaben auf dieser Seite: '; + +$lang['tasks_page_none'] = 'keine offenen Aufgaben für diese Seite'; +$lang['tasks_page_intime'] = 'offenen Aufgaben für diese Seite: %1$d'; +$lang['tasks_page_late'] = 'offenen Aufgaben für diese Seite: %1$d, zu spät: %2$d'; + +/** is not used +$lang['discussion'] = 'xxx Diskussion'; +$lang['back_to_article'] = 'xxx Zurück zum Artikel'; +$lang['userpage'] = 'xxx Benutzer-Seite'; + */ + +$lang['meta_data'] = 'Meta Daten des Bildes'; /** wird aufgerufen aber nicht ausgegeben - Fehler? */ +$lang['osm_zoom_link_text'] = 'größere Karte anzeigen'; +$lang['osm_zoom_link_title'] = 'externer Link - öffnet in neuem Fenster'; /** in streetmaps - konnte ich nicht finden */ + +$lang['image_detail'] = 'Detailinformationen zum Bild'; + +$lang['mode_edit'] = 'Seite bearbeiten'; + + +$lang['nav_sidebar'] = 'Navigation'; +$lang['nav_sitemap'] = 'Seitenbaum'; + + +/** + * preferences colors + */ + +$lang['__site_width__'] = 'Content - Breite (in %)'; + +$lang['__background_site__'] = 'Website - Hintergrundfarbe'; +$lang['__text_webframe__'] = 'Claim, Titel, Footer (unverlinkt), Navigation (unverlinkt) - Schriftfarbe'; + +$lang['__nav_menu_color__'] = 'Navigation (verlinkt), Footer (verlinkt), Pagetools Icons, Tabbox - Schriftfarbe'; +$lang['__nav_menu_hover_color__'] = 'Navigation (hover) - Schriftfarbe, Rahmenfarbe; Wiki Icons - Schriftfarbe; Wiki Icons (hover) - Hintergrundfarbe'; +$lang['__nav_menu_hover_bg__'] = 'Navigation (hover) - Hintergrundfarbe; Wiki Icons - Hintergrundfarbe; Wiki Icons (hover) - Schriftfarbe'; + +$lang['__background__'] = 'Content, Breadcrumb, Pagetools (hover) - Hintergrundfarbe'; +$lang['__text__'] = 'Content: Text - Schriftfarbe'; + +$lang['__background_neu__'] = 'Content neutral (nicht zu unterschiedlich zum Content-Hintergrund) - Hintergrundfarbe'; +$lang['__text_neu__'] = 'Content neutral - Schriftfarbe'; + +$lang['__background_page_header__'] = 'Content: Header, Footer, Tabinclude Tab controlls deaktiviert - Hintergrundfarbe'; +$lang['__background_page_footer__'] = 'Content: Footer, Tabinclude Tab controlls deaktiviert - Schriftfarbe'; + +$lang['__border_light__'] = 'Content: Header, Footer - Rahmenfarbe'; + +$lang['__highlight__'] = 'Texthervorhebung (z.B. für Suchergebnisse) - Hintergrundfarbe'; +$lang['__highlight_text__'] = 'Texthervorhebung (z.B. für Suchergebnisse) - Schriftfarbe'; + +$lang['__existing__'] = 'Links zu Wikiseiten, Stift, Pagetools (hover) - Schriftfarbe; Tabbox (hover) - Schriftfarbe, Rahmenfarbe'; +$lang['__link__'] = 'Links zu nicht-Wikiseiten (externe Links) - Schriftfarbe'; +$lang['__missing__'] = 'Links zu nicht vorhandenen Wikiseiten - Schriftfarbe'; + +$lang['__button_color__'] = 'Buttons - Schriftfarbe'; +$lang['__button_background__'] = 'Buttons - Hintergrundfarbe'; + +$lang['__background_alt__'] = 'Tabellenkopf, Tabellenzeile (hover), struct Label (hover) - Hintergrundfarbe (alternativ)'; +$lang['__text_alt__'] = 'Tabellenkopf: unverlinkt, Tabellenzeile (hover), struct Label (hover) - Schriftfarbe (alternativ)'; +$lang['__link_alt__'] = 'Tabellenkopf: verlinkt - Schriftfarbe (alternativ)'; + +$lang['__border__'] = 'Tabellen, Formularfelder, Zitate - Rahmenfarbe'; +$lang['__default_border_radius__'] = 'Wiki Icons, Content (oben rechts) - Borderradius'; diff --git a/lang/de-informal/settings.php b/lang/de-informal/settings.php new file mode 100755 index 0000000..5bbe996 --- /dev/null +++ b/lang/de-informal/settings.php @@ -0,0 +1,18 @@ +<?php +/** + * Deutsche Übersetzung Einstellungen + * + */ + + +$lang['sidebar_sections'] = 'Automatisches Ein- und Ausblenden der Sidebar Abschnitte orientieren sich an diesen Elementen:'; +$lang['sidebar_sections_o_h1'] = 'Überschriften 1. Ordnung'; +$lang['sidebar_sections_o_h1,h2'] = 'Überschriften der 1. und 2. Ordnung'; +$lang['sidebar_sections_o_h1,h2,h3,h4,h5'] = 'Alle Überschriften'; +$lang['sidebar_sections_o_li.level1 > .li'] = 'Top-level Listeneinträge in verschachtelten Listen'; + +$lang['header_layout'] = 'Layout des Headers anpassen:'; +$lang['header_layout_o_default'] = 'großer Header für langen Wiki Titel und Tagline'; +$lang['header_layout_o_compact'] = 'kompakter Header für kurzen Wiki Titel ohne Tagline'; + +$lang['autocollapse'] = 'Sidebar automatisch einklappen wenn Nicht-Inhaltsseiten angezigt werden, um mehr Platz zu haben.'; diff --git a/lang/de/lang.php b/lang/de/lang.php index 478cb44..c39687d 100755 --- a/lang/de/lang.php +++ b/lang/de/lang.php @@ -33,6 +33,8 @@ $lang['js']['meta_box_toc_none'] = 'kein Inhaltsverzeichnis vorhanden'; $lang['prefix_tasks_user'] = 'Ihre offenen Aufgaben: '; */ +$lang['custom_modeswitch'] = 'Lichtschalter'; + $lang['tab_tags'] = 'Tags'; $lang['tab_issues'] = 'Issues'; diff --git a/lang/en/lang.php b/lang/en/lang.php index af8c4b2..2c146f8 100755 --- a/lang/en/lang.php +++ b/lang/en/lang.php @@ -33,6 +33,8 @@ $lang['js']['meta_box_toc_none'] = 'no Table of Contents available'; $lang['prefix_tasks_user'] = 'Your open tasks: '; */ +$lang['custom_modeswitch'] = 'Light switch'; + $lang['tab_tags'] = 'Tags'; $lang['tab_issues'] = 'Issues'; diff --git a/main.php b/main.php index 32a1d52..fdb3d9c 100755 --- a/main.php +++ b/main.php @@ -26,6 +26,17 @@ $showSidebar = true; <!DOCTYPE html> <html class="edge no-js" lang="<?php echo $conf['lang'] ?>" dir="<?php echo $lang['direction'] ?>"> <head> + <script> + const setTheme = (theme) => { + theme ??= localStorage.theme || "system"; + document.getElementById("themeLight").checked = theme === "light"; + document.getElementById("themeDark").checked = theme === "dark"; + localStorage.theme = theme; + }; + document.addEventListener("DOMContentLoaded", function () { + setTheme(); + }); + </script> <?php /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* meta and link relations */ @@ -406,6 +417,14 @@ $classWideContent = (Template::getInstance())->fullWidthClass(); <div class="no"><?php tpl_indexerWebBug() /* provide DokuWiki housekeeping, required in all templates */ ?></div> -<script src="https://eh22.easterhegg.eu/design/assets/script/styleguide.js" type="text/javascript"></script> +<script type="text/javascript"> + document.querySelector("#themeDark").addEventListener("change", (e) => { + setTheme(e.target.checked ? "dark" : "system"); + }); + + document.querySelector("#themeLight").addEventListener("change", (e) => { + setTheme(e.target.checked ? "light" : "system"); + }); +</script> </body> </html> diff --git a/tpl/main-sidebar-nav.php b/tpl/main-sidebar-nav.php index 72c5282..d97fa87 100644 --- a/tpl/main-sidebar-nav.php +++ b/tpl/main-sidebar-nav.php @@ -3,21 +3,31 @@ echo \dokuwiki\template\sprintdoc\Template::getInstance()->getNavigation(); ?> <nav class="nav-sitetools"> - <div class="nav toggleTheme dark-only" data-theme="light"> - <a role="heading" aria-level="2"> - <span class="ico"> - <i data-icon="light"></i> - </span> - <span class="lbl">Switch to Lightmode</span> - </a> + <div class="nav themeToggle" id="themeToggleLight"> + <input + id="themeLight" + type="checkbox" + aria-label="Switch between dark and light mode" + /> + <label for="themeLight"> + <span class="ico"> + <i data-icon="light"></i> + </span> + <span class="lbl"><?php echo tpl_getLang('custom_modeswitch'); ?></span> + </label> </div> - <div class="nav toggleTheme light-only" data-theme="dark"> - <a role="heading" aria-level="2"> - <span class="ico"> - <i data-icon="light"></i> - </span> - <span class="lbl">Switch to Darkmode</span> - </a> + <div class="nav themeToggle" id="themeToggleDark"> + <input + id="themeDark" + type="checkbox" + aria-label="Switch between dark and light mode" + /> + <label for="themeDark"> + <span class="ico"> + <i data-icon="light"></i> + </span> + <span class="lbl"><?php echo tpl_getLang('custom_modeswitch'); ?></span> + </label> </div> <div class="nav-panel hidden"></div> <div class="nav"><a href="#sidebar-site-tools" role="heading" aria-level="2">