aphid 0.1.4
aphid 0.1.4 is a polish release. No new features — just fixes for things that tripped people up in practice: broken links in feed readers, images that only worked on the home page, and error messages that didn’t explain what went wrong.
Absolute URLs in feeds
Feed readers fetch content outside the context of your site’s domain, so relative links like /blog/other-post/ are meaningless to them. Both the Atom and RSS feeds now rewrite all href and src attributes in post content to full URLs using base_url from your config. The feed metadata links (self-link, entry permalinks) were already absolute — this fixes the inline content body.
Before: <a href="/wiki/configuration/"> inside <content type="html">
After: <a href="https://your-site.com/wiki/configuration/">
No configuration needed — it uses the base_url you already have.
Relative image path normalization
Writing  (without the leading /) worked on the home page but broke on blog posts and the blog index, because the browser resolved it relative to the current URL path. The markdown pipeline now detects bare relative paths and normalizes them to root-relative (/static/blog/screenshot.png) during rendering. This applies to both links and images, but leaves fragments (#heading), absolute URLs, and mailto: links untouched.
Config validation
base_url must now start with http:// or https://. Previously, setting base_url = "/" (common when testing locally without a domain) silently produced empty-string URLs in feeds and the sitemap after trailing-slash normalization. aphid now fails fast at config load time with a clear message:
Error: invalid config: base_url: must start with http:// or https://, got "/"
Better error for non-UTF-8 files
If a .md file contains invalid UTF-8 bytes (wrong encoding, binary accidentally renamed), the error previously surfaced as a generic I/O failure. It now says exactly what’s wrong:
Error: content/wiki/notes.md is not valid UTF-8
GitHub Action
A reusable composite action is now available for CI deployments. Instead of installing Rust and building from source, reference the action to download a pre-built binary:
- uses: actions/checkout@v4
- uses: LHelge/aphid@main
with:
version: 'v0.1.4' # optional, defaults to latest
output: '_site' # optional, defaults to dist
- uses: actions/upload-pages-artifact@v5
with:
path: _site
It detects the runner platform automatically and supports Linux (x64, arm64), macOS (arm64), and Windows (x64). See Deployment for a complete Pages workflow example.
Upgrading
There are no breaking changes from 0.1.3 unless your base_url was already invalid (not starting with http:// or https://). If so, fix it in aphid.toml — the config error will tell you exactly what’s expected.
LHelge