Add news posts with banner summaries on the home page

Posts live in content/post/; the five latest are summarised on the home
page. Builds for check/deploy go to build/ so they do not collide with a
running hugo server writing to public/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
This commit is contained in:
2026-10-11 20:13:17 +02:00
co-authored by Claude Opus 5.5
parent 787ce531b6
commit d9227e15f3
12 changed files with 128 additions and 15 deletions
+15 -2
View File
@@ -9,16 +9,29 @@ Static rebuild of old-computers.com with [Hugo](https://gohugo.io/) (0.158 or ne
| `content/{museum,machine-tabs,companies,software,history,magazine,fun}/` | generated, replaced on every `make content` |
| `static/media/` | generated (copied images and documents) |
| `data/slugs.json` | generated, keeps URLs stable between runs — do not delete |
| `content/post/` | written by hand: news posts, see below |
| `content/_index.md`, `layouts/`, `assets/`, `hugo.toml`, `tools/` | written by hand |
| `public/` | build output, not versioned |
| `build/`, `public/` | build output (`make build`, `hugo server`), not versioned |
Content pages are Markdown with YAML front matter and can be corrected by hand, but a later
`make content` overwrites them: lasting fixes belong in the extraction repository.
## Posts
make post NAME=my-title
creates `content/post/<today>-my-title.md` (any `.md` file in `content/post/` is a post). The
date comes from the file name unless `date:` is set; `author:` is optional. For a banner, put an
image under `static/media/` and set `banner: /media/....jpg`. Write the text in Markdown and
remove `draft: true` to publish. The five most recent posts appear on the home page with their
banner, date, author and summary (`summary:` in the front matter, or the text before
`<!--more-->`, or the first lines); all posts are listed under News. Posts are never touched by
`make content`.
## Usage
make content # regenerate from ../oc (OC=path to use another location)
make build # build into public/
make build # build into build/
make check # build + verify every internal link and image
make serve # preview on http://localhost:1313
make deploy # build and copy to the test server (share must be mounted; see DEPLOY_DIR/DEPLOY_URL)