A minimalist personal site — writing, projects, and small experiments. Built with Astro + one React island, hand-written CSS, and a single accent colour.
Create a Markdown (or MDX) file in src/content/writing/:
--- title: My new post date: 2026年06月01日 description: A one-line hook. (optional) draft: false --- Your words here.
Save it. It appears on /writing and the home page. That's the whole workflow.
Same idea, in src/content/projects/:
--- title: My thing date: 2026年06月01日 summary: One line describing it. status: live # live | building | archived url: https://example.com # optional --- What it is and why it exists.
| Command | Action |
|---|---|
npm run dev |
Start the dev server |
npm run build |
Build the static site to ./dist/ |
npm run preview |
Preview the production build locally |
src/
content/
writing/ ← Markdown posts
projects/ ← Markdown project pages
content.config.ts ← collection schemas
layouts/Base.astro
components/ThemeToggle.tsx ← the one React island
pages/ ← routes
styles/global.css ← all the design lives here
Design notes: warm-paper light mode + warm-ink dark mode, a single clay accent
(--accent), a serif body for reading, and as few elements as possible.