Skip to content

Commit c0fadfb

Browse files
authored
Merge pull request #2783 from nunocoracao/dev
πŸ”– v2.99.0
2 parents d0a1a5b + 7af7ed9 commit c0fadfb

110 files changed

Lines changed: 4137 additions & 2306 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

β€Ž.github/workflows/create-config-zip.ymlβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
steps:
1111
- uses: actions/checkout@v6
1212
- run: zip -r config-default.zip config/_default
13-
- uses: actions/upload-artifact@v6
13+
- uses: actions/upload-artifact@v7
1414
with:
1515
name: config-default
1616
path: config-default.zip

β€Ž.prettierignoreβ€Ž

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,3 @@ layouts/_default/index.json
3030
layouts/shortcodes/screenshot.html
3131
layouts/shortcodes/figure.html
3232
layouts/partials/hugo-embedded/shortcodes/figure-default.html
33-
34-
assets/js/appearance.js

β€Žassets/css/compiled/main.cssβ€Ž

Lines changed: 108 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
1+
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
22
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
33
@layer properties;
44
@layer theme, base, components, utilities;
@@ -263,9 +263,15 @@
263263
.-start-6 {
264264
inset-inline-start: calc(var(--spacing) * -6);
265265
}
266+
.start {
267+
inset-inline-start: var(--spacing);
268+
}
266269
.start-\[calc\(max\(-50vw\,-800px\)\+50\%\)\] {
267270
inset-inline-start: calc(max(-50vw, -800px) + 50%);
268271
}
272+
.end {
273+
inset-inline-end: var(--spacing);
274+
}
269275
.end-6 {
270276
inset-inline-end: calc(var(--spacing) * 6);
271277
}
@@ -276,14 +282,17 @@
276282
top: calc(var(--spacing) * 0);
277283
}
278284
.top-1\/2 {
279-
top: calc(1/2 * 100%);
285+
top: calc(1 / 2 * 100%);
280286
}
281287
.top-5 {
282288
top: calc(var(--spacing) * 5);
283289
}
284290
.top-20 {
285291
top: calc(var(--spacing) * 20);
286292
}
293+
.top-full {
294+
top: 100%;
295+
}
287296
.right-0 {
288297
right: calc(var(--spacing) * 0);
289298
}
@@ -300,7 +309,7 @@
300309
left: calc(var(--spacing) * 0);
301310
}
302311
.left-1\/2 {
303-
left: calc(1/2 * 100%);
312+
left: calc(1 / 2 * 100%);
304313
}
305314
.-z-10 {
306315
z-index: calc(10 * -1);
@@ -1097,7 +1106,7 @@
10971106
height: calc(var(--spacing) * 0);
10981107
}
10991108
.h-1\/2 {
1100-
height: calc(1/2 * 100%);
1109+
height: calc(1 / 2 * 100%);
11011110
}
11021111
.h-3 {
11031112
height: calc(var(--spacing) * 3);
@@ -1234,6 +1243,9 @@
12341243
.w-full {
12351244
width: 100%;
12361245
}
1246+
.w-max {
1247+
width: max-content;
1248+
}
12371249
.w-screen {
12381250
width: 100vw;
12391251
}
@@ -1246,6 +1258,9 @@
12461258
.max-w-20 {
12471259
max-width: calc(var(--spacing) * 20);
12481260
}
1261+
.max-w-48 {
1262+
max-width: calc(var(--spacing) * 48);
1263+
}
12491264
.max-w-\[200px\] {
12501265
max-width: 200px;
12511266
}
@@ -1316,7 +1331,7 @@
13161331
flex-basis: auto;
13171332
}
13181333
.-translate-x-1\/2 {
1319-
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
1334+
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
13201335
translate: var(--tw-translate-x) var(--tw-translate-y);
13211336
}
13221337
.-translate-x-full {
@@ -1328,7 +1343,7 @@
13281343
translate: var(--tw-translate-x) var(--tw-translate-y);
13291344
}
13301345
.-translate-y-1\/2 {
1331-
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
1346+
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
13321347
translate: var(--tw-translate-x) var(--tw-translate-y);
13331348
}
13341349
.-translate-y-8 {
@@ -1738,6 +1753,9 @@
17381753
background-color: color-mix(in oklab, rgba(var(--color-neutral-500), 1) 50%, transparent);
17391754
}
17401755
}
1756+
.bg-neutral-900 {
1757+
background-color: rgba(var(--color-neutral-900), 1);
1758+
}
17411759
.bg-neutral\/25 {
17421760
background-color: color-mix(in srgb, rgba(rgba(var(--color-neutral), 1), 1) 25%, transparent);
17431761
@supports (color: color-mix(in lab, red, red)) {
@@ -2257,6 +2275,10 @@
22572275
--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
22582276
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
22592277
}
2278+
.shadow-md {
2279+
--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2280+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2281+
}
22602282
.shadow-sm {
22612283
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
22622284
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2430,6 +2452,23 @@
24302452
rotate: 0deg;
24312453
}
24322454
}
2455+
.group-focus-within\:visible {
2456+
&:is(:where(.group):focus-within *) {
2457+
visibility: visible;
2458+
}
2459+
}
2460+
.group-focus-within\:opacity-100 {
2461+
&:is(:where(.group):focus-within *) {
2462+
opacity: 100%;
2463+
}
2464+
}
2465+
.group-hover\:visible {
2466+
&:is(:where(.group):hover *) {
2467+
@media (hover: hover) {
2468+
visibility: visible;
2469+
}
2470+
}
2471+
}
24332472
.group-hover\:scale-110 {
24342473
&:is(:where(.group):hover *) {
24352474
@media (hover: hover) {
@@ -2853,7 +2892,7 @@
28532892
}
28542893
.sm\:w-1\/2 {
28552894
@media (width >= 640px) {
2856-
width: calc(1/2 * 100%);
2895+
width: calc(1 / 2 * 100%);
28572896
}
28582897
}
28592898
.sm\:grid-cols-2 {
@@ -2941,7 +2980,7 @@
29412980
}
29422981
.md\:w-1\/3 {
29432982
@media (width >= 853px) {
2944-
width: calc(1/3 * 100%);
2983+
width: calc(1 / 3 * 100%);
29452984
}
29462985
}
29472986
.md\:w-auto {
@@ -3056,7 +3095,7 @@
30563095
}
30573096
.lg\:w-1\/4 {
30583097
@media (width >= 1024px) {
3059-
width: calc(1/4 * 100%);
3098+
width: calc(1 / 4 * 100%);
30603099
}
30613100
}
30623101
.lg\:w-auto {
@@ -3136,7 +3175,7 @@
31363175
}
31373176
.xl\:w-1\/4 {
31383177
@media (width >= 1280px) {
3139-
width: calc(1/4 * 100%);
3178+
width: calc(1 / 4 * 100%);
31403179
}
31413180
}
31423181
.xl\:grid-cols-4 {
@@ -3276,6 +3315,11 @@
32763315
}
32773316
}
32783317
}
3318+
.dark\:bg-neutral-100 {
3319+
&:is(.dark *) {
3320+
background-color: rgba(var(--color-neutral-100), 1);
3321+
}
3322+
}
32793323
.dark\:bg-neutral-400 {
32803324
&:is(.dark *) {
32813325
background-color: rgba(var(--color-neutral-400), 1);
@@ -3433,6 +3477,11 @@
34333477
color: rgba(var(--color-neutral-800), 1);
34343478
}
34353479
}
3480+
.dark\:text-neutral-900 {
3481+
&:is(.dark *) {
3482+
color: rgba(var(--color-neutral-900), 1);
3483+
}
3484+
}
34363485
.dark\:text-primary-200 {
34373486
&:is(.dark *) {
34383487
color: rgba(var(--color-primary-200), 1);
@@ -4163,6 +4212,55 @@ body.zen-mode-enable {
41634212
display: none !important;
41644213
}
41654214
}
4215+
.gist-container .gist {
4216+
h1 {
4217+
margin-bottom: calc(var(--spacing) * 4);
4218+
}
4219+
.gist-file {
4220+
border: 1px solid rgb(var(--color-neutral-300));
4221+
border-radius: 8px;
4222+
overflow: hidden;
4223+
}
4224+
.gist-meta {
4225+
background-color: white;
4226+
color: rgb(var(--color-neutral-600));
4227+
border-radius: 0 0 8px 8px;
4228+
}
4229+
.gist-meta a {
4230+
color: rgb(var(--color-primary-600));
4231+
}
4232+
.highlight tr {
4233+
border-bottom: none;
4234+
}
4235+
.gist-file .file {
4236+
margin-top: 0;
4237+
margin-bottom: 0;
4238+
}
4239+
.dark & {
4240+
.gist-file {
4241+
border-color: rgb(var(--color-neutral-800));
4242+
}
4243+
.gist-data {
4244+
background-color: rgb(var(--color-neutral-900));
4245+
border-bottom: 1px solid rgb(var(--color-neutral-800));
4246+
}
4247+
.gist-meta {
4248+
background-color: rgb(26, 26, 26);
4249+
color: rgb(var(--color-neutral-400));
4250+
}
4251+
.gist-meta a {
4252+
color: rgb(var(--color-primary-400));
4253+
}
4254+
.blob-wrapper {
4255+
filter: invert(0.9) hue-rotate(180deg);
4256+
background-color: #fff;
4257+
}
4258+
.gist-data {
4259+
background: rgb(26, 26, 26);
4260+
color: rgb(var(--color-neutral-100));
4261+
}
4262+
}
4263+
}
41664264
.a11y-panel-enter-active {
41674265
animation: slideInFromTop 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
41684266
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
.gist-container .gist {
2+
h1 {
3+
margin-bottom: calc(var(--spacing) * 4);
4+
}
5+
.gist-file {
6+
border: 1px solid rgb(var(--color-neutral-300));
7+
border-radius: 8px;
8+
overflow: hidden;
9+
}
10+
.gist-meta {
11+
background-color: white;
12+
color: rgb(var(--color-neutral-600));
13+
border-radius: 0 0 8px 8px;
14+
}
15+
.gist-meta a {
16+
color: rgb(var(--color-primary-600));
17+
}
18+
.highlight tr {
19+
border-bottom: none;
20+
}
21+
.gist-file .file {
22+
margin-top: 0;
23+
margin-bottom: 0;
24+
}
25+
26+
/* Dark Mode */
27+
.dark & {
28+
.gist-file {
29+
border-color: rgb(var(--color-neutral-800));
30+
}
31+
.gist-data {
32+
background-color: rgb(var(--color-neutral-900));
33+
border-bottom: 1px solid rgb(var(--color-neutral-800));
34+
}
35+
.gist-meta {
36+
background-color: rgb(26, 26, 26);
37+
color: rgb(var(--color-neutral-400));
38+
}
39+
.gist-meta a {
40+
color: rgb(var(--color-primary-400));
41+
}
42+
.blob-wrapper {
43+
filter: invert(0.9) hue-rotate(180deg);
44+
background-color: #fff;
45+
}
46+
.gist-data {
47+
background: rgb(26, 26, 26);
48+
color: rgb(var(--color-neutral-100));
49+
}
50+
}
51+
}

β€Žassets/css/main.cssβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
@import "./components/chroma.css" layer(utilities);
77
@import "./components/tabs.css" layer(utilities);
88
@import "./components/zen-mode.css";
9+
@import "./components/gist.css";
910
@import "./components/a11y.css";
1011
@import "./components/admonition.css" layer(components);
1112

β€Žassets/icons/printables.svgβ€Ž

Lines changed: 1 addition & 0 deletions
Loading

β€Žassets/js/appearance.jsβ€Ž

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -96,41 +96,13 @@ window.addEventListener("DOMContentLoaded", (event) => {
9696
}
9797
});
9898

99-
10099
var updateMeta = () => {
101100
var elem, style;
102101
elem = document.querySelector('body');
103102
style = getComputedStyle(elem);
104103
document.querySelector('meta[name="theme-color"]').setAttribute('content', style.backgroundColor);
105104
}
106105

107-
{{ if and (.Site.Params.Logo) (.Site.Params.SecondaryLogo) }}
108-
{{ $primaryLogo := resources.Get .Site.Params.Logo }}
109-
{{ $secondaryLogo := resources.Get .Site.Params.SecondaryLogo }}
110-
{{ if and ($primaryLogo) ($secondaryLogo) }}
111-
var updateLogo = (targetAppearance) => {
112-
var imgElems = document.querySelectorAll("img.logo");
113-
var logoContainers = document.querySelectorAll("span.logo");
114-
115-
targetLogoPath =
116-
targetAppearance == "{{ .Site.Params.DefaultAppearance }}" ?
117-
"{{ $primaryLogo.RelPermalink }}" : "{{ $secondaryLogo.RelPermalink }}"
118-
for (const elem of imgElems) {
119-
elem.setAttribute("src", targetLogoPath)
120-
}
121-
122-
{{ if eq $primaryLogo.MediaType.SubType "svg" }}
123-
targetContent =
124-
targetAppearance == "{{ .Site.Params.DefaultAppearance }}" ?
125-
`{{ $primaryLogo.Content | safeHTML }}` : `{{ $secondaryLogo.Content | safeHTML }}`
126-
for (const container of logoContainers) {
127-
container.innerHTML = targetContent;
128-
}
129-
{{ end }}
130-
}
131-
{{ end }}
132-
{{- end }}
133-
134106
var getTargetAppearance = () => {
135107
return document.documentElement.classList.contains("dark") ? "dark" : "light"
136108
}

β€Žassets/js/email.jsβ€Ž

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
(function () {
2+
const links = document.querySelectorAll(".email-link");
3+
links.forEach((link) => {
4+
let email = atob(link.getAttribute("data-email"));
5+
const subject = link.getAttribute("data-subject");
6+
let mailto = email.startsWith("mailto:") ? email : "mailto:" + email;
7+
8+
if (subject) {
9+
mailto += (mailto.includes("?") ? "&" : "?") + "subject=" + encodeURIComponent(subject);
10+
}
11+
link.href = mailto;
12+
});
13+
})();

β€Žassets/lib/katex/auto-render.min.jsβ€Ž

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€Žassets/lib/katex/katex.min.cssβ€Ž

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
Β (0)