Astro-based personal technical blog for KAI K8s之路 / KAI's K8s Journey.
The site is built as a static export and deploys to GitHub Pages from this repository. The content model now supports:
- a bilingual core series (Chinese + English)
- short operational notes
- incident-style posts and production lessons
- Astro static site
- Astro content collections for posts
- RSS feed via
@astrojs/rss - Sitemap via
@astrojs/sitemap
npm install
npm run devThe dev server runs on http://localhost:4321 by default.
npm run buildThe generated site is written to dist/.
src/pages/: route files for the homepage, blog, tags, and about pagesrc/layouts/: shared document layoutsrc/components/: reusable UI componentssrc/content/blog/zh/: Chinese postssrc/content/blog/en/: English postssrc/content/config.ts: content collection schemasrc/styles/global.css: site-wide styling.github/workflows/deploy.yml: GitHub Pages deployment workflow
- Create a new Markdown file under
src/content/blog/zh/orsrc/content/blog/en/. - Add frontmatter using this shape:
---
title: Example title
description: One-sentence summary for cards, SEO, and RSS.
pubDate: 2026-04-28
updatedDate: 2026-04-28
lang: zh
kind: series
series: KAI K8s之路 / KAI's K8s Journey
seriesOrder: 1
translationKey: kai-k8s-road-01
tags:
- kubernetes
- observability
draft: false
---- Write the post body in Markdown. Code fences are syntax highlighted automatically.
- For bilingual series posts, create matching
zhandenentries with the sametranslationKey. - Use
kind: noteorkind: incidentfor side posts that are not part of the main series. - Run
npm run buildbefore pushing.
The GitHub Actions workflow builds the Astro site and uploads dist/ to Pages on pushes to main.