文章

这个博客本身:Jekyll + Chirpy 的架构与维护

本站架构的活页面:Jekyll + Chirpy gem 主题、自定义集合、主题覆盖清单、预览与发布流程。升级主题或改结构时先看这里。

这个博客本身:Jekyll + Chirpy 的架构与维护

这是一页 wiki 活页面,记录博客的“当前架构”;_tutorials/ 里的文章是各次改造的历史实录。规则类内容以 AGENTS.md 为准,本页是它的可读版导航。

架构一句话

Jekyll + Chirpy gem 主题,部署在 GitHub Pages。布局、样式、JS 大部分在主题 gem 里,本仓库放站点配置、文章内容、少量自定义 layout/plugin 和本地开发脚本。本地同路径文件优先于 gem 内文件(gem-based 主题机制)。

集合与 Tab

_config.yml 定义了 7 个自定义集合,每个都有 _tabs/ 下的同名 tab 页(basename 必须与 collection label 一致,否则列表页静默变空):

集合内容permalink
_posts(tech)技术原理、框架机制/:collection/:year/:month/:day/:title/
_aiAI 相关同上
_life生活记录与折腾实录(VPS、树莓派、家庭网络等)同上
_tutorials教程同上
_books_viewed书与看过的东西同上
_open开放页面/:collection/:title/
_wiki活页面(本集合)/:collection/:title/

对主题 gem 的本地覆盖清单

每个覆盖文件都是升级主题时的手动合并债务,增减必须同步 AGENTS.md 的覆盖表:

本地文件覆盖原因
_includes/update-list.html右侧栏“最近更新”涵盖所有集合
_layouts/home.html首页合并所有集合按日期倒序
_includes/js-selector.html追加 custom-toc.jscustom-mermaid.js
_includes/metadata-hook.html注入 custom.css、赛博皮肤、星空背景、3D 纵深、tag-sphere
assets/404.html“迷失太空”主题 404

本地预览与发布

场景命令
macOS / Linux 原生 Ruby(需 3.x)bin/jekyll-dev.sh start / restart
macOS / Linux Dockerbin/jekyll-docker.sh start
Windows Dockerbin/jekyll-docker.ps1 start

发布流程铁律:本地预览 → 用户确认 → 询问后才 commit/push → 发布后 stop 关闭预览。CI 卡点是 bundle exec jekyll build + htmlproofer

改造实录

维护约定

新增集合、新增主题覆盖文件、改变发布流程时,同步更新本页与 AGENTS.md

本文由作者按照 CC BY 4.0 进行授权