![Sphinx:每个 .rst 生成一个 TOC](https://linux22.com/image/192890/Sphinx%EF%BC%9A%E6%AF%8F%E4%B8%AA%20.rst%20%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%20TOC.png)
我正在尝试将 GNU Parallel 的(无聊的)POD-html 转换为 Sphinx。
我用这个index.rst
:
.. SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
..
.. SPDX-License-Identifier: GPL-3.0-or-later
.. GNU Parallel documentation master file, created by
sphinx-quickstart on Sat Jan 23 14:06:27 2021.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to GNU Parallel's documentation!
========================================
.. toctree::
:maxdepth: 3
:caption: Contents:
parallel
sem
env_parallel
parset
parsort
parallel_design
parallel_tutorial
parallel_alternatives
parcat
niceload
sql
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
它会生成以下文件:https://www.gnu.org/software/parallel/parset.html
这里的问题是,我希望左侧边栏仅包含与相关的标题parset
,而不是与所有其他文件相关的标题(例如,目录下的顶部链接链接到parallel.html),或者至少:在每个新文件上插入一个标题,这样用户就可以看到此链接到另一个命令。
我假设我只需要添加一些魔法来index.rst
告诉它仅基于当前文件的内容。
(.rst 文件是使用 pod2rst 从 POD 生成的 - 是的,存在一些格式错误,但我不会以 .rst 格式维护文档)。
答案1
我找到了一种方法来实现次优解决方案。为每个创建一个 toctree 部分:
.. toctree::
:maxdepth: 1
:caption: parallel
parallel
.. toctree::
:maxdepth: 3
:caption: sem
sem
.. toctree::
:maxdepth: 3
:caption: env_parallel
env_parallel
这为每个文件提供了一个标题。