跳到主要内容

文档发布:怎样选择静态发布工具与方案

选发布工具时,我会先看已有文件能否直接使用,再看谁来维护构建、主题和扩展。主题好看很重要,但不能替代这两个判断。

这一页对比几种常见生成器,再用本站说明定制带来的收益与维护工作。它是选型记录,不要求你跟着搭出同样的网站。

生成器和托管服务分别做什么​

静态站点生成器读取内容、导航配置和主题,在构建时产出 HTML、CSS、JavaScript 等文件。托管服务提供访问地址,并把文件交给浏览器。

  1. 维护源文件正文、图片与内容结构Markdown / AsciiDoc 等
  2. 生成网站解析内容,组织目录,套用主题Docusaurus / Antora 等
  3. 发布给读者托管生成的文件,提供访问地址Netlify / GitHub Pages 等
内容格式、生成器和托管平台,分别解决不同的问题。工具组合需要与源文件匹配。

“静态”不表示网页不能交互。本站的语法练习由浏览器中的 JavaScript 提供;它也不意味着所有生成器都会增量构建,具体要看工具与配置。

从已有内容和维护能力缩小选择​

下面是按常见需求整理的判断,不是性能排名。具体功能需要结合采用的版本、主题和插件确认。

工具可以优先考虑的情况需要承担的工作
DocusaurusMarkdown / MDX 内容,希望共用博客、文档和 React 组件维护 Node.js 项目;定制主题和组件后,要跟随升级检查
VitePressMarkdown 文档为主,团队熟悉 Vue自行组织博客等额外栏目;维护嵌入的 Vue 组件
MkDocsMarkdown 文档,团队熟悉 Python,希望使用现成主题和插件核对主题、插件兼容性;按需求维护定制
Antora已有 AsciiDoc,需要组织多个仓库和产品版本按组件、版本与模块组织内容;维护 UI 和发布配置

已有大量 AsciiDoc 时,先评估支持它的工具链,再决定是否值得迁移。需要编辑 DITA 时,则应一起评估编辑器、内容管理和 DITA-OT 等发布工具,不能只比较网站主题。

Docusaurus 的版本功能会把当前文档与侧边栏复制到版本目录中;它不会自动创建 Git 分支。保留多个版本,也意味着勘误可能需要同步到多份文件。

本站为什么用 Docusaurus​

FlowingDocs 同时维护博客、文档和中英文内容,也需要嵌入交互示例。这些需求与 Docusaurus 的组织方式比较契合。早期过程见博客搭建记录。

  • 博客和文档可以各自组织:博客按时间与话题展开,文档按问题归类。本站定制过博客插件,这部分需要自己跟随框架升级。
  • 框架提供语言路由:翻译、代码示例和标签 URL 是否对应,仍需要逐项检查。构建成功不等于所有跨语言链接都有效。
  • 正文可以嵌入 React 组件:交互练习容易放进页面,但状态、键盘操作、窄屏和错误恢复都要自行实现与验证。

这些是本站采用它的理由,不代表其他文档站也需要同一套工具。

扩展写法会影响迁移​

提示框依赖渲染工具​

Docusaurus 的写法:

:::note[版本说明]
本例适用于 2.x。
:::

本站显示为:

版本说明

本例适用于 2.x。

迁移到仅支持 CommonMark 的平台时,需要转换这种扩展;它不会自动变成同样的提示框。普通引用写法通常更容易迁移,但表现不同。

交互组件依赖运行环境​

import MarkupWorkshop from '@site/src/components/MarkupWorkshop';

<MarkupWorkshop />

这段代码需要相应的组件、依赖和 React/MDX 环境。只复制文件中的文字,无法带走整个练习工作台。

我的取舍是把关键解释保留为普通正文,在对照写法或观察变化明显有帮助的地方使用交互组件。

观察修改、生成与发布的区别​

下面是原理演示。编辑预览、生成的版本和读者版本分别保存,便于看出修改什么时候生效;它不会构建或上传真实站点。

原理演示 · 改一改,再生成

试一试:修改、生成与发布

在下方修改文档标题或调整侧边栏顺序,点击“模拟生成网站”,右侧会呈现生成的页面。更多主题与视图设置在下方展开。

本页只演示状态变化,不会真正构建或部署站点。

## 环境预检

初始化数据库前,核实数据目录权限与 3306 端口占用。

## 操作流程

1. 执行 mysqld --initialize 生成基础系统表。
2. 使用 systemctl start mysqld 拉起后台服务。

静态生成器
待命
  • 1. 解析 Markdown 语法树
  • 2. 解析侧边栏与路由
  • 3. 打包主题与 MDX
  • 4. 静态预渲染 HTML
example.com/docs/start/
FlowingDocs
  • 实例初始化
  • 存储引擎对照
  • 故障排查与维护

MySQL 服务运维指南

环境预检

初始化数据库前,核实数据目录权限与 3306 端口占用。

操作流程

  1. 执行 mysqld --initialize 生成基础系统表。
  2. 使用 systemctl start mysqld 拉起后台服务。
更多:主题与视图
主题
文档主题品牌色:
视图
  1. 1源码与配置
  2. 2静态编译
  3. 3产物生成
  4. 4读者访问

试着修改文档标题、调整目录顺序或定制主题,随后模拟生成网站。

原理演示:本页的构建与发布均为模拟,不会调用 Docusaurus 或上传文件。

需要实际验证时,可下载最小 Markdown 站点模板,按 README 安装依赖并构建。它使用 Docusaurus 3.9.2,包含中英文说明和练习资源,不包含本站全部交互组件。

发布前至少检查主要入口、图片、下载包和语言切换,再检查实际托管地址。第一次发布可以先让少量读者试用,根据他们遇到的问题调整。

接下来:返回标记语言练习,或使用作者自查清单。