Personal site and technical blog. Built with Astro and the
AstroPaper theme (v7.1.0, MIT, see
LICENSE-astro-paper), and deployed to GitHub Pages by .github/workflows/deploy.yml.
Needs Node 22.23 or newer and pnpm.
pnpm install
pnpm dev # http://localhost:4321
pnpm build # type-check, build to dist/ and index for searchSearch only works after a pnpm build, which generates the index.
| What | Where |
|---|---|
| Site title, description, socials, feature flags | astro-paper.config.ts |
| Home page intro | src/pages/index.astro |
| About page | src/content/pages/about.md |
| Posts | src/content/posts/ |
| Static files served as-is (CNAME, the spa decoder, legacy redirects) | public/ |
Add a Markdown file to src/content/posts/. The file name becomes the URL:
my-post.md is served at /posts/my-post/.
---
title: "Post title"
description: "One-line summary shown in post lists and search results."
pubDatetime: 2026-11-09T12:00:00Z
tags:
- one
- two
---Add featured: true to pin a post to the top of the home page, or draft: true to keep it
out of the build.