mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Add debug logging to autosectionlabel (#10881)
Co-authored-by: Martin Patz <martin@recogni.com>
This commit is contained in:
1
CHANGES
1
CHANGES
@@ -15,6 +15,7 @@ Features added
|
||||
|
||||
* #10840: One can cross-reference including an option value: ``:option:`--module=foobar```.
|
||||
Patch by Martin Liska.
|
||||
* #10881: autosectionlabel: Record the generated section label to the debug log.
|
||||
|
||||
Bugs fixed
|
||||
----------
|
||||
|
||||
@@ -45,3 +45,12 @@ Configuration
|
||||
example, when set 1 to ``autosectionlabel_maxdepth``, labels are generated
|
||||
only for top level sections, and deeper sections are not labeled. It
|
||||
defaults to ``None`` (disabled).
|
||||
|
||||
|
||||
Debugging
|
||||
---------
|
||||
|
||||
The ``WARNING: undefined label`` indicates that your reference in
|
||||
:rst:role:`ref` is mis-spelled. Invoking :program:`sphinx-build` with ``-vv``
|
||||
(see :option:`-v`) will print all section names and the labels that have been
|
||||
generated for them. This output can help finding the right reference label.
|
||||
|
||||
@@ -40,6 +40,9 @@ def register_sections_as_label(app: Sphinx, document: Node) -> None:
|
||||
name = nodes.fully_normalize_name(ref_name)
|
||||
sectname = clean_astext(title)
|
||||
|
||||
logger.debug(__('section "%s" gets labeled as "%s"'),
|
||||
ref_name, name,
|
||||
location=node, type='autosectionlabel', subtype=docname)
|
||||
if name in domain.labels:
|
||||
logger.warning(__('duplicate label %s, other instance in %s'),
|
||||
name, app.env.doc2path(domain.labels[name][0]),
|
||||
|
||||
Reference in New Issue
Block a user