@@ -242,12 +242,14 @@ def render_class_html(class_data: dict, parent_name: str, import_path: str, reso
242242 continue
243243 fds = fdata .get ("docstring_parsed" )
244244 desc = resolver .all_links (fds .get ("short_description" , "" )) if fds else ""
245+ # Link to the method's own child page (relative), not the global links dict
246+ local_link = f'<a href="{ fname .lower ()} /">{ fname } </a>'
245247 if fdata .get ("is_property" ):
246- properties .append ({"name_link" : resolver . type_link ( fname ) , "description" : desc })
248+ properties .append ({"name_link" : local_link , "description" : desc })
247249 else :
248250 methods .append (
249251 {
250- "name_link" : resolver . type_link ( fname ) ,
252+ "name_link" : local_link ,
251253 "signature" : _function_signature (fdata ),
252254 "description" : desc ,
253255 }
@@ -263,7 +265,9 @@ def render_module_html(module_data: dict, resolver: LinkResolver) -> str:
263265 for obj_name , obj_data in module_data .items ():
264266 if obj_name == "kind" or not isinstance (obj_data , dict ):
265267 continue
266- entries .append ({"kind" : obj_data .get ("kind" , "" ), "name_link" : resolver .type_link (obj_name )})
268+ # Link to the child page (relative), not the global links dict
269+ local_link = f'<a href="{ obj_name .lower ()} /">{ obj_name } </a>'
270+ entries .append ({"kind" : obj_data .get ("kind" , "" ), "name_link" : local_link })
267271 return _MODULE_TPL .render (entries = entries )
268272
269273
@@ -333,34 +337,34 @@ def _pass1(data_root: dict, dir_root: Path, api_ref_root: str, module_import_pat
333337 obj_module_import_path = obj_module_import_path .replace (".functions" , "" )
334338
335339 if kind == "module" :
340+ (dir_root / name ).mkdir (exist_ok = True )
336341 if name not in links :
337- (dir_root / name ).mkdir (exist_ok = True )
338342 links [name ] = {"path" : f"{ api_ref_root } /{ name } " .lower (), "kind" : "function" }
339- pages .append (
340- _PageSpec (
341- kind = "module" ,
342- name = name ,
343- parent_name = "" ,
344- import_path = obj_module_import_path ,
345- file_path = dir_root / name / "_index.md" ,
346- data = obj ,
347- )
343+ pages .append (
344+ _PageSpec (
345+ kind = "module" ,
346+ name = name ,
347+ parent_name = "" ,
348+ import_path = obj_module_import_path ,
349+ file_path = dir_root / name / "_index.md" ,
350+ data = obj ,
348351 )
352+ )
349353
350354 elif kind == "class" :
355+ (dir_root / name ).mkdir (exist_ok = True )
351356 if name not in links :
352- (dir_root / name ).mkdir (exist_ok = True )
353357 links [name ] = {"path" : f"{ api_ref_root } /{ name } " .lower (), "kind" : "class" }
354- pages .append (
355- _PageSpec (
356- kind = "class" ,
357- name = name ,
358- parent_name = module_import_path .split ("." )[- 1 ],
359- import_path = obj_module_import_path ,
360- file_path = dir_root / name / "_index.md" ,
361- data = obj ,
362- )
358+ pages .append (
359+ _PageSpec (
360+ kind = "class" ,
361+ name = name ,
362+ parent_name = module_import_path .split ("." )[- 1 ],
363+ import_path = obj_module_import_path ,
364+ file_path = dir_root / name / "_index.md" ,
365+ data = obj ,
363366 )
367+ )
364368
365369 elif name == "functions" :
366370 for func_name in obj :
0 commit comments