Markdown 基于Sphinx的文档的降价输出

Markdown 基于Sphinx的文档的降价输出,markdown,python-sphinx,restructuredtext,Markdown,Python Sphinx,Restructuredtext,我发现自己有一个用例,除了从基于我的文档源生成HTML和PDF之外,我还想生成源文件的一个版本 我的初步研究没有发现斯芬克斯的任何核心或扩展支持。除了为任务手动使用或创建一个新的Sphinx扩展名外,还有更简单/更集成的解决方案吗?除了Pandoc之外,我没有找到任何可以将StructuredText文件转换为Markdown的方法,所以我为它编写了一个自定义编写器(StructuredText的参考实现和Sphinx的构建基础) 请注意,它只是一个初始实现:它处理任何重构的文本文档都没有错误(

我发现自己有一个用例,除了从基于我的文档源生成HTML和PDF之外,我还想生成源文件的一个版本


我的初步研究没有发现斯芬克斯的任何核心或扩展支持。除了为任务手动使用或创建一个新的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
参考资料

ps.过时的原始答案(因为斯芬克斯标记生成器现在可用): 在Sphinx项目站点上创建了直接降价输出支持的功能请求:
感谢所有投票支持github请求的人,这起了作用!

我还没有看到任何现有的扩展。在你的第二段之前,我的第一个想法是建议使用Pandoc:-),所以我想这是你最好的选择。@ReinoutvanRees:我现在正在使用Pandoc。也许我会调查斯芬克斯社区,看看是否有人对实现类似的东西感兴趣,并试一试。:)可能是重复的感谢,克里斯让这一切开始。我为此创建了一个生成器扩展。