Bitdoze Astro Blog Theme is an open-source blog starter built on Astro that ships with content collections for posts, authors, and pages, plus client-side search, RSS, sitemap, pagination, and MDX support.
What is the Bitdoze Astro Blog Theme?
It is a ready-to-run blog theme that takes Markdown or MDX files in src/content/posts/ and generates a static site with category, tag, author, and series pages. It runs on Astro, outputs to a dist/ folder via npm run build, and is published by Bitdoze as an MIT-licensed template on GitHub.
Key Features
- Astro framework — Built with Astro, which renders the site to static HTML for fast loading; the config lives in
astro.config.mjs. - Tailwind CSS v4 styling — Styling is set up through
src/styles/global.csswith@import "tailwindcss"and the@tailwindcss/typographyplugin via@plugin. - Content collections — Blog posts live in
src/content/posts/, authors insrc/content/authors/, and standalone pages insrc/content/pages/, each defined in frontmatter. - Client-side search — Uses Fuse.js to power a search interface with no server-side dependency.
- RSS and sitemap — An RSS feed and sitemap are generated automatically from the content collections.
- Pagination — Pagination is built in for blog post lists, category archives, tag archives, and author pages.
- SEO support — Each page can define meta title, description, Open Graph image, and canonical URL through frontmatter; JSON-LD structured data is included.
- FOUC prevention — Inline scripts are included to reduce flash of unstyled content and theme inconsistencies on load.
- MDX support — Markdown can be written as MDX, allowing components to be embedded in posts.
Who is it for?
- Individual bloggers who want a fast static blog without managing a separate CMS; they can write posts in Markdown and configure navigation via
src/config/menu.json. - Developers and technical writers publishing documentation or articles; they can use MDX to embed interactive components and control SEO metadata per page.
- Creators who need to organize content into series — the frontmatter supports a
seriesobject with name and position, and series navigation is included. - Anyone deploying to modern static hosts — the project builds to a plain
dist/directory and requires only Node.js 22.12.0+ and npm 10.8.2+ to build locally.
What can you do with it?
- Publish a multi-author blog — create author profile pages under
src/content/authors/, then reference them in post frontmatter; the theme renders author cards and author archive pages. - Organize posts by taxonomy — assign categories and tags in frontmatter to generate filtered archive pages with pagination.
- Add a contact form — set
params.contact_form_actioninsrc/config/config.jsonto point at your form endpoint; public address, email, and phone are displayed if you provide them. - Verify the site before shipping — run
npm run verifyto execute Astro type checking, unit tests, and a production build; draft and future-dated posts are excluded from routes, search, RSS, series navigation, and homepage widgets.
How does it work?
- Clone the repository, run
npm install, then start the development server withnpm run devathttp://localhost:4321. - Configure the site by editing
src/config/site.tsfor title, description, author, brand name, logo, Open Graph image, and posts per page; adjust menus and social links inmenu.jsonandsocial.json. - Add posts as
.mdor.mdxfiles insrc/content/posts/with frontmatter fields for title, description, date, image, authors, categories, tags, and optional series, slug, canonical, and draft. - Build for production with
npm run build; the output lands in thedist/directory.
FAQ
Is the Bitdoze Astro Blog Theme free?
Yes, it is open source and released under the MIT License, so you can use it in personal or commercial projects without paying a license fee. The repository is hosted on GitHub under the Bitdoze account.
What Node.js version does it require?
The prerequisites are Node.js 22.12.0 or newer and npm 10.8.2 or newer. The project also includes a verify script that runs type checking, unit tests, and a production build.
Can I use MDX in my blog posts?
Yes. The content collection for posts accepts both .md and .mdx files, so you can import and use components directly inside your posts while keeping the standard frontmatter structure.
Does the theme generate an RSS feed and sitemap?
Yes, both are generated automatically. An RSS feed is created from the content collections, and a sitemap is produced at build time for search engine discovery.
How do I set the site URL?
In production, set the SITE_URL environment variable. The default fallback is https://www.bitdoze.com for local builds.








