summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Waltman <jonathan.waltman@gmail.com>2013-01-07 22:12:03 -0600
committerJonathan Waltman <jonathan.waltman@gmail.com>2013-01-07 22:12:03 -0600
commitc22800e27d05ae25a07869e64cc95ed2373ceab4 (patch)
treeee22a239517ce59fb284429e82c41f4c2cdde27d
parent9614376a755a21419007f1e33f62a5f734ef4a26 (diff)
parent5c58d248d1798c24f5ca71b923416129909326be (diff)
downloadsphinx-c22800e27d05ae25a07869e64cc95ed2373ceab4.tar.gz
Merged in rolmei/sphinx-epub (pull request #106: Add includehidden option to the toctree directive)
-rw-r--r--CHANGES5
-rw-r--r--doc/markup/toctree.rst14
-rw-r--r--sphinx/directives/other.py2
-rw-r--r--sphinx/environment.py2
4 files changed, 23 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index ad71b6cf..c5ae5c1a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,11 @@ Release 1.2 (in development)
Previously, if these values were not set, no output would be genereted by
their respective builders.
+* The :rst:dir:`toctree` directive and the ``toctree()`` template function now
+ have an ``includehidden`` option that includes hidden toctree entries (bugs
+ #790 and #1047). A bug in the ``maxdepth`` option for the ``toctree()``
+ template function has been fixed (bug #1046).
+
* PR#99: Strip down seealso directives to normal admonitions. This removes
their unusual CSS classes (admonition-see-also), inconsistent LaTeX
admonition title ("See Also" instead of "See also"), and spurious indentation
diff --git a/doc/markup/toctree.rst b/doc/markup/toctree.rst
index 625fbb61..fe27e019 100644
--- a/doc/markup/toctree.rst
+++ b/doc/markup/toctree.rst
@@ -126,6 +126,18 @@ tables of contents. The ``toctree`` directive is the central element.
intend to insert these links yourself, in a different style, or in the HTML
sidebar.
+ In cases where you want to have only one top-level toctree and hide all other
+ lower level toctrees you can add the "includehidden" option to the top-level
+ toctree entry::
+
+ .. toctree::
+ :includehidden:
+
+ doc_1
+ doc_2
+
+ All other toctree entries can then be eliminated by the "hidden" option.
+
In the end, all documents in the :term:`source directory` (or subdirectories)
must occur in some ``toctree`` directive; Sphinx will emit a warning if it
finds a file that is not included, because that means that this file will not
@@ -150,6 +162,8 @@ tables of contents. The ``toctree`` directive is the central element.
.. versionchanged:: 1.1
Added numeric argument to "numbered".
+ .. versionchanged:: 1.2
+ Added "includehidden" option.
Special names
-------------
diff --git a/sphinx/directives/other.py b/sphinx/directives/other.py
index 3167d606..75a19915 100644
--- a/sphinx/directives/other.py
+++ b/sphinx/directives/other.py
@@ -43,6 +43,7 @@ class TocTree(Directive):
'maxdepth': int,
'glob': directives.flag,
'hidden': directives.flag,
+ 'includehidden': directives.flag,
'numbered': int_or_nothing,
'titlesonly': directives.flag,
}
@@ -108,6 +109,7 @@ class TocTree(Directive):
subnode['maxdepth'] = self.options.get('maxdepth', -1)
subnode['glob'] = glob
subnode['hidden'] = 'hidden' in self.options
+ subnode['includehidden'] = 'includehidden' in self.options
subnode['numbered'] = self.options.get('numbered', 0)
subnode['titlesonly'] = 'titlesonly' in self.options
set_source_info(self, subnode)
diff --git a/sphinx/environment.py b/sphinx/environment.py
index 4efea83d..a08d671a 100644
--- a/sphinx/environment.py
+++ b/sphinx/environment.py
@@ -1514,6 +1514,8 @@ class BuildEnvironment:
maxdepth = maxdepth or toctree.get('maxdepth', -1)
if not titles_only and toctree.get('titlesonly', False):
titles_only = True
+ if not includehidden and toctree.get('includehidden', False):
+ includehidden = True
# NOTE: previously, this was separate=True, but that leads to artificial
# separation when two or more toctree entries form a logical unit, so