Markdown Sphinx将标记文件中的标题添加到文档结构中
我已将Sphinx配置为使用标记文件 在我的index.rst文件中Markdown Sphinx将标记文件中的标题添加到文档结构中,markdown,python-sphinx,toctree,commonmark,Markdown,Python Sphinx,Toctree,Commonmark,我已将Sphinx配置为使用标记文件 在我的index.rst文件中 .. toctree:: :maxdepth: 2 :caption: Contents: documents/Markdown 在Markdown.md中,我有 # Markdown ## H2 Heading 当我呈现主页时,我会在目录树中看到H2标题 我在目录树的其他部分希望:maxdepth大于1。为什么sphinx读取H2标题作为目录树的一部分,我如何让它停止这样做,而不必将:maxdept
.. toctree::
:maxdepth: 2
:caption: Contents:
documents/Markdown
在Markdown.md中,我有
# Markdown
## H2 Heading
当我呈现主页时,我会在目录树中看到H2标题
我在目录树的其他部分希望:maxdepth大于1。为什么sphinx读取H2标题作为目录树的一部分,我如何让它停止这样做,而不必将:maxdepth设置为1?该选项指示所需的目录深度
如果您使用:maxdepth:1,H2标题应该消失。@mzjn部分回答您的请求。就我个人而言,我不确定这到底是如何在降价中实现的,但我认为它与StructuredText类似。不幸的是,目前还没有一种直观的方法来做到这一点。但是,您可以执行以下操作:
.. toctree::
:maxdepth: 1
documents/Markdown1
.. toctree::
:maxdepth: 2
documents/Markdown2
这将输出所需的行为,但在这种情况下,两棵树之间会有一些垂直间距。您可以这样做,也可以使用:
.. toctree::
:maxdepth: 2
documents/Markdown1
documents/Markdown2
但您需要将不希望显示的内容转移到较低级别的H3,例如。添加到@SuperKogito的答案中。如果您希望TOC支持不同的深度级别,同时仍然看起来完整,您可以通过CSS实现这一点 例如,给定以下部分
Contents # this will create a <div id="contents>...</>
========
.. toctree::
:maxdepth: 1
documents/Markdown1
.. toctree::
:maxdepth: 2
documents/Markdown2
现在,在与conf.py处于相同文件夹级别的_static文件夹中,添加一个名为styles.css的文件,其中包含以下行
//这将选择目录部分、第一个目录和列表项
//在它下面。然后删除间距,使其看起来完整。如果你有更多
//项,您可以考虑使用:NOT:类型选择器的最后一个。
目录树包装器:ul类型的第一个{
页边距底部:0;
}
这是一个临时解决方案,不是一个合适的解决方案,因为现在如果我想的话,我不能显示子目录树。为什么我的答案不是一个合适的解决方案?问题中没有提到子树。您要求我在目录中显示H2标题。为什么?我已经解释了原因。我刚刚重新编辑了我原来的帖子,以澄清我的问题。希望这样更容易理解。对于每个toctree指令,都有一个maxdepth设置。同一目录树中包含的不同文档不能有不同的深度。这不是它的工作原理。您在问题中的目录树的行为与预期的一样。OP解释说,他的目录树中有多个条目,他希望显示不同的深度。使用:maxdepth:1将限制所有条目的深度,而您没有指定如何对不同的树条目使用不同的深度。我没有失去兴趣。我正在做其他的ATM机,还没有机会重温这个。