python-3.x - 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-quickstart
create conf.py
,接受默认值。然后我修改conf.py
为...
from recommonmark.parser import CommonMarkParser
extensions = [
'sphinx.ext.autodoc',
]
source_suffix = ['.rst', '.md']
source_parsers = {
'.md': CommonMarkParser,
}
生成了生成的 html 文件,但test.html
to的链接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:
但我不明白为什么这不起作用或我应该做些什么来解决它。任何建议将不胜感激。
编辑
版本如下
- 狮身人面像 1.8.0
- 推荐 0.4.0
解决方案
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 。