asw/site/layouts/essay/single.html
Ludo 21524b4b25
refactor: standardize all Hugo templates — consistent landmark structure
All templates now follow: body > nav > article > header + content + footer

Removed:
- <hgroup> (redundant, header+h1+p serves same purpose)
- <main> (article is the content landmark)
- role="main" on article (incorrect ARIA)
- header block in baseof (header now inside article)

Standardized: default, docs, essay, notes, console, page, list, index.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:37:47 +02:00

40 lines
1.3 KiB
HTML

{{ define "content" }}
<article data-paper>
<header>
{{- with .Params.eyebrow }}<p data-text="eyebrow">{{ . }}</p>{{ end }}
<h1>{{ .Title }}</h1>
{{- with .Params.abstract }}
<p data-abstract>{{ . }}</p>
{{- end }}
{{- if or (not .Date.IsZero) .Params.author }}
<p data-byline>
{{- if not .Date.IsZero -}}
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 2, 2006" }}</time>
{{- end -}}
{{- if and (not .Date.IsZero) .Params.author }} · {{ end -}}
{{- with .Params.author }}{{ . }}{{ end -}}
</p>
{{- end }}
{{- with .GetTerms "tags" }}
<nav data-role="tag-cloud" aria-label="Tags">
{{- range . }}
<a href="{{ .Permalink }}">{{ .Name }}</a>
{{- end }}
</nav>
{{- end }}
</header>
{{ .Content }}
{{- if or .PrevInSection .NextInSection }}
<footer>
{{- with .PrevInSection }}
<a href="{{ .RelPermalink }}" rel="prev"><span aria-hidden="true"></span> {{ .LinkTitle }}</a>
{{- end }}
{{- with .NextInSection }}
<a href="{{ .RelPermalink }}" rel="next">{{ .LinkTitle }} <span aria-hidden="true"></span></a>
{{- end }}
</footer>
{{- end }}
</article>
{{ end }}