Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A Chirpy-inspired Astro v7 blog theme with Tailwind CSS v4, daisyUI v5, i18n, Pagefind search, Giscus comments, KaTeX math, and auto OG images.

A Jekyll blog theme built with Bulma.css, featuring Disqus comments and Google Analytics.

Dark and elegant Hugo theme for blogs with tags, related content, Google Analytics, and image zoom.

GatsbyJS v2 starter that builds a blog system with Netlify CMS, Gitalk comments, SEO, and offline support.

English and french writer. I come here to improve on my writing as well as my regularity.
Chirping Astro is a single-template, multilingual Astro v7 blog theme for technical writers, built with Tailwind CSS v4, daisyUI v5, MDX, Pagefind search, Giscus comments, and KaTeX math. It generates a fully static site with a minimal JavaScript footprint, ideal for documentation-heavy personal blogs.
Chirping Astro is an open-source (MIT) Astro v7 theme inspired by the Chirpy Jekyll theme. It takes Markdown and MDX content organized in src/content/posts/ by locale and outputs a statically generated blog with RSS feeds, sitemap, search index, and automatic Open Graph images. The theme is maintained by a community on GitHub and designed to run with Bun as the package manager and runtime.
title, description, and pubDate; strict TypeScript.chirpy-light and chirpy-dark themes with OKLCH color tokens, no-FOUC theme toggle with View Transitions API animation.math: true in frontmatter.mermaid: true./search/ page) with locale filtering; search only works after bun run build, not in dev.comments: false; a setup notice appears when placeholders are detected./fr out of the box; translation pairing via translationKey; partial translations supported with conditional hreflang and language switcher filtering.translationKey; the language switcher lands readers on the equivalent article, and hreflang alternates are emitted only for available translations.$...$ and $$...$$; KaTeX renders at build time and no JavaScript ships to the client.mermaid: true; the library is bundled locally and excluded from all other pages.dist/ output to GitHub Pages with a pre-configured workflow that auto-detects BASE_PATH and SITE_URL, or to Cloudflare Pages/Netlify/Vercel with a few environment variables.bun install..env.example to .env and set SITE_URL and optional PUBLIC_* handles.src/config.ts to customize site identity, navigation, socials, and layout..md or .mdx files in src/content/posts/<locale>/.bun run dev to preview locally, or bun run build to generate the static site with the Pagefind index.Chirping Astro is free and open source under the MIT License. The companion starter template (chirping-astro-starter) is also freely available.
No. Pagefind search only works after running bun run build, because the index is generated at build time into dist/_pagefind/. The dev server (bun run dev) will show a "Search index not available" message in the modal.
Add math: true to the post's frontmatter. The KaTeX stylesheet — about 29 kB — is then loaded only for that page; other pages stay lean. Math is pre-rendered to HTML at build time, so no client JavaScript is needed.
Yes. Set comments: false in the post's frontmatter, or disable Giscus globally by setting PUBLIC_GISCUS_ENABLED=false in your .env file. When Giscus is enabled but the repository IDs are still placeholders, the theme shows a setup notice instead of a broken iframe.
English (at the URL root) and French (under /fr). You can add more locales by extending SITE.locales in src/config.ts, adding a locale block in src/i18n/ui.ts, and creating the corresponding content and page folders.
Bun is the only package manager and runtime assumed by the theme's scripts and CI. The lockfile is bun.lockb. npm, pnpm, and yarn may work but are untested.
