mdbook 拓展工具
在使用mdbook的过程中,存在使用部分的问题
mdbook-pdf无法生成目录页,最多生成pdf outlinemdbook-pandoc无法将mermaid转换成图片,暂时没有人编写相关的filter- mdbook中缺少部分css,导致html排版页面不合理,如表格显示,分页等
下面推销一下我编写的工具,后续会进一步完善
mdbook-nicemdbookhtml2pdf
mdbook-nice
A css theme for mdbook. CSS 美化文件, 主要用于mdbook-pdf打印和html页面的基本美化.
美化思路:
- 使用伪选择器,berfor和after,实现标题和代码块的背景色和字体颜色.
- 使用伪选择器,实现表格的边框和背景色.
- 使用page-break,实现分页.
- 使用 word-break,word-wrap等实现换行和单词显示操作.
安装
cargo install mdbook-nice
使用方法
mdbook-nice install . 或者 mdbook-nice install path
Install the preprocessor and its assets
Usage: mdbook-nice install [dest]
Arguments:
[dest] The destination directory for the assets [default: ./]
Options:
-h, --help Print help
mdbookhtml2pdf
将 mdBook 生成的 HTML 文件转换为 PDF,支持:
- 自动生成目录(TOC)
- 代码高亮
- Mermaid 图表转换
安装要求
- Python 3.7+
- Node.js 和 npm(用于 mermaid-cli)
安装步骤
- 安装 Node.js 依赖:
npm install -g @mermaid-js/mermaid-cli
2. 安装 Python 包:
pip install mdbookhtml2pdf
使用方法
mdbookhtml2pdf input.html [output.pdf]
如果不指定输出文件名,将使用输入文件名(替换扩展名为.pdf)。
功能特点
-
目录生成
- 自动为 h1-h6 标题生成目录
- 目录包含页码和引导线
- 目录单独成页
-
代码高亮
- 支持多种编程语言
- 保持原有的代码格式
- 支持行内代码和代码块
-
Mermaid 图表
- 自动转换 mermaid 图表为高质量图片
- 支持所有 mermaid 图表类型
- 保持图表清晰度
项目地址
使用
mdbookhtml2pdf book/print.html
todo
目前封面支持存在部分问题,后续有空时,会解决该问题,其他的开发者可以自行尝试解决.
许可证
MIT License