-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Open
Description
Describe the bug
When trying to build salts documentation in texinfo I noticed that the toctree inside an admonition results in unmatched end.
How to Reproduce
- index.rst: https://github.com/saltstack/salt/blob/master/doc/ref/modules/all/index.rst
- conf.py: https://github.com/saltstack/salt/blob/master/doc/conf.py
make info
.- See error.
- Remove
.. admonition:: Virtual modules
in index.rst. - repeat step 1.
- No error.
Environment Information
Platform: linux; (Linux-6.15.2-1-default-x86_64-with-glibc2.41)
Python version: 3.13.3 (main, Apr 11 2025, 19:56:42) [GCC])
Python implementation: CPython
Sphinx version: 8.2.3
Docutils version: 0.21.2
Jinja2 version: 3.1.6
Pygments version: 2.19.1
Makeinfo version: 7.1
Sphinx extensions
- saltdomain # Must come early
- sphinx.ext.autodoc
- sphinx.ext.napoleon
- sphinx.ext.autosummary
- sphinx.ext.extlinks
- sphinx.ext.imgconverter
- sphinx.ext.intersphinx
- sphinxcontrib.httpdomain
- saltrepo
- myst_parser
Additional context
Console output
salt.texi:98471: warning: @menu in invalid context
salt.texi:98742: @node seen before @end quotation
salt.texi:98742: @node seen before @end cartouche
salt.texi:99305: unmatched `@end quotation'
salt.texi:99306: unmatched `@end cartouche'
Example
.. admonition:: Virtual modules
.. toctree::
salt.modules.group
salt.modules.kernelpkg
salt.modules.pkg
salt.modules.service
salt.modules.shadow
salt.modules.sysctl
salt.modules.user
Example output
The comments @c comment
where added by after the fact.
@cartouche
@quotation Virtual modules
@menu
* salt.modules.group: salt modules group.
* salt.modules.kernelpkg: salt modules kernelpkg.
* salt.modules.pkg: salt modules pkg.
* salt.modules.service: salt modules service.
* salt.modules.shadow: salt modules shadow.
* salt.modules.sysctl: salt modules sysctl.
* salt.modules.user: salt modules user.
* salt.modules.aix_group: salt modules aix_group.
* salt.modules.aix_shadow: salt modules aix_shadow.
* salt.modules.aixpkg: salt modules aixpkg.
* salt.modules.aliases: salt modules aliases.
* salt.modules.alternatives: salt modules alternatives.
* salt.modules.ansiblegate: salt modules ansiblegate.
* salt.modules.apache: salt modules apache.
* salt.modules.apf: salt modules apf.
* salt.modules.aptpkg: salt modules aptpkg.
* salt.modules.archive: salt modules archive.
* salt.modules.arista_pyeapi: salt modules arista_pyeapi.
* salt.modules.artifactory: salt modules artifactory.
* salt.modules.asymmetric: salt modules asymmetric.
* salt.modules.at: salt modules at.
@c Some lines in index cut to keep it brief.
@node salt modules group,salt modules kernelpkg,,execution modules
@anchor{ref/modules/all/salt modules group doc}@anchor{1495}@anchor{ref/modules/all/salt modules group module-salt modules group}@anchor{6c}@anchor{ref/modules/all/salt modules group salt-modules-group}@anchor{1496}@anchor{ref/modules/all/salt modules group virtual-group}@anchor{cb2}
@subsection salt.modules.group
@geindex module; salt.modules.group
@code{group} is a virtual module that is fulfilled by one of the following
modules:
@multitable {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
@headitem
Execution Module
@tab
Used for
@item
@ref{6d,,groupadd}
@tab
Linux, NetBSD, and OpenBSD systems using
@code{groupadd(8)}, @code{groupdel(8)}, and
@code{groupmod(8)}
@item
@ref{ca,,pw_group}
@tab
FreeBSD-based OSes using @code{pw(8)}
@item
@ref{ef,,solaris_group}
@tab
Solaris-based OSes using
@code{groupadd(1M)}, @code{groupdel(1M)}, and
@code{groupmod(1M)}
@item
@ref{11c,,win_groupadd}
@tab
Windows
@end multitable
@c The output contains multiple of these multitables but the lines at issue
@c ultimately end in:
@end quotation
@end cartouche