Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A minimal Astro blog theme with MDX, Tailwind, live code playgrounds, and Pagefind search.
Astro Theme: Minimal Blog is an open-source Astro starter theme by LekoArts that ships everything you need to run a static blog, including MDX authoring, live code playgrounds, and search.
Astro Theme: Minimal Blog is a GitHub-hosted theme for the Astro framework. It takes blog posts written in MDX with YAML frontmatter and renders a fully static website with RSS, sitemap, tagging, and search. The theme is designed by LekoArts, and the repository includes a demo site and a CLI for scaffolding posts.
Developers who are comfortable with pnpm and Astro can clone the repository, install dependencies, run pnpm dev, and customize the theme through constants.ts. Content writers who prefer writing in Markdown or MDX can use the pnpm assistant CLI to scaffold posts with the required frontmatter. Anyone deploying a static blog gets RSS, sitemap, and Pagefind search without setting up a backend.
After cloning the repository, you install dependencies with pnpm install and start the local dev server with pnpm dev. The constants.ts file holds the site title and navigation, while the assistant.ts script powers a CLI that walks you through creating a new post. Tag definitions live in the FRONTMATTER_TAGS map inside constants.ts.
Run pnpm assistant in the project root. The CLI asks you questions to fill out the frontmatter and then creates a new post file for you. If you need to extend the behavior, the script at scripts/assistant.ts is editable.
Look at src/constants.ts. This file sets the site title and main navigation, and it also holds the FRONTMATTER_TAGS map for tags. Modify those values to match your site before deploying.
In constants.ts, add an array pair to the FRONTMATTER_TAGS map with the display name and a slug, for example ['Display name', 'slug-of-your-tag']. The display name appears in the UI and the slug is used in URLs.
Yes, Pagefind is integrated for static search. It works without any server, and the theme includes a search UI that scans your built pages.
The default content collection includes title, slug, description, date, lastUpdated, tags, searchIndex, and image. To adjust these, edit content.config.ts in the project.
