diff --git a/docs/pyproject.toml b/docs/pyproject.toml index 89a50c71183c4..5dceea95223f6 100644 --- a/docs/pyproject.toml +++ b/docs/pyproject.toml @@ -10,4 +10,5 @@ dependencies = [ "maturin>=1.14.1,<2", "jinja2>=3.1.6,<4", "setuptools>=84.0.0,<85", + "sphinx-sitemap>=2.9.0,<3", ] diff --git a/docs/source/conf.py b/docs/source/conf.py index c8027fc71bd54..81ffce3ad1c2b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -55,6 +55,7 @@ "myst_parser", "sphinx_reredirects", "rustdoc_trim", + "sphinx_sitemap", ] source_suffix = { @@ -89,8 +90,8 @@ html_theme_options = { "logo": { - "image_light": "_static/images/original.svg", - "image_dark": "_static/images/original_dark.svg", + "image_light": "_static/images/original.svg", + "image_dark": "_static/images/original_dark.svg", }, "use_edit_page_button": True, "navbar_center": [], @@ -113,6 +114,18 @@ # resolve at the conventional URL `https://datafusion.apache.org/llms.txt`. html_extra_path = ["llms.txt"] +# Base URL of the published site. Required by sphinx-sitemap to build +# absolute entries in the generated sitemap.xml. +html_baseurl = "https://datafusion.apache.org/" + +# The site is published as a single flat, single-language tree (see +# .github/workflows/docs.yaml, which rsyncs docs/build/html/ straight to the +# site root) — there is no /en/ or version path segment. Override +# sphinx-sitemap's default "{lang}{version}{link}" scheme, which assumes a +# Read the Docs-style multi-language/multi-version layout, so entries +# match the real URLs instead of a nonexistent /en/... prefix. +sitemap_url_scheme = "{link}" + html_logo = "_static/images/2x_bgwhite_original.png" html_css_files = ["theme_overrides.css"] diff --git a/uv.lock b/uv.lock index 61544a5b66f76..61dba57e516d4 100644 --- a/uv.lock +++ b/uv.lock @@ -341,6 +341,7 @@ dependencies = [ { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, { name = "sphinx-reredirects" }, + { name = "sphinx-sitemap" }, ] [package.metadata] @@ -352,6 +353,7 @@ requires-dist = [ { name = "setuptools", specifier = ">=84.0.0,<85" }, { name = "sphinx", specifier = ">=9,<10" }, { name = "sphinx-reredirects", specifier = ">=1.1,<2" }, + { name = "sphinx-sitemap", specifier = ">=2.9.0,<3" }, ] [[package]] @@ -1037,6 +1039,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/73/f7/b1884cb3188ab181fc81fa00c266699dab600f927a964df02ec3d5d1916a/sphinx-9.1.0-py3-none-any.whl", hash = "sha256:c84fdd4e782504495fe4f2c0b3413d6c2bf388589bb352d439b2a3bb99991978", size = 3921742, upload-time = "2025-12-31T15:09:25.561Z" }, ] +[[package]] +name = "sphinx-last-updated-by-git" +version = "0.3.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/03/fd/de1685b6dab173dff31da24e0d3b29f02873fc24a1cdbb7678721ddc8581/sphinx_last_updated_by_git-0.3.8.tar.gz", hash = "sha256:c145011f4609d841805b69a9300099fc02fed8f5bb9e5bcef77d97aea97b7761", size = 10785, upload-time = "2024-08-11T07:15:54.601Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/fb/e496f16fa11fbe2dbdd0b5e306ede153dfed050aae4766fc89d500720dc7/sphinx_last_updated_by_git-0.3.8-py3-none-any.whl", hash = "sha256:6382c8285ac1f222483a58569b78c0371af5e55f7fbf9c01e5e8a72d6fdfa499", size = 8580, upload-time = "2024-08-11T07:15:53.244Z" }, +] + [[package]] name = "sphinx-reredirects" version = "1.1.0" @@ -1050,6 +1065,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/51/81/b5dd07067f3daac6d23687ec737b2d593740671ebcd145830c8f92d381c5/sphinx_reredirects-1.1.0-py3-none-any.whl", hash = "sha256:4b5692273c72cd2d4d917f4c6f87d5919e4d6114a752d4be033f7f5f6310efd9", size = 6351, upload-time = "2025-12-22T08:27:59.724Z" }, ] +[[package]] +name = "sphinx-sitemap" +version = "2.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx-last-updated-by-git" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/17/56fe0f65e3567f829b2b4153a622be1d4b222b781e0d90d7db5a7738f30f/sphinx_sitemap-2.9.0.tar.gz", hash = "sha256:70f97bcdf444e3d68e118355cf82a1f54c4d3c03d651cd17fe87398b26e25e21", size = 6978, upload-time = "2025-10-06T00:24:00.036Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/94/3c57e8b1985e755c48972e2ecd59526d4bf0b52a1fe805bc52a8e98cb92d/sphinx_sitemap-2.9.0-py3-none-any.whl", hash = "sha256:f1f1d3a9ad012ba17a7ef0b560d303bff2d0db26647567d6e810bcc754466664", size = 6218, upload-time = "2025-10-06T00:23:58.778Z" }, +] + [[package]] name = "sphinxcontrib-applehelp" version = "2.0.0"