|
1 | 1 | <!DOCTYPE html> |
2 | | -<html lang="en" dir="auto"> |
| 2 | +<html lang="en" dir="auto" data-theme="auto"> |
3 | 3 |
|
4 | 4 | <head><meta charset="utf-8"> |
5 | 5 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
10 | 10 | <meta name="description" content="Team Paolo's website."> |
11 | 11 | <meta name="author" content="AlBovo, Cryingfreeman74, ZazaMan"> |
12 | 12 | <link rel="canonical" href="https://pascalctf.github.io/en/404.html"> |
13 | | -<link crossorigin="anonymous" href="/assets/css/stylesheet.3f7d045084c6cde9f85897aae974d35671d13459c6e43ae206db1bb68124039c.css" integrity="sha256-P30EUITGzen4WJeq6XTTVnHRNFnG5DriBtsbtoEkA5w=" rel="preload stylesheet" as="style"> |
| 13 | +<link crossorigin="anonymous" href="/assets/css/stylesheet.acc7335c231435381368b2ebbc47f5ffb40584a2a06c4ef811e2d35978f17e50.css" integrity="sha256-rMczXCMUNTgTaLLrvEf1/7QFhKKgbE74EeLTWXjxflA=" rel="preload stylesheet" as="style"> |
14 | 14 | <link rel="icon" href="https://pascalctf.github.io/favicon.ico"> |
15 | 15 | <link rel="icon" type="image/png" sizes="16x16" href="https://pascalctf.github.io/favicon-16x16.png"> |
16 | 16 | <link rel="icon" type="image/png" sizes="32x32" href="https://pascalctf.github.io/favicon-32x32.png"> |
|
40 | 40 | --code-block-bg: rgb(46, 46, 51); |
41 | 41 | --code-bg: rgb(55, 56, 62); |
42 | 42 | --border: rgb(51, 51, 51); |
| 43 | + color-scheme: dark; |
43 | 44 | } |
44 | 45 |
|
45 | 46 | .list { |
46 | 47 | background: var(--theme); |
47 | 48 | } |
48 | 49 |
|
49 | | - .list:not(.dark)::-webkit-scrollbar-track { |
50 | | - background: 0 0; |
51 | | - } |
52 | | - |
53 | | - .list:not(.dark)::-webkit-scrollbar-thumb { |
54 | | - border-color: var(--theme); |
| 50 | + .toc { |
| 51 | + background: var(--entry); |
55 | 52 | } |
56 | 53 | } |
57 | 54 |
|
58 | 55 | </style> |
59 | 56 | </noscript> |
| 57 | +<script> |
| 58 | + if (localStorage.getItem("pref-theme") === "dark") { |
| 59 | + document.querySelector("html").dataset.theme = 'dark'; |
| 60 | + } else if (localStorage.getItem("pref-theme") === "light") { |
| 61 | + document.querySelector("html").dataset.theme = 'light'; |
| 62 | + } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) { |
| 63 | + document.querySelector("html").dataset.theme = 'dark'; |
| 64 | + } else { |
| 65 | + document.querySelector("html").dataset.theme = 'light'; |
| 66 | + } |
| 67 | + |
| 68 | +</script> |
60 | 69 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/katex.min.css" integrity="sha384-5TcZemv2l/9On385z///+d7MSYlvIEw9FuZTIdZ14vJLqWphw7e7ZPuOiCHJcFCP" crossorigin="anonymous"> |
61 | 70 | <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/katex.min.js" integrity="sha384-cMkvdD8LoxVzGF/RPUKAcvmm49FQ0oxwDF3BGKtDXcEc+T1b2N+teh/OJfpU0jr6" crossorigin="anonymous"></script> |
62 | 71 | <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/contrib/auto-render.min.js" integrity="sha384-hCXGrW6PitJEwbkoStFjeJxv+fSOOQKOPbJxSfM6G5sWZjAyWhXiTIIAmQqnlLlh" crossorigin="anonymous"></script> |
|
80 | 89 | <meta property="og:description" content="Team Paolo's website."> |
81 | 90 | <meta property="og:locale" content="en"> |
82 | 91 | <meta property="og:type" content="website"> |
83 | | -<meta name="twitter:card" content="summary"> |
84 | | -<meta name="twitter:title" content="404 Page not found"> |
85 | | -<meta name="twitter:description" content="Team Paolo's website."> |
86 | 92 |
|
87 | | -</head> |
| 93 | + <meta name="twitter:card" content="summary"> |
| 94 | + <meta name="twitter:title" content="404 Page not found"> |
| 95 | + <meta name="twitter:description" content="Team Paolo's website."> |
88 | 96 |
|
| 97 | +</head> |
89 | 98 | <body class="list" id="top"> |
90 | | -<script> |
91 | | - if (localStorage.getItem("pref-theme") === "dark") { |
92 | | - document.body.classList.add('dark'); |
93 | | - } else if (localStorage.getItem("pref-theme") === "light") { |
94 | | - document.body.classList.remove('dark') |
95 | | - } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) { |
96 | | - document.body.classList.add('dark'); |
97 | | - } |
98 | | - |
99 | | -</script> |
100 | | - |
101 | | -<header class="header"> |
102 | | - <nav class="nav"> |
| 99 | + <header class="header"> |
| 100 | + <nav class="header-nav"> |
103 | 101 | <div class="logo"> |
104 | 102 | <a href="https://pascalctf.github.io/en/" accesskey="h" title="Home (Alt + H)"> |
105 | 103 | <img src="https://pascalctf.github.io/favicon.ico" alt="" aria-label="logo" |
106 | 104 | height="35">Home</a> |
107 | 105 | <div class="logo-switches"> |
108 | | - <button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme"> |
109 | | - <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24" |
| 106 | + <button id="theme-toggle" class="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme"> |
| 107 | + <svg class="moon" xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" |
110 | 108 | fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" |
111 | 109 | stroke-linejoin="round"> |
112 | 110 | <path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path> |
113 | 111 | </svg> |
114 | | - <svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24" |
| 112 | + <svg class="sun" xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" |
115 | 113 | fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" |
116 | 114 | stroke-linejoin="round"> |
117 | 115 | <circle cx="12" cy="12" r="5"></circle> |
|
124 | 122 | <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line> |
125 | 123 | <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line> |
126 | 124 | </svg> |
127 | | - </button> |
128 | | - <ul class="lang-switch"><li>|</li> |
129 | | - <li> |
130 | | - <a href="https://pascalctf.github.io/it/" title="Italian" |
131 | | - aria-label=":it: It">🇮🇹 It</a> |
132 | | - </li> |
133 | | - </ul> |
| 125 | + </button><span class="nav-sep">|</span> |
| 126 | + <ul class="lang-menu"> |
| 127 | + <li> |
| 128 | + <a href="https://pascalctf.github.io/it/" title="Italian" |
| 129 | + aria-label=":it: It">🇮🇹 It</a> |
| 130 | + </li> |
| 131 | + </ul> |
134 | 132 | </div> |
135 | 133 | </div> |
136 | | - <ul id="menu"> |
| 134 | + <ul id="menu" class="menu"> |
137 | 135 | <li> |
138 | 136 | <a href="https://pascalctf.github.io/en/projects/" title="📒 Projects"> |
139 | 137 | <span>📒 Projects</span> |
|
175 | 173 | <footer class="footer"> |
176 | 174 | <span>© 2026 <a href="https://pascalctf.github.io/en/">Paolo</a></span> · |
177 | 175 |
|
| 176 | + |
| 177 | + |
178 | 178 | <span> |
179 | 179 | Powered by |
180 | | - <a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> & |
| 180 | + <a href="https://gohugo.io/?utm_source=papermod" rel="noopener" target="_blank">Hugo</a> & |
181 | 181 | <a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a> |
182 | 182 | </span> |
183 | 183 | </footer> |
184 | | -<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g"> |
185 | | - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor"> |
186 | | - <path d="M12 6H0l6-6z" /> |
| 184 | +<a href="#top" id="top-link" class="top-link hidden" aria-label="go to top" title="Go to Top (Alt + G)" accesskey="g"> |
| 185 | + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" |
| 186 | + stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevrons-up"> |
| 187 | + <polyline points="17 11 12 6 7 11"></polyline> |
| 188 | + <polyline points="17 18 12 13 7 18"></polyline> |
187 | 189 | </svg> |
188 | 190 | </a> |
189 | 191 |
|
190 | 192 | <script> |
191 | | - let menu = document.getElementById('menu') |
| 193 | + let menu = document.getElementById('menu'); |
192 | 194 | if (menu) { |
193 | | - menu.scrollLeft = localStorage.getItem("menu-scroll-position"); |
| 195 | + |
| 196 | + const scrollPosition = localStorage.getItem("menu-scroll-position"); |
| 197 | + if (scrollPosition) { |
| 198 | + menu.scrollLeft = parseInt(scrollPosition, 10); |
| 199 | + } |
| 200 | + |
194 | 201 | menu.onscroll = function () { |
195 | 202 | localStorage.setItem("menu-scroll-position", menu.scrollLeft); |
196 | 203 | } |
|
217 | 224 |
|
218 | 225 | </script> |
219 | 226 | <script> |
220 | | - var mybutton = document.getElementById("top-link"); |
| 227 | + var toplink = document.getElementById("top-link"); |
221 | 228 | window.onscroll = function () { |
222 | | - if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) { |
223 | | - mybutton.style.visibility = "visible"; |
224 | | - mybutton.style.opacity = "1"; |
| 229 | + const scrollThreshold = window.innerHeight; |
| 230 | + if (document.body.scrollTop > scrollThreshold || document.documentElement.scrollTop > scrollThreshold) { |
| 231 | + toplink.classList.remove("hidden"); |
225 | 232 | } else { |
226 | | - mybutton.style.visibility = "hidden"; |
227 | | - mybutton.style.opacity = "0"; |
| 233 | + toplink.classList.add("hidden"); |
228 | 234 | } |
229 | 235 | }; |
230 | 236 |
|
231 | 237 | </script> |
232 | 238 | <script> |
233 | 239 | document.getElementById("theme-toggle").addEventListener("click", () => { |
234 | | - if (document.body.className.includes("dark")) { |
235 | | - document.body.classList.remove('dark'); |
| 240 | + const html = document.querySelector("html"); |
| 241 | + if (html.dataset.theme === "dark") { |
| 242 | + html.dataset.theme = 'light'; |
236 | 243 | localStorage.setItem("pref-theme", 'light'); |
237 | 244 | } else { |
238 | | - document.body.classList.add('dark'); |
| 245 | + html.dataset.theme = 'dark'; |
239 | 246 | localStorage.setItem("pref-theme", 'dark'); |
240 | 247 | } |
241 | 248 | }) |
|
0 commit comments