diff options
-rw-r--r-- | blog/2024-04-05/FontFeaturesToggle.tsx | 2 | ||||
-rw-r--r-- | src/components/landing/Elsewhere.module.css | 9 | ||||
-rw-r--r-- | src/components/landing/Section.module.css | 6 | ||||
-rw-r--r-- | src/components/landing/sections/Contact.module.css | 38 | ||||
-rw-r--r-- | src/components/landing/sections/Hero.module.css | 13 | ||||
-rw-r--r-- | src/components/landing/sections/Resume.module.css | 14 | ||||
-rw-r--r-- | src/components/landing/sections/Software.module.css | 48 | ||||
-rw-r--r-- | src/components/landing/sections/Software.tsx | 5 | ||||
-rw-r--r-- | src/css/custom.css | 118 | ||||
-rw-r--r-- | src/theme/BlogSidebar/Desktop.module.css | 13 |
10 files changed, 260 insertions, 6 deletions
diff --git a/blog/2024-04-05/FontFeaturesToggle.tsx b/blog/2024-04-05/FontFeaturesToggle.tsx index 9424748..470ec35 100644 --- a/blog/2024-04-05/FontFeaturesToggle.tsx +++ b/blog/2024-04-05/FontFeaturesToggle.tsx | |||
@@ -42,7 +42,7 @@ function FontFeatureToggle({ | |||
42 | id={id} | 42 | id={id} |
43 | checked={value} | 43 | checked={value} |
44 | disabled={setValue === undefined} | 44 | disabled={setValue === undefined} |
45 | onClick={toggle} | 45 | onChange={toggle} |
46 | />{' '} | 46 | />{' '} |
47 | </div> | 47 | </div> |
48 | <div onClick={toggle} className={styles.number}> | 48 | <div onClick={toggle} className={styles.number}> |
diff --git a/src/components/landing/Elsewhere.module.css b/src/components/landing/Elsewhere.module.css index 0697b12..8233cee 100644 --- a/src/components/landing/Elsewhere.module.css +++ b/src/components/landing/Elsewhere.module.css | |||
@@ -46,3 +46,12 @@ | |||
46 | width: 1.75rem; | 46 | width: 1.75rem; |
47 | height: 1.75rem; | 47 | height: 1.75rem; |
48 | } | 48 | } |
49 | |||
50 | @media (forced-colors: active) { | ||
51 | .elsewhere__icon:hover, | ||
52 | .elseshere__icon:focus { | ||
53 | color: HighlightText; | ||
54 | background: Highlight; | ||
55 | transition: none; | ||
56 | } | ||
57 | } | ||
diff --git a/src/components/landing/Section.module.css b/src/components/landing/Section.module.css index 3f2bbdc..666254e 100644 --- a/src/components/landing/Section.module.css +++ b/src/components/landing/Section.module.css | |||
@@ -36,3 +36,9 @@ | |||
36 | background: var(--ifm-color-primary); | 36 | background: var(--ifm-color-primary); |
37 | transform: skew(-30deg, 0); | 37 | transform: skew(-30deg, 0); |
38 | } | 38 | } |
39 | |||
40 | @media (forced-colors: active) { | ||
41 | .section__title::after { | ||
42 | background: CanvasText; | ||
43 | } | ||
44 | } | ||
diff --git a/src/components/landing/sections/Contact.module.css b/src/components/landing/sections/Contact.module.css index 7b64a5e..d93488f 100644 --- a/src/components/landing/sections/Contact.module.css +++ b/src/components/landing/sections/Contact.module.css | |||
@@ -143,8 +143,10 @@ | |||
143 | } | 143 | } |
144 | 144 | ||
145 | .small__icon { | 145 | .small__icon { |
146 | height: 1.5rem; | 146 | height: 2rem; |
147 | width: 1.5rem; | 147 | width: 2rem; |
148 | padding: 0.25rem; | ||
149 | margin: -0.25rem; | ||
148 | } | 150 | } |
149 | 151 | ||
150 | .photo__container { | 152 | .photo__container { |
@@ -180,3 +182,35 @@ | |||
180 | transform: none !important; | 182 | transform: none !important; |
181 | } | 183 | } |
182 | } | 184 | } |
185 | |||
186 | @media (forced-colors: active) { | ||
187 | .contact__icon-holder { | ||
188 | border: 2px solid ButtonBorder; | ||
189 | background: ButtonFace; | ||
190 | transition: none; | ||
191 | } | ||
192 | |||
193 | .contact__icon { | ||
194 | color: ButtonText; | ||
195 | transition: none; | ||
196 | } | ||
197 | |||
198 | .contact:not(:has(.contact__action:hover)):hover .contact__icon-holder, | ||
199 | .contact:focus-within:not(:has(.contact__action:focus)) .contact__icon-holder, | ||
200 | .contact:has(.contact__action--alternate:hover) .contact__icon-holder, | ||
201 | .contact:has(.contact__action--alternate:focus) .contact__icon-holder { | ||
202 | background: Highlight; | ||
203 | } | ||
204 | |||
205 | .contact:not(:has(.contact__action:hover)):hover .contact__icon, | ||
206 | .contact:focus-within:not(:has(.contact__action:focus)) .contact__icon, | ||
207 | .contact__icon--alternate { | ||
208 | color: HighlightText; | ||
209 | } | ||
210 | |||
211 | .small__link:hover .small__icon, | ||
212 | .small__link:focus .small__icon { | ||
213 | background: Highlight; | ||
214 | color: HighlightText; | ||
215 | } | ||
216 | } | ||
diff --git a/src/components/landing/sections/Hero.module.css b/src/components/landing/sections/Hero.module.css index 01a5b7b..d8aa99a 100644 --- a/src/components/landing/sections/Hero.module.css +++ b/src/components/landing/sections/Hero.module.css | |||
@@ -112,3 +112,16 @@ | |||
112 | width: 2rem; | 112 | width: 2rem; |
113 | height: 2rem; | 113 | height: 2rem; |
114 | } | 114 | } |
115 | |||
116 | @media (forced-colors: active) { | ||
117 | .avatar__holder { | ||
118 | border: 2px solid CanvasText; | ||
119 | } | ||
120 | |||
121 | .contacts__icon:hover, | ||
122 | .contacts__icon:focus { | ||
123 | color: HighlightText; | ||
124 | background: Highlight; | ||
125 | transition: none; | ||
126 | } | ||
127 | } | ||
diff --git a/src/components/landing/sections/Resume.module.css b/src/components/landing/sections/Resume.module.css index fee62b5..5974ca9 100644 --- a/src/components/landing/sections/Resume.module.css +++ b/src/components/landing/sections/Resume.module.css | |||
@@ -166,3 +166,17 @@ | |||
166 | .thesis-links__link { | 166 | .thesis-links__link { |
167 | font-size: 0.875rem; | 167 | font-size: 0.875rem; |
168 | } | 168 | } |
169 | |||
170 | @media (forced-colors: active) { | ||
171 | .cv::before { | ||
172 | background: CanvasText; | ||
173 | } | ||
174 | |||
175 | .cv__item::before { | ||
176 | border-color: CanvasText; | ||
177 | } | ||
178 | |||
179 | .cv__time::before { | ||
180 | border: 1px solid CanvasText; | ||
181 | } | ||
182 | } | ||
diff --git a/src/components/landing/sections/Software.module.css b/src/components/landing/sections/Software.module.css index 5287bc8..7bbeef2 100644 --- a/src/components/landing/sections/Software.module.css +++ b/src/components/landing/sections/Software.module.css | |||
@@ -399,3 +399,51 @@ | |||
399 | transform: none !important; | 399 | transform: none !important; |
400 | } | 400 | } |
401 | } | 401 | } |
402 | |||
403 | @media (prefers-reduced-transparency: reduce) { | ||
404 | .overlay { | ||
405 | background: #ebedf0; | ||
406 | } | ||
407 | |||
408 | [data-theme='dark'] .overlay { | ||
409 | background: #21252b; | ||
410 | } | ||
411 | } | ||
412 | |||
413 | @media (forced-colors: active) { | ||
414 | .software { | ||
415 | border: 2px solid ButtonBorder; | ||
416 | background: Canvas; | ||
417 | } | ||
418 | |||
419 | .overlay { | ||
420 | background: Canvas !important; | ||
421 | } | ||
422 | |||
423 | .ferdium__icon { | ||
424 | border: 2px solid ButtonBorder; | ||
425 | background: ButtonFace; | ||
426 | } | ||
427 | |||
428 | .ferdium__icon::after { | ||
429 | display: none; | ||
430 | } | ||
431 | |||
432 | .software--ferdium:hover .ferdium__icon, | ||
433 | .software--ferdium:focus-within .ferdium__icon { | ||
434 | background: Highlight; | ||
435 | } | ||
436 | |||
437 | .ferdium__logo path { | ||
438 | fill: ButtonText !important; | ||
439 | } | ||
440 | |||
441 | .software--ferdium:hover .ferdium__logo path, | ||
442 | .software--ferdium:focus-within .ferdium__logo path { | ||
443 | fill: HighlightText !important; | ||
444 | } | ||
445 | |||
446 | .refinery__logo :global(.refinery-a) { | ||
447 | fill: #000; | ||
448 | } | ||
449 | } | ||
diff --git a/src/components/landing/sections/Software.tsx b/src/components/landing/sections/Software.tsx index 34178cc..7897177 100644 --- a/src/components/landing/sections/Software.tsx +++ b/src/components/landing/sections/Software.tsx | |||
@@ -31,9 +31,8 @@ function ScreenshotImage() { | |||
31 | // https://github.com/facebook/docusaurus/blob/e012e0315862b2ca02cad40c58d11d31c319ff75/packages/docusaurus-theme-classic/src/theme/CodeBlock/index.tsx#L32-L36 | 31 | // https://github.com/facebook/docusaurus/blob/e012e0315862b2ca02cad40c58d11d31c319ff75/packages/docusaurus-theme-classic/src/theme/CodeBlock/index.tsx#L32-L36 |
32 | const isBrowser = useIsBrowser(); | 32 | const isBrowser = useIsBrowser(); |
33 | const { colorMode } = useColorMode(); | 33 | const { colorMode } = useColorMode(); |
34 | const refineryScreenshot = colorMode === 'dark' | 34 | const refineryScreenshot = |
35 | ? refineryScreenshotLight | 35 | colorMode === 'dark' ? refineryScreenshotLight : refineryScreenshotDark; |
36 | : refineryScreenshotDark; | ||
37 | 36 | ||
38 | const screenshot = ( | 37 | const screenshot = ( |
39 | <img | 38 | <img |
diff --git a/src/css/custom.css b/src/css/custom.css index 29a89b5..3c2ce81 100644 --- a/src/css/custom.css +++ b/src/css/custom.css | |||
@@ -139,3 +139,121 @@ h3, | |||
139 | .katex-display { | 139 | .katex-display { |
140 | overflow-y: auto; | 140 | overflow-y: auto; |
141 | } | 141 | } |
142 | |||
143 | @media (forced-colors: active) { | ||
144 | .navbar, | ||
145 | .hero { | ||
146 | border-bottom: 2px solid CanvasText; | ||
147 | } | ||
148 | |||
149 | .footer { | ||
150 | border-top: 2px solid CanvasText; | ||
151 | } | ||
152 | |||
153 | .button { | ||
154 | forced-color-adjust: none; | ||
155 | border-width: 2px; | ||
156 | --ifm-button-background-color: ButtonFace !important; | ||
157 | --ifm-button-border-color: ButtonBorder !important; | ||
158 | color: ButtonText !important; | ||
159 | transition: none; | ||
160 | } | ||
161 | |||
162 | .button:hover, | ||
163 | .button:focus { | ||
164 | --ifm-button-background-color: Highlight !important; | ||
165 | color: HighlightText !important; | ||
166 | } | ||
167 | |||
168 | .dropdown > .navbar__link:after { | ||
169 | border-right-color: Canvas; | ||
170 | border-left-color: Canvas; | ||
171 | } | ||
172 | |||
173 | .dropdown__menu { | ||
174 | border: 2px solid CanvasText; | ||
175 | } | ||
176 | |||
177 | .navbar__link:hover, | ||
178 | .navbar__link:focus, | ||
179 | .dropdown__link:hover, | ||
180 | .dropdown__link:focus, | ||
181 | .menu__link:hover, | ||
182 | .menu__link:focus { | ||
183 | text-decoration: underline; | ||
184 | } | ||
185 | |||
186 | .navbar-sidebar { | ||
187 | outline: 1rem solid CanvasText; | ||
188 | } | ||
189 | |||
190 | .navbar-sidebar__backdrop { | ||
191 | display: none; | ||
192 | } | ||
193 | |||
194 | .menu__link--sublist-caret::after { | ||
195 | background: Canvas; | ||
196 | height: 0; | ||
197 | width: 0; | ||
198 | min-width: 0; | ||
199 | border: 0.5rem solid Canvas; | ||
200 | border-bottom-color: CanvasText; | ||
201 | filter: none; | ||
202 | transform: rotate(180deg) scale(150%) translatey(-0.25rem); | ||
203 | } | ||
204 | |||
205 | .menu__list-item--collapsed .menu__link--sublist-caret::after { | ||
206 | transform: rotate(90deg) scale(150%) translatey(-0.25rem); | ||
207 | } | ||
208 | |||
209 | .navbar-sidebar__close * { | ||
210 | stroke: CanvasText !important; | ||
211 | stroke-width: 2px !important; | ||
212 | } | ||
213 | |||
214 | .menu__list-item { | ||
215 | border: 2px solid Canvas; | ||
216 | } | ||
217 | |||
218 | .menu__list-item:has(.menu__link--sublist-caret) { | ||
219 | border-color: CanvasText; | ||
220 | } | ||
221 | |||
222 | .theme-admonition, | ||
223 | .theme-code-block, | ||
224 | .markdown details { | ||
225 | border: 2px solid CanvasText; | ||
226 | } | ||
227 | |||
228 | .theme-admonition svg * { | ||
229 | fill: CanvasText !important; | ||
230 | } | ||
231 | |||
232 | .markdown summary::before { | ||
233 | border-top-color: Canvas !important; | ||
234 | border-right-color: Canvas !important; | ||
235 | border-bottom-color: Canvas !important; | ||
236 | } | ||
237 | |||
238 | .table-of-contents__link:hover, | ||
239 | .table-of-contents__link:focus { | ||
240 | text-decoration: underline; | ||
241 | } | ||
242 | |||
243 | .tabs__item[aria-selected='false'] { | ||
244 | border-color: Canvas; | ||
245 | } | ||
246 | |||
247 | .menu__link--active, .dropdown__link--active { | ||
248 | border-radius: 0; | ||
249 | } | ||
250 | |||
251 | .menu__link--active, .navbar__link--active, .dropdown__link--active, .table-of-contents__link--active, | ||
252 | .menu__link--active *, .navbar__link--active *, .dropdown__link--active *, .table-of-contents__link--active * { | ||
253 | forced-color-adjust: none; | ||
254 | color: HighlightText !important; | ||
255 | border-color: HighlightText !important; | ||
256 | background: Highlight !important; | ||
257 | transition: none; | ||
258 | } | ||
259 | } | ||
diff --git a/src/theme/BlogSidebar/Desktop.module.css b/src/theme/BlogSidebar/Desktop.module.css index 62d2b66..d30ba4d 100644 --- a/src/theme/BlogSidebar/Desktop.module.css +++ b/src/theme/BlogSidebar/Desktop.module.css | |||
@@ -56,3 +56,16 @@ | |||
56 | margin-top: 1.6rem; | 56 | margin-top: 1.6rem; |
57 | margin-bottom: 0.4rem; | 57 | margin-bottom: 0.4rem; |
58 | } | 58 | } |
59 | |||
60 | @media (forced-colors: active) { | ||
61 | .sidebarItemLink:hover { | ||
62 | text-decoration: underline; | ||
63 | } | ||
64 | |||
65 | .sidebarItemLinkActive, .sidebarItemLinkActive * { | ||
66 | forced-color-adjust: none; | ||
67 | color: HighlightText !important; | ||
68 | border-color: HighlightText !important; | ||
69 | background: Highlight !important; | ||
70 | } | ||
71 | } | ||