|
9 | 9 | <meta name="MobileOptimized" content="320"/>
|
10 | 10 | <meta name="HandheldFriendly" content="true"/>
|
11 | 11 | <meta name="viewport min-width=320px" content="min-width=320, initial-scale=1.0"/>
|
12 |
| - |
13 |
| - <script> |
14 |
| - (() => { |
15 |
| - 'use strict' |
16 |
| - |
17 |
| - const getStoredTheme = () => localStorage.getItem('theme') |
18 |
| - const setStoredTheme = theme => localStorage.setItem('theme', theme) |
19 |
| - |
20 |
| - const getPreferredTheme = () => { |
21 |
| - const storedTheme = getStoredTheme() |
22 |
| - if (storedTheme) { |
23 |
| - return storedTheme |
24 |
| - } |
25 |
| - |
26 |
| - return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' |
27 |
| - } |
28 |
| - |
29 |
| - const setTheme = theme => { |
30 |
| - if (theme === 'auto') { |
31 |
| - document.documentElement.setAttribute('data-theme', (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')) |
32 |
| - } else { |
33 |
| - document.documentElement.setAttribute('data-theme', theme) |
34 |
| - } |
35 |
| - } |
36 |
| - |
37 |
| - setTheme(getPreferredTheme()) |
38 |
| - |
39 |
| - const showActiveTheme = (theme, focus = false) => { |
40 |
| - const themeSwitcher = document.querySelector('#bd-theme') |
41 |
| - |
42 |
| - if (!themeSwitcher) { |
43 |
| - return |
44 |
| - } |
45 |
| - |
46 |
| - const themeSwitcherText = document.querySelector('#bd-theme-text') |
47 |
| - const activeThemeIcon = document.querySelector('.theme-icon-active use') |
48 |
| - const btnToActive = document.querySelector(`[data-theme-value="${theme}"]`) |
49 |
| - const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href') |
50 |
| - |
51 |
| - document.querySelectorAll('[data-theme-value]').forEach(element => { |
52 |
| - element.classList.remove('active') |
53 |
| - element.setAttribute('aria-pressed', 'false') |
54 |
| - }) |
55 |
| - |
56 |
| - btnToActive.classList.add('active') |
57 |
| - btnToActive.setAttribute('aria-pressed', 'true') |
58 |
| - activeThemeIcon.setAttribute('href', svgOfActiveBtn) |
59 |
| - const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})` |
60 |
| - themeSwitcher.setAttribute('aria-label', themeSwitcherLabel) |
61 |
| - |
62 |
| - if (focus) { |
63 |
| - themeSwitcher.focus() |
64 |
| - } |
65 |
| - } |
66 |
| - |
67 |
| - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { |
68 |
| - const storedTheme = getStoredTheme() |
69 |
| - if (storedTheme !== 'light' && storedTheme !== 'dark') { |
70 |
| - setTheme(getPreferredTheme()) |
71 |
| - } |
72 |
| - }) |
73 |
| - |
74 |
| - window.addEventListener('DOMContentLoaded', () => { |
75 |
| - showActiveTheme(getPreferredTheme()) |
76 |
| - |
77 |
| - document.querySelectorAll('[data-theme-value]') |
78 |
| - .forEach(toggle => { |
79 |
| - toggle.addEventListener('click', () => { |
80 |
| - const theme = toggle.getAttribute('data-theme-value') |
81 |
| - setStoredTheme(theme) |
82 |
| - setTheme(theme) |
83 |
| - showActiveTheme(theme, true) |
84 |
| - }) |
85 |
| - }) |
86 |
| - }) |
87 |
| - })() |
88 |
| - </script> |
89 |
| - <link rel="stylesheet" |
90 |
| - href="https://assets.phalcon.io/phalcon/test/dark.css?v=111"> |
91 |
| - |
92 | 12 | <meta name="generator" content="Jekyll">
|
93 | 13 | <meta name="application-name" content="{{ site.app.name }}">
|
94 | 14 | <meta name="description" content="{{ site.app.description }}">
|
|
137 | 57 | gtag('config', '{{ site.app.analytics }}');
|
138 | 58 | </script>
|
139 | 59 | <!-- End Google Analytics -->
|
| 60 | + <script>document.documentElement.classList.add(localStorage.getItem('mode') === 'auto' ? (matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : localStorage.getItem('mode'))</script> |
| 61 | + <script type="module" src="/assets/js/theme.js"></script> |
| 62 | + <link rel="stylesheet" |
| 63 | + href="/assets/css/dark.css"> |
| 64 | + |
140 | 65 | <link rel="stylesheet"
|
141 |
| - href="https://assets.phalcon.io/phalcon/test/core.css?v=111"> |
| 66 | + href="https://assets.phalcon.io/phalcon/test/core.css"> |
142 | 67 | <link rel="stylesheet"
|
143 |
| - href="https://assets.phalcon.io/phalcon/test/custom.css?v=111"> |
| 68 | + href="https://assets.phalcon.io/phalcon/test/custom.css"> |
144 | 69 |
|
145 | 70 | <title>
|
146 | 71 | {{ site.data.languages[page.language][page.title] }} - {{ site.app.title }}
|
|
0 commit comments