@@ -29,8 +29,7 @@ use_autoapi = {{use_autoapi}} # noqa: F821
2929# Standardized below #
3030######################
3131extensions = [
32- "myst_parser",
33- "sphinx.ext.viewcode",
32+ "myst_nb",
3433 "sphinx.ext.napoleon",
3534 "sphinx_design",
3635 "sphinx_copybutton",
@@ -41,7 +40,19 @@ extensions = [
4140]
4241if use_autoapi in (True, None):
4342 # add if it is set to true or if it is set to None
44- extensions.append("autoapi.extension")
43+ # NOTE: bug in autoapi that requires
44+ # viewcode to come after
45+ extensions.extend([
46+ "autoapi.extension",
47+ "sphinx.ext.viewcode",
48+ ])
49+ else:
50+ # NOTE: bug in autoapi that requires
51+ # viewcode to come after
52+ extensions.append([
53+ "sphinx.ext.viewcode",
54+ ])
55+
4556
4657os.environ["SPHINX_BUILDING"] = "1"
4758html_theme = "{{theme}}"
@@ -50,19 +61,32 @@ html_static_path = []
5061html_css_files = [
5162 "styles/custom.css",
5263]
64+ html_js_files = [
65+ "js/custom.js",
66+ ]
67+
5368master_doc = "index"
5469templates_path = ["_templates"]
5570source_suffix = [".rst", ".md"]
5671exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "node_modules", "_skbuild", ".pytest_cache", "js/*"]
5772language = "en"
5873pygments_style = "sphinx"
74+
75+ # myst / myst-nb
76+ myst_enable_extensions = ["colon_fence"]
77+ jupyter_execute_notebooks = "{{jupyter_execute_notebooks}}"
78+ execution_excludepatterns = {{execution_excludepatterns}}
79+
80+ # autosummary
5981autosummary_generate = True
82+
83+ # autoapi
6084autoapi_dirs = [module]
6185autoapi_python_class_content = "both"
62- myst_enable_extensions = ["colon_fence"]
63- autodoc_default_options = {
64- "show-inheritance": True,
65- }
86+ autoapi_add_toctree_entry = use_autoapi is True
87+
88+ # autodoc/autodoc-pydantic
89+ autodoc_default_options = {"show-inheritance": True }
6690autodoc_pydantic_model_show_config_summary = {{autodoc_pydantic_model_show_config_summary}} # noqa: F821
6791autodoc_pydantic_model_show_validator_summary = {{autodoc_pydantic_model_show_validator_summary}} # noqa: F821
6892autodoc_pydantic_model_show_validator_members = {{autodoc_pydantic_model_show_validator_members}} # noqa: F821
@@ -71,7 +95,7 @@ autodoc_pydantic_field_show_constraints = {{autodoc_pydantic_field_show_constrai
7195autodoc_pydantic_model_member_order = {{autodoc_pydantic_model_member_order}} # noqa: F821
7296autodoc_pydantic_model_show_json = {{autodoc_pydantic_model_show_json}} # noqa: F821
7397autodoc_pydantic_settings_show_json = {{autodoc_pydantic_settings_show_json}} # noqa: F821
74- autoapi_add_toctree_entry = use_autoapi is True
98+
7599toctree_base = """{toctree}
76100---
77101caption: ""
@@ -94,36 +118,12 @@ def run_copycname(_):
94118 if cname:
95119 out.write_text(cname)
96120
97- def run_create_version_marker_to_be_committed (_):
121+ def run_create_previous_version_markdown (_):
98122 versions_folder = Path("{{source_dir}}") / "docs" / "versions"
99123 if not versions_folder.exists():
100124 versions_folder.mkdir(parents=True, exist_ok=True)
101- version_file = versions_folder / f"{version}.txt"
102- version_file.write_text("commit this file to ensure these docs can be referenced in the future")
103-
104- def run_create_older_version_docs(_):
105- versions_folder = Path("{{source_dir}}") / "docs" / "versions"
106- if not versions_folder.exists():
107- # no older versions yet
108- return
109- all_versions = [f.replace(".txt", "") for f in os.listdir(str(versions_folder)) if f.endswith(".txt")]
110- all_versions_as_versions = []
111- invalid_version = Version("999.999.999")
112- for version in all_versions:
113- try:
114- all_versions_as_versions.append(Version(version))
115- except BaseException:
116- all_versions_as_versions.append(invalid_version)
117- all_versions_as_versions.sort(reverse=True)
118- out = Path("{{source_dir}}") / "docs" / "versions" / "versions.md"
119- out.write_text("# Previous Versions\n\n")
120- for i, older_version in enumerate(all_versions_as_versions):
121- if older_version != invalid_version and str(older_version) in all_versions:
122- older_version_literal = str(older_version)
123- with out.open("a") as outfile:
124- outfile.write(f"- [{older_version_literal}]({docs_host_root}/{name}/{older_version_literal}/)\n")
125- with out.open("a") as outfile:
126- outfile.write("\n")
125+ version_file = versions_folder / "version.md"
126+ version_file.write_text("# Previous Versions")
127127
128128def run_add_version_links_to_toctree(app, doctree):
129129 from sphinx.addnodes import toctree
@@ -148,8 +148,7 @@ def run_add_version_links_to_toctree(app, doctree):
148148 nodes[-1]["includefiles"].append(toc_entry)
149149
150150def setup(app):
151- {# app.connect("builder-inited", run_create_older_version_docs) #}
152- {# app.connect("builder-inited", run_create_version_marker_to_be_committed) #}
151+ {# app.connect("builder-inited", run_create_previous_version_markdown) #}
153152 app.connect("builder-inited", run_copyreadme)
154153 app.connect("builder-inited", run_copycname)
155154 {# app.connect("doctree-read", run_add_version_links_to_toctree, priority=500) #}
0 commit comments