@@ -240,54 +240,56 @@ def _process_headings(self, handler: BaseHandler, element: Element) -> None:
240240 # If we were in an inner handler layer, we wouldn't do any of this
241241 # and would just let headings bubble up to the outer handler layer.
242242
243- page = self ._autorefs .current_page
244- if page is not None :
245- for heading in headings :
246- rendered_id = heading . attrib [ "id" ]
247- self . _autorefs . register_anchor ( page , rendered_id , primary = True )
248-
249- # Register all identifiers for this object
250- # both in the autorefs plugin and in the inventory.
251- aliases : tuple [ str , ...]
252- # YORE: Bump 1: Replace block with line 16 .
253- if hasattr ( handler , "get_anchors" ):
254- warn (
255- "The ` get_anchors` method is deprecated. "
256- "Declare a `get_aliases` method instead, accepting a string (identifier) "
257- "instead of a collected object." ,
258- DeprecationWarning ,
259- stacklevel = 1 ,
260- )
261- try :
262- data_object = handler . collect ( rendered_id , getattr ( handler , "fallback_config" , {}) )
263- except CollectionError :
264- aliases = ( )
265- else :
266- aliases = handler . get_anchors ( data_object )
243+ if ( page : = self ._autorefs .current_page ) is None :
244+ return
245+
246+ for heading in headings :
247+ rendered_id = heading . attrib [ "id" ]
248+ # The title is registered to be used as tooltip by autorefs.
249+ self . _autorefs . register_anchor ( page , rendered_id , title = heading . text , primary = True )
250+
251+ # Register all identifiers for this object
252+ # both in the autorefs plugin and in the inventory .
253+ aliases : tuple [ str , ...]
254+ # YORE: Bump 1: Replace block with line 16.
255+ if hasattr ( handler , " get_anchors" ):
256+ warn (
257+ "The `get_anchors` method is deprecated. "
258+ "Declare a `get_aliases` method instead, accepting a string (identifier) "
259+ "instead of a collected object." ,
260+ DeprecationWarning ,
261+ stacklevel = 1 ,
262+ )
263+ try :
264+ data_object = handler . collect ( rendered_id , getattr ( handler , "fallback_config" , {}) )
265+ except CollectionError :
266+ aliases = ( )
267267 else :
268- aliases = handler .get_aliases (rendered_id )
269-
268+ aliases = handler .get_anchors (data_object )
269+ else :
270+ aliases = handler .get_aliases (rendered_id )
271+
272+ for alias in aliases :
273+ if alias != rendered_id :
274+ self ._autorefs .register_anchor (page , alias , rendered_id , primary = False )
275+
276+ if "data-role" in heading .attrib :
277+ self ._handlers .inventory .register (
278+ name = rendered_id ,
279+ domain = handler .domain ,
280+ role = heading .attrib ["data-role" ],
281+ priority = 1 , # Register with standard priority.
282+ uri = f"{ page .url } #{ rendered_id } " ,
283+ )
270284 for alias in aliases :
271- if alias != rendered_id :
272- self ._autorefs .register_anchor (page , alias , rendered_id , primary = False )
273-
274- if "data-role" in heading .attrib :
275- self ._handlers .inventory .register (
276- name = rendered_id ,
277- domain = handler .domain ,
278- role = heading .attrib ["data-role" ],
279- priority = 1 , # Register with standard priority.
280- uri = f"{ page } #{ rendered_id } " ,
281- )
282- for alias in aliases :
283- if alias not in self ._handlers .inventory :
284- self ._handlers .inventory .register (
285- name = alias ,
286- domain = handler .domain ,
287- role = heading .attrib ["data-role" ],
288- priority = 2 , # Register with lower priority.
289- uri = f"{ page } #{ rendered_id } " ,
290- )
285+ if alias not in self ._handlers .inventory :
286+ self ._handlers .inventory .register (
287+ name = alias ,
288+ domain = handler .domain ,
289+ role = heading .attrib ["data-role" ],
290+ priority = 2 , # Register with lower priority.
291+ uri = f"{ page .url } #{ rendered_id } " ,
292+ )
291293
292294
293295class _HeadingsPostProcessor (Treeprocessor ):
0 commit comments