@@ -34,11 +34,12 @@ def get_version():
3434
3535extensions = [
3636 "sphinx.ext.autodoc" ,
37- "sphinx.ext.autosummary" ,
37+ "sphinx.ext.autosummary" ,
3838 "sphinx.ext.viewcode" ,
3939 "sphinx.ext.napoleon" ,
4040 "sphinx.ext.intersphinx" ,
4141 "sphinx.ext.githubpages" ,
42+ "sphinx_multiversion" ,
4243]
4344
4445# Napoleon settings for Google-style docstrings
@@ -96,3 +97,32 @@ def get_version():
9697 "source_branch" : "master" ,
9798 "source_directory" : "docs/" ,
9899}
100+
101+ # Sidebar templates
102+ html_sidebars = {
103+ "**" : [
104+ "sidebar/brand.html" ,
105+ "sidebar/search.html" ,
106+ "sidebar/scroll-start.html" ,
107+ "sidebar/navigation.html" ,
108+ "versioning.html" ,
109+ "sidebar/scroll-end.html" ,
110+ ]
111+ }
112+
113+ # -- Sphinx-multiversion configuration ----------------------------------------
114+
115+ # Whitelist pattern for tags (semantic versioning: vX.Y.Z)
116+ smv_tag_whitelist = r"^v\d+\.\d+\.\d+$" # Match vX.Y.Z tags
117+
118+ # Whitelist pattern for branches
119+ smv_branch_whitelist = r"^master$" # Only build master branch
120+
121+ # Whitelist pattern for remotes
122+ smv_remote_whitelist = r"^origin$" # Only build from origin remote
123+
124+ # Output all versions to the root directory
125+ smv_outputdir_format = "{ref.name}"
126+
127+ # Specify the latest version (used for stable redirect)
128+ smv_latest_version = "master"
0 commit comments