The current era of Tenrankai turned the “blog engine from day 3” into a first-class publishing system — and you’re looking at the result, because this site runs it.

The posts revamp

Posts gained categories (chips on the cards, path-style URLs like /projects/category/astrophotography, filter bars with counts, per-category options via _categories.md) and hero images — either a plain URL or a gallery:name:path reference that pulls straight from a gallery, with click-through to the image and hover details. The index became a flowing magazine layout with a featured first card and reading times. Post detail pages got a share bar (native share, Bluesky, Mastodon with a remembered instance, and friends) and richer Open Graph metadata.

Editing moved into the browser: a permission-gated post editor (title, slug, summary, categories, markdown, delete) backed by a CRUD API, with a gallery image picker for choosing heroes. Posts share the gallery permission scheme — site permissions plus per-directory _folder.md overrides — so private drafts and members-only sections fall out for free.

RSS 2.0 feeds appeared at {prefix}/feed.xml (and per category), with permission-aware filtering and full content. Posts systems can also embed anywhere a template renders — an embeddable posts preview block for dropping “recent projects” onto a home page.

The sky map

My favorite recent addition: image detail pages for astrophotos now show a sky map. If an image’s metadata sidecar carries ra and dec — the same fields I was already writing for the astro gallery — the viewer plots where in the sky the image was taken.

Flat files in, planetarium out. Next on the design docs: plate solving and object overlays.

The series: Part 1 — the ten-day birth, Part 2 — the January push, Part 3 — boring on purpose. Source at github.com/theatrus/tenrankai.