@@ -155,8 +155,8 @@ def _object_hierarchy_parts(self, sig_node: desc_signature) -> tuple[str, ...]:
155
155
def add_target_and_index (
156
156
self , name_obj : tuple [str , str ], sig : str , signode : desc_signature
157
157
) -> None :
158
- mod_name = self .env .ref_context .get ('js:module' )
159
- fullname = (mod_name + ' .' if mod_name else '' ) + name_obj [0 ]
158
+ mod_name = self .env .ref_context .get ('js:module' , '' )
159
+ fullname = (f' { mod_name } .' if mod_name else '' ) + name_obj [0 ]
160
160
node_id = make_id (self .env , self .state .document , '' , fullname )
161
161
signode ['ids' ].append (node_id )
162
162
self .state .document .note_explicit_target (signode )
@@ -165,11 +165,10 @@ def add_target_and_index(
165
165
domain .note_object (fullname , self .objtype , node_id , location = signode )
166
166
167
167
if 'no-index-entry' not in self .options :
168
- indextext = self .get_index_text (mod_name , name_obj ) # type: ignore[arg-type]
169
- if indextext :
168
+ if index_text := self .get_index_text (mod_name , name_obj ):
170
169
self .indexnode ['entries' ].append ((
171
170
'single' ,
172
- indextext ,
171
+ index_text ,
173
172
node_id ,
174
173
'' ,
175
174
None ,
@@ -333,6 +332,7 @@ class JSModule(SphinxDirective):
333
332
final_argument_whitespace = False
334
333
option_spec : ClassVar [OptionSpec ] = {
335
334
'no-index' : directives .flag ,
335
+ 'no-index-entry' : directives .flag ,
336
336
'no-contents-entry' : directives .flag ,
337
337
'no-typesetting' : directives .flag ,
338
338
'noindex' : directives .flag ,
@@ -365,9 +365,12 @@ def run(self) -> list[Node]:
365
365
)
366
366
367
367
# The node order is: index node first, then target node
368
- indextext = _ ('%s (module)' ) % mod_name
369
- inode = addnodes .index (entries = [('single' , indextext , node_id , '' , None )])
370
- ret .append (inode )
368
+ if 'no-index-entry' not in self .options :
369
+ index_text = _ ('%s (module)' ) % mod_name
370
+ inode = addnodes .index (
371
+ entries = [('single' , index_text , node_id , '' , None )]
372
+ )
373
+ ret .append (inode )
371
374
target = nodes .target ('' , '' , ids = [node_id ], ismod = True )
372
375
self .state .document .note_explicit_target (target )
373
376
ret .append (target )
0 commit comments