【问题标题】:Sphinx is not recognising my markdown tablesSphinx 无法识别我的降价表
【发布时间】:2017-11-11 16:56:34
【问题描述】:

我在本地使用带有 .md 文件的 sphinx。当我以以下格式添加表格时:

|东西|别的东西|更多 |

|一个 |二 |三 |

文本被解析为一个段落。 我尝试过使用 rst 文件,它以这种格式工作:

===== ===== ====

一个人 ttttt ffff

===== ===== ====

sdddd dfvgd sdfv

dfgvv dffff ffff

===== ===== ====

当我使用 rst 文件时,我收到有关结构错误的表的错误消息,而在 md 文件中它会静默。

有什么想法吗?

【问题讨论】:

    标签: markdown python-sphinx restructuredtext


    【解决方案1】:

    在未能成功搜索让 Sphinx 呈现在 Markdown 中创作的表格的方法后,I wrote an extension to do it.

    可以通过pip install sphinx-markdown-tables安装。

    【讨论】:

    • 激活它,用'_'而不是'-'添加到配置中:extensions = [ 'sphinx_markdown_tables', ]
    【解决方案2】:

    简而言之,标准 Markdown 不支持表格,而且从来没有。您需要对表格使用 RST。

    正如Sphinx documentation 所说:

    为了支持基于 Markdown 的文档,Sphinx 可以使用recommonmark。 recommonmark 是 Docutils 到 CommonMark-py 的桥梁,CommonMark-py 是一个用于解析 CommonMark Markdown 风格的 Python 包。

    事实上,对 CommonMark spec 的评论没有提到表格。就此而言,原始的 Markdown rules 也从未提及表格。无论如何,多年来,各种 Markdown 实现以各种方式增加了对表格的支持,其中最著名的一种是 GitHub。事实上,GitHub 已经在 CommonMark 规范中发布了他们自己的 extensions,它增加了对表格的支持。但是recommonmark/CommonMark-py并没有使用那个spec,而是标准的CommonMark spec,所以没有table支持。

    我检查了 recommonmark 和 CommonMark-py 的文档,但似乎都不支持表作为选项。但是,recommonmark 确实添加了一些Sphinx specific functionality,默认情况下是关闭的。虽然它们主要与自动生成的目录和数学有关,但有 enable_eval_rst 选项,如果启用,则允许您将 RST 直接嵌入到 Markdown 文档中。您可以在启用该功能的 Markdown 文档中直接包含 RST 表格。

    【讨论】:

    • 是否可以进行降价到第一次转换?
    • @DDGG 可能。大概 recommonmark 将 commonmark AST 转换为 docutils 文档对象。然后可以将其输出为 docutils 支持的任何输出格式(包括 rst)。但是,如果没有人构建包装器,则您需要自己将各个部分拼凑在一起,这可能是一个很好的问题。您可能想作为一个单独的问题提出。
    猜你喜欢
    • 2014-06-17
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多