Theme

默认渲染器使用一个handlebars模板,用于渲染 markdown 文件,并 mdBook 二进制文件包含默认主题.

主题是完全可定制的,您可以通过在根目录src旁边,新建一个theme文件夹,在其中选择性地添加文件名称,覆盖主题的任意文件。

以下是您可以覆盖的文件:描述
index.hbshbs 模板.
head.hbsHTML <head> 部分.
header.hbs每个页面的头部
- css/样式文件
- css/chrome.cssUI 元素
- css/general.css基础样式
- css/print.css打印输出的样式
- css/variables.csscss 变量
book.js主要用于添加客户端功能,如隐藏/取消隐藏侧边栏,更改主题,…
highlight.js是用于突出显示代码片段的 JavaScript,您不需要修改它.
highlight.css是用于代码突出显示的主题
favicon.svg将使用的 favicon

通常,当您想要调整主题时,您不需要覆盖所有文件。如果您只需要更改 css 样式表,那么覆盖所有其他文件是没有意义的。由于自定义文件优先于内置文件,那以后的新的修补程序/功能,你都更新不了。

注意: 覆盖文件时,可能会破坏某些功能。因此,我建议使用默认主题中的文件作为模板,只添加/修改您需要的内容。您可以使用mdbook init --theme命令自动将默认主题自动复制到源目录中,只需删除您不想覆盖的文件。

mdbook init --theme 不会创建上面所提到的文件。 比如 head.hbs文件,是没有同等(示例)文件。 所以,你需要自行完成创建。

如果你想完全替换内置主题,请在 output.html.preferred-dark-theme设置,不然默认还是 navy 主题