Sphinx 和 Markdown .md 链接

sla*_*ine 7 python-3.x python-sphinx

我想降价文件转换为使用HTML狮身人面像,但我遇到了麻烦[links](another.md)被翻译成<a href="another.html">links</a>,而目标的延伸仍保持原有的.md并显示为<a href="another.md">links</a>

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

测试文件

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

[Another Markdown doc](another.md)
Run Code Online (Sandbox Code Playgroud)

另一个.md

# Another test markdown
Run Code Online (Sandbox Code Playgroud)

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

from recommonmark.parser import CommonMarkParser
extensions = [
    'sphinx.ext.autodoc',
]
source_suffix = ['.rst', '.md']
source_parsers = {
    '.md': CommonMarkParser,
}
Run Code Online (Sandbox Code Playgroud)

生成的 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>
...
Run Code Online (Sandbox Code Playgroud)

...并指向another.md而不是another.html。几天前我问过,并被指出使用 recommonmark 的AutoStructify(请参阅此处的线程),但这不起作用,在进一步挖掘/阅读后发现enable_auto_doc_ref现在已弃用.md链接已添加为:any:并应由 Sphinx 处理

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

编辑

版本如下

  • 狮身人面像 1.8.0
  • 推荐 0.4.0

Dmy*_*iuk 2

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

conf.py配置

extensions = [
    # other
    'recommonmark',
]

source_suffix = ['.rst', '.md']
Run Code Online (Sandbox Code Playgroud)

pip配置 (requirements.txt

sphinx==1.8.2
# recommonmark==0.5.0.dev0
git+https://github.com/rtfd/recommonmark
Run Code Online (Sandbox Code Playgroud)

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