Gazette is an Astro theme for a magazine that comes out in issues. The unit is the issue, not the article: a cover, a contents page, and a handful of pieces chosen to sit next to each other.
How it reads
- Bodoni Moda for the cover and the openers, Archivo for kickers and folios, Literata for text at about 65 characters a line
- The leader contents row: a hanging number, a dotted leader, the byline at the end of the line
- A spot-colour cover panel, a drop cap, a pull-quote epigraph, and a folio at the foot of a piece
- Dark mode, and a layout that works down to 360px
What's included
- Screens: the cover, the issue, the piece, the archive, the masthead, and 404
- Type-safe content collections for issues, pieces and contributors, in Markdown or MDX
- Feed, sitemap, robots.txt, JSON-LD, Open Graph metadata, and an analytics slot (Plausible, GA4)
- UI strings in English and Korean
Under the hood
- Astro 7 and Tailwind CSS v4, no client-side JavaScript by default, Lighthouse 95+
- Static output: deploy to Cloudflare Pages, Vercel, or Netlify
- Everything site-specific lives in one file, src/config.ts
- AGENTS.md for Claude Code, Cursor, and other AI coding tools
Try it
Live demo: https://gazette-free.ondelva.com
Gazette Pro
Pro adds contributor pages, department indexes, a contents box and related pieces, a sidebar and a pull quote for MDX, Pagefind search, localized routes with a second edition of the magazine, generated share cards, a legal set, newsletter sign-up and giscus comments, and four colour presets with three font pairings. Pro demo: https://gazette.ondelva.com










