Add dorveille article and full Hugo site scaffold

- content/dorveille.md: 'On the Craft of Invisible Systems'
- assets/css/: ASW layer system (00-reset through 09-landing + Open Props)
- layouts/: baseof, single, list, index — semantic HTML, no classes
- hugo.toml: baseURL asw.trentuna.com, PostCSS + minify pipeline
- package.json: postcss-import, postcss-custom-media, cssnano
- .gitignore: excludes public/, node_modules, build artifacts

Site builds to public/ via hugo --minify. nginx serves public/ statically.
This commit is contained in:
Vigilio Desto 2026-04-10 17:23:51 +02:00
parent a899f13ae6
commit 880a17f33a
Signed by: vigilio
GPG key ID: 159D6AD58C8E55E9
24 changed files with 7315 additions and 0 deletions

View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode | default "en" }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ block "title" . }}{{ .Title }} — {{ .Site.Title }}{{ end }}</title>
{{ $css := resources.Get "css/asw.css" | postCSS | minify | fingerprint }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}">
{{ block "head" . }}{{ end }}
</head>
<body>
{{ block "main" . }}{{ end }}
</body>
</html>

View file

@ -0,0 +1,38 @@
{{ define "main" }}
<nav>
<ul><li><a href="/"><strong>{{ .Site.Title }}</strong></a></li></ul>
<ul>
<li><a href="/docs/">Docs</a></li>
<li><a href="/examples/">Examples</a></li>
</ul>
</nav>
<main>
<article data-layout="prose">
<header>
<h1>{{ .Title }}</h1>
{{ with .Description }}<p>{{ . }}</p>{{ end }}
</header>
<section>
{{ range .Pages }}
<article>
<header>
<h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
<p data-text="dim">
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 2006" }}</time>
</p>
</header>
{{ with .Summary }}<p>{{ . }}</p>{{ end }}
</article>
{{ end }}
</section>
</article>
</main>
<footer>
<small><a href="/">{{ .Site.Title }}</a> · {{ now.Format "2006" }}</small>
</footer>
{{ end }}

View file

@ -0,0 +1,70 @@
{{ define "head" }}
<meta name="description" content="{{ .Description | default .Summary }}">
<meta name="color-scheme" content="dark light">
<meta name="ai-disclosure" content="ai-generated">
<meta name="ai-model" content="{{ .Site.Params.aiModel | default "claude-sonnet-4-5" }}">
<meta name="ai-provider" content="{{ .Site.Params.aiProvider | default "Anthropic" }}">
<meta name="author" content="{{ .Site.Params.author | default .Site.Title }}">
<meta property="og:title" content="{{ .Title }}">
<meta property="og:description" content="{{ .Description | default .Summary }}">
<meta property="og:type" content="article">
<meta property="og:url" content="{{ .Permalink }}">
<meta property="og:site_name" content="{{ .Site.Title }}">
<link rel="canonical" href="{{ .Permalink }}">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CreativeWork",
"name": {{ .Title | jsonify }},
"author": {
"@type": "SoftwareApplication",
"name": {{ .Site.Params.author | default .Site.Title | jsonify }},
"url": {{ .Site.BaseURL | jsonify }}
},
"dateModified": {{ .Lastmod.Format "2006-01-02" | jsonify }},
"generator": "Agentic Semantic Web"
}
</script>
{{ end }}
{{ define "main" }}
<nav>
<ul><li><a href="/"><strong>{{ .Site.Title }}</strong></a></li></ul>
<ul>
<li><a href="/docs/">Docs</a></li>
<li><a href="/examples/">Examples</a></li>
</ul>
</nav>
<main>
<article data-layout="prose">
<header>
<hgroup>
{{ with .Params.eyebrow }}<p data-text="eyebrow">{{ . }}</p>{{ end }}
<h1>{{ .Title }}</h1>
{{ with .Description }}<p>{{ . }}</p>{{ end }}
</hgroup>
<p data-text="dim">
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 2006" }}</time>
{{ with .Params.author }} · {{ . }}{{ end }}
</p>
</header>
{{ .Content }}
<footer>
<small>{{ with .Params.footer }}{{ . }}{{ else }}Published in the dorveille.{{ end }}</small>
</footer>
</article>
</main>
<footer>
<small><a href="/">{{ .Site.Title }}</a> · {{ .Date.Format "2006" }}</small>
</footer>
{{ end }}