Astrix Download
Free open-source Ghost CMS theme

One theme.
Many voices.

Astrix Ghost Theme is a bold, image-led theme for Ghost CMS — four live demo publications, four hero styles, three feed layouts, native dark mode, membership, and a reading experience that gets out of the way.

Download the theme Try live demos View on GitHub
Live demos, one codebase

The same Ghost theme, four publications

Astrix ships one set of components. Change the hero style, feed layout, and accent colour in Ghost Admin, and the same open-source Ghost theme becomes a travel journal, a design magazine, a food publication, or a personal blog.

Meridian homepage — travel journal
Travel & photography

Meridian

Slow, first-person dispatches from specific places, photo-led. Shows the theme at its most image-forward.

Poster heroMosaic feedTerracotta accentMulti-author
Vellum homepage — design journal
Design & type

Vellum

A type-forward journal on design and the craft of making things. Restrained, editorial, opinionated.

Editorial heroBold gridNavy accentMulti-author
The Proof homepage — food magazine
Food & membership

The Proof

Recipes and essays from a small corner bakery — with paid membership, gated recipes, and a pricing page.

Split heroList feedRed-earth accentMembership
Field Notes homepage — personal blog
Personal blog

Field Notes

One maker's notes on creative work. The Personal hero puts the author front and centre, with a supporter tier.

Personal heroMosaic feedGreen accentPaid tier
Variants

Four hero styles

The homepage opens in one of four ways, selectable in Ghost Admin → Design. Poster and Editorial lead with the latest featured post; Split balances image and text; Personal opens with the author.

Poster hero (Meridian)
Poster — full-bleed featured image, poster-sized title (Meridian).
Editorial hero (Vellum)
Editorial — restrained, type-forward lead (Vellum).
Split hero (The Proof)
Split — image and headline side by side (The Proof).
Personal hero (Field Notes)
Personal — the author opens the page (Field Notes).
Variants

Three feed layouts & dark mode

Mosaic, Bold grid, and List — plus a native light / dark / system colour scheme with a zero-flash toggle, driven by light-dark(). Every accent stays readable in both schemes.

Vellum, light scheme
Light scheme (Vellum, Bold grid)
Vellum, dark scheme
Dark scheme — the same page
Reading experience

Built for long-form

A sticky table of contents with a reading-line scrollspy, a reading progress bar, related posts, and a reading-scale prose measure — with fully styled headings, lists, quotes, code, and tables.

Typography specimen with table of contents
Sticky TOC + prose specimen (Vellum)
Article reading view
Article with in-content headings (Meridian)
Editor cards

Every card, styled

Callouts in every colour, buttons, toggles, bookmarks, galleries, and images at three widths — standard, wide and full-bleed. The demo ships a page that exercises all of them, so nothing renders as an afterthought.

Koenig editor cards rendered by the theme
Callouts, buttons, toggles, bookmarks, galleries and full-bleed images (Vellum)
Editor cards in dark mode
The same cards on the dark scheme
Ready-made layouts

Six templates beyond the defaults

Assign a page template by page name in Ghost Admin (Settings → Pages → edit → Template); the Note template is a post template, picked per-post in the editor. No code, no child theme.

