Overview
- What
- 用一份源码生成博客、技术档案、项目数据库和简历,并部署为静态 GitHub Pages 站点。
- Why
- 保留 Markdown 的可维护性,同时把复杂页面的数据关系和生成逻辑集中在构建期。
- Boundary
- 没有运行时 CMS、应用服务器或数据库;Pages 只托管生成的 HTML、CSS 和 JavaScript。
Architecture
Articles · project records · static assets
Generator: Posts · pages · taxonomy · feeds / Build extensions: Start Here · Notes · Projects · random posts
Presentation: Layout · theme configuration · scoped CSS / Generated output: No application server or client framework
Source on main · generated artifact deployed by workflow
Run the publishing system
Development is container-first. The host opens the repository, while Node, pnpm and Hexo run as the non-root node user inside the Dev Container.
pnpm devRebuild sequence
- Open the source workspace
Dev Containers: Reopen in ContainerThe normal workspace user is node; the host does not need Node or Hexo. - Preview content and drafts
pnpm devHexo serves the site on port 4000 and uses port 4001 for reload events. - Validate the source
pnpm checkRuns Prettier check, ESLint and a clean production build. - Publish through the source branch
git push origin mainGitHub Actions builds and deploys the public artifact; generated public files are not committed.
Verification
http://localhost:4000public/GitHub ActionsStructure & configuration
Content, project records, theme settings and build extensions each have one visible source location. Generated public files are never the editing surface.
Key files and surfaces
| Parameter | Source / scope | Requirement | Effect |
|---|---|---|---|
url | Source: _config.yml Scope: Build | Requirement · RequiredApply · Rebuild | Canonical site URL and generated absolute links. |
timezone | Source: _config.yml Scope: Build | Default · Asia/TokyoApply · Rebuild | Post timestamps and archive grouping. |
runtime_date | Source: _config.butterfly.yml Scope: Presentation | Default · 2025/12/14Apply · Rebuild | Website runtime shown in the information card. |
Project records | Source: source/_data/projects.yml Scope: Content | Requirement · RequiredApply · Rebuild | Generates the project index, record pages and their metadata. |
Evolution
- RebuildEditable Hexo source repository is re-established
The old generated output is replaced by a maintainable Hexo 8 and Butterfly 5.5 source base.
- DeliveryGitHub Pages deployment becomes reproducible
GitHub Actions builds the source and deploys a static Pages artifact from main.
- ArchiveTechnical Notes becomes a visual, searchable archive
Build-time data and a small client controller provide five dense browsing modes without adding an application framework.
- DatabaseProject records move to one structured data source
A Hexo generator now produces the project index and every project detail page from shared data.
- ActiveContent and publishing rules continue to evolve
New articles and project records extend the same source-driven system without redesigning their UI.
Repository Activity
Commit dates show the pace of the current source rebuild. The feed links to the real Git history instead of duplicating an editorial project timeline.
| Date | Type | Event |
|---|---|---|
| 10 AUG | Commit08ca8e9 | Build data-driven Tabler project database |
| 08 AUG | Commitdbf3a16 | Build VNDB-inspired project database pages |
| 06 AUG | Commita554814 | Build project reading map and notes archive |
| 05 AUG | Commit20bf8c2 | Add article series and random navigation |
| 05 AUG | Commit44ba603 | Improve reading comfort and site presence |
| 05 AUG | Commit0c2b531 | Refine homepage and article presentation |
| 04 AUG | Commitd4cc125 | Add GitHub Pages deployment |
| 04 AUG | Commitc494940 | Initialize Hexo source site |
Engineering Notes
| Date | Type | Title |
|---|---|---|
| 2026.08.08 | Guide | 从零启动 Kral Publishing System:Dev Container、本地预览与故障排查 |
| 2026.08.08 | Reference | 这个博客的内容架构:只维护 Markdown 和 YAML |