Quiet is a minimal personal blog built with Astro and Markdown.
It focuses on fast static delivery, simple content authoring, and a clean reading experience with archive navigation, tag discovery, dark mode, Mermaid diagrams, KaTeX math, image preview, and client-side search.
- Markdown-based blog posts stored in
src/content/blog - Shared post metadata parser for title, summary, tags, category, publish/update dates, and reading time
- Astro static site generation
- React-powered post search on the homepage and
/search - Archive and tag index pages for content navigation
- Mermaid rendering in article detail pages
- KaTeX math support
- Dark and light theme switching
- Click-to-preview images in article pages
- Floating back-to-top button on article detail pages
- RSS, sitemap, robots.txt, JSON-LD, and Open Graph metadata
- Astro
- React
- TypeScript
- Shiki
- Mermaid
- KaTeX
src/
client/ Client-side modules for Mermaid and site UI
components/ React components
content/blog/ Markdown articles
layouts/ Shared Astro layouts
pages/ Astro routes
styles/ Global styles
Requirements:
- Node.js 18+
- npm
Install dependencies:
npm installStart the development server:
npm run devBuild the site:
npm run buildPreview the production build:
npm run previewRun Astro checks:
npm run typecheck- Add new posts under
src/content/blog - The homepage, archive, search, RSS, and sitemap all use the shared parsed post metadata
- Article detail pages are generated from the Markdown files
This project is licensed under the MIT License. See LICENSE for details.