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"
FieldRequiredDescription
nameyesCategory name, matched against frontmatter category values
descriptionnoShort blurb shown on the wiki index card
iconnoRoot-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:

VariableTypeDescription
categories[].namestringCategory name
categories[].descriptionstring?From config
categories[].iconstring?From config
categories[].pageslistPages 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

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

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.