You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2022/06/23 20:49:30 UTC

[iceberg] branch master updated: Docs: Change docs layout for new iceberg-theme (#5115)

This is an automated email from the ASF dual-hosted git repository.

blue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git


The following commit(s) were added to refs/heads/master by this push:
     new 51827cff8 Docs: Change docs layout for new iceberg-theme (#5115)
51827cff8 is described below

commit 51827cff86830574f107cb10ad09035396c5dee7
Author: Samuel Redai <43...@users.noreply.github.com>
AuthorDate: Thu Jun 23 16:49:24 2022 -0400

    Docs: Change docs layout for new iceberg-theme (#5115)
---
 docs/_index.md                                 |  55 ++++++
 docs/api/_index.md                             |   5 -
 docs/api/javadoc/_index.md                     |   5 -
 docs/asf/_index.md                             |   6 -
 docs/asf/donate/_index.md                      |  22 ---
 docs/asf/events/_index.md                      |  22 ---
 docs/asf/license/_index.md                     |  22 ---
 docs/asf/security/_index.md                    |  22 ---
 docs/asf/sponsors/_index.md                    |  22 ---
 docs/athena/_index.md                          |  23 ---
 docs/{integrations => }/aws.md                 |   4 +
 docs/{community => }/blogs.md                  |   7 +-
 docs/community/_index.md                       |   5 -
 docs/{tables => }/configuration.md             |   4 +
 docs/{community => }/contributing.md           |   7 +-
 docs/dremio/_index.md                          |  23 ---
 docs/emr/_index.md                             |  23 ---
 docs/{tables => }/evolution.md                 |   5 +
 docs/{flink => }/flink-connector.md            |   5 +
 docs/{flink => }/flink-getting-started.md      |   7 +-
 docs/flink/_index.md                           |   5 -
 docs/format/_index.md                          |   5 -
 docs/format/spec.md                            |  20 ---
 docs/format/terms.md                           |  20 ---
 docs/format/view-spec.md                       |  20 ---
 docs/{hive/_index.md => hive.md}               | 221 ++++++++++++++-----------
 docs/integrations/_index.md                    |   5 -
 docs/{api => }/java-api-quickstart.md          |   5 +-
 docs/{api => }/java-api.md                     |   5 +-
 docs/{api => }/java-custom-catalog.md          |   5 +-
 docs/{integrations => }/jdbc.md                |   4 +
 docs/{community => }/join.md                   |   7 +-
 docs/{tables => }/maintenance.md               |   5 +
 docs/{integrations => }/nessie.md              |   4 +
 docs/{tables => }/partitioning.md              |   5 +
 docs/{tables => }/performance.md               |   5 +
 docs/prestodb/_index.md                        |  23 ---
 docs/project/_index.md                         |   5 -
 docs/project/benchmarks.md                     |  21 ---
 docs/project/how-to-release.md                 |  20 ---
 docs/project/multi-engine-support.md           |  20 ---
 docs/project/roadmap.md                        |  20 ---
 docs/project/security.md                       |  20 ---
 docs/project/trademarks.md                     |  20 ---
 docs/{api => }/python-api-intro.md             |   5 +-
 docs/{api => }/python-feature-support.md       |   5 +-
 docs/{api => }/python-quickstart.md            |   5 +-
 docs/releases/0.12.1/_index.md                 |   5 -
 docs/releases/0.13.0/_index.md                 |   5 -
 docs/releases/0.13.1/_index.md                 |   5 -
 docs/releases/_index.md                        |   5 -
 docs/releases/latest/_index.md                 |   5 -
 docs/releases/release-notes.md                 |  20 ---
 docs/{tables => }/reliability.md               |   5 +
 docs/{tables => }/schemas.md                   |   5 +
 docs/{spark => }/spark-configuration.md        |   4 +
 docs/{spark => }/spark-ddl.md                  |   4 +
 docs/{spark => }/spark-getting-started.md      |   4 +
 docs/{spark => }/spark-procedures.md           |   4 +
 docs/{spark => }/spark-queries.md              |   4 +
 docs/{spark => }/spark-structured-streaming.md |   4 +
 docs/{spark => }/spark-writes.md               |   4 +
 docs/spark/_index.md                           |   5 -
 docs/starrocks/_index.md                       |  23 ---
 docs/tables/_index.md                          |   5 -
 docs/{community => }/talks.md                  |   7 +-
 docs/trino/_index.md                           |  23 ---
 67 files changed, 307 insertions(+), 638 deletions(-)

diff --git a/docs/_index.md b/docs/_index.md
new file mode 100644
index 000000000..bc8f35c44
--- /dev/null
+++ b/docs/_index.md
@@ -0,0 +1,55 @@
+---
+title: "Introduction"
+menu: main
+weight: 0
+---
+<!--
+ - 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.
+ -->
+
+![Iceberg](./img/Iceberg-logo.png)
+
+**Apache Iceberg is an open table format for huge analytic datasets.** Iceberg adds tables to compute engines including Spark, Trino, PrestoDB, Flink and Hive using a high-performance table format that works just like a SQL table.
+
+### User experience
+
+Iceberg avoids unpleasant surprises. Schema evolution works and won't inadvertently un-delete data. Users don't need to know about partitioning to get fast queries.
+
+* [Schema evolution](evolution#schema-evolution) supports add, drop, update, or rename, and has [no side-effects](evolution#correctness)
+* [Hidden partitioning](partitioning) prevents user mistakes that cause silently incorrect results or extremely slow queries
+* [Partition layout evolution](evolution#partition-evolution) can update the layout of a table as data volume or query patterns change
+* [Time travel](spark-queries#time-travel) enables reproducible queries that use exactly the same table snapshot, or lets users easily examine changes
+* Version rollback allows users to quickly correct problems by resetting tables to a good state
+
+### Reliability and performance
+
+Iceberg was built for huge tables. Iceberg is used in production where a single table can contain tens of petabytes of data and even these huge tables can be read without a distributed SQL engine.
+
+* [Scan planning is fast](performance#scan-planning) -- a distributed SQL engine isn't needed to read a table or find files
+* [Advanced filtering](performance#data-filtering) -- data files are pruned with partition and column-level stats, using table metadata
+
+Iceberg was designed to solve correctness problems in eventually-consistent cloud object stores.
+
+* [Works with any cloud store](reliability) and reduces NN congestion when in HDFS, by avoiding listing and renames
+* [Serializable isolation](reliability) -- table changes are atomic and readers never see partial or uncommitted changes
+* [Multiple concurrent writers](reliability#concurrent-write-operations) use optimistic concurrency and will retry to ensure that compatible updates succeed, even when writes conflict
+
+### Open standard
+
+Iceberg has been designed and developed to be an open community standard with a [specification](../../spec) to ensure compatibility across languages and implementations.
+
+[Apache Iceberg is open source](../../community), and is developed at the [Apache Software Foundation](https://www.apache.org/).
+
diff --git a/docs/api/_index.md b/docs/api/_index.md
deleted file mode 100644
index 23ff2e83c..000000000
--- a/docs/api/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-bookIconFa: fa-connectdevelop
-weight: 700
-bookCollapseSection: true
----
\ No newline at end of file
diff --git a/docs/api/javadoc/_index.md b/docs/api/javadoc/_index.md
deleted file mode 100644
index 11430fc59..000000000
--- a/docs/api/javadoc/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "Javadocs"
-weight: 310
-javadocLink: true
----
\ No newline at end of file
diff --git a/docs/asf/_index.md b/docs/asf/_index.md
deleted file mode 100644
index 114d1da22..000000000
--- a/docs/asf/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: "ASF"
-bookIconImage: ../img/asf.png
-bookCollapseSection: true
-weight: 1200
----
\ No newline at end of file
diff --git a/docs/asf/donate/_index.md b/docs/asf/donate/_index.md
deleted file mode 100644
index 7a8edb6db..000000000
--- a/docs/asf/donate/_index.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: "Donate"
-weight: 400
-bookExternalUrlNewWindow: https://www.apache.org/foundation/sponsorship.html
-bookIconFa: fa-external-link
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/asf/events/_index.md b/docs/asf/events/_index.md
deleted file mode 100644
index 0cc7a3b07..000000000
--- a/docs/asf/events/_index.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: "Events"
-weight: 500
-bookExternalUrlNewWindow: https://www.apache.org/events/current-event.html
-bookIconFa: fa-external-link
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/asf/license/_index.md b/docs/asf/license/_index.md
deleted file mode 100644
index 6e111e7a9..000000000
--- a/docs/asf/license/_index.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: "License"
-weight: 100
-bookExternalUrlNewWindow: https://www.apache.org/licenses/
-bookIconFa: fa-external-link
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/asf/security/_index.md b/docs/asf/security/_index.md
deleted file mode 100644
index 198c81f3f..000000000
--- a/docs/asf/security/_index.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: "Security"
-weight: 200
-bookExternalUrlNewWindow: https://www.apache.org/security/
-bookIconFa: fa-external-link
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/asf/sponsors/_index.md b/docs/asf/sponsors/_index.md
deleted file mode 100644
index 0b76124d5..000000000
--- a/docs/asf/sponsors/_index.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: "Sponsors"
-weight: 300
-bookExternalUrlNewWindow: https://www.apache.org/foundation/thanks.html
-bookIconFa: fa-external-link
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/athena/_index.md b/docs/athena/_index.md
deleted file mode 100644
index fbdb137b8..000000000
--- a/docs/athena/_index.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "Amazon Athena"
-bookIconImage: ../img/athena-logo.png
-bookFlatSection: true
-weight: 440
-bookExternalUrlNewWindow: https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg.html
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/integrations/aws.md b/docs/aws.md
similarity index 99%
rename from docs/integrations/aws.md
rename to docs/aws.md
index a159f51ab..b34488f22 100644
--- a/docs/integrations/aws.md
+++ b/docs/aws.md
@@ -1,6 +1,10 @@
 ---
 title: "AWS"
 url: aws
+menu:
+    main:
+        parent: Integrations
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/community/blogs.md b/docs/blogs.md
similarity index 90%
rename from docs/community/blogs.md
rename to docs/blogs.md
index c62c26b05..cb45acda3 100644
--- a/docs/community/blogs.md
+++ b/docs/blogs.md
@@ -1,7 +1,10 @@
 ---
 title: "Blogs"
-weight: 200
-bookUrlFromBaseURL: /../../blogs
+relurl: "../../blogs"
+menu:
+    main:
+        parent: Community
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/community/_index.md b/docs/community/_index.md
deleted file mode 100644
index 9d68285d6..000000000
--- a/docs/community/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-bookIconFa: fa-users
-bookCollapseSection: true
-weight: 900
----
\ No newline at end of file
diff --git a/docs/tables/configuration.md b/docs/configuration.md
similarity index 99%
rename from docs/tables/configuration.md
rename to docs/configuration.md
index 64f3cecc0..160b88a7a 100644
--- a/docs/tables/configuration.md
+++ b/docs/configuration.md
@@ -2,6 +2,10 @@
 url: configuration
 aliases:
     - "tables/configuration"
+menu:
+    main:
+        parent: Tables
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/community/contributing.md b/docs/contributing.md
similarity index 89%
rename from docs/community/contributing.md
rename to docs/contributing.md
index 412e57687..058f88999 100644
--- a/docs/community/contributing.md
+++ b/docs/contributing.md
@@ -1,7 +1,10 @@
 ---
 title: "Contribute"
-weight: 400
-bookUrlFromBaseURL: /../../contribute
+relurl: "../../contributing"
+menu:
+    main:
+        parent: Community
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/dremio/_index.md b/docs/dremio/_index.md
deleted file mode 100644
index 644ab0b0b..000000000
--- a/docs/dremio/_index.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "Dremio"
-bookIconImage: ../img/dremio-logo.png
-bookFlatSection: true
-weight: 430
-bookExternalUrlNewWindow: https://docs.dremio.com/data-formats/apache-iceberg/
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/emr/_index.md b/docs/emr/_index.md
deleted file mode 100644
index 0d1fd7f7b..000000000
--- a/docs/emr/_index.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "Amazon EMR"
-bookIconImage: ../img/emr-logo.png
-bookFlatSection: true
-weight: 450
-bookExternalUrlNewWindow: https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-cluster.html
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/tables/evolution.md b/docs/evolution.md
similarity index 98%
rename from docs/tables/evolution.md
rename to docs/evolution.md
index ae094355f..3f3f18eef 100644
--- a/docs/tables/evolution.md
+++ b/docs/evolution.md
@@ -1,7 +1,12 @@
 ---
+title: Evolution
 url: evolution
 aliases:
     - "tables/evolution"
+menu:
+    main:
+        parent: Tables
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/flink/flink-connector.md b/docs/flink-connector.md
similarity index 98%
rename from docs/flink/flink-connector.md
rename to docs/flink-connector.md
index 7bcc4563f..a70ddaa2d 100644
--- a/docs/flink/flink-connector.md
+++ b/docs/flink-connector.md
@@ -1,7 +1,12 @@
 ---
+title: "Flink Connector"
 url: flink-connector
 aliases:
     - "flink/flink-connector"
+menu:
+    main:
+        parent: Flink
+        weight: 200
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/flink/flink-getting-started.md b/docs/flink-getting-started.md
similarity index 99%
rename from docs/flink/flink-getting-started.md
rename to docs/flink-getting-started.md
index 454a217ea..848244747 100644
--- a/docs/flink/flink-getting-started.md
+++ b/docs/flink-getting-started.md
@@ -1,7 +1,10 @@
 ---
-title: "Getting Started"
-weight: 300
+title: "Enabling Iceberg in Flink"
 url: flink
+menu:
+    main:
+        parent: Flink
+        weight: 100
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/flink/_index.md b/docs/flink/_index.md
deleted file mode 100644
index fbcc19e45..000000000
--- a/docs/flink/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-bookIconImage: flink-logo.png
-bookFlatSection: true
-weight: 300
----
\ No newline at end of file
diff --git a/docs/format/_index.md b/docs/format/_index.md
deleted file mode 100644
index c7bf591e1..000000000
--- a/docs/format/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-bookIconFa: fa-object-ungroup
-bookCollapseSection: true
-weight: 900
----
\ No newline at end of file
diff --git a/docs/format/spec.md b/docs/format/spec.md
deleted file mode 100644
index 487e024ad..000000000
--- a/docs/format/spec.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "Spec"
-bookUrlFromBaseURL: /../../spec
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/format/terms.md b/docs/format/terms.md
deleted file mode 100644
index 952b80e2e..000000000
--- a/docs/format/terms.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "Terms"
-bookUrlFromBaseURL: /../../terms
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/format/view-spec.md b/docs/format/view-spec.md
deleted file mode 100644
index 982f67cfc..000000000
--- a/docs/format/view-spec.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "View Spec"
-bookUrlFromBaseURL: /../../view-spec
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/hive/_index.md b/docs/hive.md
similarity index 60%
rename from docs/hive/_index.md
rename to docs/hive.md
index cf4712110..d9cc3b041 100644
--- a/docs/hive/_index.md
+++ b/docs/hive.md
@@ -1,8 +1,8 @@
 ---
-bookIconImage: ../img/hive-logo.png
-bookFlatSection: true
+title: "Hive"
 url: hive
 weight: 400
+menu: main
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
@@ -23,8 +23,9 @@ weight: 400
 
 # Hive
 
-Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers).
-Here is the current compatibility matrix for Iceberg Hive support: 
+Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using
+a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers). Here is the current compatibility
+matrix for Iceberg Hive support:
 
 | Feature                  | Hive 2.x               | Hive 3.1.2             |
 | ------------------------ | ---------------------- | ---------------------- |
@@ -38,74 +39,81 @@ Here is the current compatibility matrix for Iceberg Hive support:
 
 ### Loading runtime jar
 
-To enable Iceberg support in Hive, the `HiveIcebergStorageHandler` and supporting classes need to be made available on Hive's classpath. 
-These are provided by the `iceberg-hive-runtime` jar file. 
-For example, if using the Hive shell, this can be achieved by issuing a statement like so:
+To enable Iceberg support in Hive, the `HiveIcebergStorageHandler` and supporting classes need to be made available on
+Hive's classpath. These are provided by the `iceberg-hive-runtime` jar file. For example, if using the Hive shell, this
+can be achieved by issuing a statement like so:
 
 ```
 add jar /path/to/iceberg-hive-runtime.jar;
 ```
 
-There are many others ways to achieve this including adding the jar file to Hive's auxiliary classpath so it is available by default.
-Please refer to Hive's documentation for more information.
+There are many others ways to achieve this including adding the jar file to Hive's auxiliary classpath so it is
+available by default. Please refer to Hive's documentation for more information.
 
 ### Enabling support
 
-If the Iceberg storage handler is not in Hive's classpath, then Hive cannot load or update the metadata for an Iceberg table when the storage handler is set.
-To avoid the appearance of broken tables in Hive, Iceberg will not add the storage handler to a table unless Hive support is enabled.
-The storage handler is kept in sync (added or removed) every time Hive engine support for the table is updated, i.e. turned on or off in the table properties.
-There are two ways to enable Hive support: globally in Hadoop Configuration and per-table using a table property.
+If the Iceberg storage handler is not in Hive's classpath, then Hive cannot load or update the metadata for an Iceberg
+table when the storage handler is set. To avoid the appearance of broken tables in Hive, Iceberg will not add the
+storage handler to a table unless Hive support is enabled. The storage handler is kept in sync (added or removed) every
+time Hive engine support for the table is updated, i.e. turned on or off in the table properties. There are two ways to
+enable Hive support: globally in Hadoop Configuration and per-table using a table property.
 
 #### Hadoop configuration
 
-To enable Hive support globally for an application, set `iceberg.engine.hive.enabled=true` in its Hadoop configuration. 
-For example, setting this in the `hive-site.xml` loaded by Spark will enable the storage handler for all tables created by Spark.
+To enable Hive support globally for an application, set `iceberg.engine.hive.enabled=true` in its Hadoop configuration.
+For example, setting this in the `hive-site.xml` loaded by Spark will enable the storage handler for all tables created
+by Spark.
 
-{{< hint danger >}}
-Starting with Apache Iceberg `0.11.0`, when using Hive with Tez you also have to disable vectorization (`hive.vectorized.execution.enabled=false`).
-{{< /hint >}}
+{{< hint danger >}} Starting with Apache Iceberg `0.11.0`, when using Hive with Tez you also have to disable
+vectorization (`hive.vectorized.execution.enabled=false`). {{< /hint >}}
 
 #### Table property configuration
 
-Alternatively, the property `engine.hive.enabled` can be set to `true` and added to the table properties when creating the Iceberg table. 
-Here is an example of doing it programmatically:
+Alternatively, the property `engine.hive.enabled` can be set to `true` and added to the table properties when creating
+the Iceberg table. Here is an example of doing it programmatically:
 
 ```java
-Catalog catalog = ...;
-Map<String, String> tableProperties = Maps.newHashMap();
-tableProperties.put(TableProperties.ENGINE_HIVE_ENABLED, "true"); // engine.hive.enabled=true
-catalog.createTable(tableId, schema, spec, tableProperties);
+Catalog catalog=...;
+    Map<String, String> tableProperties=Maps.newHashMap();
+    tableProperties.put(TableProperties.ENGINE_HIVE_ENABLED,"true"); // engine.hive.enabled=true
+    catalog.createTable(tableId,schema,spec,tableProperties);
 ```
 
 The table level configuration overrides the global Hadoop configuration.
 
 #### Hive on Tez configuration
 
-To use the Tez engine on Hive `3.1.2` or later, Tez needs to be upgraded to >= `0.10.1` which contains a necessary fix [Tez-4248](https://issues.apache.org/jira/browse/TEZ-4248).
+To use the Tez engine on Hive `3.1.2` or later, Tez needs to be upgraded to >= `0.10.1` which contains a necessary
+fix [Tez-4248](https://issues.apache.org/jira/browse/TEZ-4248).
 
-To use the Tez engine on Hive `2.3.x`, you will need to manually build Tez from the `branch-0.9` branch due to a backwards incompatibility issue with Tez `0.10.1`.
+To use the Tez engine on Hive `2.3.x`, you will need to manually build Tez from the `branch-0.9` branch due to a
+backwards incompatibility issue with Tez `0.10.1`.
 
-You will also need to set the following property in the Hive configuration: `tez.mrreader.config.update.properties=hive.io.file.readcolumn.names,hive.io.file.readcolumn.ids`.
+You will also need to set the following property in the Hive
+configuration: `tez.mrreader.config.update.properties=hive.io.file.readcolumn.names,hive.io.file.readcolumn.ids`.
 
 ## Catalog Management
 
 ### Global Hive catalog
 
-From the Hive engine's perspective, there is only one global data catalog that is defined in the Hadoop configuration in the runtime environment.
-In contrast, Iceberg supports multiple different data catalog types such as Hive, Hadoop, AWS Glue, or custom catalog implementations.
-Iceberg also allows loading a table directly based on its path in the file system. Those tables do not belong to any catalog.
-Users might want to read these cross-catalog and path-based tables through the Hive engine for use cases like join.
+From the Hive engine's perspective, there is only one global data catalog that is defined in the Hadoop configuration in
+the runtime environment. In contrast, Iceberg supports multiple different data catalog types such as Hive, Hadoop, AWS
+Glue, or custom catalog implementations. Iceberg also allows loading a table directly based on its path in the file
+system. Those tables do not belong to any catalog. Users might want to read these cross-catalog and path-based tables
+through the Hive engine for use cases like join.
 
-To support this, a table in the Hive metastore can represent three different ways of loading an Iceberg table,
-depending on the table's `iceberg.catalog` property:
+To support this, a table in the Hive metastore can represent three different ways of loading an Iceberg table, depending
+on the table's `iceberg.catalog` property:
 
-1. The table will be loaded using a `HiveCatalog` that corresponds to the metastore configured in the Hive environment if no `iceberg.catalog` is set
+1. The table will be loaded using a `HiveCatalog` that corresponds to the metastore configured in the Hive environment
+   if no `iceberg.catalog` is set
 2. The table will be loaded using a custom catalog if `iceberg.catalog` is set to a catalog name (see below)
-3. The table can be loaded directly using the table's root location if `iceberg.catalog` is set to `location_based_table`
+3. The table can be loaded directly using the table's root location if `iceberg.catalog` is set
+   to `location_based_table`
 
-For cases 2 and 3 above, users can create an overlay of an Iceberg table in the Hive metastore,
-so that different table types can work together in the same Hive environment.
-See [CREATE EXTERNAL TABLE](#create-external-table) and [CREATE TABLE](#create-table) for more details.
+For cases 2 and 3 above, users can create an overlay of an Iceberg table in the Hive metastore, so that different table
+types can work together in the same Hive environment. See [CREATE EXTERNAL TABLE](#create-external-table)
+and [CREATE TABLE](#create-table) for more details.
 
 ### Custom Iceberg catalogs
 
@@ -148,14 +156,16 @@ SET iceberg.catalog.glue.lock.table=myGlueLockTable;
 
 ### CREATE EXTERNAL TABLE
 
-The `CREATE EXTERNAL TABLE` command is used to overlay a Hive table "on top of" an existing Iceberg table. 
-Iceberg tables are created using either a [`Catalog`](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/catalog/Catalog.html),
-or an implementation of the [`Tables`](../../../javadoc/{{% icebergVersion %}}/index.html?org/apache/iceberg/Tables.html) interface,
-and Hive needs to be configured accordingly to operate on these different types of table.
+The `CREATE EXTERNAL TABLE` command is used to overlay a Hive table "on top of" an existing Iceberg table. Iceberg
+tables are created using either a [`Catalog`](../../../javadoc/{{% icebergVersion
+%}}/index.html?org/apache/iceberg/catalog/Catalog.html), or an implementation of the [`Tables`](../../../javadoc/{{%
+icebergVersion %}}/index.html?org/apache/iceberg/Tables.html) interface, and Hive needs to be configured accordingly to
+operate on these different types of table.
 
 #### Hive catalog tables
 
-As described before, tables created by the `HiveCatalog` with Hive engine feature enabled are directly visible by the Hive engine, so there is no need to create an overlay.
+As described before, tables created by the `HiveCatalog` with Hive engine feature enabled are directly visible by the
+Hive engine, so there is no need to create an overlay.
 
 #### Custom catalog tables
 
@@ -163,24 +173,29 @@ For a table in a registered catalog, specify the catalog name in the statement u
 For example, the SQL below creates an overlay for a table in a `hadoop` type catalog named `hadoop_cat`:
 
 ```sql
-SET iceberg.catalog.hadoop_cat.type=hadoop;
-SET iceberg.catalog.hadoop_cat.warehouse=hdfs://example.com:8020/hadoop_cat;
+SET
+iceberg.catalog.hadoop_cat.type=hadoop;
+SET
+iceberg.catalog.hadoop_cat.warehouse=hdfs://example.com:8020/hadoop_cat;
 
-CREATE EXTERNAL TABLE database_a.table_a
+CREATE
+EXTERNAL TABLE database_a.table_a
 STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler'
 TBLPROPERTIES ('iceberg.catalog'='hadoop_cat');
 ```
 
-When `iceberg.catalog` is missing from both table properties and the global Hadoop configuration, `HiveCatalog` will be used as default.
+When `iceberg.catalog` is missing from both table properties and the global Hadoop configuration, `HiveCatalog` will be
+used as default.
 
 #### Path-based Hadoop tables
 
-Iceberg tables created using `HadoopTables` are stored entirely in a directory in a filesystem like HDFS.
-These tables are considered to have no catalog. 
-To indicate that, set `iceberg.catalog` property to `location_based_table`. For example:
+Iceberg tables created using `HadoopTables` are stored entirely in a directory in a filesystem like HDFS. These tables
+are considered to have no catalog. To indicate that, set `iceberg.catalog` property to `location_based_table`. For
+example:
 
 ```sql
-CREATE EXTERNAL TABLE table_a 
+CREATE
+EXTERNAL TABLE table_a 
 STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler' 
 LOCATION 'hdfs://some_bucket/some_path/table_a'
 TBLPROPERTIES ('iceberg.catalog'='location_based_table');
@@ -191,48 +206,48 @@ TBLPROPERTIES ('iceberg.catalog'='location_based_table');
 Hive also supports directly creating a new Iceberg table through `CREATE TABLE` statement. For example:
 
 ```sql
-CREATE TABLE database_a.table_a (
-  id bigint, name string
+CREATE TABLE database_a.table_a
+(
+    id   bigint,
+    name string
 ) PARTITIONED BY (
   dept string
 ) STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler';
 ```
 
-{{< hint info >}}
-to Hive, the table appears to be unpartitioned although the underlying Iceberg table is partitioned.
+{{< hint info >}} to Hive, the table appears to be unpartitioned although the underlying Iceberg table is partitioned.
 {{< /hint >}}
 
-{{< hint info >}}
-Due to the limitation of Hive `PARTITIONED BY` syntax, if you use Hive `CREATE TABLE`, 
-currently you can only partition by columns, which is translated to Iceberg identity partition transform.
-You cannot partition by other Iceberg partition transforms such as `days(timestamp)`.
-To create table with all partition transforms, you need to create the table with other engines like Spark or Flink.
-{{< /hint >}}
+{{< hint info >}} Due to the limitation of Hive `PARTITIONED BY` syntax, if you use Hive `CREATE TABLE`, currently you
+can only partition by columns, which is translated to Iceberg identity partition transform. You cannot partition by
+other Iceberg partition transforms such as `days(timestamp)`. To create table with all partition transforms, you need to
+create the table with other engines like Spark or Flink. {{< /hint >}}
 
 #### Custom catalog table
 
-You can also create a new table that is managed by a custom catalog. 
-For example, the following code creates a table in a custom Hadoop catalog:
+You can also create a new table that is managed by a custom catalog. For example, the following code creates a table in
+a custom Hadoop catalog:
 
 ```sql
-SET iceberg.catalog.hadoop_cat.type=hadoop;
-SET iceberg.catalog.hadoop_cat.warehouse=hdfs://example.com:8020/hadoop_cat;
-
-CREATE TABLE database_a.table_a (
-  id bigint, name string
+SET
+iceberg.catalog.hadoop_cat.type=hadoop;
+SET
+iceberg.catalog.hadoop_cat.warehouse=hdfs://example.com:8020/hadoop_cat;
+
+CREATE TABLE database_a.table_a
+(
+    id   bigint,
+    name string
 ) PARTITIONED BY (
   dept string
 ) STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler'
 TBLPROPERTIES ('iceberg.catalog'='hadoop_cat');
 ```
 
-{{< hint danger >}}
-If the table to create already exists in the custom catalog, this will create a managed overlay table.
-This means technically you can omit the `EXTERNAL` keyword when creating an overlay table.
-However, this is **not recommended** because creating managed overlay tables could pose a risk
-to the shared data files in case of accidental drop table commands from the Hive side, 
-which would unintentionally remove all the data in the table.
-{{< /hint >}}
+{{< hint danger >}} If the table to create already exists in the custom catalog, this will create a managed overlay
+table. This means technically you can omit the `EXTERNAL` keyword when creating an overlay table. However, this is **not
+recommended** because creating managed overlay tables could pose a risk to the shared data files in case of accidental
+drop table commands from the Hive side, which would unintentionally remove all the data in the table. {{< /hint >}}
 
 ### DROP TABLE
 
@@ -254,21 +269,23 @@ Each Iceberg table's default purge behavior can also be configured through Icebe
 | ----------------------------| ---------------------------| ----------------------------------------------------------------- |
 | gc.enabled                  | true                       | if all data and metadata should be purged in the table by default |
 
-When changing `gc.enabled` on the Iceberg table via `UpdateProperties`, `external.table.purge` is also updated on HMS table accordingly.
-When setting `external.table.purge` as a table prop during Hive `CREATE TABLE`, `gc.enabled` is pushed down accordingly to the Iceberg table properties.
-This makes sure that the 2 properties are always consistent at table level between Hive and Iceberg.
+When changing `gc.enabled` on the Iceberg table via `UpdateProperties`, `external.table.purge` is also updated on HMS
+table accordingly. When setting `external.table.purge` as a table prop during Hive `CREATE TABLE`, `gc.enabled` is
+pushed down accordingly to the Iceberg table properties. This makes sure that the 2 properties are always consistent at
+table level between Hive and Iceberg.
 
-{{< hint danger >}}
-Changing `external.table.purge` via Hive `ALTER TABLE SET TBLPROPERTIES` does not update `gc.enabled` on the Iceberg table. 
-This is a limitation on Hive 3.1.2 because the `HiveMetaHook` doesn't have all the hooks for alter tables yet.
-{{< /hint >}}
+{{< hint danger >}} Changing `external.table.purge` via Hive `ALTER TABLE SET TBLPROPERTIES` does not
+update `gc.enabled` on the Iceberg table. This is a limitation on Hive 3.1.2 because the `HiveMetaHook` doesn't have all
+the hooks for alter tables yet. {{< /hint >}}
 
 ## Querying with SQL
 
 Here are the features highlights for Iceberg Hive read support:
 
-1. **Predicate pushdown**: Pushdown of the Hive SQL `WHERE` clause has been implemented so that these filters are used at the Iceberg `TableScan` level as well as by the Parquet and ORC Readers.
-2. **Column projection**: Columns from the Hive SQL `SELECT` clause are projected down to the Iceberg readers to reduce the number of columns read.
+1. **Predicate pushdown**: Pushdown of the Hive SQL `WHERE` clause has been implemented so that these filters are used
+   at the Iceberg `TableScan` level as well as by the Parquet and ORC Readers.
+2. **Column projection**: Columns from the Hive SQL `SELECT` clause are projected down to the Iceberg readers to reduce
+   the number of columns read.
 3. **Hive query engines**: Both the MapReduce and Tez query execution engines are supported.
 
 ### Configurations
@@ -282,10 +299,12 @@ Here are the Hadoop configurations that one can adjust for the Hive reader:
 
 ### SELECT
 
-You should now be able to issue Hive SQL `SELECT` queries and see the results returned from the underlying Iceberg table, for example:
+You should now be able to issue Hive SQL `SELECT` queries and see the results returned from the underlying Iceberg
+table, for example:
 
 ```sql
-SELECT * from table_a;
+SELECT *
+from table_a;
 ```
 
 ## Writing with SQL
@@ -304,25 +323,33 @@ Here are the Hadoop configurations that one can adjust for the Hive writer:
 Hive supports the standard single-table `INSERT INTO` operation:
 
 ```sql
-INSERT INTO table_a VALUES ('a', 1);
-INSERT INTO table_a SELECT ...;
+INSERT INTO table_a
+VALUES ('a', 1);
+INSERT INTO table_a
+SELECT...;
 ```
 
-Multi-table insert is also supported, but it will not be atomic and are committed one table at a time. Partial changes will be visible during the commit process and failures can leave partial changes committed. Changes within a single table will remain atomic.
+Multi-table insert is also supported, but it will not be atomic and are committed one table at a time. Partial changes
+will be visible during the commit process and failures can leave partial changes committed. Changes within a single
+table will remain atomic.
 
 Here is an example of inserting into multiple tables at once in Hive SQL:
+
 ```sql
 FROM customers
-    INSERT INTO target1 SELECT customer_id, first_name
-    INSERT INTO target2 SELECT last_name, customer_id;
+    INSERT INTO target1
+SELECT customer_id,
+       first_name
+    INSERT
+INTO target2
+SELECT last_name, customer_id;
 ```
 
-
 ## Type compatibility
 
-Hive and Iceberg support different set of types. Iceberg can perform type conversion automatically, but not for all combinations,
-so you may want to understand the type conversion in Iceberg in prior to design the types of columns in your tables.
-You can enable auto-conversion through Hadoop configuration (not enabled by default):
+Hive and Iceberg support different set of types. Iceberg can perform type conversion automatically, but not for all
+combinations, so you may want to understand the type conversion in Iceberg in prior to design the types of columns in
+your tables. You can enable auto-conversion through Hadoop configuration (not enabled by default):
 
 | Config key                               | Default                     | Description                                         |
 | -----------------------------------------| --------------------------- | --------------------------------------------------- |
@@ -330,8 +357,8 @@ You can enable auto-conversion through Hadoop configuration (not enabled by defa
 
 ### Hive type to Iceberg type
 
-This type conversion table describes how Hive types are converted to the Iceberg types.
-The conversion applies on both creating Iceberg table and writing to Iceberg table via Hive.
+This type conversion table describes how Hive types are converted to the Iceberg types. The conversion applies on both
+creating Iceberg table and writing to Iceberg table via Hive.
 
 | Hive             | Iceberg                 | Notes |
 |------------------|-------------------------|-------|
diff --git a/docs/integrations/_index.md b/docs/integrations/_index.md
deleted file mode 100644
index fec24ff3e..000000000
--- a/docs/integrations/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-bookIconFa: fa-handshake-o
-bookCollapseSection: true
-weight: 500
----
\ No newline at end of file
diff --git a/docs/api/java-api-quickstart.md b/docs/java-api-quickstart.md
similarity index 99%
rename from docs/api/java-api-quickstart.md
rename to docs/java-api-quickstart.md
index 01157bc27..80769be3a 100644
--- a/docs/api/java-api-quickstart.md
+++ b/docs/java-api-quickstart.md
@@ -1,9 +1,12 @@
 ---
-weight: 100
 title: "Java Quickstart"
 url: java-api-quickstart
 aliases:
     - "java/quickstart"
+menu:
+    main:
+        parent: "API"
+        weight: 100
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/api/java-api.md b/docs/java-api.md
similarity index 99%
rename from docs/api/java-api.md
rename to docs/java-api.md
index 9e59f17fd..7ba9dfd1a 100644
--- a/docs/api/java-api.md
+++ b/docs/java-api.md
@@ -1,9 +1,12 @@
 ---
-weight: 200
 title: "Java API"
 url: api
 aliases:
     - "java/api"
+menu:
+    main:
+        parent: "API"
+        weight: 200
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/api/java-custom-catalog.md b/docs/java-custom-catalog.md
similarity index 99%
rename from docs/api/java-custom-catalog.md
rename to docs/java-custom-catalog.md
index 5787412b7..30c046933 100644
--- a/docs/api/java-custom-catalog.md
+++ b/docs/java-custom-catalog.md
@@ -1,9 +1,12 @@
 ---
-weight: 300
 title: "Java Custom Catalog"
 url: custom-catalog
 aliases:
     - "java/custom-catalog"
+menu:
+    main:
+        parent: "API"
+        weight: 300
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/integrations/jdbc.md b/docs/jdbc.md
similarity index 98%
rename from docs/integrations/jdbc.md
rename to docs/jdbc.md
index 1d8324d1c..c096c29e9 100644
--- a/docs/integrations/jdbc.md
+++ b/docs/jdbc.md
@@ -1,6 +1,10 @@
 ---
 title: "JDBC"
 url: jdbc
+menu:
+    main:
+        parent: Integrations
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/community/join.md b/docs/join.md
similarity index 90%
rename from docs/community/join.md
rename to docs/join.md
index 64d02756a..606b026e6 100644
--- a/docs/community/join.md
+++ b/docs/join.md
@@ -1,7 +1,10 @@
 ---
 title: "Join"
-weight: 100
-bookUrlFromBaseURL: /../../community
+relurl: "../../community"
+menu:
+    main:
+        parent: Community
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/tables/maintenance.md b/docs/maintenance.md
similarity index 99%
rename from docs/tables/maintenance.md
rename to docs/maintenance.md
index 26c4bdbae..f646116fe 100644
--- a/docs/tables/maintenance.md
+++ b/docs/maintenance.md
@@ -1,7 +1,12 @@
 ---
+title: Maintenance
 url: maintenance
 aliases:
     - "tables/maintenance"
+menu:
+    main:
+        parent: Tables
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/integrations/nessie.md b/docs/nessie.md
similarity index 99%
rename from docs/integrations/nessie.md
rename to docs/nessie.md
index aefb4990a..437ba8f48 100644
--- a/docs/integrations/nessie.md
+++ b/docs/nessie.md
@@ -1,6 +1,10 @@
 ---
 title: "Nessie"
 url: nessie
+menu:
+    main:
+        parent: Integrations
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/tables/partitioning.md b/docs/partitioning.md
similarity index 98%
rename from docs/tables/partitioning.md
rename to docs/partitioning.md
index eb56f60aa..349d8fafc 100644
--- a/docs/tables/partitioning.md
+++ b/docs/partitioning.md
@@ -1,7 +1,12 @@
 ---
+title: Partitioning
 url: partitioning
 aliases:
     - "tables/partitioning"
+menu:
+    main:
+        parent: Tables
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/tables/performance.md b/docs/performance.md
similarity index 97%
rename from docs/tables/performance.md
rename to docs/performance.md
index 6a8381e55..91939877b 100644
--- a/docs/tables/performance.md
+++ b/docs/performance.md
@@ -1,7 +1,12 @@
 ---
+title: Performance
 url: performance
 aliases:
     - "tables/performance"
+menu:
+    main:
+        parent: Tables
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/prestodb/_index.md b/docs/prestodb/_index.md
deleted file mode 100644
index 88304d75e..000000000
--- a/docs/prestodb/_index.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "Presto"
-bookIconImage: ../img/prestodb-logo.png
-bookFlatSection: true
-weight: 420
-bookExternalUrlNewWindow: https://prestodb.io/docs/current/connector/iceberg.html
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/project/_index.md b/docs/project/_index.md
deleted file mode 100644
index 1dd2bc810..000000000
--- a/docs/project/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-bookIconFa: fa-wrench
-bookCollapseSection: true
-weight: 900
----
\ No newline at end of file
diff --git a/docs/project/benchmarks.md b/docs/project/benchmarks.md
deleted file mode 100644
index 2d45cf267..000000000
--- a/docs/project/benchmarks.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: "Benchmarks"
-bookUrlFromBaseURL: /../../benchmarks
-bookHidden: true
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/project/how-to-release.md b/docs/project/how-to-release.md
deleted file mode 100644
index 81364f8c6..000000000
--- a/docs/project/how-to-release.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "How to Release"
-bookUrlFromBaseURL: /../../how-to-release
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/project/multi-engine-support.md b/docs/project/multi-engine-support.md
deleted file mode 100644
index 60cd5d0cc..000000000
--- a/docs/project/multi-engine-support.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "Multi-Engine Support"
-bookUrlFromBaseURL: /../../multi-engine-support
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/project/roadmap.md b/docs/project/roadmap.md
deleted file mode 100644
index c4718d23f..000000000
--- a/docs/project/roadmap.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "Roadmap"
-bookUrlFromBaseURL: /../../roadmap
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/project/security.md b/docs/project/security.md
deleted file mode 100644
index bc25db12e..000000000
--- a/docs/project/security.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "Security"
-bookUrlFromBaseURL: /../../security
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/project/trademarks.md b/docs/project/trademarks.md
deleted file mode 100644
index 3a02c4b40..000000000
--- a/docs/project/trademarks.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "Trademarks"
-bookUrlFromBaseURL: /../../trademarks
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/api/python-api-intro.md b/docs/python-api-intro.md
similarity index 98%
rename from docs/api/python-api-intro.md
rename to docs/python-api-intro.md
index 4fd9afbb3..80c1039d0 100644
--- a/docs/api/python-api-intro.md
+++ b/docs/python-api-intro.md
@@ -1,9 +1,12 @@
 ---
-weight: 500
 title: "Python API"
 url: python-api-intro
 aliases:
     - "python/api-intro"
+menu:
+    main:
+        parent: "API"
+        weight: 500
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/api/python-feature-support.md b/docs/python-feature-support.md
similarity index 97%
rename from docs/api/python-feature-support.md
rename to docs/python-feature-support.md
index 3ae217208..4488e4763 100644
--- a/docs/api/python-feature-support.md
+++ b/docs/python-feature-support.md
@@ -1,9 +1,12 @@
 ---
-weight: 600
 title: "Python Feature Support"
 url: python-feature-support
 aliases:
     - "python/feature-support"
+menu:
+    main:
+        parent: "API"
+        weight: 600
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/api/python-quickstart.md b/docs/python-quickstart.md
similarity index 96%
rename from docs/api/python-quickstart.md
rename to docs/python-quickstart.md
index db030e6e9..03c3acbe8 100644
--- a/docs/api/python-quickstart.md
+++ b/docs/python-quickstart.md
@@ -1,9 +1,12 @@
 ---
-weight: 400
 title: "Python Quickstart"
 url: python-quickstart
 aliases:
     - "python/quickstart"
+menu:
+    main:
+        parent: "API"
+        weight: 400
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/releases/0.12.1/_index.md b/docs/releases/0.12.1/_index.md
deleted file mode 100644
index f57fcc208..000000000
--- a/docs/releases/0.12.1/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "0.12.1"
-weight: 99
-bookUrlFromBaseURL: /0.12.1
----
\ No newline at end of file
diff --git a/docs/releases/0.13.0/_index.md b/docs/releases/0.13.0/_index.md
deleted file mode 100644
index 7590311c0..000000000
--- a/docs/releases/0.13.0/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "0.13.0"
-weight: 98
-bookUrlFromBaseURL: /0.13.0
----
\ No newline at end of file
diff --git a/docs/releases/0.13.1/_index.md b/docs/releases/0.13.1/_index.md
deleted file mode 100644
index 0b33ab5ed..000000000
--- a/docs/releases/0.13.1/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "0.13.1"
-weight: 97
-bookUrlFromBaseURL: /0.13.1
----
\ No newline at end of file
diff --git a/docs/releases/_index.md b/docs/releases/_index.md
deleted file mode 100644
index f39838059..000000000
--- a/docs/releases/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-bookIconFa: fa-code-fork
-bookCollapseSection: true
-weight: 900
----
\ No newline at end of file
diff --git a/docs/releases/latest/_index.md b/docs/releases/latest/_index.md
deleted file mode 100644
index df06b9cf4..000000000
--- a/docs/releases/latest/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "Latest"
-weight: 1
-bookUrlFromBaseURL: /latest
----
\ No newline at end of file
diff --git a/docs/releases/release-notes.md b/docs/releases/release-notes.md
deleted file mode 100644
index 0b1260487..000000000
--- a/docs/releases/release-notes.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "Release Notes"
-bookUrlFromBaseURL: /../../releases
----
-<!--
- - 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.
- -->
\ No newline at end of file
diff --git a/docs/tables/reliability.md b/docs/reliability.md
similarity index 98%
rename from docs/tables/reliability.md
rename to docs/reliability.md
index 999383fb5..b06ab2f5e 100644
--- a/docs/tables/reliability.md
+++ b/docs/reliability.md
@@ -1,7 +1,12 @@
 ---
+title: Reliability"
 url: reliability
 aliases:
     - "tables/reliability"
+menu:
+    main:
+        parent: Tables
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/tables/schemas.md b/docs/schemas.md
similarity index 98%
rename from docs/tables/schemas.md
rename to docs/schemas.md
index 4006dc279..502d3306b 100644
--- a/docs/tables/schemas.md
+++ b/docs/schemas.md
@@ -1,7 +1,12 @@
 ---
+title: Schemas
 url: schemas
 aliases:
     - "tables/schemas"
+menu:
+    main:
+        parent: Tables
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/spark/spark-configuration.md b/docs/spark-configuration.md
similarity index 99%
rename from docs/spark/spark-configuration.md
rename to docs/spark-configuration.md
index 7408dd7d3..052aa8da4 100644
--- a/docs/spark/spark-configuration.md
+++ b/docs/spark-configuration.md
@@ -3,6 +3,10 @@ title: "Configuration"
 url: spark-configuration
 aliases:
     - "spark/spark-configuration"
+menu:
+    main:
+        parent: Spark
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/spark/spark-ddl.md b/docs/spark-ddl.md
similarity index 99%
rename from docs/spark/spark-ddl.md
rename to docs/spark-ddl.md
index e97c1e2c8..0c0fed80e 100644
--- a/docs/spark/spark-ddl.md
+++ b/docs/spark-ddl.md
@@ -3,6 +3,10 @@ title: "DDL"
 url: spark-ddl
 aliases:
     - "spark/spark-ddl"
+menu:
+    main:
+        parent: Spark
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/spark/spark-getting-started.md b/docs/spark-getting-started.md
similarity index 99%
rename from docs/spark/spark-getting-started.md
rename to docs/spark-getting-started.md
index 8a61f1121..f29908d01 100644
--- a/docs/spark/spark-getting-started.md
+++ b/docs/spark-getting-started.md
@@ -4,6 +4,10 @@ weight: 200
 url: getting-started
 aliases:
     - "spark/getting-started"
+menu:
+    main:
+        parent: Spark
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/spark/spark-procedures.md b/docs/spark-procedures.md
similarity index 99%
rename from docs/spark/spark-procedures.md
rename to docs/spark-procedures.md
index 9d44adeb5..767bb17b7 100644
--- a/docs/spark/spark-procedures.md
+++ b/docs/spark-procedures.md
@@ -3,6 +3,10 @@ title: "Procedures"
 url: spark-procedures
 aliases:
     - "spark/spark-procedures"
+menu:
+    main:
+        parent: Spark
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/spark/spark-queries.md b/docs/spark-queries.md
similarity index 99%
rename from docs/spark/spark-queries.md
rename to docs/spark-queries.md
index e487ee8d8..c122c2df3 100644
--- a/docs/spark/spark-queries.md
+++ b/docs/spark-queries.md
@@ -3,6 +3,10 @@ title: "Queries"
 url: spark-queries
 aliases:
     - "spark/spark-queries"
+menu:
+    main:
+        parent: Spark
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/spark/spark-structured-streaming.md b/docs/spark-structured-streaming.md
similarity index 99%
rename from docs/spark/spark-structured-streaming.md
rename to docs/spark-structured-streaming.md
index 6dffdbf83..587a3c1c3 100644
--- a/docs/spark/spark-structured-streaming.md
+++ b/docs/spark-structured-streaming.md
@@ -3,6 +3,10 @@ title: "Structured Streaming"
 url: spark-structured-streaming
 aliases:
     - "spark/spark-structured-streaming"
+menu:
+    main:
+        parent: Spark
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/spark/spark-writes.md b/docs/spark-writes.md
similarity index 99%
rename from docs/spark/spark-writes.md
rename to docs/spark-writes.md
index 165ba674e..4a5b2ecbb 100644
--- a/docs/spark/spark-writes.md
+++ b/docs/spark-writes.md
@@ -3,6 +3,10 @@ title: "Writes"
 url: spark-writes
 aliases:
     - "spark/spark-writes"
+menu:
+    main:
+        parent: Spark
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/spark/_index.md b/docs/spark/_index.md
deleted file mode 100644
index 3a014d4ac..000000000
--- a/docs/spark/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-bookIconFa: fa-star-o
-bookFlatSection: true
-weight: 200
----
\ No newline at end of file
diff --git a/docs/starrocks/_index.md b/docs/starrocks/_index.md
deleted file mode 100644
index d1c14be4b..000000000
--- a/docs/starrocks/_index.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "StarRocks"
-bookIconImage: ../img/starrocks-logo.png
-bookFlatSection: true
-weight: 430
-bookExternalUrlNewWindow: https://docs.starrocks.com/en-us/main/using_starrocks/External_table#apache-iceberg-external-table
----
-<!--
- - 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.
- -->
diff --git a/docs/tables/_index.md b/docs/tables/_index.md
deleted file mode 100644
index 033a32a6f..000000000
--- a/docs/tables/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-bookIconFa: fa-table
-bookFlatSection: true
-weight: 100
----
\ No newline at end of file
diff --git a/docs/community/talks.md b/docs/talks.md
similarity index 90%
rename from docs/community/talks.md
rename to docs/talks.md
index dcab56a4f..0695cf743 100644
--- a/docs/community/talks.md
+++ b/docs/talks.md
@@ -1,7 +1,10 @@
 ---
 title: "Talks"
-bookUrlFromBaseURL: /../../talks
-weight: 300
+relurl: "../../talks"
+menu:
+    main:
+        parent: Community
+        weight: 0
 ---
 <!--
  - Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/docs/trino/_index.md b/docs/trino/_index.md
deleted file mode 100644
index 4079bfa71..000000000
--- a/docs/trino/_index.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "Trino"
-bookIconImage: ../img/trino-logo.png
-bookFlatSection: true
-weight: 410
-bookExternalUrlNewWindow: https://trino.io/docs/current/connector/iceberg.html
----
-<!--
- - 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.
- -->
\ No newline at end of file