TemplateTypeWhat it does
PortfoliopageThe page content, then a uniform responsive grid of project posts tagged #portfolio or #project, newest first.
LandingpageThe page content built entirely from Koenig cards, with no title, breadcrumbs, or article chrome — for product pages and event announcements.
NotepostA compact reading column that keeps the title, image and text but drops the table-of-contents rail — for updates, observations, quick thoughts.
ArchivepageThe page content, every public tag with its post count, then the full post index (grouped by year with JS).
NewsletterpageThe page content, a prominent subscribe form, then past editions (posts tagged with the internal #newsletter tag).
MembershippageA pricing grid built from the publication's tiers, with a tier-aware CTA.
Portfolio template — a uniform grid of project posts
Portfolio — the page content, then a uniform grid of project posts (Vellum)
Landing template — a page built entirely from Koenig cards
Landing — built entirely from Koenig cards, no title or chrome (Vellum)
Note template — a compact reading column without the table of contents
Note — a compact column that drops the TOC rail (Vellum)
A code block with a language badge in the top-left corner
Code blocks carry a language badge, read from Koenig's language-* class

An optional routes.example.yaml at the repository root shows how to serve a static home with the blog under /writing/; without it the post feed lives at / (what the four demo publications run).

Membership

Subscriptions, tiers & gating

Portal integration, subscribe forms, a custom-membership pricing page, and tier-aware gates for members-only and paid content.

Membership pricing page
Pricing page with tier and benefits (The Proof)
Paid content gate
Paid-content gate on a members' recipe
Mobile-first

Designed for the phone

Every layout is built mobile-first: thumb-friendly navigation, 44px touch targets, and full-bleed imagery that holds up on a small screen.

Meridian on mobile
The Proof on mobile
Vellum article on mobile
Field Notes article on mobile
Under the hood

Everything else

Scheme-safe accent system

The Ghost Admin accent is derived into fill, ink, and line tokens so it stays legible on both light and dark.

Tokens-only foundation

Built on the Astryx design tokens (colour, spacing, radius, motion, type) — no hard-coded values.

Native Ghost search

sodo-search wired in, plus fully styled Koenig cards: callouts, bookmarks, galleries, toggles, products.

Search shortcut

⌘K / Ctrl+K opens Ghost's native search from anywhere, and / does the same when you're not typing. A desktop kbd hint shows the right keys for your platform.

Native Web Share

Where the browser supports it, the post share row leads with the system share sheet, ahead of the X / Facebook / LinkedIn / copy anchors. Hidden without JavaScript or on unsupported browsers.

Code language badge

Each code block shows a quiet uppercase badge (TS, Python, …) read from Koenig's language-* class, in the code font and secondary text colour.

Styled footnotes

Markdown footnotes render with an accent superscript reference, a hairline list, a quiet back-reference, and a brief accent flash on the target note — skipped under reduced motion.

Ghost recommendations

Up to four of the publication's recommendations — favicon, title, readable URL and description — above the footer meta row, opening in a new tab. The section renders only when the site has recommendations.

Tips & donations

With donations enabled in Ghost Admin, a Support this site button opens Portal's support flow from the site footer and the post share row. Both are gated on donations, so nothing renders — and no space is reserved — when they're off.

SEO breadcrumbs

Posts, pages, tags and authors render a breadcrumb trail carrying BreadcrumbList microdata; the last crumb is the current page, marked aria-current="page".

Internationalisation

English and Italian are maintained; German, Spanish, French, Portuguese and Dutch ship too. Every UI string goes through {{t}}.

Custom fonts

Ghost Admin custom fonts are honoured; Figtree is self-hosted with a zero-CLS fallback.

Fast & accessible

WebP imagery, lazy-loading, content-visibility, focus states, reduced-motion support, and axe-core checks that run against a real render in both light and dark on every change.

Reference

Theme settings

All configurable from Ghost Admin → Design — no code required.

SettingOptionsDefault
Header styleEditorial / Poster / Split / PersonalPoster
Feed layoutBold grid / Mosaic / ListBold grid
Colour scheme defaultSystem / Light / DarkSystem
Navigation layoutLogo left / Logo middleLeft
Secondary accentcolour#f5b301
Personal hero headline / text / portraitfree text / imageempty
Show author metaName and avatar / Name only / HiddenName and avatar
Featured slideron / offon
Table of contentson / offon
Reading progresson / offon
Related postson / offon
CTA headline / textfree textbuilt-in copy
Social: GitHub / Hugging Face / email / extra URLtextempty

Astrix speaks in two accent voices. Ghost's Brand colour is the navy identity voice — buttons, active nav, links, section rules. The theme's Secondary accent is the gold response voice — hover, focus, text selection, the subscribe button, premium badges. Changing one doesn't repaint the other; that's by design. The Brand colour is applied through derived tokens so it stays legible on both light and dark, and those tokens are computed rather than separate Admin controls. Every setting carries an in-Admin description, and the mapping is spelled out in the README.

Get started

Install in three steps

  1. Download astrix.zip from the latest release.
  2. In Ghost Admin, go to Settings → Design & branding → Change theme → Upload theme.
  3. Activate it, then open Design to pick your hero style, feed layout, and accent.
Requires Ghost ≥ 6.0 and a modern browser (Chrome/Edge 123+, Safari 17.5+, Firefox 137+). The visual system is documented in DESIGN.md.