← Patterns

Manual Content Publishing

Confidence
78%
8 blocks·December 2025 – February 2026·rising

The Content Stack

Three content types, three workflows. Each backed by the same evidence model.

When I’m learning something — writing code, running experiments, documenting a decision — I capture dated blocks of insight. That block becomes evidence. Evidence becomes patterns when the same insight surfaces across multiple contexts. Timeline moments mark when those patterns converge into actionable knowledge.

This Hugo workflow lets me author all three without a backoffice. Manual, but precise.

Creating a Post

hugo new content posts/{slug}

This scaffolds content/posts/{slug}/index.md with YAML frontmatter and an empty evidence.yaml file.

Frontmatter fields:

Write the post body in markdown. It becomes the context for your evidence blocks.

Writing evidence.yaml

Each block represents a dated insight — a decision made, a learning realized, a problem solved.

blocks:
  - date: 2026-02-18
    label: "MQTT listener active"
    color: "fresh"
    description: "Got the valve controller responding to publish messages. Timing was the issue — debounce window too aggressive."
  - date: 2026-02-19
    label: "Persistence solved"
    color: "pattern"
    description: "Reading back the state from the controller reveals the real problem: state wasn't persisting across power cycles."

Color semantics:

Dating matters: Blocks appear chronologically on the post detail page. Real dates > guessed dates.

Creating a Pattern

Patterns emerge when the same insight surfaces across multiple posts.

hugo new content patterns/{slug}

This scaffolds content/patterns/{slug}.md with frontmatter. Patterns are leaf files — one markdown file per pattern, no nested structure.

Frontmatter fields:

Body: Write it as you’d want to read it six months from now. Be specific. Include examples.

Adding Timeline Moments

Timeline moments mark inflection points — when patterns converge, when a skill completes, when direction shifts.

hugo new content timeline/{year}-{slug}

This scaffolds content/timeline/{year}-{slug}.md with frontmatter.

Frontmatter fields:

Body: Can be empty, or a short reflection. The quote and description usually suffice.

Publishing

git add content/
git commit -m "Add: {post/pattern/moment title}"
git push

Netlify triggers on push to main. Build completes in ~30 seconds. If you see warnings about draft dates, check that your post date is not in the future.

Why Manual?

A backoffice CMS is coming in Epic 5. Until then, this workflow has served us well:

The friction we do have — editing YAML, manual git commits — keeps us thoughtful. We don’t create content casually. Every post, pattern, and moment represents real work.

This document itself is dog-food. It’s a pattern about the workflow for creating patterns.