aphid 0.3.0
aphid 0.3.0 reworks the wiki index into a proper landing page. Categories gain descriptions and icons, the index renders them as cards instead of a flat list, and an optional wiki.md file lets you write introductory text above the cards.
Rich wiki categories
wiki_categories in aphid.toml is no longer a flat list of strings. Each category is now a table with an optional description and icon:
[[wiki_categories]]
name = "Getting Started"
description = "Installation, configuration, and first steps."
icon = "/static/wiki/getting-started.svg"
[[wiki_categories]]
name = "Content"
description = "Writing blog posts, wiki pages, and standalone pages."
icon = "/static/wiki/content.svg"
| Field | Required | Description |
|---|---|---|
name | yes | Category name, matched against frontmatter category values |
description | no | Short blurb shown on the wiki index card |
icon | no | Root-relative URL path to an SVG icon |
The icon path is root-relative (e.g. "/static/wiki/foo.svg"), consistent with favicon and social_image. Place your SVGs under static/ and reference their served path.
This is a breaking change — the old format:
wiki_categories = ["Getting Started", "Content"]
must be migrated to the array-of-tables form shown above. If you only need names, omit description and icon:
[[wiki_categories]]
name = "Getting Started"
[[wiki_categories]]
name = "Content"
Card-based wiki index
The wiki_index.html template now receives richer category objects:
| Variable | Type | Description |
|---|---|---|
categories[].name | string | Category name |
categories[].description | string? | From config |
categories[].icon | string? | From config |
categories[].pages | list | Pages in this category ({title, url}) |
The bundled theme and default theme both render these as cards with the icon, name, description, and a list of page links. Custom themes can use as much or as little of the new data as they like — name and pages are always present, just as before.
The same enriched shape is available in the wiki_categories variable on wiki_page.html, so sidebar navigation can also show icons and descriptions if desired.
Wiki intro page
Create a content/wiki.md (no frontmatter needed) to add introductory content above the category cards on the wiki index. The file is rendered through the full markdown pipeline — wiki-links, syntax highlighting, and all other extensions work as expected.
The rendered HTML is exposed to wiki_index.html as wiki_intro.content:
{% if wiki_intro %}
<div class="wiki-intro">
{{ wiki_intro.content | safe }}
</div>
{% endif %}
This follows the same pattern as home.md and 404.md — a bodyless content file (no frontmatter) whose rendered HTML is injected into the corresponding template.
Upgrading
The only breaking change is the wiki_categories config format. If you were using the old list form, convert each entry to a [[wiki_categories]] table with a name field. Custom themes that loop over categories on wiki_index.html continue to work unchanged — the name and pages fields keep their previous shape, with description and icon added alongside.
After upgrading, run aphid agent <your-tool> to refresh skill files with the updated configuration documentation.
See also: Configuration, Themes > wiki-index-html, Themes > wiki-page-html.
LHelge