Astro static output, articles driven by content collections and Markdown
astro-quiet-paper — Astro Business Template
By lifanh
An Astro-based prose-first personal site template with Markdown writing, RSS and sitemap, plus a React demo page not linked in navigation.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Homepage automatically lists the latest three non-draft articles, with /writing list and detail routes
Built-in RSS, robots.txt and sitemap for subscription and crawler discovery
React islands via @astrojs/react; the /demo route showcases design system components but is not in navigation
Mermaid code blocks are converted to inline SVG at build time, and cache files must be committed to the repository
Styles based on Tailwind and @lifanh/quiet-paper tokens and components
Template Details
This is a text-focused static site template suitable for personal writing or lightweight corporate introduction pages. Pages are generated as static HTML by Astro, articles are managed with Astro content collections and Markdown, and the homepage automatically displays the latest three non-draft articles. The site includes a /writing list page and article detail pages, and outputs RSS, robots.txt and sitemap to help search engines and subscription tools discover content.
The template includes a React island demo route /demo to showcase @lifanh/quiet-paper design system components, but this route is deliberately not linked from site navigation. Styles are integrated through Tailwind CSS and tokens provided by the design system; components (such as Panel, Button, Prose) are imported from an external npm package, and the base components themselves are not maintained in this repository.
Mermaid code blocks in Markdown are rendered as inline SVG at build time, and the generated results are cached in src/generated/mermaid/ and must be committed to the repository so that builds can complete in browserless environments such as Cloudflare Workers Builds. If a new diagram is added without a corresponding cache file, the build will fail with a prompt rather than silently omitting the diagram.
Before use, replace the site name and public URL in src/site.ts and astro.config.mjs, otherwise RSS, sitemap and canonical links will still point to the template defaults. The repository uses the MIT license, but third-party assets such as demo images, fonts and icons need separate license verification.
Is it right for your project?
Use Cases
- Personal blog or writing site requiring Markdown writing and RSS subscription
- Lightweight corporate or product introduction page with text-focused content and simple page structure
- Projects needing to embed a small amount of React interactive components in a static site
- Documentation or note-taking sites needing mermaid diagrams in the body text
Suitable For
- Individual developers or small teams familiar with Astro and Markdown
- Projects wanting to publish content via static hosting without server-side rendering
- Sites accepting the design system as an external npm dependency
- Sites needing basic content discovery capabilities such as RSS and sitemap
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run npm install and npm run dev; the local development server defaults to port 4321
- 2
Before deployment, modify the site name and public URL in src/site.ts and astro.config.mjs
- 3
After adding or modifying mermaid diagrams, build locally and commit the SVG cache under src/generated/mermaid/, otherwise the CI build will fail
- 4
If a browser is missing when rendering new diagrams locally, run npx puppeteer browsers install chrome-headless-shell and rebuild
- 5
After changing the mermaid renderer or theme, run npm run build to refresh the cache, and use npx astro build --force to avoid reusing old content cache
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The template includes a /demo demo route, but this route is deliberately not linked from site navigation and is only for development demonstration.
- Base components (Button, Field, ErrorState, etc.) are not maintained in this repository but come from an external design system repository and the npm package @lifanh/quiet-paper; using this template requires this external package.
- When using mermaid diagrams, the SVG cache files under src/generated/mermaid/ must be committed to the repository, otherwise CI/Workers Builds will fail.
- If a new mermaid code block is added without a corresponding committed SVG cache, the build will fail directly with a prompt and will not silently omit the diagram.
- If a browser is missing when rendering new mermaid diagrams locally, chrome-headless-shell must be installed additionally to complete the build.
- Before deployment, the template identifiers and public URL in src/site.ts and astro.config.mjs must be replaced, otherwise RSS, sitemap and canonical links will still point to the template defaults.
- Licensed under MIT, free to use and modify, but copyright and license notices must be retained, and it is recommended to replace “Lifan” in the site identifiers with your own name.
- Demo images, fonts, icons and other third-party assets need to be checked under their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
The developer demo route stays at `/demo`, but it is intentionally not linked from the site chrome.
Original README
Primitives (`Button`, `Field`, `ErrorState`, …) live in the **design system repo**, not here.
Original README
commit those files so Cloudflare Workers Builds can render the site without launching Chromium on every deploy
Original README
If Cloudflare Workers Builds sees a new Mermaid block without a cached SVG, the build fails with instructions instead of silently omitting the diagram.
Original README
run `npx puppeteer browsers install chrome-headless-shell`, then run `npm run build` again
Original README
Before deploying, replace the template identity and URL in `src/site.ts` and `astro.config.mjs`.
Original README
https://github.com/lifanh/astro-quiet-paper/blob/main/LICENSEhttps://github.com/lifanh/astro-quiet-paper/blob/main/README.mdMIT — fork and replace “Lifan” with your name in `src/site.ts`.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 85 / 100
- Technologies
- Astro · React
- Website type
- Corporate Website
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-10-01
- Screenshot last checked
- 2026-10-03
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: e091cbac9e2eaa98f7558cceb7f31ef7bae3ec272621ef538a2ee5d8eaca6829
2026-10-03T05:58:05.225Z
Source file / repository# astro-quiet-paper [](https://deploy.workers.cloudflare.com/?url=https://github.com/lifanh/astro-quiet-paper) **Live preview:** <https://astro-quiet-paper.lifanh.workers.dev/> Astro **template** for a prose-first personal site: static pages, Markdown writing, and a hidden React island demo styled with [`@lifanh/quiet-paper`](https://www.npmjs.com/package/@lifanh/quiet-paper). **Quiet paper:** warm off-white, ink-like type, hairline borders, one restrained accent — no dashboard chrome.  ## Stack | Layer | Choice | |--------|--------| | Static | Astro 7 | | Writing | Astro content collections + Markdown | | Islands | React 19 + `@astrojs/react` | | Styles | Tailwind CSS v4 + design system tokens | | Discovery | RSS, sitemap, robots | ## Quick start ```bash git clone [email protected]:lifanh/astro-quiet-paper.git my-site cd my-site npm install npm run dev ``` Open `http://localhost:4321`. Before deploying, replace the template identity and URL in `src/site.ts` and `astro.config.mjs`. ## Writing Posts live in `src/content/posts/*.md`: ```md --- title: "Designing with less" description: "Short summary for lists and SEO." date: 2026-07-05 tags: ["design", "systems"] draft: false --- ``` Routes included: - `/writing` — all non-draft posts - `/writing/[...slug]` — individual posts - `/rss.xml` — feed for non-draft posts - `/robots.txt` and `/sitemap-index.xml` — crawler discovery The homepage automatically shows the latest three non-draft posts. Fenced `mermaid` code blocks are rendered to inline SVG at build time. The original Mermaid source remains available under each diagram’s “Mermaid source” disclosure. Generated SVGs are cached in `src/generated/mermaid/`; commit those files so Cloudflare Workers Builds can render the site without launching Chromium on every deploy. Locally, `npm run build` generates or repairs missing/invalid cache files before Astro starts. In CI/Workers Builds, it checks that every Mermaid fence under `src/` has a committed, complete SVG before Astro starts. ## Design system setup Tokens and utilities come from the package (Tailwind v4 Pattern A). Already wired in `src/styles/global.css`: ```css @import "tailwindcss"; @plugin "@tailwindcss/typography"; @import "@lifanh/quiet-paper/styles/tailwind-sources.css"; @import "@lifanh/quiet-paper/styles/tokens.css" layer(theme); @import "@lifanh/quiet-paper/styles/tailwind-theme.css"; ``` Components in React islands and rendered Markdown pages: ```tsx import { Panel, Button, Prose } from "@lifanh/quiet-paper"; ``` The developer demo route stays at `/demo`, but it is intentionally not linked from the site chrome. ## Customize | File | What to change | |------|----------------| | `src/site.ts` | Site name, public URL, nav, default meta | | `astro.config.mjs` | Astro `site` URL for sitemap/canonical output | | `src/pages/index.astro` | Homepage copy (Work / Writing / Contact) | | `src/content/pages/about.md` | About page copy | | `src/content/posts/*.md` | Writing entries | | `src/generated/mermaid/*.svg` | Build-time rendered Mermaid diagrams | | `src/demo/*` | Demo composites — copy patterns, don’t fork primitives | Primitives (`Button`, `Field`, `ErrorState`, …) live in the **design system repo**, not here. ## Project layout ```text src/ ├── components/ # site chrome (header, footer) ├── demo/ # React islands for /demo only ├── content/pages/about.md # Markdown-backed About page ├── content/posts/ # Markdown writing ├── content.config.ts # page/post frontmatter schemas ├── layouts/BaseLayout.astro # shell + global meta + CSS ├── lib/posts.ts # writing helpers ├── lib/markdown/mermaid.js # build-time Mermaid renderer/cache check ├── pages/ # routes, RSS, robots ├── generated/mermaid/ # committed SVG cache for Mermaid fences ├── site.ts # nav + metadata └── styles/global.css # Tailwind + DS imports ``` ## Commands | Command | Action | |---------|--------| | `npm run dev` | Dev server `:4321` | | `npm run lint` | Oxlint source checks | | `npm run check` | Astro + TypeScript diagnostics | | `npm run build` | Static `dist/` | | `npm run mermaid:prune` | Remove stale generated Mermaid SVGs | | `npm run preview` | Preview production build | ## Deploy ### Deploy to Cloudflare Workers (one click) Use the **Deploy to Cloudflare** button above (or open the [deploy flow](https://deploy.workers.cloudflare.com/?url=https://github.com/lifanh/astro-quiet-paper)). Cloudflare will fork the repo into your GitHub account, connect **Workers Builds**, and deploy static assets from `dist/` using [`wrangler.jsonc`](wrangler.jsonc). Suggested build settings (usually auto-detected): | Setting | Value | |---------|--------| | Build command | `npm run build` | | Deploy command | `npx wrangler deploy` | If your site includes Mermaid diagrams, commit `src/generated/mermaid/*.svg` after a local build. If Cloudflare Workers Builds sees a new Mermaid block without a cached SVG, the build fails with instructions instead of silently omitting the diagram. CI/Workers Builds skip Puppeteer’s browser download because they only validate committed SVGs. If a local build needs to render a new diagram and Puppeteer reports a missing browser, run `npx puppeteer browsers install chrome-headless-shell`, then run `npm run build` again. If you change the Mermaid renderer or theme, run `npm run build` to refresh SVG cache files, then run `npx astro build --force` once so Astro does not reuse old rendered Markdown from its content cache. After editing or removing diagrams, run `npm run mermaid:prune` to drop orphaned SVG cache files. After the first deploy, set your public URL in `src/site.ts` and `astro.config.mjs` so RSS, sitemap, and canonical links are correct. Local equivalent: ```bash npm run deploy ``` ### Other static hosts Cloudflare Pages, Vercel, Netlify: build command `npm run build`, output directory `dist/`. Set the same production URL in `src/site.ts` and `astro.config.mjs` before publishing. ## Related repos - **Design system:** [quiet-paper](https://github.com/lifanh/quiet-paper) → npm `@lifanh/quiet-paper` - **Learning notes (optional):** your own `my-minimalism` or design journal — not required to run this template ## License MIT — fork and replace “Lifan” with your name in `src/site.ts`.
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrowind
AstroWind is a free, open-source Astro starter theme using Astro and Tailwind CSS, released under the MIT license.
Astro · Blog

astro-landing-page
An Astro + Tailwind CSS landing page example template with theme variables, dark mode, responsive layout, and Open Graph tags, under the MIT license, suitable as a starting point for single-page product, event, or corporate homepage sites.
Astro · Corporate Website

Tailcast
Tailcast is a dark-themed corporate website template built with Astro and Tailwind CSS for a fictional startup.
Astro · Corporate Website

Positivus
Positivus is an Astro and Tailwind CSS landing page theme for digital marketing agencies, maintained by manulthanura with a demo on Vercel.
Astro · Corporate Website

qwind
Qwind is a free and open-source website template built on Qwik and Tailwind CSS, featuring directory-based routing via QwikCity, a Markdown blog, dark mode, and static deployment configuration.
Astro · Tool Site

agency-landing-page-Astrojs
A single-page digital agency landing page template built with Astro and Tailwind CSS, featuring light and dark themes and a modular component directory. Suitable for static showcase pages, with MIT-licensed code and third-party assets requiring separate license verification.
Astro · Corporate Website
