Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A lightweight Astro starter with atomic design structure, SEO optimization, and light/dark theme toggle.
Astro Blog Starter is a boilerplate template for building a Markdown-powered blog on Astro 5, created by SofiDevO, that ships with atomic-design components, SEO OpenGraph tags, and a dark/light theme toggle.
Astro Blog Starter is a starter template that takes Markdown files as content and produces a static blog website with a homepage, a blog archive page, and dynamic article pages. It runs on the Astro framework and is designed for Astro v5+, with the repository badge referencing Astro 5.5.5. The template is open source under the MIT License and can be installed by running npm create astro@latest -- --template SofiDevO/astro-blog-starter. Its source tree separates components into atoms, molecules, and organisms, and it includes a content collection configuration in src/content/config.ts.
ToggleTheme atom switches the site between light and dark modes with its own CSS, and the toggle is built into the header.ToggleTheme, HamburgerButton, FormattedDate, Blogcards, and Header.src/styles/global.css, with no Tailwind, Bootstrap, or other CSS framework included.Icons atom wraps Iconify, letting you load icons from the Iconify library without bundling icon files manually.Header organism reads navigation items from src/data/menuElements.js and renders a responsive menu with dropdown support.src/content/blog.[...slug].astro, and layout components fit together in a small, readable codebase..md files into src/content/blog with frontmatter containing title and date; the dynamic route src/pages/blog/[...slug].astro generates article pages automatically.src/data/menuElements.js to change the header menu, including dropdown items, without touching the Header component.src/styles/global.css and swap icons via the Iconify wrapper to change the look without adding a UI framework.Scaffold the template with npm create astro@latest -- --template SofiDevO/astro-blog-starter, then run npm install. Use npm run dev to start the local dev server on port 4321, or npm run build to generate a static production build. Blog content is written as Markdown files in src/content/blog with frontmatter fields like title and date.
Yes, it is open source under the MIT License. You can use it for personal and commercial projects, modify it, and redistribute it with attribution.
The template is optimized for Astro v5 or newer; the repository badge references Astro 5.5.5. It uses the current content collections API.
No, it uses vanilla CSS in src/styles/global.css, so you can decide whether to add Tailwind CSS or another framework yourself.
Create a new Markdown file in src/content/blog with frontmatter containing at least title and date. The [...slug].astro route will automatically produce the article page and include it in the blog archive.
