Sphinx和Markdown .md链接

时间:2018-09-25 10:59:32

标签: python-3.x python-sphinx

我正在尝试使用Sphinx将Markdown文件转换为html,但是在将[links](another.md)转换为<a href="another.html">links</a>时遇到麻烦,而目标的扩展名仍然是原始的.md,并且显示为<a href="another.md">links</a>

我已经创建了一个简单的示例...

test.md

[Test link](https://www.stackoverflow.com)

[Another Markdown doc](another.md)

another.md

# Another test markdown

这两个文件都位于顶层目录中,我运行sphinx-quickstart创建conf.py,接受默认设置。然后,我将conf.py修改为具有...

from recommonmark.parser import CommonMarkParser
extensions = [
    'sphinx.ext.autodoc',
]
source_suffix = ['.rst', '.md']
source_parsers = {
    '.md': CommonMarkParser,
}

产生了最终的html文件,但是从test.htmlanother.html的链接不正确,并显示为...

test.html

...
<p><a class="reference external" href="https://thefloow.com">Test link</a></p>
<p><a class="reference external" href="another.md">A real test</a></p>
...

...并指向another.md而不是another.html。我几天前问过,有人指出要使用recommonmark的AutoStructify(请参见线程here),但是没有用,进一步挖掘/阅读后发现enable_auto_doc_ref is now deprecated和{{ 3}}。

但是我不明白为什么这行不通或者我应该怎么做才能解决。任何建议将不胜感激。

编辑

版本如下

  • Sphinx 1.8.0
  • 推荐标记0.4.0

1 个答案:

答案 0 :(得分:1)

recommonmark==0.5.0.dev0解决了这个问题。

conf.py配置

extensions = [
    # other
    'recommonmark',
]

source_suffix = ['.rst', '.md']

pip配置(requirements.txt

sphinx==1.8.2
# recommonmark==0.5.0.dev0
git+https://github.com/rtfd/recommonmark

如果需要更多详细信息,请参阅https://www.sphinx-doc.org/en/master/usage/markdown.html