mdBook 是什么?
mdBook is a utility to create modern online books from Markdown files.
根据官网介绍,mdBook 是从 md 文件构建现代在线书籍的工具。
通常用来写 Rust 的说明文档,,而不太适用于写其他语言或特定应用场景的文档。
mdBook 的特点有哪些?
易于构建:安装 Rust 和 mdBook 之后使用命令
mdbook init
即可在当前文件夹创建一下层次的书籍框架:book-test/
├── book
└── src
├── chapter_1.md
└── SUMMARY.md
然后,在
src/
文件夹下书写 md 文件,使用SUMMARY.md
来控制章节的结构,最后运行命令mdbook build
或者mdbook serve
来生成 html 电子书,进而发布于网络或者浏览器打印成 PDF 书籍。能直接在代码块运行简单的 Rust 代码,甚至可以编辑代码块、隐藏不重要的代码。
mdBook 的缺点呢?
构建 Rust 和 mdBook 稍微费事(尤其后者有 100 多个依赖)
- 默认的样式有些简陋,不够精美,甚至没有文章标题的 toc,只有 book 的章节 toc。
- 悬浮目录插件(移植到其他项目貌似并没效果):https://github.com/JorelAli/mdBook-pagetoc,实例见此
- 文章内部目录(我试了并无效果):https://github.com/badboy/mdbook-toc
- 貌似 mdBook 的开发者对于 文章标题目录 并不重视,好几个人提都没开发
- 虽然可以直接打印成 pdf,但是分页处会出现直接把一行句子成上下两段,而不是字段排列到下一页。而导出成 pdf 比较麻烦,需要用到 mdbook-latex,这个库的关联工具 tectonic 在 windows 下并不好安装。
- 不够通用,参考文章:比较:gohugo、mdbook、peach