Markdown 基于Sphinx的文档的降价输出
我发现自己有一个用例,除了从基于我的文档源生成HTML和PDF之外,我还想生成源文件的一个版本Markdown 基于Sphinx的文档的降价输出,markdown,python-sphinx,restructuredtext,Markdown,Python Sphinx,Restructuredtext,我发现自己有一个用例,除了从基于我的文档源生成HTML和PDF之外,我还想生成源文件的一个版本 我的初步研究没有发现斯芬克斯的任何核心或扩展支持。除了为任务手动使用或创建一个新的Sphinx扩展名外,还有更简单/更集成的解决方案吗?除了Pandoc之外,我没有找到任何可以将StructuredText文件转换为Markdown的方法,所以我为它编写了一个自定义编写器(StructuredText的参考实现和Sphinx的构建基础) 请注意,它只是一个初始实现:它处理任何重构的文本文档都没有错误(
我的初步研究没有发现斯芬克斯的任何核心或扩展支持。除了为任务手动使用或创建一个新的Sphinx扩展名外,还有更简单/更集成的解决方案吗?除了Pandoc之外,我没有找到任何可以将StructuredText文件转换为Markdown的方法,所以我为它编写了一个自定义编写器(StructuredText的参考实现和Sphinx的构建基础) 请注意,它只是一个初始实现:它处理任何重构的文本文档都没有错误(根据Docutils源存储库中的standard.txt测试文档进行测试),但处理许多重构的文本构造(例如替换、原始指令等)我希望添加对链接、代码块、图像和表格的支持:欢迎提供任何帮助,只需继续编写代码即可
似乎要向Sphinx添加另一种编写器/输出格式,您需要使用。如果您想使用pandoc,为什么不在第一次运行Sphinx-quickstart.py时更改Sphinx生成的Makefile,以将重构文本转换为标记?
这是最简单的解决方案,不过如果您将Chris的解决方案合并到Makefile中,它也会起作用。11月18日更新:sphinx markdown builder现在可用-多亏了@Jam Risser: 安装
pip3 install sphinx-markdown-builder
依赖关系
Python 3
用法
在配置中加载扩展
conf.py
extensions = [
'sphinx_markdown_builder'
]
exclude_patterns = [
'build/*'
]
如果使用RecomonMark,请确保显式忽略生成文件,因为它们将与系统冲突
conf.py
extensions = [
'sphinx_markdown_builder'
]
exclude_patterns = [
'build/*'
]
使用Makefile生成标记文件
make markdown
使用sphinx Build命令生成标记文件
cd docs
sphinx-build -M markdown ./ build
参考资料
感谢所有投票支持github请求的人,这起了作用!我还没有看到任何现有的扩展。在你的第二段之前,我的第一个想法是建议使用Pandoc:-),所以我想这是你最好的选择。@ReinoutvanRees:我现在正在使用Pandoc。也许我会调查斯芬克斯社区,看看是否有人对实现类似的东西感兴趣,并试一试。:)可能是重复的感谢,克里斯让这一切开始。我为此创建了一个生成器扩展。