This is an automated email from the ASF dual-hosted git repository.
jiayu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/sedona-spatialbench.git
The following commit(s) were added to refs/heads/main by this push:
new 426338b Unify navigation bar and theme with main Apache Sedona site
(#88)
426338b is described below
commit 426338baa511fc6eff71e76638aa904d4660263c
Author: Jia Yu <[email protected]>
AuthorDate: Mon Feb 9 03:13:23 2026 -0700
Unify navigation bar and theme with main Apache Sedona site (#88)
* Unify navigation bar and theme with main Apache Sedona site
- Update nav tabs to match main site: Home, SedonaDB, SedonaSpark,
SedonaFlink, SedonaSnow, SpatialBench, Blog, Community, ASF
- Add custom theme overrides (header, footer, nav, copyright partials)
- Add announcement bar auto-synced from sedona.apache.org
- Update CSS to match main site styling (header layout, fonts, footer)
- Update logo to full Apache Sedona wordmark
* Add 2026
---
docs/image/footer/logo-footer.svg | 10 +
docs/image/header/logo-mobile.svg | 10 +
docs/image/logo.svg | 10 +
docs/overrides/main.html | 83 ++++++++
docs/overrides/partials/copyright.html | 29 +++
docs/overrides/partials/footer.html | 42 ++++
docs/overrides/partials/header.html | 126 ++++++++++++
docs/overrides/partials/nav.html | 56 ++++++
docs/stylesheets/extra.css | 357 +++++++++++++++++++++++++++------
mkdocs.yml | 14 +-
10 files changed, 672 insertions(+), 65 deletions(-)
diff --git a/docs/image/footer/logo-footer.svg
b/docs/image/footer/logo-footer.svg
new file mode 100644
index 0000000..5aa7d42
--- /dev/null
+++ b/docs/image/footer/logo-footer.svg
@@ -0,0 +1,10 @@
+<svg width="172" height="30" viewBox="0 0 172 30" fill="none"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<rect x="0.000488281" width="27.233" height="28.9052"
fill="url(#pattern0_191_468)"/>
+<path d="M35.427 24.627L39.1693 11.5288H42.7245L46.4482 24.627H44.3712L43.5104
21.5395H38.3835L37.5227 24.627H35.427ZM38.8887 19.6684H43.0052L41.0966
12.7825H40.7973L38.8887 19.6684ZM47.9046
28.3693V15.4021H49.7945V16.7307H50.0938C50.3309 16.319 50.6864 15.951 51.1604
15.6267C51.6469 15.3023 52.3392 15.1402 53.2374 15.1402C54.0108 15.1402 54.7156
15.3273 55.3518 15.7015C56.0005 16.0758 56.5182 16.6184 56.9049 17.3294C57.3041
18.028 57.5036 18.8763 57.5036 19.8742V20.1549C57.5036 21.1528 [...]
+<defs>
+<pattern id="pattern0_191_468" patternContentUnits="objectBoundingBox"
width="1" height="1">
+<use xlink:href="#image0_191_468" transform="matrix(0.00166829 0 0 0.00157178
0 -0.00218415)"/>
+</pattern>
+<image id="image0_191_468" width="4096" height="639"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAEAAAAAJ/CAYAAAD4lhbkAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Xmc3XV5L/Dne87MJGwhmcmCyUwImTNBU0QttlZbK9faW2spta1arVatvbhUrFgRC9oq4IKCKHVtEbXV9lbqUreiVlrUq7cbvdfaRpKZLGQmY0ImExDIMjPnfG9zXboIMjOZOef3O+fNX7xe+X6f5/O8vz/gr/OQwl8ECCyawMTaTQ9O1cbzbx4decXTIuqL1khhAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKL5BKP4EBCBRUYO+as0
[...]
+</defs>
+</svg>
diff --git a/docs/image/header/logo-mobile.svg
b/docs/image/header/logo-mobile.svg
new file mode 100644
index 0000000..7c6d95b
--- /dev/null
+++ b/docs/image/header/logo-mobile.svg
@@ -0,0 +1,10 @@
+<svg width="132" height="83" viewBox="0 0 132 83" fill="none"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<rect x="0.000976562" y="7.62939e-06" width="41.5303" height="44.0804"
fill="url(#pattern0_122_2790)"/>
+<path d="M0.809488 77.089L4.40949 64.489H7.82949L11.4115
77.089H9.41349L8.58549 74.119H3.65349L2.82549 77.089H0.809488ZM4.13949
72.319H8.09949L6.26349 65.695H5.97549L4.13949 72.319ZM12.8125
80.689V68.215H14.6305V69.493H14.9185C15.1465 69.097 15.4885 68.743 15.9445
68.431C16.4125 68.119 17.0785 67.963 17.9425 67.963C18.6865 67.963 19.3645
68.143 19.9765 68.503C20.6005 68.863 21.0985 69.385 21.4705 70.069C21.8545
70.741 22.0465 71.557 22.0465 72.517V72.787C22.0465 73.747 21.8605 74.569 21.
[...]
+<defs>
+<pattern id="pattern0_122_2790" patternContentUnits="objectBoundingBox"
width="1" height="1">
+<use xlink:href="#image0_122_2790" transform="matrix(0.00166829 0 0 0.00157178
0 -0.00218415)"/>
+</pattern>
+<image id="image0_122_2790" width="4096" height="639"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAEAAAAAJ/CAYAAAD4lhbkAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Xm45GdVJ/DvubezdN+q290JiRgUBnEQUNwV0UGeURwRMaKCgiCgDiqCEiQEA6gkYQkQlggoGnBFR5BFNlkUBR0c93kYVBQUcMuThZDuqrrdWfrWOzYwIyqQu9St+lXVp//iIe97zvd83oL89Ttd8YcAgT0TaIPBnZJ8X/r9x1fV5p41UpgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbkXqLmfwAAEOirQrrpqLQcOXJSq+6bqvOr13
[...]
+</defs>
+</svg>
diff --git a/docs/image/logo.svg b/docs/image/logo.svg
new file mode 100644
index 0000000..958f47c
--- /dev/null
+++ b/docs/image/logo.svg
@@ -0,0 +1,10 @@
+<svg width="212" height="39" viewBox="0 0 212 39" fill="none"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<rect x="0.000488281" y="0.848839" width="33.5662" height="35.6273"
fill="url(#pattern0_141_148)"/>
+<path d="M43.7356 31.017L48.3483 14.8728H52.7302L57.3198
31.017H54.7598L53.6989 27.2116H47.3796L46.3187 31.017H43.7356ZM48.0023
24.9053H53.0762L50.7238 16.4181H50.3547L48.0023 24.9053ZM59.115
35.6297V19.6469H61.4443V21.2844H61.8133C62.1055 20.777 62.5437 20.3234 63.1279
19.9237C63.7276 19.5239 64.5809 19.324 65.6879 19.324C66.6412 19.324 67.5099
19.5547 68.2941 20.0159C69.0936 20.4772 69.7317 21.146 70.2083 22.0224C70.7003
22.8834 70.9463 23.929 70.9463 25.159V25.5049C70.9463 26.735 70.7 [...]
+<defs>
+<pattern id="pattern0_141_148" patternContentUnits="objectBoundingBox"
width="1" height="1">
+<use xlink:href="#image0_141_148" transform="matrix(0.00166829 0 0 0.00157178
0 -0.00218415)"/>
+</pattern>
+<image id="image0_141_148" width="4096" height="639"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAEAAAAAJ/CAYAAAD4lhbkAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Xmc3XV5L/Dne87MJGwhmcmCyUwImTNBU0QttlZbK9faW2spta1arVatvbhUrFgRC9oq4IKCKHVtEbXV9lbqUreiVlrUq7cbvdfaRpKZLGQmY0ImExDIMjPnfG9zXboIMjOZOef3O+fNX7xe+X6f5/O8vz/gr/OQwl8ECCyawMTaTQ9O1cbzbx4decXTIuqL1khhAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKL5BKP4EBCBRUYO+as0
[...]
+</defs>
+</svg>
diff --git a/docs/overrides/main.html b/docs/overrides/main.html
new file mode 100644
index 0000000..8533d72
--- /dev/null
+++ b/docs/overrides/main.html
@@ -0,0 +1,83 @@
+{#-
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-#}
+{% extends "base.html" %}
+
+{% block header %}
+ <div id="announcement-bar"></div>
+ {{ super() }}
+ <script>
+ (function () {
+ // Fetch the main Sedona site and extract its announcement bar
+ fetch("https://sedona.apache.org/latest/")
+ .then(function (res) {
+ if (!res.ok) throw new Error("Failed to fetch");
+ return res.text();
+ })
+ .then(function (html) {
+ var parser = new DOMParser();
+ var doc = parser.parseFromString(html, "text/html");
+ // The announcement bar is the first div inside <body> before the
header,
+ // styled with inline background: #CA463A
+ var candidates = doc.querySelectorAll("body > div, header > div,
.md-header ~ div, body > .md-banner");
+ var announcement = null;
+
+ // Strategy 1: Look for a div with the Sedona red background color
+ for (var i = 0; i < candidates.length; i++) {
+ var style = candidates[i].getAttribute("style") || "";
+ if (style.indexOf("CA463A") !== -1 || style.indexOf("ca463a") !==
-1) {
+ announcement = candidates[i];
+ break;
+ }
+ }
+
+ // Strategy 2: Check for Material's built-in announcement banner
+ if (!announcement) {
+ announcement = doc.querySelector(".md-banner");
+ }
+
+ // Strategy 3: Check first child of body if it's a div with a link
+ if (!announcement) {
+ var first = doc.body.firstElementChild;
+ if (first && first.tagName === "DIV" && first.querySelector("a")) {
+ var bg = first.style.backgroundColor ||
first.getAttribute("style") || "";
+ if (bg && first.textContent.trim().length > 0) {
+ announcement = first;
+ }
+ }
+ }
+
+ if (announcement) {
+ var bar = document.getElementById("announcement-bar");
+ // Fix relative links to point to the main site
+ var links = announcement.querySelectorAll("a");
+ for (var j = 0; j < links.length; j++) {
+ var href = links[j].getAttribute("href");
+ if (href && !href.startsWith("http") && !href.startsWith("//")) {
+ links[j].setAttribute("href", "/latest/" + href.replace(/^\//,
""));
+ }
+ }
+ bar.innerHTML = announcement.outerHTML;
+ }
+ })
+ .catch(function () {
+ // Silently fail — no announcement bar shown
+ });
+ })();
+ </script>
+{% endblock %}
diff --git a/docs/overrides/partials/copyright.html
b/docs/overrides/partials/copyright.html
new file mode 100644
index 0000000..caec7fa
--- /dev/null
+++ b/docs/overrides/partials/copyright.html
@@ -0,0 +1,29 @@
+{#-
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-#}
+<div class="md-copyright">
+ {% if config.copyright %}
+ {{ config.copyright }}
+ {% endif %}
+ {% if not config.extra.generator == false %}
+ Made with
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank"
rel="noopener">
+ Material for MkDocs
+ </a>
+ {% endif %}
+</div>
diff --git a/docs/overrides/partials/footer.html
b/docs/overrides/partials/footer.html
new file mode 100644
index 0000000..ba539fe
--- /dev/null
+++ b/docs/overrides/partials/footer.html
@@ -0,0 +1,42 @@
+{#-
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-#}
+<footer class="footer md-footer">
+ <div class="container">
+
+ <div class="footer__top">
+
+ <div class="col-left">
+ <img src="{{ 'image/footer/logo-footer.svg' | url }}" alt=""
class="footer-logo">
+ </div>
+
+ <div class="col-right">
+ {% if config.extra.social %}
+ {% include "partials/social.html" %}
+ {% endif %}
+ </div>
+ </div>
+
+ <hr class="footer-hr"></hr>
+
+ <div class="footer__bot">
+ {% include "partials/copyright.html" %}
+ </div>
+
+ </div>
+</footer>
diff --git a/docs/overrides/partials/header.html
b/docs/overrides/partials/header.html
new file mode 100644
index 0000000..948b752
--- /dev/null
+++ b/docs/overrides/partials/header.html
@@ -0,0 +1,126 @@
+<!--
+ Copyright (c) 2016-2025 Martin Donath <[email protected]>
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+-->
+
+<!-- Determine classes -->
+{% set class = "md-header" %}
+{% if "navigation.tabs.sticky" in features %}
+{% set class = class ~ " md-header--shadow md-header--lifted" %}
+{% elif "navigation.tabs" not in features %}
+{% set class = class ~ " md-header--shadow" %}
+{% endif %}
+
+<!-- Header -->
+<header class="{{ class }}" data-md-component="header">
+ <nav
+ class="md-header__inner md-grid container"
+ aria-label="{{ lang.t('header') }}"
+ >
+ <div class="left-part">
+
+ <!-- Button to open drawer -->
+ <label class="md-header__button md-icon" for="__drawer">
+ {% set icon = config.theme.icon.menu or "material/menu" %}
+ {% include ".icons/" ~ icon ~ ".svg" %}
+ </label>
+
+ <!-- Link to home -->
+ <a
+ href="{{ config.extra.homepage | d(nav.homepage.url, true) | url }}"
+ title="{{ config.site_name | e }}"
+ class="header-logo"
+ aria-label="{{ config.site_name }}"
+ data-md-component="logo"
+ >
+ {% include "partials/logo.html" %}
+ </a>
+
+ <!-- Header title -->
+ <div class="md-header__title" data-md-component="header-title">
+ <div class="md-header__ellipsis">
+ <div class="md-header__topic">
+ <span class="md-ellipsis">
+ {{ config.site_name }}
+ </span>
+ </div>
+ <div class="md-header__topic" data-md-component="header-topic">
+ <span class="md-ellipsis">
+ {% if page.meta and page.meta.title %}
+ {{ page.meta.title }}
+ {% else %}
+ {{ page.title }}
+ {% endif %}
+ </span>
+ </div>
+ </div>
+ </div>
+
+ <!-- Color palette toggle -->
+ {% if config.theme.palette %}
+ {% if not config.theme.palette is mapping %}
+ {% include "partials/palette.html" %}
+ {% endif %}
+ {% endif %}
+
+ <!-- User preference: color palette -->
+ {% if not config.theme.palette is mapping %}
+ {% include "partials/javascripts/palette.html" %}
+ {% endif %}
+
+ <!-- Site language selector -->
+ {% if config.extra.alternate %}
+ {% include "partials/alternate.html" %}
+ {% endif %}
+ </div>
+ <div class="right-part">
+
+ <!-- Button to open search modal -->
+ {% if "material/search" in config.plugins %}
+ {% set search = config.plugins["material/search"] | attr("config") %}
+
+ <!-- Check if search is actually enabled - see https://t.ly/DT_0V -->
+ {% if search.enabled %}
+ <label class="md-header__button md-icon btn-search" for="__search">
+ {% set icon = config.theme.icon.search or "material/magnify" %}
+ {% include ".icons/" ~ icon ~ ".svg" %}
+ </label>
+
+ <!-- Search interface -->
+ {% include "partials/search.html" %}
+ {% endif %}
+ {% endif %}
+
+ <!-- Repository information -->
+ {% if config.repo_url %}
+ <div class="md-header__source">
+ {% include "partials/source.html" %}
+ </div>
+ {% endif %}
+ </div>
+ </nav>
+
+ <!-- Navigation tabs (sticky) -->
+ {% if "navigation.tabs.sticky" in features %}
+ {% if "navigation.tabs" in features %}
+ {% include "partials/tabs.html" %}
+ {% endif %}
+ {% endif %}
+</header>
diff --git a/docs/overrides/partials/nav.html b/docs/overrides/partials/nav.html
new file mode 100644
index 0000000..6190a17
--- /dev/null
+++ b/docs/overrides/partials/nav.html
@@ -0,0 +1,56 @@
+{#-
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-#}
+{% import "partials/nav-item.html" as item with context %}
+{% set class = "md-nav md-nav--primary" %}
+{% if "navigation.tabs" in features %}
+{% set class = class ~ " md-nav--lifted" %}
+{% endif %}
+{% if "toc.integrate" in features %}
+{% set class = class ~ " md-nav--integrated" %}
+{% endif %}
+
+
+<nav class="{{ class }}" aria-label="{{ lang.t('nav') }}" data-md-level="0">
+
+ <label class="md-nav__title" for="__drawer">
+ <a href="{{ config.extra.homepage | d(nav.homepage.url, true) | url }}"
title="{{ config.site_name | e }}" class="logo-link" aria-label="{{
config.site_name }}" data-md-component="logo">
+ <img src="{{ 'image/header/logo-mobile.svg' | url }}" alt=""
class="logo">
+ </a>
+ </label>
+
+ {% if config.repo_url %}
+ <div class="md-nav__source">
+ {% include "partials/source.html" %}
+ </div>
+ {% endif %}
+
+ <ul class="md-nav__list" data-md-scrollfix>
+ {% for nav_item in nav %}
+ {% set path = "__nav_" ~ loop.index %}
+ {{ item.render(nav_item, path, 1) }}
+ {% endfor %}
+
+ <li class="btn-group">
+ <a href="#" class="btn btn-red">
+ Get started
+ </a>
+ </li>
+
+ </ul>
+</nav>
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index 32a30f6..a9344db 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -1,108 +1,349 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/
+
/* ==========================================================================
- Global Color and Font Variables
+ Variables (from _vars.scss)
==========================================================================
*/
:root {
--color-red: #CA463A;
+ --color-red-hover: #EA5547;
--color-white: #fff;
--color-dark: #1C1C1C;
- --font-inter: "Inter",
- sans-serif;
+ --color-light-blue: #E2ECF3;
+ --color-violet: #7142FF;
+ --font-inter: 'Inter', sans-serif;
}
/* ==========================================================================
- Header Styles
+ Container (from _header.scss)
==========================================================================
*/
+.container {
+ max-width: 1170px;
+ width: 100%;
+ padding-left: 24px;
+ padding-right: 24px;
+ margin-left: auto;
+ margin-right: auto;
+}
-/* Main header container (the top black bar) */
+/* ==========================================================================
+ Header (from _header.scss)
+ ==========================================================================
*/
.md-header {
box-shadow: none;
background-color: var(--color-dark);
}
-/* Inner content of the header */
.md-header .md-header__inner {
background-color: var(--color-dark);
min-height: 80px;
+ padding: 0;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.md-header__inner .left-part {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.md-header__inner .right-part {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ gap: 32px;
+}
+
+@media (min-width: 1220px) {
+ .md-header__inner .right-part .md-search__inner {
+ max-width: 510px;
+ }
+}
+
+.md-header__inner .header-logo {
+ padding: 0;
+ margin: 0;
}
-/* Styles for the logo image */
-.md-header .md-header__inner .header-logo img,
-.md-header .md-header__inner .header-logo svg {
+.md-header__inner .header-logo img,
+.md-header__inner .header-logo svg {
height: 42px;
width: auto;
+ display: block;
+ object-fit: contain;
}
-/* --- Definitive Navigation CSS (Final Version) --- */
+.md-header__title {
+ font-size: 0;
+}
+
+/* Also target the default .md-logo */
+.md-header .md-logo img,
+.md-header .md-logo svg {
+ height: 42px;
+ width: auto;
+}
+
+/* Header mobile */
+@media (max-width: 1219px) {
+ .md-header .container {
+ padding-left: 18px;
+ padding-right: 18px;
+ }
+ .md-header .md-header__inner {
+ min-height: 60px;
+ }
+ .md-header__inner .header-logo img,
+ .md-header__inner .header-logo svg {
+ height: 23px;
+ }
+ .md-header__inner .right-part {
+ gap: 0;
+ }
+ .md-header__inner .right-part .btn-group {
+ display: none;
+ }
+ .md-header__inner .right-part .btn-search {
+ margin: 0;
+ }
+ .md-header .md-header__button {
+ width: 32px;
+ height: 32px;
+ padding: 0;
+ margin: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-right: 14px;
+ }
+ .md-header .md-header__button.btn-search {
+ display: none;
+ }
+}
+
+@media (max-width: 959px) {
+ .md-header .md-header__button.btn-search {
+ display: flex;
+ }
+}
-/* 1. Set the height of the main navigation bar */
+/* ==========================================================================
+ Navigation Tabs (from _header.scss)
+ ==========================================================================
*/
.md-tabs {
background-color: var(--color-red);
- height: 2.5rem; /* Set an explicit, predictable height for the bar */
}
-/* 2. Control the alignment of the links within the bar */
+.md-tabs .md-grid {
+ max-width: 100%;
+}
+
.md-tabs .md-tabs__list {
- height: 100%; /* Make the link container fill the bar's height */
- justify-content: center; /* Center links horizontally */
- align-items: center; /* NEW: Center links vertically */
- flex-wrap: wrap; /* Allow wrapping on small screens */
+ display: flex;
+ justify-content: center;
}
-/* 3. Style the individual navigation links */
-.md-tabs__link {
- font-weight: 400;
- color: rgba(255, 255, 255, 0.85);
- /* We no longer need vertical padding for spacing */
- padding: 0 0.4rem;
- font-size: 0.65rem; /* NEW: Adjust font size */
+.md-tabs .md-tabs__list .md-tabs__item a {
+ font-family: var(--font-inter);
+ font-style: normal;
+ font-weight: 500;
+ font-size: 14px;
+ line-height: 1.22;
+ color: var(--color-white);
}
/* ==========================================================================
- Logo Size Adjustment
+ Mobile Sidebar / Nav (from _header.scss)
==========================================================================
*/
+@media (max-width: 1219px) {
+ [dir=ltr] .md-sidebar--primary {
+ left: -280px;
+ }
+ [data-md-toggle=drawer]:checked ~ .md-container .md-sidebar--primary {
+ transform: translateX(280px);
+ }
+ .md-sidebar--primary {
+ width: 280px;
+ }
+ .md-sidebar--primary .md-nav--primary .md-nav__title[for=__drawer] {
+ background-color: var(--color-dark);
+ padding: 24px;
+ height: auto;
+ }
+ .md-sidebar--primary .md-nav--primary .md-nav__title[for=__drawer] img {
+ height: 82px;
+ width: auto;
+ display: block;
+ object-fit: contain;
+ }
+ .md-sidebar--primary .md-nav__source {
+ background-color: #000;
+ padding: 16px 24px;
+ }
+ .md-sidebar--primary .md-nav__source .md-source__icon svg {
+ margin-left: 0;
+ }
+ .md-sidebar--primary .md-nav__list,
+ .md-sidebar--primary .md-nav__title ~ .md-nav__list {
+ padding-bottom: 75px;
+ background-color: var(--color-dark);
+ }
+ .md-sidebar--primary .md-nav__list .md-nav__item,
+ .md-sidebar--primary .md-nav__title ~ .md-nav__list .md-nav__item {
+ border-bottom: 1px solid #323232;
+ }
+ .md-sidebar--primary .md-nav__list .md-nav__item .md-nav__link,
+ .md-sidebar--primary .md-nav__title ~ .md-nav__list .md-nav__item
.md-nav__link {
+ font-family: var(--font-inter);
+ font-style: normal;
+ font-weight: 400;
+ font-size: 16px;
+ line-height: 1.67;
+ align-items: center;
+ letter-spacing: 0.18px;
+ color: #FFFFFF;
+ padding-left: 24px;
+ padding-right: 24px;
+ padding-top: 12px;
+ padding-bottom: 12px;
+ min-height: 50px;
+ }
+ .md-sidebar--primary .md-nav__list .btn-group,
+ .md-sidebar--primary .md-nav__title ~ .md-nav__list .btn-group {
+ padding-left: 24px;
+ padding-right: 24px;
+ padding-top: 32px;
+ }
+ .md-sidebar--primary .md-nav__list .btn-group .btn,
+ .md-sidebar--primary .md-nav__title ~ .md-nav__list .btn-group .btn {
+ width: 100%;
+ }
+ .md-sidebar--primary .md-nav--primary .md-nav__title {
+ background-color: #000;
+ color: var(--color-white);
+ padding-left: 24px;
+ }
+}
-/*
- Targets the logo in the header, whether it's an SVG or a standard image file.
- Adjust the height value as needed to get the perfect size.
-*/
-.md-header .md-logo img,
-.md-header .md-logo svg {
- height: 42px; /* This should match the Apache Sedona logo size */
- width: auto; /* Ensures the width scales proportionally */
+/* Desktop sidebar */
+@media (min-width: 1220px) {
+ .md-sidebar--primary .btn-group {
+ display: none;
+ }
}
/* ==========================================================================
- Mobile Navigation Styles
+ Footer (from _footer.scss)
==========================================================================
*/
+.footer {
+ background-color: var(--color-dark);
+}
-/*
- Force the entire mobile navigation header to be black, overriding theme
defaults.
-*/
-.md-nav--primary .md-nav__title,
-.md-nav--primary .md-nav__source {
- background-color: var(--color-dark) !important;
+.footer .footer__top {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding-bottom: 32px;
+ padding-top: 64px;
+ gap: 48px;
+ flex-wrap: wrap;
}
-/* ==========================================================================
- Swap Logo ONLY in Mobile Navigation
- ==========================================================================
*/
+.footer .footer__top .footer-logo {
+ height: 30px;
+ width: auto;
+ display: block;
+ object-fit: contain;
+}
-/*
- Target the logo link (<a> tag) directly and apply the new logo
- as a background image, overriding the theme's default icon.
-*/
-.md-sidebar--primary .md-nav__title a.md-nav__button.md-logo {
- background-image: url('/docs/image/sedona_logo_symbol.svg');
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center;
+.footer .footer__top .md-social {
+ padding: 0;
+ margin: 0;
+ gap: 18px;
+}
+
+.footer .footer__top .md-social .md-social__link {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 32px;
+ height: 32px;
+}
+
+.footer .footer__top .md-social .md-social__link svg,
+.footer .footer__top .md-social .md-social__link img {
+ width: 28px;
+ height: 28px;
+ max-height: 28px;
+ display: block;
+ object-fit: contain;
+ color: rgba(255, 255, 255, 0.5);
+}
+
+.footer .footer__top .md-social .md-social__link:hover svg,
+.footer .footer__top .md-social .md-social__link:hover img {
+ color: var(--color-white);
+}
+
+.footer .footer-hr {
+ background-color: #323232;
+ height: 1px;
+ width: 100%;
+ display: block;
+ margin: 0;
+ border: 0;
+}
+
+.footer .footer__bot {
+ padding-top: 32px;
+ padding-bottom: 64px;
+}
+
+.footer .footer__bot .md-copyright {
+ font-family: var(--font-inter);
+ font-style: normal;
+ font-weight: 400;
+ font-size: 12px;
+ line-height: 1.25;
+ text-align: center;
+ color: rgba(255, 255, 255, 0.5);
+}
+
+.footer .footer__bot .md-copyright a {
+ text-decoration: underline;
+ text-underline-offset: 2px;
+ transition: 0.3s all ease;
+}
- /* Hide the theme's default icon which is applied via a mask */
- -webkit-mask: none;
- mask: none;
+.footer .footer__bot .md-copyright a:hover {
+ color: var(--color-white);
}
-/* Change the mobile nav header label text to white */
-label.md-nav__title {
- color: #FFFFFF !important;
+@media (max-width: 480px) {
+ .footer .footer__top {
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ }
+ .footer .footer__bot .md-copyright {
+ text-align: left;
+ }
}
diff --git a/mkdocs.yml b/mkdocs.yml
index 7cfe797..399bb91 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -43,11 +43,10 @@ site_description: SpatialBench is a benchmark for assessing
geospatial SQL analy
nav:
- Home: https://sedona.apache.org/latest/
- - Setup: https://sedona.apache.org/latest/setup/overview/
- - Download: https://sedona.apache.org/latest/download/
- - Programming Guides: https://sedona.apache.org/latest/tutorial/sql/
- - API Docs: https://sedona.apache.org/latest/api/sql/Overview/
- SedonaDB: https://sedona.apache.org/sedonadb/
+ - SedonaSpark: https://sedona.apache.org/latest/sedonaspark/
+ - SedonaFlink: https://sedona.apache.org/latest/sedonaflink/
+ - SedonaSnow: https://sedona.apache.org/latest/sedonasnow/
- SpatialBench:
- Home: index.md
- Quickstart: quickstart.md
@@ -58,7 +57,7 @@ nav:
- Single Node Results: single-node-benchmarks.md
- Contributors Guide: contributors-guide.md
- Blog: https://sedona.apache.org/latest/blog/
- - Community: https://sedona.apache.org/latest/setup/compile/
+ - Community: https://sedona.apache.org/latest/community/contact/
- Apache Software Foundation: https://sedona.apache.org/latest/asf/asf/
repo_url: https://github.com/apache/sedona-spatialbench/
@@ -67,6 +66,7 @@ repo_name: apache/sedona-spatialbench
theme:
name: material
+ custom_dir: docs/overrides
font:
font: false
name: 'material'
@@ -74,7 +74,7 @@ theme:
primary: custom
accent: 'green'
favicon: image/sedona_logo_symbol.png
- logo: image/sedona_logo_symbol.svg
+ logo: image/logo.svg
icon:
logo: fontawesome/solid/earth-americas
repo: fontawesome/brands/github
@@ -101,7 +101,7 @@ extra_javascript:
- https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js
- javascripts/katex.js
-copyright: Copyright © 2025 The Apache Software Foundation. Apache Sedona,
Sedona, Apache, the Apache feather logo, and the Apache Sedona project logo are
either registered trademarks or trademarks of The Apache Software Foundation in
the United States and other countries. All other marks mentioned may be
trademarks or registered trademarks of their respective owners. Please visit <a
href="https://www.apache.org/">Apache Software Foundation</a> for more
details.<img referrerpolicy="no-re [...]
+copyright: Copyright © 2026 The Apache Software Foundation. Apache Sedona,
Sedona, Apache, the Apache feather logo, and the Apache Sedona project logo are
either registered trademarks or trademarks of The Apache Software Foundation in
the United States and other countries. All other marks mentioned may be
trademarks or registered trademarks of their respective owners. Please visit <a
href="https://www.apache.org/">Apache Software Foundation</a> for more
details.<img referrerpolicy="no-re [...]
markdown_extensions:
- admonition