前言
本书是查阅型参考手册。它用表格、定义列表和模式说明帮助维护者判断书籍边界、路径归属和引用写法。
1. 结构选择表
| 场景 | 推荐样本 | 判断标准 |
|---|---|---|
学习完整 book 结构 |
|
需要看到前置、正文、分部和后置结构的位置。 |
新增普通书 |
|
需要低负担复制起点。 |
同一本书内部有第一部、第二部 |
|
仍然是一个入口和一个连续 book。 |
技术书包含图表和代码片段 |
|
需要资源边界、图表和代码 include。 |
上册下册独立发布 |
|
每册有自己的入口、前言、参考资料和构建产物。 |
2. 路径规则
- Book directory
-
books/<book-id>/,一本独立 book 的边界。 - Book entry
-
books/<book-id>/book.adoc,该书唯一入口。 - Book assets
-
books/<book-id>/assets/images/,只属于该书的图片。 - Shared images
-
shared/images/,被 catalog 或多本书引用的图片。 - Book examples
-
books/<book-id>/examples/,只属于该书的代码片段。 - Build output
-
build/,由脚本生成,不作为源文件编辑。
共享资源准入
资源只有在被 catalog 或多本书实际引用时才进入 shared/。
3. 引用模式
书内引用使用本书内 anchor:
xref:#decision-table[结构选择表]
跨书引用写向 AsciiDoc 源文件:
xref + : + ../other-book/book.adoc#stable-anchor[目标章节]
上面的写法用分段文本展示,避免默认样本之间形成真实链接依赖。实际写作时去掉空格和加号,写成一个完整的 cross reference 宏。
被跨书引用的位置应写显式 anchor。显式 anchor 是维护者可以稳定依赖的目标。
4. 工作区增长路径
当前模板只把已经服务样本书、公共文档或脚本的目录放入源目录树。
当工作区规模增长时,先记录新的现实约束,再决定是否调整结构。典型触发条件包括:多本书共同维护同一资源、构建步骤需要统一封装、或读者需要更强的导航与版本切换。
这些增长路径应先进入参考手册或设计文档,再进入根目录结构。
术语表
- book
-
具有独立
book.adoc和构建产物的书籍单位。 - part
-
同一本 book 内部的 level 0 大分部。
- catalog
-
多书工作区的读者导航入口。
- shared resource
-
被 catalog 或多本书共同引用的资源。
- explicit anchor
-
使用
[#id]写出的稳定引用目标。 - contract check
-
对工作区源文件约定进行静态检查的脚本行为。
参考资料
-
[asciidoctor-xref] Asciidoctor Docs, Document to Document Cross References, https://docs.asciidoctor.org/asciidoc/latest/macros/inter-document-xref/
-
[antora-xref] Antora Docs, Page Xrefs and Resource IDs, https://docs.antora.org/antora/latest/page/xref/