5.5. MyST 与 Sphinx#

MyST 解析器与 Sphinx 扩展捆绑在一起,允许您完全在 MyST 中(或在 rST 和 MyST 的组合中)使用编写 Sphinx 文档。 以下部分介绍了 Sphinx 扩展的一些主要功能。 这些部分描述了使用 Sphinx 编写 MyST 的一些常见场景和用例。

5.5.1. 将 rST 文件包含到 Markdown 文件中#

如本节所述,所有 MyST 指令都将其内容解析为 Markdown。因此,使用常规 include 指令,将文件内容解析为 Markdown:

```{include} ./include-md.txt
```

This is from markdown file.

要包含 rST,我们必须首先将指令“包装”在 eval-rst 指令中:

```{eval-rst}
.. include:: ./include-rst.txt
```

From rst file.

5.5.2. 将 Markdown 文件包含到 rST 文件中#

要在 ReStructuredText 文件中包含 MyST 文件,我们可以使用 include 指令并指定 parser 选项:

.. include:: include-md.txt
   :parser: myst_parser.sphinx_

5.5.3. 在 Jupyter Notebooks 中使用 MyST#

MyST-NB 工具提供了一个Sphinx扩展,用于解析使用 MyST Markdown 写的 Jupyter Notebooks。 它包括在文档构建期间自动执行笔记本、存储笔记本单元输出以便将它们插入文档的其他地方等功能。 有关更多信息,请参阅MyST-NB文档

5.5.4. 自动为节标题创建目标#

在使用交叉引用时需要为目标创建锚点,在Sphinx中缺省需要手工创建。 为了简化使用,可以使用 Sphinx 扩展 autosectionlabel 来自动创建。 这个扩展需要安装与在 conf.py 中配置。

5.5.5. Sphinx 特殊指令#

一个经典的用例是指定“孤立”文档,这些文档未在任何目录树中指定。 在 Sphinx 中构建时如果存在“孤立”文档会给出警告信息。 为了避免生产这种信息,可以在页面顶部插入以下声明其为孤立页面。

---
orphan: true
---

This is an orphan document, not specified in any toctrees.