我讨厌reST,但喜欢Sphinx。是否有一种方法,狮身人面像读取Markdown而不是reStructuredText?


当前回答

2021年5月更新:推荐标记已弃用,取而代之的是神秘解析器(感谢astrojuanlu)

更新:现在sphinx文档正式支持并记录了这一点。

看起来它的基本实现已经进入了Sphinx,但还没有消息传出去。见github问题评论

安装的依赖关系:

pip install commonmark recommonmark

调整conf.py:

source_parsers = {
    '.md': 'recommonmark.parser.CommonMarkParser',
}
source_suffix = ['.rst', '.md']

其他回答

Markdown和ReST做不同的事情。

RST为处理文档提供了一个对象模型。

Markdown提供了一种雕刻文本的方法。

从您的sphinx项目中引用Markdown内容,使用RST来stub出一个较大文档的整体信息架构和流程,这似乎是合理的。让markdown发挥它的作用,让作者专注于写作文本。

是否有一种方法来引用markdown域,只是按原样雕刻内容?RST/sphinx似乎已经解决了像toctree这样的特性,而没有在markdown中复制它们。

2021年5月更新:推荐标记已弃用,取而代之的是神秘解析器(感谢astrojuanlu)

更新:现在sphinx文档正式支持并记录了这一点。

看起来它的基本实现已经进入了Sphinx,但还没有消息传出去。见github问题评论

安装的依赖关系:

pip install commonmark recommonmark

调整conf.py:

source_parsers = {
    '.md': 'recommonmark.parser.CommonMarkParser',
}
source_suffix = ['.rst', '.md']

这没有使用Sphinx,但是MkDocs将使用Markdown构建您的文档。我也讨厌rst,到目前为止我真的很喜欢MkDocs。

这里有一个新的选择。MyST为Markdown添加了一些功能,允许Sphinx像rst一样构建文档。 https://myst-parser.readthedocs.io/en/latest/

请注意,使用maven和嵌入式Sphinx + MarkDown支持构建文档完全由以下maven插件支持:

https://trustin.github.io/sphinx-maven-plugin/index.html

<plugin>
  <groupId>kr.motd.maven</groupId>
  <artifactId>sphinx-maven-plugin</artifactId>
  <version>1.6.1</version>
  <configuration>
    <outputDirectory>${project.build.directory}/docs</outputDirectory>
  </configuration>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>generate</goal>
      </goals>
    </execution>
  </executions>
</plugin>