Chirping Astro is a feature-rich, Chirpy-inspired (Chirpy is a famous Jekyll theme) blog theme for technical writers who want a fast, accessible, statically generated blog without building a theme from scratch.
Built on Astro 6 with Tailwind CSS v4 and daisyUI v5, it combines a polished sidebar layout with a deeply considered set of blogging features — all rendered at build time for near-zero client JavaScript.
Key Features
Content & Authoring
- Markdown and MDX support with Astro Content Collections and Zod-validated frontmatter
- Expressive Code for syntax highlighting with frame titles, copy buttons, line markers, diffs, and collapsible sections
- KaTeX math rendering (pre-rendered at build time; stylesheet loaded only on pages that opt in)
- Callout components, GFM, autolinked headings, reading time, and a sticky scroll-spy Table of Contents
Multilingual (i18n)
- English and French included out of the box, with English at the URL root and French under <code>/fr/</code>
- Per-post translation pairing via <code>translationKey</code> frontmatter
- Smart language switcher that hides itself when no translated sibling exists, so readers never hit a dead-end 404
- Locale-aware RSS feeds, sitemap with <code>hreflang</code> alternates, and search
Search & Comments
- Pagefind static search — modal + dedicated search page, lazy-loaded, locale-filtered, no extra CSS
- Giscus comments synced with the active theme and page locale, per-post overrideable, with a friendly setup guide shown when not yet configured
SEO & Performance
- Automatic OG image generation at build time using Satori + Resvg for posts without a hero image
- Per-locale RSS, canonical URLs, OpenGraph, Twitter card, and sitemap via <code>@astrojs/sitemap</code>
- Five small client-side islands; the rest is pure static HTML
Theming & Customization
- Custom <code>chirpy-light</code> / <code>chirpy-dark</code> daisyUI themes built with OKLCH color tokens
- No-FOUC theme toggle with View Transitions API animation, respecting <code>prefers-reduced-motion</code>
- Layout sizing, sidebar width, prose column, and brand colors all controlled via CSS custom properties in a single file
- Privacy Policy pages (bilingual templates, toggleable footer link)
Developer Experience
- Bun as the package manager and runtime
- Strict TypeScript, ESLint (zero warnings), Prettier, and Husky pre-commit hooks
- GitHub Actions workflow for GitHub Pages deployment with automatic sub-path handling
- Works on Cloudflare Pages, Netlify, Vercel, and any static host
Getting Started
Use the Starter Template for a clean, deploy-ready base:
bunx create-astro@latest --template kannansuresh/chirping-astro-starter
Or clone the full repo to explore all features with the included demo posts.