refactor: rename content types to semantic taxonomy

- vault → notes (PKM-exported content)
- posts → articles (short-form, no TOC)
- papers → essays (long-form, with TOC)
- type: post → type: article (posts are just short articles)
- layouts/paper → layouts/essay
- 08a-paper.css → 08a-essay.css
- CSS: fix redundant li resets, remove role="main" from article,
  replace <small> prev/next labels, add console layout
- Update hugo.toml menus, internal URLs, front matter throughout
- Add docs/context.md, docs/css-refactor-plan.md
This commit is contained in:
Ludo 2026-04-11 13:36:58 +02:00
parent 1408a52e8b
commit 15a6db9c0e
Signed by: ludo
GPG key ID: F6E479DEFAB84D6E
31 changed files with 788 additions and 70 deletions

View file

@ -1,14 +1,13 @@
{{ define "header" }}
<header>
<hgroup>
{{ with .Params.eyebrow }}<p data-text="eyebrow">{{ . }}</p>{{ end }}
<h1>{{ .Title }}</h1>
{{ with .Description }}<p>{{ . }}</p>{{ end }}
</hgroup>
{{ with .Type }}<p data-text="eyebrow">{{ . }}</p>{{ end }}
<p data-text="dim">
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 2006" }}</time>
{{ with .Params.author }} · {{ . }}{{ end }}
</p>
{{ with .Params.tags }}
<p>{{ range . }}<a href="/tags/{{ . }}" data-text="tag">#{{ . }}</a> {{ end }}</p>
{{ end }}
</header>
{{ end }}

View file

@ -0,0 +1,90 @@
{{ define "header" }}
<header>
{{- if .Description -}}
<hgroup>
<h1>{{ .Title }}</h1>
<p>{{ .Description }}</p>
</hgroup>
{{- else -}}
<h1>{{ .Title }}</h1>
{{- end }}
</header>
{{ end }}
{{ define "content" }}
<section data-layout="console">
<nav aria-label="Documentation" data-nav="sidebar">
{{- $menu := index .Site.Menus "docs" -}}
{{- if $menu -}}
{{- range $menu -}}
{{- if .HasChildren -}}
<h3>{{ .Name }}</h3>
<ul>
{{- range .Children -}}
<li>
<a href="{{ .URL }}"
{{- if eq (relURL .URL) $.RelPermalink }} aria-current="page"{{ end -}}>
{{- .Name -}}
</a>
</li>
{{- end -}}
</ul>
{{- else -}}
<ul>
<li>
<a href="{{ .URL }}"
{{- if eq (relURL .URL) $.RelPermalink }} aria-current="page"{{ end -}}>
{{- .Name -}}
</a>
</li>
</ul>
{{- end -}}
{{- end -}}
{{- else -}}
{{- with .CurrentSection -}}
<h3>{{ .Title }}</h3>
<ul>
{{- range .RegularPages -}}
<li>
<a href="{{ .RelPermalink }}"
{{- if eq .RelPermalink $.RelPermalink }} aria-current="page"{{ end -}}>
{{- .LinkTitle -}}
</a>
</li>
{{- end -}}
</ul>
{{- end -}}
{{- end -}}
</nav>
<article>
{{ .Content }}
{{- if or .PrevInSection .NextInSection -}}
<footer data-role="prev-next">
{{- with .NextInSection -}}
<a href="{{ .RelPermalink }}" rel="prev">
<span aria-hidden="true"></span> Previous
<span>{{ .LinkTitle }}</span>
</a>
{{- end -}}
{{- with .PrevInSection -}}
<a href="{{ .RelPermalink }}" rel="next">
Next <span aria-hidden="true"></span>
<span>{{ .LinkTitle }}</span>
</a>
{{- end -}}
</footer>
{{- end -}}
</article>
{{- with .TableOfContents -}}
<aside data-toc>
<h3>On this page</h3>
{{ . }}
</aside>
{{- end -}}
</section>
{{ end }}

View file

@ -58,20 +58,20 @@
{{- end -}}
</nav>
<article role="main">
<article>
{{ .Content }}
{{- if or .PrevInSection .NextInSection -}}
<footer data-role="prev-next">
{{- with .NextInSection -}}
<a href="{{ .RelPermalink }}" rel="prev">
<small>← Previous</small>
<span aria-hidden="true"></span> Previous
<span>{{ .LinkTitle }}</span>
</a>
{{- end -}}
{{- with .PrevInSection -}}
<a href="{{ .RelPermalink }}" rel="next">
<small>Next →</small>
Next <span aria-hidden="true"></span>
<span>{{ .LinkTitle }}</span>
</a>
{{- end -}}

View file

@ -14,8 +14,8 @@
{{ define "content" }}
<section data-layout="docs">
<nav aria-label="Vault" data-nav="sidebar">
{{- $menuName := .Site.Params.vault_menu | default "vault" -}}
<nav aria-label="Notes" data-nav="sidebar">
{{- $menuName := .Site.Params.notes_menu | default "notes" -}}
{{- $menu := index .Site.Menus $menuName -}}
{{- if $menu -}}
{{- range $menu -}}
@ -59,7 +59,7 @@
{{- end -}}
</nav>
<article role="main">
<article>
{{ .Content }}
{{- $prevURL := index .Params "prev-url" -}}
@ -70,13 +70,13 @@
<footer data-role="prev-next">
{{- if $prevURL -}}
<a href="{{ $prevURL }}" rel="prev">
<small>← Previous</small>
<span aria-hidden="true"></span> Previous
<span>{{ $prevTitle }}</span>
</a>
{{- end -}}
{{- if and $nextURL $nextTitle -}}
<a href="{{ $nextURL }}" rel="next">
<small>Next →</small>
Next <span aria-hidden="true"></span>
<span>{{ $nextTitle }}</span>
</a>
{{- end -}}

View file

@ -17,9 +17,24 @@
{{- partial "meta/ai-disclosure.html" . -}}
{{- partial "meta/json-ld.html" . -}}
{{- /* ── CSS — fingerprinted via Hugo Pipes ─────────────────────── */}}
{{ $css := resources.Get "css/asw-built.css" | minify | fingerprint }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}">
{{- /* ── CSS ────────────────────────────────────────────────────── */}}
{{- if hugo.IsDevelopment }}
<link rel="stylesheet" href="/vendor/open-props.min.css">
<link rel="stylesheet" href="/vendor/media.min.css">
<link rel="stylesheet" href="/css/layers/00-reset.css">
<link rel="stylesheet" href="/css/layers/01-asw.css">
<link rel="stylesheet" href="/css/layers/02-semantic.css">
<link rel="stylesheet" href="/css/layers/03-components.css">
<link rel="stylesheet" href="/css/layers/04-data-attrs.css">
<link rel="stylesheet" href="/css/layers/05-utilities.css">
<link rel="stylesheet" href="/css/layers/06-charts.css">
<link rel="stylesheet" href="/css/layers/07-chroma.css">
<link rel="stylesheet" href="/css/layers/08-layout.css">
<link rel="stylesheet" href="/css/layers/08a-paper.css">
<link rel="stylesheet" href="/css/layers/09-landing.css">
{{- else }}
<link rel="stylesheet" href="/asw.css">
{{- end }}
{{- range .AlternativeOutputFormats -}}
<link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">