This is an automated email from the ASF dual-hosted git repository.
the-other-tim-brown pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-xtable.git
The following commit(s) were added to refs/heads/main by this push:
new 0b5b38f4 [730] Add required ASF navigation links to the website (#856)
0b5b38f4 is described below
commit 0b5b38f4f4a12d91b559d6765bfb059e213e3ee6
Author: Ranga Reddy <[email protected]>
AuthorDate: Sun Aug 2 02:18:42 2026 +0530
[730] Add required ASF navigation links to the website (#856)
* [730] Add required ASF links to the website
The site was missing the ASF-mandated navigation links flagged by the
Incubator Clutch report. Add a footer with Foundation, License, Events,
Sponsorship, Thanks, Security and Privacy links:
- Configure a Docusaurus footer (themeConfig.footer) so every docs, blog,
community and releases page carries the required links plus the podling
incubation disclaimer and trademark notice.
- Add the same required links to the static Webflow home page footer.
* [730] Address review comments on the site footer
- Complete the podling incubation disclaimer in the Docusaurus footer to
match the standard ASF branding text, and align the copyright/trademark
wording with the home page footer.
- Update the home page footer copyright from 2025 to 2026.
- Style the Docusaurus footer to match the home page (static/index.html)
footer: the same blue gradient background and translucent-white links.
- Place the XTable logo (xtable-white.png) as the first footer column,
before the "XTable" links, mirroring the home page footer; keep the
Apache Incubator logo alongside the disclaimer.
* [730] Render the home page footer copyright year dynamically
Wrap the year in a span and set it from new Date().getFullYear() via a small
inline script, so the static home page footer copyright stays current. The
hardcoded 2026 remains as a no-JS fallback. The Docusaurus footer already
uses new Date().getFullYear().
* [730] Load Material Icons via stylesheet so FAQ arrows render
The home page FAQ accordions use Material Icons ligatures
(.icon-2.accordion-icon { font-family: Material Icons }) but the font was
loaded through the Google WebFont JS loader, which is unreliable on the
deployed site and left the raw "keyboard_arrow_down" text showing. Load the
Material Icons font with the standard stylesheet link instead.
* [730] Stack home page footer links vertically
The footer link blocks were laid out horizontally (flex row), so the ASF
links in particular were cramped in a single row. Stack the links vertically
within each footer column.
* [730] Fix the footer logo link, which pointed at a literal pathname:///
`pathname://` is only resolved in `to`/`href` config fields — the navbar
logo (href: 'pathname:///') renders as `/`, but inside a raw `html`
footer item the prefix is emitted verbatim, so the logo linked to the
unroutable `pathname:///`.
Use `href="/" target="_self"` instead, which is what Docusaurus produces
for the navbar logo and what forces the full page load that serves the
hand-written home page at `/`.
---
website/docusaurus.config.js | 41 +++++++++++++++++++++++++++++++++++++++++
website/homepage/index.html | 29 ++++++++++++++++++++++++++++-
website/src/css/custom.css | 21 +++++++++++++++++++++
3 files changed, 90 insertions(+), 1 deletion(-)
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index 8e4fe2b5..333a7d22 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -133,6 +133,47 @@ const config = {
{to: 'community/sync', label: 'Community', position: 'left'}
],
},
+ footer: {
+ style: 'dark',
+ links: [
+ {
+ items: [
+ {
+ // Plain href (not `pathname:///`): the prefix is only resolved
+ // in `to`/`href` config fields, not inside raw html, and a
full
+ // page load is what serves the hand-written home page at `/`.
+ html: '<a href="/" target="_self"
class="footer__logo-link"><img src="/images/xtable-white.png" alt="Apache
XTable™ (Incubating)" class="footer__xtable-logo" width="170" /></a>',
+ },
+ ],
+ },
+ {
+ title: 'XTable',
+ items: [
+ {label: 'Docs', to: '/docs/setup/'},
+ {label: 'Blogs', to: '/blog'},
+ {label: 'Downloads', to: '/releases/downloads'},
+ {label: 'Community', to: '/community/sync'},
+ {label: 'GitHub', href:
'https://github.com/apache/incubator-xtable'},
+ ],
+ },
+ {
+ title: 'Apache Software Foundation',
+ items: [
+ {label: 'Foundation', href: 'https://www.apache.org/'},
+ {label: 'License', href: 'https://www.apache.org/licenses/'},
+ {label: 'Events', href:
'https://www.apache.org/events/current-event'},
+ {label: 'Sponsorship', href:
'https://www.apache.org/foundation/sponsorship.html'},
+ {label: 'Thanks', href:
'https://www.apache.org/foundation/thanks.html'},
+ {label: 'Security', href: 'https://www.apache.org/security/'},
+ {label: 'Privacy', href:
'https://privacy.apache.org/policies/privacy-policy-public.html'},
+ ],
+ },
+ ],
+ copyright:
+ '<a href="https://incubator.apache.org/" target="_blank"
rel="noopener"><img
src="https://www.apache.org/logos/res/incubator/incubator.png" alt="Apache
Incubator" width="150" style="margin:12px
0;background:#ffffff;padding:4px;border-radius:4px;" /></a><br/>' +
+ 'Apache XTable™ is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that [...]
+ 'Copyright © ' + new Date().getFullYear() + ' Apache XTable™,
XTable, Apache, the Apache feather logo and the Apache XTable™ project logo are
either registered trademarks or trademarks of The Apache Software Foundation in
the United States and other countries.',
+ },
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
diff --git a/website/homepage/index.html b/website/homepage/index.html
index 33969500..44538d63 100644
--- a/website/homepage/index.html
+++ b/website/homepage/index.html
@@ -21,6 +21,20 @@
<script type="text/javascript">!function(o,c){var n=c.documentElement,t="
w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof
DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
<link href="images/xtable-favicon.png" rel="shortcut icon"
type="image/x-icon">
<link href="images/webclip.png" rel="apple-touch-icon">
+ <style>
+ /* Stack the footer links vertically within each column instead of in a
row. */
+ .footer-subscribe .main-container-footer { align-items: flex-start; }
+ .footer-subscribe .footer-block-three {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+ .footer-subscribe .footer-link-three {
+ margin-left: 0;
+ margin-right: 0;
+ margin-bottom: 12px;
+ line-height: 1.4;
+ }
+ </style>
</head>
<body class="body">
<div data-animation="default" data-collapse="medium" data-duration="400"
data-easing="ease" data-easing2="ease" role="banner" class="navbar w-nav">
@@ -218,17 +232,30 @@
<a href="https://www.linkedin.com/company/apache-xtable/"
class="footer-link-three">LinkedIn</a>
<a href="https://twitter.com/apachextable" class="footer-link-three
l">Twitter</a>
</div>
+ <div class="footer-block-three">
+ <a href="https://www.apache.org/" class="footer-link-three"
target="_blank" rel="noopener">Apache Software Foundation</a>
+ <a href="https://www.apache.org/licenses/" class="footer-link-three"
target="_blank" rel="noopener">License</a>
+ <a href="https://www.apache.org/events/current-event"
class="footer-link-three" target="_blank" rel="noopener">Events</a>
+ <a href="https://www.apache.org/foundation/sponsorship.html"
class="footer-link-three" target="_blank" rel="noopener">Sponsorship</a>
+ <a href="https://www.apache.org/foundation/thanks.html"
class="footer-link-three" target="_blank" rel="noopener">Thanks</a>
+ <a href="https://www.apache.org/security/" class="footer-link-three"
target="_blank" rel="noopener">Security</a>
+ <a
href="https://privacy.apache.org/policies/privacy-policy-public.html"
class="footer-link-three l" target="_blank" rel="noopener">Privacy</a>
+ </div>
</div>
<div class="footer__bottom text--center"><div class="footer__copyright"
style="color: white;text-align: center;">
<div style="margin-top: 20px">
<a href="https://incubator.apache.org/" target="_blank"><img
style="height:40px;margin-bottom: 10px;margin-top: 10px;background: white;"
alt="Apache Software Foundation"
src="https://www.apache.org/logos/res/incubator/incubator_highres.png"></a>
<p style="text-align:left; font-weight: 300; font-size: 0.8em;">Apache
XTable™ is an effort undergoing incubation at The Apache Software Foundation
(ASF), sponsored by the Apache Incubator. Incubation is required of all newly
accepted projects until a further review indicates that the infrastructure,
communications, and decision making process have stabilized in a manner
consistent with other successful ASF projects. While incubation status is not
necessarily a reflection of the [...]
- <p style="text-align:left; font-weight: 300; font-size:
0.8em;">Copyright ©2025 Apache XTable™, XTable, Apache, the Apache feather logo
and the Apache XTable™ project logo are either registered trademarks or
trademarks of The Apache Software Foundation in the United States and other
countries.</p>
+ <p style="text-align:left; font-weight: 300; font-size:
0.8em;">Copyright ©<span id="copyright-year">2026</span> Apache XTable™,
XTable, Apache, the Apache feather logo and the Apache XTable™ project logo are
either registered trademarks or trademarks of The Apache Software Foundation in
the United States and other countries.</p>
</div>
</div>
</div>
</section>
<script src="js/jquery-3.5.1.min.js" type="text/javascript"></script>
<script src="js/webflow.js" type="text/javascript"></script>
+ <script type="text/javascript">
+ // Keep the footer copyright year current (falls back to the hardcoded
year without JS).
+ document.getElementById('copyright-year').textContent = new
Date().getFullYear();
+ </script>
</body>
</html>
diff --git a/website/src/css/custom.css b/website/src/css/custom.css
index ea5cf9e7..5c527f73 100644
--- a/website/src/css/custom.css
+++ b/website/src/css/custom.css
@@ -85,6 +85,27 @@ html[data-theme='dark'] {
--docusaurus-highlighted-code-line-bg: rgba(105, 105, 105, 0.3);
}
+/* Footer: match the home page (homepage/index.html) footer — the same blue
+ gradient background and translucent-white links, in both light and dark
mode. */
+.footer {
+ background-image: linear-gradient(130deg, #04548c, #043c74);
+ --ifm-footer-background-color: #043c74;
+ --ifm-footer-color: rgba(255, 255, 255, 0.75);
+ --ifm-footer-link-color: rgba(255, 255, 255, 0.75);
+ --ifm-footer-title-color: #ffffff;
+}
+
+.footer .footer__link-item:hover {
+ color: #ffffff;
+}
+
+/* XTable logo shown as the first footer column, before the "XTable" links. */
+.footer__xtable-logo {
+ max-width: 100%;
+ height: auto;
+ margin-top: 4px;
+}
+
.blogThumbnail {
padding-left: 0;
padding-right: 48px;