【发布时间】:2018-02-26 22:54:51
【问题描述】:
我想将我的项目的 README.md 包含在我的 Sphinx 文档中,例如
Can sphinx link to documents that are not located in directories below the root document?
- 在生成的 Sphinx html 文档中,我单击欢迎页面目录中的链接并访问 README.md。
为此创建了一个包含行的文档readme_link.rst
Readme File
-----------
.. include:: ../../README.md
然后我添加了一行
README <readme_link>
进入index.rst 的目录树。
随之而来的是,我的 README.md 不会被解析为 Markdown,而是按原样打印到页面上。
我认为另一种想法可能是使用降价文件 readme_link.md 代替,但没有办法包含降价文件。
如何将我的 README.md 解析为降价?
(当然我不想重写为.rst。)
为什么m2r 不起作用
我尝试关注Render output from markdown file inside .rst file,但这不起作用。我的README.md 有一些标题,例如
# First heading
some text
## Second heading 1
some text
## Second heading 2
some text
我收到错误WARNING: ../README.md:48: (SEVERE/4) Title level inconsistent:。我从What does "Title level inconsistent" mean? 了解到我需要使用其他符号 - 但读到它们后我意识到答案是指rst 符号。这意味着我的降价自述文件实际上并没有转换为rst。
PS:其他尝试过类似操作的人是 https://muffinresearch.co.uk/selectively-including-parts-readme-rst-in-your-docs/
【问题讨论】:
-
@Waylan:这不起作用,请参阅更新的问题。
-
IIRC,在创建 Docutils 文档对象时检查一致的标题(在已经发生解析之后)。文档对象坚持具有一致的标题级别,错误消息只是假设源是
rst。如果您使用的是 Docutils(Sphinx 是在其之上构建的),那么您绝对 必须 具有一致的标头级别。您使用什么标记语言并不重要。 -
作为测试,我建议将
readme_link.rst更改为markdown 文件(毕竟,M2R 将minclude指令添加到Markdown 解析器中)然后看看会发生什么。我怀疑您可能会收到相同的错误消息。 -
最后,正如链接问题的 cmets 中所讨论的,除非您有一些非标准的修改,否则不可能将
includeMarkdown 文件转换为rst文件。 M2R 是我所知道的唯一这样的修改。因此,这仍然是重复的,这里没有与那里不同的答案。 -
@Waylan:我不太确定你建议我应该做什么。我包括m2r。我的标题与降价文档一致。据我了解,不可能将
include另一个文档放入降价文件中。
标签: python markdown python-sphinx restructuredtext