summaryrefslogtreecommitdiffstats
path: root/themes
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-04-18 16:25:02 +0200
committerDanilo M. <danix@danix.xyz>2026-04-18 16:25:02 +0200
commit5285459993178e6116c62583a21c52f153a47725 (patch)
treed9a4abd8e382fa0d022bc1109f9352fdbe2b3d75 /themes
parent16644e10044e75c64b0908e721648f5644296db7 (diff)
downloaddanixxyz-5285459993178e6116c62583a21c52f153a47725.tar.gz
danixxyz-5285459993178e6116c62583a21c52f153a47725.zip
feat: add // prefix to H2–H6 headings in prose
Render all heading levels 2–6 with a terminal-style `// ` prefix in JetBrains Mono. H1 (page/article titles) is excluded. The prefix is aria-hidden for A11y compliance (WCAG 2.1 AA — heading text contrast 14.72:1, prefix is decorative and exempt from contrast requirements). Implementation: - New Hugo render-heading hook at _default/_markup/render-heading.html - Added .heading-prefix CSS rule with accent purple color, 0.8em font size, 0.7 opacity - CSS rebuil with npm run build Applies site-wide to all markdown prose content (articles, singles, pages). Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Diffstat (limited to 'themes')
-rw-r--r--themes/danix-xyz-hacker/assets/css/main.css10
-rw-r--r--themes/danix-xyz-hacker/assets/css/main.min.css12
-rw-r--r--themes/danix-xyz-hacker/layouts/_default/_markup/render-heading.html5
3 files changed, 27 insertions, 0 deletions
diff --git a/themes/danix-xyz-hacker/assets/css/main.css b/themes/danix-xyz-hacker/assets/css/main.css
index a1d1acc..6f00eb5 100644
--- a/themes/danix-xyz-hacker/assets/css/main.css
+++ b/themes/danix-xyz-hacker/assets/css/main.css
@@ -103,6 +103,16 @@ html.theme-light {
@apply text-xl md:text-2xl;
}
+ .heading-prefix {
+ font-family: 'JetBrains Mono', monospace;
+ font-weight: 400;
+ font-size: 0.8em;
+ color: var(--accent);
+ opacity: 0.7;
+ margin-right: 0.35em;
+ user-select: none;
+ }
+
a {
@apply text-accent hover:opacity-80 transition-opacity;
}
diff --git a/themes/danix-xyz-hacker/assets/css/main.min.css b/themes/danix-xyz-hacker/assets/css/main.min.css
index 9c5c690..87ce73b 100644
--- a/themes/danix-xyz-hacker/assets/css/main.min.css
+++ b/themes/danix-xyz-hacker/assets/css/main.min.css
@@ -616,6 +616,18 @@ h3 {
}
}
+.heading-prefix {
+ font-family: 'JetBrains Mono', monospace;
+ font-weight: 400;
+ font-size: 0.8em;
+ color: var(--accent);
+ opacity: 0.7;
+ margin-right: 0.35em;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+}
+
a {
color: var(--accent);
transition-property: opacity;
diff --git a/themes/danix-xyz-hacker/layouts/_default/_markup/render-heading.html b/themes/danix-xyz-hacker/layouts/_default/_markup/render-heading.html
new file mode 100644
index 0000000..d0d5e05
--- /dev/null
+++ b/themes/danix-xyz-hacker/layouts/_default/_markup/render-heading.html
@@ -0,0 +1,5 @@
+{{- if eq .Level 1 -}}
+<h1 id="{{ .Anchor }}">{{ .Text | safeHTML }}</h1>
+{{- else -}}
+<h{{ .Level }} id="{{ .Anchor }}"><span aria-hidden="true" class="heading-prefix">//</span> {{ .Text | safeHTML }}</h{{ .Level }}>
+{{- end -}}