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:
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_postandolder_poston 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
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.
LHelge