#markdown #book #rust-book #gitbook

bin+lib mdxbook

mdBook 的分支,为程序员提供更多定制和灵活性

5 个版本

0.4.25 2023 年 2 月 28 日
0.4.21 2022 年 8 月 25 日
0.4.15 2022 年 4 月 2 日
0.4.15-1 2022 年 6 月 1 日

#1031 in 文本处理

MPL-2.0 许可证

1.5MB
10K SLoC

Rust 8K SLoC // 0.0% comments JavaScript 1K SLoC // 0.1% comments Handlebars 279 SLoC // 0.1% comments

包含 (WOFF 字体, 99KB) fontawesome-webfont.woff,(WOFF 字体, 78KB) fontawesome-webfont.woff2,(WOFF 字体, 45KB) open-sans-v17-all-charsets-300.woff2,(WOFF 字体, 41KB) open-sans-v17-all-charsets-300italic.woff2,(WOFF 字体, 45KB) open-sans-v17-all-charsets-600.woff2,(WOFF 字体, 43KB) open-sans-v17-all-charsets-600italic.woff2更多

mdxBook

mdBook 的修改版,为 idocs 博客 提供支持

描述

mdBook 是一个用于生成文档页面的非常有用的工具,在我的博客中,我使用了它来生成博客页面,但是,为了满足博客的需求而无需进行大量修改,需要进行一些更改。

该仓库包含所有这些修改。

修改

  • 允许为每个 Book 和每个 Chapter 自定义模板变量。
  • 允许自定义后处理程序。
  • 移除 mdBook 二进制文件中直接包含的所有文件,以减小其大小。

后处理程序

mdBook 提供了一种向书籍创建工作流程添加 预处理器 的方法,它们在配置的渲染器渲染之前工作,在 Markdown-to-Markdown 步骤中。

后处理器 在 HTML 层级(或渲染文件层级)工作,在将其写入磁盘之前处理生成的 HTML 文件/文件。使用 mdBook 作为库的一个解决方案是读取这些 HTML 文件并应用这些修改,但这不如 预处理器 集成,并引入了更多复杂性,例如需要知道输出目录、可以覆盖哪些文件以及渲染过程中已经提供的其他配置细节。

这些后处理程序可以访问由后端提供的渲染上下文和其他信息。后处理程序依赖于后端,这意味着它们不太可能与其设计的后端一起工作。相比之下,预处理器很可能与不同的后端一起工作,因为它们转换的是Markdown而不是生成的输出。

注意

由于其中一项修改删除了编译二进制中直接包含的所有文件,以减小二进制大小,因此此分支生成的二进制文件需要所有主题文件都存在于二进制根目录中。

此外,重要的是要知道,这些修改仅针对mdBook进行,不包括任何博客二进制文件的源代码,该源代码是一个独立的项目,仅将[mdxBook]作为依赖项。

还对原始代码进行了一些调整,因此更新到上游可能需要一些时间来修复合并冲突。

这些更改没有提交给mdBook,因为它们有其目的:简化mdBook作为库的使用,而不是作为二进制文件。mdBook专注于最终用户,安装和运行,无需任何额外配置,mdxBook则不是。

许可

此代码的许可与mdBook相同,即MPL 2.0,可在本项目根目录找到。

依赖项

~10–29MB
~400K SLoC