A minimalist, high-performance technical blog and personal portfolio. Built with Astro v6, emphasizing extreme maintainability, zero-runtime CSS, and a completely native Astro Collections architecture.
-
⚡️ Pure Astro v6 Architecture
- Native Content Collections: Fully leverages Astro's
reference()for defining robust, type-safe relationships between authors, parent posts, and subposts. - Build-Time AST Parsing: Custom remark plugins (
unist-util-visit) safely extract internal links and reading times at build time, eliminating fragile regex and reducing runtime overhead. - Zero-runtime CSS via Tailwind v4.
- Native Content Collections: Fully leverages Astro's
-
🕸 Interactive Knowledge Graph
- A fully custom visualization engine built with D3-force and HTML5 Canvas.
- Visualizes the interconnected relationships between tags, posts, and subposts.
-
📖 Rich Content Experience
- Hierarchy & Subposts: Supports complex, multi-page articles (parent/child relationships) seamlessly integrated with auto-generated TOCs and navigation.
- Math: Full LaTeX support via KaTeX.
- Code: Beautiful syntax highlighting with Expressive Code.
- Search: Fully static, lightning-fast search powered by Pagefind.
- Dynamic OGP: Satori-based automated Open Graph image generation.
-
🛠 Robust Engineering
- Strict Typing: Zero
anypolicy across the codebase enforced by strict ESLint rules. - Dependency Minimalism: Removed all unnecessary third-party packages in favor of vanilla JS and standard Astro features.
- Strict Typing: Zero
- Framework: Astro
- Styling: Tailwind CSS v4
- Visualization: D3.js
- Search: Pagefind
- Content Parsing: MDX, Remark, Rehype
- Testing: Vitest
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build for production
pnpm buildMIT