A soft, content-first personal blog for technical notes, everyday thoughts, personal interests, and long-running records.
Visit Site · English · 简体中文 · 日本語 · 繁體中文
Namrood Blog is a customized static site for Namrood's own writing and archive. It collects technical notes, learning records, life updates, anime lists, diaries, albums, devices, projects, skills, and timeline pages in one place.
The site is generated with Astro and can be deployed to static hosting platforms such as Vercel, GitHub Pages, Netlify, or Cloudflare Pages. Its design is soft and content-first, with the goal of making writing, reading, and revisiting memories feel calm and simple.
- Personal writing archive for essays, study notes, diaries, albums, and long-term records
- Static-first Astro site with RSS, sitemap, local search, and basic SEO support
- Soft visual style focused on calm reading and memory keeping
- Structured data pages for anime, devices, projects, skills, and personal timelines
- Multilingual README documentation for English, Simplified Chinese, Japanese, and Traditional Chinese
- Technical articles and study notes
- Personal diary and life records
- Anime tracking pages
- Albums and image-based content
- Devices, projects, and skills pages
- Archive, categories, tags, and local search
- RSS, sitemap, and basic SEO support
- Astro for static generation and routing
- Svelte for interactive components
- Tailwind CSS for styling
- TypeScript for type checking and maintenance
- Pagefind for static site search
- Expressive Code for enhanced code blocks
- KaTeX for math rendering
- Swup for page transitions
src/content/posts/ Blog posts
src/content/spec/ Special pages such as about and friends
src/pages/ Astro page routes
src/components/ Layout, feature, and widget components
src/data/ Structured data for anime, diary, projects, skills, etc.
public/ Static assets, images, fonts, and scripts
scripts/ Content sync, post creation, and build helper scripts
docs/ Project maintenance documentation
tests/ Test files and validation helpers
Requirements:
- Node.js 22 or newer
- pnpm 11
Install dependencies and start the local development server:
pnpm install
pnpm devThe development server runs at http://localhost:4321 by default.
Common commands:
| Command | Description |
|---|---|
pnpm dev |
Start the local development server |
pnpm build |
Build the production site into dist/ |
pnpm preview |
Preview the production build locally |
pnpm check |
Run Astro diagnostics |
pnpm type-check |
Run TypeScript type checking |
pnpm new-post <filename> |
Create a new blog post |
pnpm format |
Format the src/ directory |
pnpm lint |
Check and fix source code issues |
Posts live in src/content/posts/. Special pages live in src/content/spec/.
Create a new post:
pnpm new-post my-new-postExample post frontmatter:
---
title: My First Post
published: 2026-01-01
description: A short summary for this post
image: ./cover.webp
tags: [blog, notes]
category: Essay
draft: false
pinned: false
comment: true
---Production build:
pnpm buildThe generated site is written to dist/. The build script updates anime data, runs Astro's production build, generates the Pagefind search index, and compresses fonts.
This repository includes Vercel configuration and a GitHub Pages workflow, so deployment can be adapted to the target hosting platform.
The predev and prebuild scripts try to run content sync before starting or building. If an external content repository is not used, explicitly disable content sync locally or in CI:
ENABLE_CONTENT_SYNC=falseThis project is customized from the Mizuki theme. Thanks to the original project for its design foundation, component system, and blog features. This repository now serves as Namrood's personal blog project.
This repository keeps the upstream license files. See LICENSE and LICENSE.MIT for details.
