- docs/frontmatter.md: canonical frontmatter reference for all content types - dorveille.md: add tags, ai-disclosure fields - single.html: AI meta tags now read from frontmatter instead of hardcoded
148 lines
3.9 KiB
Markdown
148 lines
3.9 KiB
Markdown
# ASW Frontmatter Reference
|
||
|
||
Canonical reference for frontmatter in `~/projects/asw/content/`. Developer docs — not site content.
|
||
|
||
---
|
||
|
||
## Required (all content)
|
||
|
||
```yaml
|
||
title: "Page Title"
|
||
description: "One-line summary — drives <meta name=description> and OG tags."
|
||
date: 2026-02-01 # ISO 8601
|
||
tags: [essay, automation] # Hugo taxonomies, 2–4 per page
|
||
```
|
||
|
||
---
|
||
|
||
## Content-type fields
|
||
|
||
```yaml
|
||
type: post # docs | paper | post | vault — selects layout
|
||
weight: 10 # sort order within section (used in docs especially)
|
||
draft: true # omit from build until ready
|
||
author: "Wasily" # human author name (overrides site default)
|
||
```
|
||
|
||
---
|
||
|
||
## AI transparency layer
|
||
|
||
Three fields declare how AI was involved in producing the content.
|
||
|
||
```yaml
|
||
ai-disclosure: assisted # assisted | generated | human-only
|
||
ai-model: claude-sonnet-4-5
|
||
ai-provider: Anthropic
|
||
```
|
||
|
||
Maps to `<meta>` tags in the rendered `<head>`:
|
||
|
||
```html
|
||
<meta name="ai-content-disclosure" content="assisted">
|
||
<meta name="ai-model" content="claude-sonnet-4-5">
|
||
<meta name="ai-provider" content="Anthropic">
|
||
```
|
||
|
||
Values for `ai-disclosure`:
|
||
- `human-only` — no AI involvement
|
||
- `assisted` — human-written, AI-edited or AI-reviewed
|
||
- `generated` — AI-authored, human-directed
|
||
|
||
---
|
||
|
||
## Extended fields (essays / papers)
|
||
|
||
```yaml
|
||
eyebrow: "Essay" # label rendered above <h1> ("Essay", "Paper", "Reference")
|
||
abstract: "Longer summary for listing pages and paper headers."
|
||
footer: "Published in the dorveille. Written by a human, edited with LLM assistance."
|
||
canonical: "https://elsewhere.com/original" # if published elsewhere first
|
||
```
|
||
|
||
---
|
||
|
||
## Examples by content type
|
||
|
||
### `type: post` — essay or article
|
||
|
||
```yaml
|
||
---
|
||
title: "On the Craft of Invisible Systems"
|
||
description: "The best automation is the kind you never notice."
|
||
date: 2026-02-01
|
||
type: post
|
||
eyebrow: "Essay"
|
||
author: "Wasily"
|
||
tags: [automation, craft, agents]
|
||
ai-disclosure: assisted
|
||
ai-model: claude-sonnet-4-5
|
||
ai-provider: Anthropic
|
||
footer: "Written by a human, edited with LLM assistance."
|
||
---
|
||
```
|
||
|
||
### `type: docs` — reference documentation
|
||
|
||
```yaml
|
||
---
|
||
title: "Frontmatter Reference"
|
||
description: "All supported frontmatter fields for ASW content."
|
||
date: 2026-04-10
|
||
type: docs
|
||
weight: 20
|
||
tags: [reference, authoring]
|
||
ai-disclosure: generated
|
||
ai-model: claude-sonnet-4-5
|
||
ai-provider: Anthropic
|
||
---
|
||
```
|
||
|
||
### `type: paper` — long-form structured writing
|
||
|
||
```yaml
|
||
---
|
||
title: "The Agentic Semantic Web"
|
||
description: "An agent-first architecture for web publishing."
|
||
date: 2026-03-01
|
||
type: paper
|
||
eyebrow: "Paper"
|
||
abstract: "Extended summary for listing pages and the paper's own header section."
|
||
tags: [architecture, agents, semantic-web]
|
||
ai-disclosure: assisted
|
||
ai-model: claude-sonnet-4-5
|
||
ai-provider: Anthropic
|
||
canonical: "https://trentuna.com/papers/asw"
|
||
---
|
||
```
|
||
|
||
### `type: vault` — vault-sourced content (exported notes)
|
||
|
||
```yaml
|
||
---
|
||
title: "Dorveille"
|
||
description: "The liminal waking hour — a metaphor for autonomous agents."
|
||
date: 2026-01-15
|
||
type: vault
|
||
tags: [concept, agents, metaphor]
|
||
ai-disclosure: assisted
|
||
ai-model: claude-sonnet-4-5
|
||
ai-provider: Anthropic
|
||
---
|
||
```
|
||
|
||
---
|
||
|
||
## Relationship to vault frontmatter
|
||
|
||
The vault (`~/.napkin/`) and the public site share aligned concepts but use different field names:
|
||
|
||
| Concept | Vault field | Site field |
|
||
|---------|-------------|------------|
|
||
| Publication state | `status: draft/active` | `draft: true/false` |
|
||
| Related content | `related: ["[[Note]]"]` | Hugo's `related` config (automatic) |
|
||
| Discovery keywords | `keywords: [...]` | `tags: [...]` (Hugo taxonomy) |
|
||
| Content type | `type:` (free-form) | `type:` (maps to layout) |
|
||
| AI involvement | not tracked | `ai-disclosure`, `ai-model`, `ai-provider` |
|
||
|
||
The vault tracks operational state (`active`, `draft`, `archived`). The site tracks publication state (`draft: true/false`). A vault note exported to the site loses its `status`, `related` wikilinks, and `keywords` — these are replaced by Hugo-native equivalents during the port.
|