【问题标题】:Is there a Sphinx extension that provides a configurable toc (or more configurable toctree) in templates?是否有在模板中提供可配置目录(或更多可配置目录树)的 Sphinx 扩展?
【发布时间】:2020-09-06 20:05:19
【问题描述】:

Sphinx toc 模板变量提供当前文档(即当前页面)中标题的 HTML 列表。

但是,出于我的目的,我需要一个标题列表:

  • 不包括文档标题
  • 深度有限

我希望找到一个可以生成本地目录的扩展程序,以及我需要的额外控制。另一种方法是 toctree 的修改版本(生成全局目录),它将仅从当前节点开始生成 HTML 列表。

【问题讨论】:

  • 我不知道答案。正如您所说的那样,toc 是一个包含完整本地 ToC 作为
      的变量,因此您不能限制深度。 contents:: 指令也将本地 ToC 生成为
        ,但会限制深度。对于这两种方式,ToC 总是以文档标题开头。
  • 我很难理解这个限制... TOC 通常是一个 reST 指令(到目前为止不需要 Sphinx)。 toctree 应该可以满足有限的深度限制,您的意思是在给定.rst 文件的 1 内使用一个 toctree,该文件仅列出它所在文件的内容吗? (或者这肯定需要成为模板解决方案?)
  • toctree 模板可以在venv38\Lib\site-packages\sphinx\templates\apidoc\toc.rst_t 中找到,假设您可以定制该模板?!我不记得在 SO 上看到任何自定义模板的问题,所以这是一个有趣的观点。

标签: python-sphinx


【解决方案1】:

使用contents directive

“contents”指令在主题中生成目录 (TOC)。主题和目录可能出现在任何可能出现章节或过渡的地方。正文元素和主题可能不包含目录。

这是最简单形式的指令:

.. contents::

【讨论】:

  • 遗憾的是这行不通。我不需要生成目录,我需要访问模板上下文中的变量 a。
猜你喜欢
  • 2013-09-02
  • 1970-01-01
  • 1970-01-01
  • 2021-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多