@@ -154,6 +154,22 @@ def picker_label(self):
154154 return f"pre ({ self .name } )"
155155 return self .name
156156
157+ def setup_indexsidebar (self , dest_path ):
158+ """Build indexsidebar.html for Sphinx."""
159+ with open (
160+ HERE / "templates" / "indexsidebar.html" , encoding = "UTF-8"
161+ ) as sidebar_template_file :
162+ sidebar_template = jinja2 .Template (sidebar_template_file .read ())
163+ with open (dest_path , "w" , encoding = "UTF-8" ) as sidebar_file :
164+ sidebar_file .write (
165+ sidebar_template .render (
166+ current_version = self ,
167+ versions = sorted (
168+ VERSIONS , key = lambda v : version_to_tuple (v .name ), reverse = True
169+ ),
170+ )
171+ )
172+
157173
158174Language = namedtuple (
159175 "Language" , ["tag" , "iso639_tag" , "name" , "in_prod" , "sphinxopts" ]
@@ -401,23 +417,6 @@ def edit(file: Path):
401417 temporary .rename (file )
402418
403419
404- def setup_indexsidebar (dest_path , current_version ):
405- """Build indexsidebar.html for Sphinx."""
406- with open (
407- HERE / "templates" / "indexsidebar.html" , encoding = "UTF-8"
408- ) as sidebar_template_file :
409- sidebar_template = jinja2 .Template (sidebar_template_file .read ())
410- with open (dest_path , "w" , encoding = "UTF-8" ) as sidebar_file :
411- sidebar_file .write (
412- sidebar_template .render (
413- current_version = current_version ,
414- versions = sorted (
415- VERSIONS , key = lambda v : version_to_tuple (v .name ), reverse = True
416- ),
417- )
418- )
419-
420-
421420def setup_switchers (html_root : Path ):
422421 """Setup cross-links between cpython versions:
423422 - Cross-link various languages in a language switcher
@@ -722,9 +721,8 @@ def build(self):
722721 self .checkout / "Doc" / "Makefile" ,
723722 ]
724723 )
725- setup_indexsidebar (
726- self .checkout / "Doc" / "tools" / "templates" / "indexsidebar.html" ,
727- self .version ,
724+ self .version .setup_indexsidebar (
725+ self .checkout / "Doc" / "tools" / "templates" / "indexsidebar.html"
728726 )
729727 run (
730728 [
0 commit comments