首页 > 解决方案 > Sphinx 和 Markdown .md 链接

问题描述

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

我创建了一个简单的例子......

测试.md

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

[Another Markdown doc](another.md)

另一个.md

# Another test markdown

这两个文件都位于顶级目录中,我运行sphinx-quickstartcreate conf.py,接受默认值。然后我修改conf.py为...

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

生成了生成的 html 文件,但test.htmlto的链接another.html不正确,并显示为...

测试.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的线程),但这没有用,在进一步挖掘/阅读时发现它现在已被弃用,并且链接被添加为并且应该由 Sphinx 处理enable_auto_doc_ref.md:any:

但我不明白为什么这不起作用或我应该做些什么来解决它。任何建议将不胜感激。

编辑

版本如下

标签: python-3.xpython-sphinx

解决方案


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 。


推荐阅读