This is an automated email from the ASF dual-hosted git repository.
vinishjail97 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 947a0606 [site] Fix CSP issues on the website (#764)
947a0606 is described below
commit 947a060612bb1c35b382eb2f9a784f42e6b6542e
Author: Tim Brown <[email protected]>
AuthorDate: Thu Jul 30 17:20:57 2026 -0700
[site] Fix CSP issues on the website (#764)
* simplify font loading
* Fix CSP issues
* fix pixel count
---
website/static/.htaccess | 19 +++++++++++++++
website/static/404.html | 32 --------------------------
website/static/css/onetable-ad267e.webflow.css | 6 ++---
website/static/index.html | 20 +++++++---------
website/static/js/jquery-3.5.1.min.js | 2 ++
5 files changed, 32 insertions(+), 47 deletions(-)
diff --git a/website/static/.htaccess b/website/static/.htaccess
new file mode 100644
index 00000000..ae5de6af
--- /dev/null
+++ b/website/static/.htaccess
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+# Serve the Docusaurus-generated 404 page instead of the stock Apache one.
+ErrorDocument 404 /404.html
diff --git a/website/static/404.html b/website/static/404.html
deleted file mode 100644
index 324309b1..00000000
--- a/website/static/404.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html><!-- This site was created in Webflow. https://www.webflow.com
-->
-<!-- Last Published: Thu Nov 09 2023 05:12:58 GMT+0000 (Coordinated Universal
Time) -->
-<html data-wf-page="654c69e132fbbe3db65c3050"
data-wf-site="65402b66d39d6454e51fabed">
-<head>
- <meta charset="utf-8">
- <title>Not Found</title>
- <meta content="Not Found" property="og:title">
- <meta content="Not Found" property="twitter:title">
- <meta content="width=device-width, initial-scale=1" name="viewport">
- <meta content="Webflow" name="generator">
- <link href="css/normalize.css" rel="stylesheet" type="text/css">
- <link href="css/webflow.css" rel="stylesheet" type="text/css">
- <link href="css/onetable-ad267e.webflow.css" rel="stylesheet"
type="text/css">
- <link href="https://fonts.googleapis.com" rel="preconnect">
- <link href="https://fonts.gstatic.com" rel="preconnect"
crossorigin="anonymous">
- <script
src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"
type="text/javascript"></script>
- <script type="text/javascript">WebFont.load({ google: { families:
["Material Icons:regular"] }});</script>
- <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">
-</head>
-<body>
- <div class="utility-page-wrap">
- <div class="utility-page-content"><img
src="https://d3e54v103j8qbb.cloudfront.net/static/page-not-found.211a85e40c.svg"
alt="">
- <h2>Page Not Found</h2>
- <div>The page you are looking for doesn't exist or has been
moved</div>
- </div>
- </div>
- <script
src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=65402b66d39d6454e51fabed"
type="text/javascript"
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous"></script>
- <script src="js/webflow.js" type="text/javascript"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/website/static/css/onetable-ad267e.webflow.css
b/website/static/css/onetable-ad267e.webflow.css
index 646985db..13aa0bde 100644
--- a/website/static/css/onetable-ad267e.webflow.css
+++ b/website/static/css/onetable-ad267e.webflow.css
@@ -681,9 +681,9 @@
.icon-2.accordion-icon {
color: rgba(0, 0, 0, .6);
cursor: pointer;
- font-family: Material Icons, sans-serif;
- font-size: 32px;
- line-height: 30px;
+ align-items: center;
+ height: 32px;
+ display: flex;
}
.section {
diff --git a/website/static/index.html b/website/static/index.html
index 7679ac62..33969500 100644
--- a/website/static/index.html
+++ b/website/static/index.html
@@ -18,10 +18,6 @@
<link href="css/normalize.css" rel="stylesheet" type="text/css">
<link href="css/webflow.css" rel="stylesheet" type="text/css">
<link href="css/onetable-ad267e.webflow.css" rel="stylesheet"
type="text/css">
- <link href="https://fonts.googleapis.com" rel="preconnect">
- <link href="https://fonts.gstatic.com" rel="preconnect"
crossorigin="anonymous">
- <script
src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"
type="text/javascript"></script>
- <script type="text/javascript">WebFont.load({ google: { families:
["Material Icons:regular"] }});</script>
<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">
@@ -150,7 +146,7 @@
<div class="accordion-item">
<div id="q1" class="accordion-item-trigger">
<h4 class="accordion-heading"><span><strong class="faq-q">How does
it work?</strong></span></h4>
- <div class="icon-2 accordion-icon">keyboard_arrow_down</div>
+ <div class="icon-2 accordion-icon"><svg width="32" height="32"
viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"
focusable="false"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6
1.41-1.41Z"></path></svg></div>
</div>
<div class="accordion-item-content">
<p class="faq-a">Apache XTable™ reads the existing metadata of
your table and writes out metadata for one or more other table formats by
leveraging the existing APIs provided by each table format project. The
metadata will be persisted under a directory in the base path of your table
(_delta_log for Delta, metadata for Iceberg, and .hoodie for Hudi). This allows
your existing data to be read as though it was written using Delta, Hudi, or
Iceberg. For example, a Spark reader c [...]
@@ -159,7 +155,7 @@
<div class="accordion-item">
<div id="q1" class="accordion-item-trigger">
<h4 class="accordion-heading"><span><strong class="faq-q">How is
Apache XTable™ different from Delta Lake Uniform?</strong></span></h4>
- <div class="icon-2 accordion-icon">keyboard_arrow_down</div>
+ <div class="icon-2 accordion-icon"><svg width="32" height="32"
viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"
focusable="false"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6
1.41-1.41Z"></path></svg></div>
</div>
<div class="accordion-item-content">
<p class="faq-a">Apache XTable™ provides abstraction interfaces
that allow omni-directional interoperability across Delta, Hudi, Iceberg, and
any other future lakehouse table formats such as Apache Paimon. Apache XTable™
is a standalone github project that provides a neutral space for all the
lakehouse table formats to constructively collaborate together.<br><br>Delta
Lake Uniform is a one-directional conversion from Delta Lake to Apache Hudi or
Apache Iceberg. Uniform is als [...]
@@ -168,7 +164,7 @@
<div class="accordion-item">
<div id="q1" class="accordion-item-trigger">
<h4 class="accordion-heading"><span><strong class="faq-q">When
should I consider Apache XTable™?</strong></span></h4>
- <div class="icon-2 accordion-icon">keyboard_arrow_down</div>
+ <div class="icon-2 accordion-icon"><svg width="32" height="32"
viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"
focusable="false"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6
1.41-1.41Z"></path></svg></div>
</div>
<div class="accordion-item-content">
<p class="faq-a">Apache XTable™ can be used to easily switch
between any of the table formats or even benefit from more than one
simultaneously. Some organizations use Apache XTable™ today because they have a
diverse ecosystem of tools with polarized vendor support of table formats. Some
users want lightning fast ingestion or indexing from Hudi and photon query
accelerations of Delta Lake inside of Databricks. Some users want managed table
services from Hudi, but also want wr [...]
@@ -177,7 +173,7 @@
<div class="accordion-item">
<div id="q1" class="accordion-item-trigger">
<h4 class="accordion-heading"><span><strong class="faq-q">Does
Apache XTable™ work in every cloud?</strong></span></h4>
- <div class="icon-2 accordion-icon">keyboard_arrow_down</div>
+ <div class="icon-2 accordion-icon"><svg width="32" height="32"
viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"
focusable="false"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6
1.41-1.41Z"></path></svg></div>
</div>
<div class="accordion-item-content">
<p class="faq-a">Yes, anywhere that Delta, Iceberg, or Hudi work,
Apache XTable™ works.</p>
@@ -186,7 +182,7 @@
<div class="accordion-item">
<div id="q1" class="accordion-item-trigger">
<h4 class="accordion-heading"><span><strong class="faq-q">What are
the current limitations?</strong></span></h4>
- <div class="icon-2 accordion-icon">keyboard_arrow_down</div>
+ <div class="icon-2 accordion-icon"><svg width="32" height="32"
viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"
focusable="false"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6
1.41-1.41Z"></path></svg></div>
</div>
<div class="accordion-item-content">
<p class="faq-a">1. Hudi and Iceberg MoR tables not
supported<br>2. Delta Delete Vectors are not supported<br>3. Synchronized
transaction timestamps<br><br>With Apache XTable™ you pick one primary format
and one or more secondary formats. The write operations with the primary format
work as normal. Apache XTable™ than translates the metadata from the primary
format to the secondaries. When committing the metadata of the secondary
formats, the timestamp of the commit will not [...]
@@ -195,7 +191,7 @@
<div class="accordion-item">
<div id="q1" class="accordion-item-trigger">
<h4 class="accordion-heading"><span><strong class="faq-q">How can
I contribute?</strong></span></h4>
- <div class="icon-2 accordion-icon">keyboard_arrow_down</div>
+ <div class="icon-2 accordion-icon"><svg width="32" height="32"
viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"
focusable="false"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6
1.41-1.41Z"></path></svg></div>
</div>
<div class="accordion-item-content">
<p class="faq-a">Come check out the project on Github and add a
little star. There are some low hanging fruit features, bugs, and documentation
that can be added. Reach out directly to any of the contributors on Github to
ask for help.</p>
@@ -204,7 +200,7 @@
<div class="accordion-item">
<div id="q1" class="accordion-item-trigger">
<h4 class="accordion-heading"><span><strong class="faq-q">How can
I learn more?</strong></span></h4>
- <div class="icon-2 accordion-icon">keyboard_arrow_down</div>
+ <div class="icon-2 accordion-icon"><svg width="32" height="32"
viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"
focusable="false"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6
1.41-1.41Z"></path></svg></div>
</div>
<div class="accordion-item-content">
<p class="faq-a">Follow Apache XTable™ (Incubating) community
channels on Linkedin and Twitter. Subscribe to the mailing list by sending an
email to ([email protected]). Follow the project on Github or
reachout directly to any of the Github contributors to learn more.</p>
@@ -232,7 +228,7 @@
</div>
</div>
</section>
- <script
src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=65402b66d39d6454e51fabed"
type="text/javascript"
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous"></script>
+ <script src="js/jquery-3.5.1.min.js" type="text/javascript"></script>
<script src="js/webflow.js" type="text/javascript"></script>
</body>
</html>
diff --git a/website/static/js/jquery-3.5.1.min.js
b/website/static/js/jquery-3.5.1.min.js
new file mode 100644
index 00000000..b0614034
--- /dev/null
+++ b/website/static/js/jquery-3.5.1.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.5.1 | (c) JS Foundation and other contributors |
jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof
module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw
new Error("jQuery requires a window with a document");return
t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use
strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return
t.flat.call(e)}:function(e){return
t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=
[...]