aphid 0.1.2

aphid 0.1.2 is a release about everyday writing flow: keeping readers up to date with feeds, keeping listings readable as the archive grows, and keeping half-finished pieces out of the published site until they’re ready.

RSS and Atom feeds

Every build now emits an Atom feed at /feed.xml and an RSS feed at /rss.xml, both linked from every page’s <head> so feed readers can discover them automatically. The feed picks up the newest blog posts, and a new feed_limit setting in aphid.toml controls how many appear:

feed_limit = 20   # default; set to 0 for no limit

Both feeds are generated only in aphid build — aphid serve skips them so dev rebuilds stay fast. See Configuration for the full field list.

Pagination

The blog index and per-tag pages now split into pages of posts_per_page once the listing grows past that count. Page 1 stays at the canonical URL (/blog/, /tags/rust/); subsequent pages live at /blog/page/2/, /tags/rust/page/2/, and so on:

posts_per_page = 10   # default

The full mechanics — URL scheme, the pagination template variable, and the page-1-only treatment for “featured” cards — are in Pagination. Themes get a pagination.html partial that renders prev/next/numeric nav, and the docs theme uses pagination.current == 1 to gate its featured-post layout so page 2 onwards renders every post in the same compact format.

Drafts

Setting draft: true in any content file’s frontmatter excludes it from the build entirely:

---
title: Half-finished thoughts
slug: wip
author: LHelge
created: 2026-05-01
draft: true
---

A draft has no rendered page, no entry in any listing, no presence in the feeds or sitemap, and no nav entry (for standalone pages). Wiki-links pointing at a draft fail to resolve as if the file did not exist on disk — aphid build reports a broken link error and aphid serve warns. There is no preview override; to publish, change the flag to false or remove it. See Frontmatter for the field’s full semantics.

Also in 0.1.2

A handful of smaller things landed alongside the headline features:

  • Adjacent post nav. Every blog post now shows the previous (newer) and next (older) post at the bottom, with date and title. The values are exposed to templates as newer_post and older_post on the blog post context.
  • Tag-aware cards. Tag badges on the blog index and home-page cards link to the tag page, not the post — clicking the rest of the card still opens the post.
  • Tag pages share the blog-index layout. The docs theme used to show tag pages as a thin list; they now use the same compact-card format as the blog index, minus the featured treatment.

Upgrading

cargo install aphid --locked --force
aphid --version

There are no breaking changes from 0.1.1. Existing aphid.toml files keep working — feed_limit and posts_per_page both default sensibly, and draft is opt-in per file.