#summary #mdbook #markdown #static

app mdbook-fs-summary

mdbook的摘要生成器

4 个版本

0.2.1 2022年1月4日
0.2.0 2021年12月31日
0.1.2 2021年12月29日
0.1.1 2021年12月28日

573文本处理

Download history 33/week @ 2024-03-09 63/week @ 2024-03-16 5/week @ 2024-03-23 14/week @ 2024-03-30 32/week @ 2024-04-06 41/week @ 2024-04-13 31/week @ 2024-04-20 22/week @ 2024-04-27 26/week @ 2024-05-04 14/week @ 2024-05-11 28/week @ 2024-05-18 13/week @ 2024-05-25 41/week @ 2024-06-01 9/week @ 2024-06-08 1/week @ 2024-06-15 1/week @ 2024-06-22

每月下载量 55

MIT 许可证

19KB
298

mdbook-fs-summary

crates.io LICENSE

一个预处理程序,它从您的书籍的文件结构中生成摘要,而不是使用显式的 SUMMARY.md 文件。

优势

通常,您希望您的文件组织在 SUMMARY.md 文件中简单地反映出来,而不是手动设置它。我们可以通过遵循一些约定来自动化这一过程

约定 示例 结果
章节索引 00.md 表示父文件夹的页面
按文件名排序 04_cli.md06_docs/ 使用前导数字来排序页面(尽管不是强制要求在文件名中使用这样的数字)
部分 _shared.md 部分以下划线开头,将在摘要中忽略
页面标题 #页面标题 页面名称(在导航中显示)来自页面上的第一个 H1 标题。如果没有标题,则抛出错误。
前缀章节 00_prologue.md 前缀章节以 00 开头(不包括 00.md
后缀章节 ZZ_final_words.md 后缀章节以 ZZ 开头
草稿章节 04_advanced_configuration().md05_administration()/ 草稿页面和文件夹以 () 结尾
分隔符 02__02___________ 分隔符是以两个下划线 __ 结尾的文件
部分标题 05_reference_#.md # 结尾的文件名表示部分标题,标题来自第一个 H1 标题

这些约定应该创建一个文件系统结构,当按字母数字排序时,在最终渲染中是相同的。

00_prologue.md                    → prefix chapter
01_intro.md
02_install/
├─ 00.md                          → chapter index 
├─ 01_linux.md
├─ 02_mac.md                      ↓ files sorted naturally
├─ 03_windows.md
├─ 04_______                      → separator
├─ 05_post_install.md
├─ _common_install_tips.md        → ignored "partial"
03_caveat.md
04_##_guide_##.md                 → part title 
05_usage.md/
├─ 00.md
├─ 01_basics/
│  ├─ 00.md
│  ├─ 01_setup.md
│  ├─ 02_monitoring.md
06_administration()/              → draft chapter
├─ 00.md
├─ 01_install().md                → nested draft chapter
ZZ_final_words.md                 → suffix chapter

用法

您必须创建一个虚拟的 SUMMARY.md 文件,否则在调用预处理器之前,mdbook 将出错。 (内容不重要。它只需在第一行有 # SUMMARY 即可。)

使用 cargo 安装项目。当前版本是 v0.2.1

cargo install mdbook-fs-summary

目前没有太多配置。

# book.toml

[preprocessor.fs-summary]
# (default: true)
clean-paths = true

# other preprocessors will naturally need to 
# run after the summary has been generated 
[preprocessor.links]
after = ["fs-summary"] 

清洁路径

我们正在使用文件名指示符来应用对生成的摘要的配置。这并不理想,因此它们被剥离为它们的自然路径。

而不是

http://127.0.0.1:3000/02_team/05_onboarding.html

我们剥离了用于排序的数字前缀以及任何其他人工指示符。

http://127.0.0.1:3000/team/onboarding.html

⚠️ 清洁路径目前破坏了对 mdbook 提供的默认链接预处理器支持。 查看这个请求。 如果您打算使用部分内容,建议在解决这个问题之前禁用清洁路径。

禁用清洁路径

您可以关闭此行为。

[preprocessor.fs-summary]
clean-paths = false

[preprocessor.links]
after = ["fs-summary"]
数字前缀格式

此处理器不指定用于排序的数字前缀的任何特殊格式,除非在清洁路径时。目前惯例是这种格式

如果文件名以 2 或 3 个数字或大写字母开头,后面跟一个下划线,则它们将在生成的 URL 中被删除。

如果您计划为文件名制定其他排序策略,请注意这一点。

替代方案

依赖项

~12–24MB
~332K SLoC