从Markdown采购时在Sphinx中创建表

时间:2018-08-10 15:13:00

标签: markdown python-sphinx

我正在通过从MarkDown源文件(即在我的index.rst文件中)进行采购来创建SphinX文档:

.. toctree::
   :maxdepth: 2
   :caption: Contents:

   myMarkDownText
.
.
.

其中myMarkDownText引用了myMarkDownText.md

我尝试从此源MarkDown文件以以下两种格式创建表:

| Name            | Age   |
| :---            |  ---: |
| John D Hunter   | 40    |

MD语法在哪里,并且

==================   ============
Name                 Age
==================   ============
John D Hunter        40
==================   ============ 

在RST语法中。

当我通过以下方法创建SphinX输出index.html时,它们中似乎没有一个会产生表格形状。

make html

您知道我应该尝试的其他格式/方式吗?

PS_请注意,如果我将表格放在SphinX的index.rst中,我可以制作表格。但这不是我的问题。我的问题是在从.md源文件进行采购时在SphinX中创建表。

谢谢!

2 个答案:

答案 0 :(得分:1)

表语法是Markdown的非标准扩展,Sphinx使用的实现不支持该语法。因此,这似乎是不可能的。

根据documentation,Sphinx使用recommonmark来解析Markdown文档,这是Markdown的CommonMark实现。如您在CommonMark规范中所看到的,表是受支持的功能。为了完整起见,请注意,表也不是原始Markdown rules的一部分。另外,对options(以复数形式显示)的回顾表明,没有可选的支持表启用的功能。

也许存在一个带有docutils桥的Markdown替代实现,但是我自己并不知道(推荐库不在这里)。

答案 1 :(得分:1)

使用recommonmark从markdown进行采购时,插件sphinx-markdown-tables可让您在sphinx中获得表格。

另一种解决方案是将表放在csv文件中,并使用native integration csv文件为RST格式。如果您使用recommonmark来自markdown,则可以使用eval_rst选项来评估您的第一个摘要,doc here

解决方案2的优点是内置,而解决方案1设置后更容易,因为您不必处理多余的文件和绝对/相对路径问题