在Markdown和reStructuredText中都有相同的README

我有一个在GitHub上托管的项目。 为此,我使用Markdown语法编写了自述文件,以便在GitHub上对其进行很好的格式化。

由于我的项目是在Python中,我还计划将其上传到PyPi。 PyPi上用于README的语法是reStructuredText。

我想避免处理两个包含大致相同内容的README文件; 所以我搜索了RST(或其他方式)翻译的降价,但找不到任何。

我看到的另一个解决方案是执行降价/ HTML,然后是HTML / RST翻译。 我在这里和这里发现了一些资源,所以我想这应该是可能的。

你有什么想法可以更好地适应我想做的事情吗?


我会推荐Pandoc,这是“将文件从一种标记格式转换为另一种格式的瑞士军刀”(请查看页面底部支持的转换图,它非常令人印象深刻)。 Pandoc允许markdown直接进行reStructuredText翻译。 这里还有一个在线编辑器,可以让你试用它,所以你可以简单地使用在线编辑器来转换你的自述文件。


正如@Chris所建议的,您可以使用Pandoc将Markdown转换为RST。 这可以使用pypandoc模块和setup.py中的一些魔术自动实现:

from setuptools import setup
try:
    from pypandoc import convert
    read_md = lambda f: convert(f, 'rst')
except ImportError:
    print("warning: pypandoc module not found, could not convert Markdown to RST")
    read_md = lambda f: open(f, 'r').read()

setup(
    # name, version, ...
    long_description=read_md('README.md'),
    install_requires=[]
)

这将自动将README.md转换为RST,以便在PyPi上使用长描述。 当pypandoc不可用时,它只是读取README.md而不进行转换 - 不强制他人在他们想构建模块时安装pypandoc,而不是上传到PyPi。

所以你可以像往常一样写Markdown,不再关心RST混乱。 ;)


GitHub使用的标记库支持reStructuredText。 这意味着您可以编写一个README.rst文件。

他们甚至使用codecode-block指令来支持语法特定的颜色突出显示(示例)

链接地址: http://www.djcxy.com/p/20173.html

上一篇: Have the same README both in Markdown and reStructuredText

下一篇: How to get the file extension in PHP?