MyST 实现架构#
本页描述了实现细节,以帮助你理解项目的结构。
1. markdown-it 令牌(tokens)的渲染器#
从高层次来看,MyST 解析器是 Markdown-It-Py 项目的扩展。Markdown-It-Py 是结构良好的 Python 解析器,用于解析 CommonMark 文本。它还定义了扩展点,以便在解析的文件中包含更多语法。MyST 解析器使用此扩展点来定义其自己的语法选项(例如,用于 Sphinx 角色和指令)。
此解析器的结果是 markdown-it token 流。
2. docutils 渲染器#
MyST 解析器还为 markdown-it 令牌流定义了 docutils 渲染器。能够将 MyST Markdown 文件的解析元素转换为 docutils。
3. Sphinx 解析器#
最后,MyST 解析器为文档生成系统 Sphinx 提供了解析器。此解析器执行以下操作:
Parse markdown files with the markdown-it parser, including MyST specific plugins
使用 MyST docutils 渲染器将这些文件转换为 docutils 对象
将这些提供给 Sphinx,以便用于构建你的网站。