隐藏 Sphinx 文档中的单个部分

问题描述 投票:0回答:3

我找不到处理此问题的指令。

假设有一个

rst
文档,并且出于某种原因您想在构建过程中隐藏单个
section
(无论是 HTML、PDF ..),例如:

Visible section
===============
Here some example I want to show


Not visible section
===================
Some text that I have written but for the current build I want to hide from the final document

是否有一个

.. hidden::
指令可以处理这个问题,我正在考虑类似的事情:

Visible section
================
Here some example I want to show

.. hidden::

Not visible section
===================
Some text that I have written but for the current build I want to hide from the final document

.. visible::

Another section
===============
Other visible section in both text and final document
python-sphinx restructuredtext sections
3个回答
2
投票

您可以使用注释语法:http://www.sphinx-doc.org/en/master/usage/restructedtext/basics.html#comments

我得到的 Sphinx 版本会自动生成一个 index.rst 文件,该文件以这样的注释开头:

.. sphinx-quickstart on Sat Jun 22 15:48:19 2019.
   You can adapt this file completely to your liking, etc

它没有出现在文档中。您可以以两个点和一个空格开始行,后跟您自己的文本,但也不会显示。您需要确保您创建的所有行的缩进与第一行相同。那么整个部分就不会显示出来。还要确保该部分之前和之后都有一个空行(除非它是文件中的第一部分或最后一个部分)


1
投票

这里有一个隐藏部分的解决方案,因此它不会显示在 HTML 输出中。 不过,这并不影响构建。

这个想法是使用 class 指令,这样就能够将 CSS 类分配给部分。在 CSS 中,您可以使用

display: none
(或任何其他 CSS)定义类。

对于您的示例,它看起来像(注意标识):

Visible section
================
Here some example I want to show

.. class:: hidden

   Not visible section
   ===================
   Some text that I have written but for the current build I want to hide from the final document

Another section
===============
Other visible section in both text and final document

在 CSS 中添加以下样式:

.hidden { display: none }

这里有一个链接,解释了如何向 Sphinx 添加自定义 CSS。


0
投票

如果您确实想从输出中删除某些元素(而不仅仅是隐藏它们),那么 strip-classes Docutils 设置可能是您的朋友。 它可以在与“conf.py”Sphinx 配置相同的目录中的“docutils.conf”文件中指定。

© www.soinside.com 2019 - 2024. All rights reserved.