D2L-Book:动手学书籍工具包

D2L Book (d2lbook) 软件包可帮助你构建和发布**带有 Python 代码块的书籍**,或**带有教程的 Python 软件包文档**。你可以查看 《动手学深度学习》 作为书籍示例,查看 AutoGluon 作为软件包文档网站示例。

d2lbook 的设计旨在满足以下两个要求:

  • 你的书籍可能包含**大量 Python 代码**,并且你希望读者能够运行它们。或者你的软件包文档有**多个教程**,通过示例引导读者了解软件包的用法。代码应该是可运行和可维护的。

  • 你希望发布**HTML 网站和可打印的 PDF 版本**。你期望网站应该是现代化的、可搜索的、对移动设备友好的,并且 PDF 版本的质量应与使用 LaTeX 编写的质量相同。

为实现上述目标,d2lbook 结合了 Python 中广泛使用的交互式环境 Jupyter Notebook 和 Python 软件包事实上的文档构建系统 Sphinx。其主要特性包括:

  • 使用 markdown 编写内容。

  • 使用最小化的配置文件来自定义构建,让你能专注于内容。

  • 在发布前评估所有代码块以获取其输出,从而验证其正确性。默认情况下,d2lbook 只评估更新过的代码块以节省开销。

  • 能够引用章节、图、表、公式、函数和类。

  • 通过 Github 或 AWS 发布网站的流程。

如果 d2lbook 不符合你的要求,你可以查看以下工具:

  • Jupyter Book:一个类似的工具,用于通过 Jupyter Notebooks 和 MyST Markdown 构建包含计算材料的书籍。

  • gitbook:如果你不需要将用 markdown 编写的书籍作为 Jupyter notebooks 运行,这个工具非常方便。

  • sphinx-gallery:一个 Sphinx 插件,用于评估和发布你的教程。它要求你了解如何使用 Sphinx,并以带有 rst 风格的 .py 格式编写教程。

目录