Zen Architecture 6.0: 生产级博客构建系统架构白皮书

本文件记录了博客系统在经过 Zen 6.0 (Production Resource Pipeline) 阶段重构后的终极形态。该架构实现了从语义对齐、性能爆发到交互精修的全链路工业级闭环。

一、 目录结构分析 (Directory Hierarchy)

项目采用了模块化原子任务(Task-Based Atomic)设计,源码与产出物理隔离,逻辑与执行高度解耦。

.
├── content/                # 【真理之源】Markdown 博文源文件
├── layouts/                # 【表现层】EJS 全量视觉模板
│   ├── common/             # 公共基类:Header, Footer, Head, Styles
│   └── content/            # 内容特化:Body, Action, Header
├── public/                 # 【原始资产】不参与编译但参与管线的预设资源
│   ├── assets/             # 全局 JS/CSS (Prism 等)
│   ├── pages/              # 静态 HTML 页面 (Zen 6.0 深度纳管)
│   └── pwa/                # PWA 协议资产 (Manifest, Icons, Worker)
├── build/                  # 【产出层】极致压缩、哈希对齐后的全量静态输出
└── scripts/                # 【逻辑引擎】
    ├── tasks/              # 原子化任务:Init, RSS, Sitemap, Search
    ├── utils/              # 核心引擎:MD解析、资源哈希、HTML压缩、路径中心
    ├── build.js            # [指挥总线] 协调 BATCH 并发与管线流转
    ├── content.js          # [内容引擎] 博文处理逻辑封装
    └── config.js           # [配置中心] 单一事实来源 (SSoT)

二、 技术栈架构 (Technology Stack)

系统严守“低熵”原则,去除了所有非必要的重型框架,确立了极致的性能表现与可维护性。

维度技术选型核心优势
构建引擎Node.js (ESM)原生异步 I/O,支持并行批次处理(Batch Size)。
模板逻辑EJS (Embedded JS)极轻量,提供完美的 JavaScript 逻辑注入能力。
资产处理Cheerio轻量化 DOM 优化,负责资源哈希拦截与语义包装。
压缩引擎Zen Minifier自研零依赖正则压缩,实现静态资产极致减脂。
检索系统Tokenized Search自研分词加权检索,实现工业级的检索精度。
离线生态PWA v5基于哈希感应的分层缓存策略,实现弱网秒开。

三、 数据流运行机制 (Data Pipeline)

内容的生成是一个从“文本描述”到“哈希化、压缩化生产产出”的闭环过程:

graph TD
    A[Markdown 文件 @content/] -->|1. 解析| B(Front-matter & Metadata)
    B -->|2. 转换| C[Showdown HTML 渲染]

    C -->|3. 语义增强| D[Cheerio Processor: 图注/WebP]
    D -->|4. 资源拦截| E{Resource Hashing}

    E -->|5. 引用对齐| F{ejs.renderFile}
    G[静态页面 @public/pages/] -->|6. 接管| E

    F -->|7. 极致脱脂| H[Zen Minifier]
    H -->|8. 原子同步| I[build/ 生产目录输出]

    I -->|9. 索引构建| J[Search-Data / RSS / Sitemap]

四、 核心规范约定 (Design Specs)

  1. 分词检索契约 (Search Tokenization):检索系统采用 AND 逻辑与权重评分。标题命中分数权重为描述命中的 5 倍。
  2. 哈希感应策略 (Hash Sensing):任何带有 8 位指纹的路径被视为永久缓存资源。Service Worker 必须在拦截层对此类资源执行极速 Cache-First 策略。
  3. 原子化准备 (Atomic Sync):构建初始化阶段严禁使用盲目的 rm -rf,必须通过识别哈希指纹与年份目录进行精准清理,以保护宿主环境(如 .git 目录)。
  4. 排版呼吸感规范:博文正文必须强制激活衬线字体栈(Serif Stack),并维持 1.64 黄金阅读行高,以确保阅读的沉浸。
  5. 零污染部署:产出的所有 HTML 必须经过 Zen Minifier 压缩,确保源代码中无任何冗余空格与开发注释。
使用 Discussions 讨论 Github 上编辑 分享到 Twitter
滑动浏览 · 点击跳转