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

jiacai2050 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/horaedb-docs.git


The following commit(s) were added to refs/heads/main by this push:
     new 36785ca  refactor: use hugo to build website (#132)
36785ca is described below

commit 36785ca3da45c2b6ac45fbd16916ead7ef98b2cf
Author: Jiacai Liu <d...@liujiacai.net>
AuthorDate: Wed Aug 21 10:34:40 2024 +0800

    refactor: use hugo to build website (#132)
---
 .github/workflows/deploy.yml                       |  22 +-
 .gitignore                                         |   7 +
 Makefile                                           |   8 +-
 README.md                                          |  18 +-
 archetypes/default.md                              |   5 +
 content/cn/_index.md                               |  35 ++
 docs/src/cn/about.md => content/cn/docs/_index.md  |  23 +-
 content/cn/docs/design/_index.md                   |   4 +
 .../cn => content/cn/docs}/design/architecture.md  |   5 +-
 .../cn => content/cn/docs}/design/clustering.md    |   7 +-
 .../cn/docs}/design/shared_nothing.md              |   4 +-
 {docs/src/cn => content/cn/docs}/design/storage.md |  11 +-
 .../cn/docs}/design/table_partitioning.md          |   6 +-
 .../cn => content/cn/docs}/design/wal_on_kafka.md  |   4 +-
 .../cn/docs}/design/wal_on_rocksdb.md              |   4 +-
 content/cn/docs/dev/_index.md                      |   4 +
 .../src/cn => content/cn/docs}/dev/compile_run.md  |   5 +
 .../cn/docs/dev}/platform.md                       |   5 +
 {docs/src/cn => content/cn/docs}/dev/profiling.md  |   5 +-
 {docs/src/cn => content/cn/docs}/dev/roadmap.md    |   5 +-
 .../cn/docs/getting-started.md                     |   5 +-
 content/cn/docs/user-guide/_index.md               |   4 +
 .../docs/user-guide/cluster_deployment/_index.md   |   8 +-
 .../docs/user-guide}/cluster_deployment/no_meta.md |   6 +-
 .../user-guide}/cluster_deployment/with_meta.md    |  10 +-
 .../cn/docs/user-guide/ecosystem/_index.md         |   9 +-
 .../cn/docs/user-guide}/ecosystem/influxdb.md      |   4 +-
 .../cn/docs/user-guide}/ecosystem/opentsdb.md      |   4 +-
 .../cn/docs/user-guide}/ecosystem/prometheus.md    |   4 +-
 .../cn/docs/user-guide/operation/_index.md         |  11 +-
 .../cn/docs/user-guide}/operation/block_list.md    |   4 +-
 .../cn/docs/user-guide}/operation/horaemeta.md     |   4 +-
 .../cn/docs/user-guide}/operation/observability.md |  12 +-
 .../cn/docs/user-guide}/operation/system_table.md  |   4 +-
 .../cn/docs/user-guide}/operation/table.md         |   4 +-
 content/cn/docs/user-guide/sdk/_index.md           |   4 +
 .../cn => content/cn/docs/user-guide}/sdk/go.md    |   4 +-
 .../cn => content/cn/docs/user-guide}/sdk/java.md  |   4 +-
 .../cn/docs/user-guide}/sdk/python.md              |   4 +-
 .../cn => content/cn/docs/user-guide}/sdk/rust.md  |   4 +-
 content/cn/docs/user-guide/sql/_index.md           |   6 +
 .../cn/docs/user-guide/sql}/aggregate_functions.md |   4 +-
 content/cn/docs/user-guide/sql/ddl/_index.md       |   6 +
 .../cn/docs/user-guide}/sql/ddl/alter_table.md     |   4 +-
 .../cn/docs/user-guide}/sql/ddl/create_table.md    |   4 +-
 .../cn/docs/user-guide}/sql/ddl/drop_table.md      |   4 +-
 content/cn/docs/user-guide/sql/dml/_index.md       |   6 +
 .../cn/docs/user-guide}/sql/dml/insert.md          |   4 +-
 .../cn/docs/user-guide}/sql/dml/select.md          |   4 +-
 .../cn/docs/user-guide}/sql/engine_options.md      |   5 +-
 .../cn/docs/user-guide}/sql/identifier.md          |   5 +-
 content/cn/docs/user-guide/sql/model/_index.md     |   6 +
 .../cn/docs/user-guide}/sql/model/data_types.md    |   4 +-
 .../docs/user-guide}/sql/model/special_columns.md  |   4 +-
 .../cn/docs/user-guide/sql}/scalar_functions.md    |   4 +-
 .../cn/docs/user-guide}/sql/utility.md             |   5 +-
 content/en/_index.md                               |  34 ++
 content/en/blog/2024/release-2.0.0.md              | 236 ++++++++++++
 content/en/blog/_index.md                          |   9 +
 content/en/community/_index.md                     |   7 +
 docs/src/en/about.md => content/en/docs/_index.md  |  22 +-
 content/en/docs/contribution-guidelines.md         | 104 +++++
 content/en/docs/design/_index.md                   |   4 +
 .../en => content/en/docs}/design/architecture.md  |   4 +-
 .../en => content/en/docs}/design/clustering.md    |   5 +-
 {docs/src/en => content/en/docs}/design/storage.md |   6 +-
 .../en/docs}/design/table_partitioning.md          |   5 +-
 {docs/src/en => content/en/docs}/design/wal.md     |   4 +-
 .../en => content/en/docs}/design/wal_on_kafka.md  |   4 +-
 .../en/docs}/design/wal_on_rocksdb.md              |   4 +-
 content/en/docs/dev/_index.md                      |   4 +
 .../src/en => content/en/docs}/dev/compile_run.md  |   5 +
 .../en/docs}/dev/conventional_commit.md            |   5 +-
 .../en/docs/dev}/platform.md                       |  11 +-
 {docs/src/en => content/en/docs}/dev/profiling.md  |   4 +-
 {docs/src/en => content/en/docs}/dev/roadmap.md    |   4 +-
 .../src/en => content/en/docs}/dev/sdk_develop.md  |   4 +
 .../src/en => content/en/docs}/dev/style_guide.md  |   4 +-
 .../en/docs/getting-started.md                     |   5 +-
 content/en/docs/user-guide/_index.md               |   4 +
 .../docs/user-guide/cluster_deployment/_index.md   |   8 +-
 .../docs/user-guide}/cluster_deployment/no_meta.md |   7 +-
 .../user-guide}/cluster_deployment/with_meta.md    |  11 +-
 content/en/docs/user-guide/ecosystem/_index.md     |   6 +
 .../en/docs/user-guide}/ecosystem/influxdb.md      |   4 +-
 .../en/docs/user-guide}/ecosystem/opentsdb.md      |   4 +-
 .../en/docs/user-guide}/ecosystem/prometheus.md    |   4 +-
 .../en/docs/user-guide/operation/_index.md         |  11 +-
 .../en/docs/user-guide}/operation/block_list.md    |   4 +-
 .../en/docs/user-guide}/operation/horaemeta.md     |   4 +-
 .../en/docs/user-guide}/operation/observability.md |  12 +-
 .../en/docs/user-guide}/operation/system_table.md  |   4 +-
 .../en/docs/user-guide}/operation/table.md         |   4 +-
 content/en/docs/user-guide/sdk/_index.md           |   4 +
 .../en => content/en/docs/user-guide}/sdk/go.md    |   4 +-
 .../en => content/en/docs/user-guide}/sdk/java.md  |   4 +-
 .../en/docs/user-guide}/sdk/python.md              |   4 +-
 .../en => content/en/docs/user-guide}/sdk/rust.md  |   4 +-
 content/en/docs/user-guide/sql/_index.md           |   4 +
 .../en/docs/user-guide/sql}/aggregate_functions.md |   5 +-
 content/en/docs/user-guide/sql/ddl/_index.md       |   6 +
 .../en/docs/user-guide}/sql/ddl/alter_table.md     |   4 +-
 .../en/docs/user-guide}/sql/ddl/create_table.md    |   4 +-
 .../en/docs/user-guide}/sql/ddl/drop_table.md      |   4 +-
 content/en/docs/user-guide/sql/dml/_index.md       |   6 +
 .../en/docs/user-guide}/sql/dml/insert.md          |   4 +-
 .../en/docs/user-guide}/sql/dml/select.md          |   4 +-
 .../en/docs/user-guide}/sql/engine_options.md      |   5 +-
 .../en/docs/user-guide}/sql/identifier.md          |   5 +-
 content/en/docs/user-guide/sql/model/_index.md     |   6 +
 .../en/docs/user-guide}/sql/model/data_types.md    |   4 +-
 .../docs/user-guide}/sql/model/special_columns.md  |   4 +-
 .../en/docs/user-guide/sql}/scalar_functions.md    |   5 +-
 .../en/docs/user-guide}/sql/utility.md             |   5 +-
 docs/.gitignore                                    |   1 -
 docs/book.toml                                     |  29 --
 docs/move.sh                                       |   6 -
 docs/sidebar.js                                    |  66 ----
 docs/src/cn/SUMMARY.md                             |  66 ----
 docs/src/cn/design/wal.md                          |   5 -
 docs/src/cn/dev/README.md                          |   1 -
 docs/src/cn/dev/conventional_commit.md             |   3 -
 docs/src/cn/dev/platform.md                        |   7 -
 docs/src/cn/dev/style_guide.md                     |   3 -
 docs/src/cn/protocol.md                            |   1 -
 docs/src/cn/sdk/README.md                          |   6 -
 docs/src/cn/sql/README.md                          |  19 -
 docs/src/cn/sql/ddl/README.md                      |   7 -
 docs/src/cn/sql/dml/README.md                      |   6 -
 docs/src/cn/sql/model/README.md                    |   6 -
 docs/src/cn/trouble_shooting.md                    |   1 -
 docs/src/en/SUMMARY.md                             |  66 ----
 docs/src/en/dev/README.md                          |   1 -
 docs/src/en/dev/platform.md                        |   7 -
 docs/src/en/ecosystem/README.md                    |   9 -
 docs/src/en/protocol.md                            |   1 -
 docs/src/en/sdk/README.md                          |   6 -
 docs/src/en/sql/README.md                          |  19 -
 docs/src/en/sql/ddl/README.md                      |   7 -
 docs/src/en/sql/dml/README.md                      |   6 -
 docs/src/en/sql/model/README.md                    |   6 -
 docs/src/en/trouble_shooting.md                    |   1 -
 docs/style.css                                     |  54 ---
 docs/theme/index.hbs                               | 417 ---------------------
 go.mod                                             |   5 +
 go.sum                                             |   4 +
 hugo.toml                                          |  87 +++++
 layouts/partials/footer.html                       |  11 +
 .../config-horaedb-cluster0.toml                   |   0
 .../config-horaedb-cluster1.toml                   |   0
 .../config-horaemeta-cluster0.toml                 |   0
 .../config-horaemeta-cluster1.toml                 |   0
 .../config-horaemeta-cluster2.toml                 |   0
 .../config-horaemeta-standalone.toml               |   0
 .../src/resources => static}/config_kafka_oss.toml |   0
 .../src/resources => static}/config_local_oss.toml |   0
 .../src/resources => static}/config_obkv_oss.toml  |   0
 .../resources => static}/grafana-dashboard.json    |   0
 static/{ => images}/dingtalk.jpg                   | Bin
 .../images/grafana-dashboard.png                   | Bin
 .../images/grafana-datasource.png                  | Bin
 .../images/grafana-horaedb-dashboard.png           | Bin
 static/images/horaedb-banner-white-small.jpg       | Bin 0 -> 56442 bytes
 .../images/storage-overview.svg                    |   0
 static/images/weixin-mp.jpg                        | Bin 0 -> 136565 bytes
 165 files changed, 999 insertions(+), 992 deletions(-)

diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 0cf1156..006ee35 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -5,7 +5,6 @@ on:
   push:
     branches:
       - main
-  pull_request:
 
 # Allow one concurrent deployment
 concurrency:
@@ -19,13 +18,26 @@ jobs:
       - uses: actions/checkout@v4
         with:
           fetch-depth: 0
-      - run: make install
+      - name: Setup Hugo
+        uses: peaceiris/actions-hugo@v3
+        with:
+          hugo-version: 'latest'
+          extended: true
+      - name: Build with Hugo
+        env:
+          # For maximum backward compatibility with Hugo modules
+          HUGO_ENVIRONMENT: production
+          HUGO_ENV: production
+        run: |
+          npm i -D postcss postcss-cli autoprefixer
+          hugo mod get
+          hugo --minify
       - run: make build
-      # copy .asf.yaml to docs/book/html which asf site needs
-      - run: cp .asf.yaml docs/book/html
+      # copy .asf.yaml to ./public, asf site needs it.
+      - run: cp .asf.yaml ./public
       - uses: peaceiris/actions-gh-pages@v3
         if: github.event_name != 'pull_request'
         with:
           github_token: ${{ secrets.GITHUB_TOKEN }}
-          publish_dir: ./docs/book/html
+          publish_dir: ./public
           publish_branch: asf-site
diff --git a/.gitignore b/.gitignore
index 348ef20..4c95e2c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,10 @@
 
 # vscode files
 .vscode
+
+/resources
+*lock
+/public
+/node_modules
+package.json
+package-lock.json
diff --git a/Makefile b/Makefile
index 987bd46..1a0ffb2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,8 @@
 install:
-       cargo install mdbook@0.4.25
-       cargo install mdbook-i18n --git 
https://github.com/chunshao90/mdbook-i18n.git --rev 
ca497cff369e0a5cedcd4024af6e1f05cc5050c5
+       brew install hugo
 
 serve:
-       cd docs && mdbook serve
-
-build:
-       cd docs && mdbook build
+       hugo serve
 
 lint:
        find . -name '*.md' | xargs npx prettier@2.7.1 --write
diff --git a/README.md b/README.md
index f8d5fcf..1205788 100644
--- a/README.md
+++ b/README.md
@@ -6,13 +6,25 @@
 >
 > Please read the [DISCLAIMER](DISCLAIMER) and a full explanation of 
 > ["incubating"](https://incubator.apache.org/policy/incubation.html).
 
-This repository stores all the source files of [HoraeDB docs 
website](https://apache.github.io/incubator-horaedb-docs/), the website is 
generated with [mdbook](https://rust-lang.github.io/mdBook/).
+This repository stores all the source files of [HoraeDB docs 
website](https://apache.github.io/horaedb-docs/), the website is generated with 
[hugo](https://gohugo.io/) and [docsy](https://www.docsy.dev/).
 
 **All files are written in standard markdown.**
 
+## How to run
+
+```bash
+# Download dependencies
+hugo mod get
+
+# Start a local server for preview
+hugo serve
+```
+
+By default hugo will listen on http://localhost:1313
+
 ## Contributing
 
 Welcome any contributions from the community. You can
 
-- Open an [issue](https://github.com/apache/incubator-horaedb-docs/issues) 
with any suggestions, or
-- Submit a [pull 
request](https://github.com/apache/incubator-horaedb-docs/pulls) to improve the 
website (trivial fixes are welcome).
+- Open an [issue](https://github.com/apache/horaedb-docs/issues) with any 
suggestions, or
+- Submit a [pull request](https://github.com/apache/horaedb-docs/pulls) to 
improve the website (trivial fixes are welcome).
diff --git a/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..c6f3fce
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,5 @@
++++
+title = '{{ replace .File.ContentBaseName "-" " " | title }}'
+date = {{ .Date }}
+draft = true
++++
diff --git a/content/cn/_index.md b/content/cn/_index.md
new file mode 100644
index 0000000..0caab32
--- /dev/null
+++ b/content/cn/_index.md
@@ -0,0 +1,35 @@
+---
+title: "Horaedb"
+---
+
+{{% blocks/cover color="primary" title="Apache HoraeDB™ (incubating)" 
height="full" %}}
+{{% param description %}}
+
+{.display-6}
+
+<a class="btn btn-lg btn-secondary" 
href="https://github.com/apache/horaedb";>GitHub<i class="fab fa-github ms-2 
"></i></a>
+<a class="btn btn-lg btn-secondary" href="docs/getting-started/">
+快速开始<i class="fas fa-arrow-alt-circle-right ms-2"></i>
+</a>
+{.p-initial .my-5}
+
+{{% blocks/section type="row" %}}
+
+{{% blocks/feature icon="fa-lightbulb" title="特性" %}}
+高性能低成本、简单易用、社区驱动
+
+{{% /blocks/feature %}}
+
+{{% blocks/feature icon="fa fa-code" title="生态" 
url="docs/user-guide/ecosystem/" %}}
+
+积极拥抱开源生态,同时能够无缝对接各种开源组件。
+{{% /blocks/feature %}}
+
+{{% blocks/feature icon="fa-brands fa-github" title="100% 开源" 
url="/docs/contribution-guidelines/" %}}
+
+所有代码均在 GitHub 上开源,欢迎新用户的加入!
+{{% /blocks/feature %}}
+
+{{% /blocks/section %}}
+
+{{% /blocks/cover %}}
diff --git a/docs/src/cn/about.md b/content/cn/docs/_index.md
similarity index 50%
rename from docs/src/cn/about.md
rename to content/cn/docs/_index.md
index 6deb1d9..4eb0ecb 100644
--- a/docs/src/cn/about.md
+++ b/content/cn/docs/_index.md
@@ -1,8 +1,17 @@
-![HoraeDB](https://github.com/apache/incubator-horaedb/raw/main/docs/logo/horaedb-banner-white-small.jpg)
+---
+title: "文档"
+weight: 1
+menu:
+  main:
+    weight: 20
+    pre: <i class='fa-solid fa-book'></i>
+---
+
+![HoraeDB](/images/horaedb-banner-white-small.jpg)
 
 ![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)
-[![CI](https://github.com/apache/incubator-horaedb/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/incubator-horaedb/actions/workflows/ci.yml)
-[![OpenIssue](https://img.shields.io/github/issues/apachge/incubator-horaedb)](https://github.com/apache/incubator-horaedb/issues)
+[![CI](https://github.com/apache/horaedb/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/horaedb/actions/workflows/ci.yml)
+[![OpenIssue](https://img.shields.io/github/issues/apache/horaedb)](https://github.com/apache/horaedb/issues)
 
 Apache HoraeDB™ (incubating) 是一款高性能、分布式的云原生时序数据库。
 
@@ -16,7 +25,7 @@ HoraeDB 的基础设计思想是采用混合存储格式和相应的查询方法
 
 # 如何使用 HoraeDB?
 
-- 查看 [快速开始](quick_start.md) 掌握快速使用 HoraeDB 的方式
-- HoraeDB 支持的数据模型请查看 [Data Model](sql/model/README.md)
-- SQL 使用相关请查看 [SQL](sql/README.md)
-- HoraeDB 支持的相关 SDK 请查看 [SDK](sdk/README.md)
+- 查看 [快速开始]({{< ref "getting-started.md" >}}) 掌握快速使用 HoraeDB 的方式
+- HoraeDB 支持的数据模型请查看 [Data Model]({{< ref "user-guide/sql/model/_index.md" >}})
+- SQL 使用相关请查看[这里]({{< ref "user-guide/sql/_index.md" >}})
+- SDK 使用请查看[这里]({{< ref "user-guide/sdk/_index.md" >}})
diff --git a/content/cn/docs/design/_index.md b/content/cn/docs/design/_index.md
new file mode 100644
index 0000000..58c8fdf
--- /dev/null
+++ b/content/cn/docs/design/_index.md
@@ -0,0 +1,4 @@
+---
+title: "设计文档"
+weight: 40
+---
diff --git a/docs/src/cn/design/architecture.md 
b/content/cn/docs/design/architecture.md
similarity index 99%
rename from docs/src/cn/design/architecture.md
rename to content/cn/docs/design/architecture.md
index 0c6dd1f..d54cb18 100644
--- a/docs/src/cn/design/architecture.md
+++ b/content/cn/docs/design/architecture.md
@@ -1,4 +1,7 @@
-# HoraeDB 架构介绍
+---
+title: "HoraeDB 架构介绍"
+weight: 10
+---
 
 ## 本文目标
 
diff --git a/docs/src/cn/design/clustering.md 
b/content/cn/docs/design/clustering.md
similarity index 99%
rename from docs/src/cn/design/clustering.md
rename to content/cn/docs/design/clustering.md
index e93d00b..0e78e3e 100644
--- a/docs/src/cn/design/clustering.md
+++ b/content/cn/docs/design/clustering.md
@@ -1,6 +1,9 @@
-注意:文章中提到的部分特性暂时还未实现。
+---
+title: "集群模式"
+weight: 20
+---
 
-# HoraeDB 集群
+注意:文章中提到的部分特性暂时还未实现。
 
 ## 整体架构
 
diff --git a/docs/src/cn/design/shared_nothing.md 
b/content/cn/docs/design/shared_nothing.md
similarity index 99%
rename from docs/src/cn/design/shared_nothing.md
rename to content/cn/docs/design/shared_nothing.md
index cbb5bb0..ea83c50 100644
--- a/docs/src/cn/design/shared_nothing.md
+++ b/content/cn/docs/design/shared_nothing.md
@@ -1,4 +1,6 @@
-# Shared Nothing 架构
+---
+title: "Shared Nothing 架构"
+---
 
 ## 背景
 
diff --git a/docs/src/cn/design/storage.md b/content/cn/docs/design/storage.md
similarity index 92%
rename from docs/src/cn/design/storage.md
rename to content/cn/docs/design/storage.md
index d6c4cf1..5850cc9 100644
--- a/docs/src/cn/design/storage.md
+++ b/content/cn/docs/design/storage.md
@@ -1,4 +1,7 @@
-# 存储引擎
+---
+title: "存储引擎"
+weight: 30
+---
 
 存储引擎主要提供以下两个功能:
 
@@ -11,7 +14,7 @@
 
 HoraeDB 是一种基于 share-nothing 架构的分布式存储系统,不同服务器之间的数据相互隔离,互不影响。每一个单机中的存储引擎是 
LSM(Log-structured merge-tree)的一个变种,针对时序场景做了优化,下图展示了其主要组件的运作方式:
 
-![](../../resources/images/storage-overview.svg)
+![](/images/storage-overview.svg)
 
 ## Write Ahead Log (WAL)
 
@@ -24,9 +27,9 @@ HoraeDB 是一种基于 share-nothing 架构的分布式存储系统,不同服
 
 另一方面,由于[分布式架构](cluster.md)的设计,要求 WAL 本身是高可用的,现在 HoraeDB 中,主要有以下几种实现:
 
-- [本地磁盘](wal_on_rocksdb.md)(基于 [RocksDB](http://rocksdb.org/),无分布式高可用)
+- [本地磁盘]({{< ref "wal_on_rocksdb.md" >}})(基于 
[RocksDB](http://rocksdb.org/),无分布式高可用)
 - [Oceanbase](https://www.oceanbase.com)
-- [Kafka](wal_on_kafka.md)
+- [Kafka]({{< ref "wal_on_kafka.md" >}})
 
 ## Memtable
 
diff --git a/docs/src/cn/design/table_partitioning.md 
b/content/cn/docs/design/table_partitioning.md
similarity index 99%
rename from docs/src/cn/design/table_partitioning.md
rename to content/cn/docs/design/table_partitioning.md
index 8e429c7..6218610 100644
--- a/docs/src/cn/design/table_partitioning.md
+++ b/content/cn/docs/design/table_partitioning.md
@@ -1,6 +1,8 @@
-**注意:此功能仍在开发中,API 将来可能会发生变化。**
+---
+title: "分区表"
+---
 
-# 分区表
+**注意:此功能仍在开发中,API 将来可能会发生变化。**
 
 本章讨论 `PartitionTable`。
 
diff --git a/docs/src/cn/design/wal_on_kafka.md 
b/content/cn/docs/design/wal_on_kafka.md
similarity index 99%
rename from docs/src/cn/design/wal_on_kafka.md
rename to content/cn/docs/design/wal_on_kafka.md
index 3a98346..cfd7e2c 100644
--- a/docs/src/cn/design/wal_on_kafka.md
+++ b/content/cn/docs/design/wal_on_kafka.md
@@ -1,4 +1,6 @@
-# 基于 Kafka 的 WAL
+---
+title: "基于 Kafka 的 WAL"
+---
 
 ## 架构
 
diff --git a/docs/src/cn/design/wal_on_rocksdb.md 
b/content/cn/docs/design/wal_on_rocksdb.md
similarity index 99%
rename from docs/src/cn/design/wal_on_rocksdb.md
rename to content/cn/docs/design/wal_on_rocksdb.md
index 3e1e684..37f7738 100644
--- a/docs/src/cn/design/wal_on_rocksdb.md
+++ b/content/cn/docs/design/wal_on_rocksdb.md
@@ -1,4 +1,6 @@
-# 基于 RocksDB 的 WAL
+---
+title: "基于 RocksDB 的 WAL"
+---
 
 ## 架构
 
diff --git a/content/cn/docs/dev/_index.md b/content/cn/docs/dev/_index.md
new file mode 100644
index 0000000..fd31411
--- /dev/null
+++ b/content/cn/docs/dev/_index.md
@@ -0,0 +1,4 @@
+---
+title: "开发手册"
+weight: 20
+---
diff --git a/docs/src/cn/dev/compile_run.md b/content/cn/docs/dev/compile_run.md
similarity index 97%
rename from docs/src/cn/dev/compile_run.md
rename to content/cn/docs/dev/compile_run.md
index 3517770..ba09a73 100644
--- a/docs/src/cn/dev/compile_run.md
+++ b/content/cn/docs/dev/compile_run.md
@@ -1,3 +1,8 @@
+---
+title: "编译"
+weight: 10
+---
+
 为了编译 HoraeDB, 首先需要安装相关的依赖(包括 `Rust` 的工具链)。
 
 # 依赖(Ubuntu20.04)
diff --git a/docs/src/cn/cluster_deployment/platform.md 
b/content/cn/docs/dev/platform.md
similarity index 94%
rename from docs/src/cn/cluster_deployment/platform.md
rename to content/cn/docs/dev/platform.md
index 97547a0..cd17942 100644
--- a/docs/src/cn/cluster_deployment/platform.md
+++ b/content/cn/docs/dev/platform.md
@@ -1,3 +1,8 @@
+---
+title: "支持平台"
+weight: 10
+---
+
 作为一个开源的数据库,HoraeDB 可以部署在基于英特尔 /ARM 架构的服务器,以及常见的虚拟环境。
 
 |                         OS                         | status |
diff --git a/docs/src/cn/dev/profiling.md b/content/cn/docs/dev/profiling.md
similarity index 94%
rename from docs/src/cn/dev/profiling.md
rename to content/cn/docs/dev/profiling.md
index 2463571..3caf298 100644
--- a/docs/src/cn/dev/profiling.md
+++ b/content/cn/docs/dev/profiling.md
@@ -1,4 +1,7 @@
-## 剖析
+---
+title: "性能诊断"
+weight: 20
+---
 
 ### CPU 剖析
 
diff --git a/docs/src/cn/dev/roadmap.md b/content/cn/docs/dev/roadmap.md
similarity index 98%
rename from docs/src/cn/dev/roadmap.md
rename to content/cn/docs/dev/roadmap.md
index 0e8ef16..b1442d8 100644
--- a/docs/src/cn/dev/roadmap.md
+++ b/content/cn/docs/dev/roadmap.md
@@ -1,4 +1,7 @@
-## RoadMap
+---
+title: "RoadMap"
+weight: 30
+---
 
 ### v0.1.0
 
diff --git a/docs/src/cn/quick_start.md b/content/cn/docs/getting-started.md
similarity index 98%
rename from docs/src/cn/quick_start.md
rename to content/cn/docs/getting-started.md
index 497f6e2..7031f70 100644
--- a/docs/src/cn/quick_start.md
+++ b/content/cn/docs/getting-started.md
@@ -1,4 +1,7 @@
-# 快速开始
+---
+title: "快速开始"
+weight: 1
+---
 
 本章介绍如何快速启动 HoraeDB。在这里你将会学到启动一个单机模式的 HoraeDB,然后使用 SQL 写入一些数据并查询结果。
 
diff --git a/content/cn/docs/user-guide/_index.md 
b/content/cn/docs/user-guide/_index.md
new file mode 100644
index 0000000..46ef6ae
--- /dev/null
+++ b/content/cn/docs/user-guide/_index.md
@@ -0,0 +1,4 @@
+---
+title: "用户指南"
+weight: 10
+---
diff --git a/docs/src/cn/cluster_deployment/README.md 
b/content/cn/docs/user-guide/cluster_deployment/_index.md
similarity index 84%
rename from docs/src/cn/cluster_deployment/README.md
rename to content/cn/docs/user-guide/cluster_deployment/_index.md
index e5a7a9a..7dda00d 100644
--- a/docs/src/cn/cluster_deployment/README.md
+++ b/content/cn/docs/user-guide/cluster_deployment/_index.md
@@ -1,10 +1,10 @@
-# 集群部署
+---
+title: "集群部署"
+weight: 20
+---
 
 在[快速开始](../quick_start.md)部分我们已经介绍过单机版本 HoraeDB 的部署。
 
 除此之外,HoraeDB 作为一个分布式时序数据库,多个 HoraeDB 实例能够以集群的方式提供可伸缩和高可用的数据服务。
 
 由于目前 HoraeDB 对于 Kubernetes 的支持还在开发之中,目前 HoraeDB 
集群部署只能通过手动完成,集群部署的模式主要有两种,两者的区别在于是否需要部署 HoraeMeta,对于 `NoMeta` 的模式,我们仅建议在测试场景下使用。
-
-- [NoMeta 模式(仅供测试使用)](no_meta.md)
-- [WithMeta 模式](with_meta.md)
diff --git a/docs/src/cn/cluster_deployment/no_meta.md 
b/content/cn/docs/user-guide/cluster_deployment/no_meta.md
similarity index 99%
rename from docs/src/cn/cluster_deployment/no_meta.md
rename to content/cn/docs/user-guide/cluster_deployment/no_meta.md
index bef35df..57e00bf 100644
--- a/docs/src/cn/cluster_deployment/no_meta.md
+++ b/content/cn/docs/user-guide/cluster_deployment/no_meta.md
@@ -1,6 +1,8 @@
-**注意:此功能仅供测试使用,不推荐生产使用,相关功能将来可能会发生变化。**
+---
+title: "NoMeta 模式"
+---
 
-# NoMeta 模式
+**注意:此功能仅供测试使用,不推荐生产使用,相关功能将来可能会发生变化。**
 
 本章介绍如何部署一个静态(无 HoraeMeta)的 HoraeDB 集群。
 
diff --git a/docs/src/cn/cluster_deployment/with_meta.md 
b/content/cn/docs/user-guide/cluster_deployment/with_meta.md
similarity index 95%
rename from docs/src/cn/cluster_deployment/with_meta.md
rename to content/cn/docs/user-guide/cluster_deployment/with_meta.md
index d1abbf1..d9a37d7 100644
--- a/docs/src/cn/cluster_deployment/with_meta.md
+++ b/content/cn/docs/user-guide/cluster_deployment/with_meta.md
@@ -1,4 +1,6 @@
-# WithMeta 模式
+---
+title: "WithMeta 模式"
+---
 
 本文展示如何部署一个由 HoraeMeta 控制的 HoraeDB 集群,有了 HoraeMeta 提供的服务,如果 HoraeDB 
使用存储不在本地的话,就可以实现很多分布式特性,比如水平扩容、负载均衡、服务高可用等。
 
@@ -42,19 +44,19 @@ docker run -d --name horaemeta-server \
 - 多节点
 
 ```bash
-wget 
https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster0.toml
+wget https://horaedb.apache.org/config-horaemeta-cluster0.toml
 
 docker run -d --network=host --name horaemeta-server0 \
   -v $(pwd)/config-horaemeta-cluster0.toml:/etc/horaemeta/horaemeta.toml \
   ghcr.io/apache/horaemeta-server:nightly-20231225-ab067bf0
 
-wget 
https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster1.toml
+wget https://horaedb.apache.org/config-horaemeta-cluster1.toml
 
 docker run -d --network=host --name horaemeta-server1 \
   -v $(pwd)/config-horaemeta-cluster1.toml:/etc/horaemeta/horaemeta.toml \
   ghcr.io/apache/horaemeta-server:nightly-20231225-ab067bf0
 
-wget 
https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster2.toml
+wget https://horaedb.apache.org/config-horaemeta-cluster2.toml
 
 docker run -d --network=host --name horaemeta-server2 \
   -v $(pwd)/config-horaemeta-cluster2.toml:/etc/horaemeta/horaemeta.toml \
diff --git a/docs/src/cn/ecosystem/README.md 
b/content/cn/docs/user-guide/ecosystem/_index.md
similarity index 61%
rename from docs/src/cn/ecosystem/README.md
rename to content/cn/docs/user-guide/ecosystem/_index.md
index 67851d6..9d9a8b1 100644
--- a/docs/src/cn/ecosystem/README.md
+++ b/content/cn/docs/user-guide/ecosystem/_index.md
@@ -1,7 +1,6 @@
-# 周边生态
+---
+title: "周边生态"
+weight: 50
+---
 
 HoraeDB 是一个开放的系统,鼓励合作和创新,允许开发者使用最适合其自身需求的系统。目前 HoraeDB 支持以下系统:
-
-- [Prometheus](prometheus.md)
-- [InfluxDB](influxdb.md)
-- [OpenTSDB](opentsdb.md)
diff --git a/docs/src/cn/ecosystem/influxdb.md 
b/content/cn/docs/user-guide/ecosystem/influxdb.md
similarity index 99%
rename from docs/src/cn/ecosystem/influxdb.md
rename to content/cn/docs/user-guide/ecosystem/influxdb.md
index a470a79..4866977 100644
--- a/docs/src/cn/ecosystem/influxdb.md
+++ b/content/cn/docs/user-guide/ecosystem/influxdb.md
@@ -1,4 +1,6 @@
-# InfluxDB
+---
+title: "InfluxDB"
+---
 
 [InfluxDB](https://www.influxdata.com/products/influxdb-overview/) 
是一个时间序列数据库,旨在处理高写入和查询负载。它是 TICK 堆栈的一个组成部分。InfluxDB 旨在用作涉及大量时间戳数据的任何用例的后备存储,包括 
DevOps 监控、应用程序指标、物联网传感器数据和实时分析。
 
diff --git a/docs/src/cn/ecosystem/opentsdb.md 
b/content/cn/docs/user-guide/ecosystem/opentsdb.md
similarity index 98%
rename from docs/src/cn/ecosystem/opentsdb.md
rename to content/cn/docs/user-guide/ecosystem/opentsdb.md
index 66f4afb..611363b 100644
--- a/docs/src/cn/ecosystem/opentsdb.md
+++ b/content/cn/docs/user-guide/ecosystem/opentsdb.md
@@ -1,4 +1,6 @@
-# OpenTSDB
+---
+title: "OpenTSDB"
+---
 
 [OpenTSDB](http://opentsdb.net/) 是基于 HBase 的分布式、可伸缩的时间序列数据库。
 
diff --git a/docs/src/cn/ecosystem/prometheus.md 
b/content/cn/docs/user-guide/ecosystem/prometheus.md
similarity index 98%
rename from docs/src/cn/ecosystem/prometheus.md
rename to content/cn/docs/user-guide/ecosystem/prometheus.md
index c6d8630..8da26ec 100644
--- a/docs/src/cn/ecosystem/prometheus.md
+++ b/content/cn/docs/user-guide/ecosystem/prometheus.md
@@ -1,4 +1,6 @@
-# Prometheus
+---
+title: "Prometheus"
+---
 
 
[Prometheus](https://prometheus.io/)是一个流行的云原生监控工具,由于其可扩展性、可靠性和可伸缩性,被企业广泛采用。它用于从云原生服务(如
 Kubernetes 和 OpenShift)中获取指标,并将其存储在时序数据库中。Prometheus 也很容易扩展,允许用户用其他数据库扩展其特性和功能。
 
diff --git a/docs/src/cn/operation/README.md 
b/content/cn/docs/user-guide/operation/_index.md
similarity index 51%
rename from docs/src/cn/operation/README.md
rename to content/cn/docs/user-guide/operation/_index.md
index 30a6156..20f1fcf 100644
--- a/docs/src/cn/operation/README.md
+++ b/content/cn/docs/user-guide/operation/_index.md
@@ -1,9 +1,6 @@
-# 运维文档
+---
+title: "运维文档"
+weight: 40
+---
 
 本章介绍 HoraeDB 的运维相关的操作,包括表相关操作,设置访问黑名单,已经如何监控 HoraeDB。未来还会介绍集群扩容,容灾相关:
-
-- [表](./table.md)
-- [系统表](./system_table.md)
-- [黑名单](./block_list.md)
-- [监控](./observability.md)
-- [集群运维](./cluster.md)
diff --git a/docs/src/cn/operation/block_list.md 
b/content/cn/docs/user-guide/operation/block_list.md
similarity index 98%
rename from docs/src/cn/operation/block_list.md
rename to content/cn/docs/user-guide/operation/block_list.md
index a028401..47f7878 100644
--- a/docs/src/cn/operation/block_list.md
+++ b/content/cn/docs/user-guide/operation/block_list.md
@@ -1,4 +1,6 @@
-# 黑名单
+---
+title: "黑名单"
+---
 
 ## 增加黑名单
 
diff --git a/docs/src/cn/operation/horaemeta.md 
b/content/cn/docs/user-guide/operation/horaemeta.md
similarity index 99%
rename from docs/src/cn/operation/horaemeta.md
rename to content/cn/docs/user-guide/operation/horaemeta.md
index d8a2e35..d0b6ae0 100644
--- a/docs/src/cn/operation/horaemeta.md
+++ b/content/cn/docs/user-guide/operation/horaemeta.md
@@ -1,4 +1,6 @@
-# 集群运维
+---
+title: "集群运维"
+---
 
 集群运维接口的使用前提是,HoraeDB 部署为使用 HoraeMeta 的集群模式。
 
diff --git a/docs/src/cn/operation/observability.md 
b/content/cn/docs/user-guide/operation/observability.md
similarity index 89%
rename from docs/src/cn/operation/observability.md
rename to content/cn/docs/user-guide/operation/observability.md
index 7f6fa39..6974709 100644
--- a/docs/src/cn/operation/observability.md
+++ b/content/cn/docs/user-guide/operation/observability.md
@@ -1,4 +1,6 @@
-# 监控
+---
+title: "监控"
+---
 
 HoraeDB 支持使用 Prometheus 和 Grafana 做自监控。
 
@@ -65,21 +67,21 @@ docker run -d --name=grafana -p 3000:3000 
grafana/grafana:9.3.6
 
 注意: Prometheus 的 url 需要填写成这样 `http://your_ip:9090`, your_ip 换成本地地址。
 
-<img src="../../resources/images/grafana-datasource.png" height="400" 
width="200"/>
+<img src="/images/grafana-datasource.png" height="400" width="200"/>
 
 
更详细的配置可以参考[这里](https://grafana.com/docs/grafana/latest/datasources/prometheus/)。
 
 ### 导入监控页面
 
-<a href="../../resources/grafana-dashboard.json">页面 json</a>
+<a href="/grafana-dashboard.json">页面 json</a>
 
-<img src="../../resources/images/grafana-dashboard.png" height="400" 
width="200"/>
+<img src="/images/grafana-dashboard.png" height="400" width="200"/>
 
 ## HoraeDB 指标
 
 当导入完成后,你可以看到如下页面:
 
-<img src="../../resources/images/grafana-horaedb-dashboard.png" height="400" 
width="600"/>
+<img src="/images/grafana-horaedb-dashboard.png" height="400" width="600"/>
 
 ### Panels
 
diff --git a/docs/src/cn/operation/system_table.md 
b/content/cn/docs/user-guide/operation/system_table.md
similarity index 96%
rename from docs/src/cn/operation/system_table.md
rename to content/cn/docs/user-guide/operation/system_table.md
index bf5065f..799b31d 100644
--- a/docs/src/cn/operation/system_table.md
+++ b/content/cn/docs/user-guide/operation/system_table.md
@@ -1,4 +1,6 @@
-# 系统表
+---
+title: "系统表"
+---
 
 ## 查询 Table 信息
 
diff --git a/docs/src/cn/operation/table.md 
b/content/cn/docs/user-guide/operation/table.md
similarity index 98%
rename from docs/src/cn/operation/table.md
rename to content/cn/docs/user-guide/operation/table.md
index be1acd5..85b3684 100644
--- a/docs/src/cn/operation/table.md
+++ b/content/cn/docs/user-guide/operation/table.md
@@ -1,4 +1,6 @@
-# 表操作
+---
+title: "表操作"
+---
 
 HoraeDB 支持标准的 SQL,用户可以使用 Http 协议创建表和读写表。更多内容可以参考 [SQL 语法](../sql/README.md)
 
diff --git a/content/cn/docs/user-guide/sdk/_index.md 
b/content/cn/docs/user-guide/sdk/_index.md
new file mode 100644
index 0000000..3252288
--- /dev/null
+++ b/content/cn/docs/user-guide/sdk/_index.md
@@ -0,0 +1,4 @@
+---
+title: "SDK 文档"
+weight: 30
+---
diff --git a/docs/src/cn/sdk/go.md b/content/cn/docs/user-guide/sdk/go.md
similarity index 99%
rename from docs/src/cn/sdk/go.md
rename to content/cn/docs/user-guide/sdk/go.md
index 6eb69c1..7ec20f4 100644
--- a/docs/src/cn/sdk/go.md
+++ b/content/cn/docs/user-guide/sdk/go.md
@@ -1,4 +1,6 @@
-# Go
+---
+title: "Go"
+---
 
 ## 安装
 
diff --git a/docs/src/cn/sdk/java.md b/content/cn/docs/user-guide/sdk/java.md
similarity index 99%
rename from docs/src/cn/sdk/java.md
rename to content/cn/docs/user-guide/sdk/java.md
index c8941b5..3cf993e 100644
--- a/docs/src/cn/sdk/java.md
+++ b/content/cn/docs/user-guide/sdk/java.md
@@ -1,4 +1,6 @@
-# Java 客户端使用文档
+---
+title: "Java"
+---
 
 ## 介绍
 
diff --git a/docs/src/cn/sdk/python.md 
b/content/cn/docs/user-guide/sdk/python.md
similarity index 99%
rename from docs/src/cn/sdk/python.md
rename to content/cn/docs/user-guide/sdk/python.md
index 7094d2c..9350107 100644
--- a/docs/src/cn/sdk/python.md
+++ b/content/cn/docs/user-guide/sdk/python.md
@@ -1,4 +1,6 @@
-# Python
+---
+title: "Python"
+---
 
 ## 介绍
 
diff --git a/docs/src/cn/sdk/rust.md b/content/cn/docs/user-guide/sdk/rust.md
similarity index 99%
rename from docs/src/cn/sdk/rust.md
rename to content/cn/docs/user-guide/sdk/rust.md
index 91089a6..a8fc473 100644
--- a/docs/src/cn/sdk/rust.md
+++ b/content/cn/docs/user-guide/sdk/rust.md
@@ -1,4 +1,6 @@
-# Rust
+---
+title: "Rust"
+---
 
 ## 安装
 
diff --git a/content/cn/docs/user-guide/sql/_index.md 
b/content/cn/docs/user-guide/sql/_index.md
new file mode 100644
index 0000000..09dae2f
--- /dev/null
+++ b/content/cn/docs/user-guide/sql/_index.md
@@ -0,0 +1,6 @@
+---
+title: "SQL 语法"
+weight: 10
+---
+
+本章介绍 HoraeDB 的 SQL 使用语法。
diff --git a/docs/src/cn/sql/functions/aggregate_functions.md 
b/content/cn/docs/user-guide/sql/aggregate_functions.md
similarity index 98%
rename from docs/src/cn/sql/functions/aggregate_functions.md
rename to content/cn/docs/user-guide/sql/aggregate_functions.md
index bb9e255..070ca39 100644
--- a/docs/src/cn/sql/functions/aggregate_functions.md
+++ b/content/cn/docs/user-guide/sql/aggregate_functions.md
@@ -1,4 +1,6 @@
-# 聚合函数
+---
+title: "聚合函数"
+---
 
 HoraeDB SQL 基于 [DataFusion](https://github.com/apache/arrow-datafusion) 
实现,支持的聚合函数如下。更多详情请参考: 
[Datafusion](https://github.com/apache/arrow-datafusion/blob/master/docs/source/user-guide/sql/aggregate_functions.md)
 
diff --git a/content/cn/docs/user-guide/sql/ddl/_index.md 
b/content/cn/docs/user-guide/sql/ddl/_index.md
new file mode 100644
index 0000000..f446ab5
--- /dev/null
+++ b/content/cn/docs/user-guide/sql/ddl/_index.md
@@ -0,0 +1,6 @@
+---
+title: "表结构操作"
+weight: 30
+---
+
+本章介绍表结构相关 SQL 语句:
diff --git a/docs/src/cn/sql/ddl/alter_table.md 
b/content/cn/docs/user-guide/sql/ddl/alter_table.md
similarity index 98%
rename from docs/src/cn/sql/ddl/alter_table.md
rename to content/cn/docs/user-guide/sql/ddl/alter_table.md
index 7362871..b559ca9 100644
--- a/docs/src/cn/sql/ddl/alter_table.md
+++ b/content/cn/docs/user-guide/sql/ddl/alter_table.md
@@ -1,4 +1,6 @@
-# ALTER TABLE
+---
+title: "ALTER TABLE"
+---
 
 使用 `ALTER TABLE` 可以改变表的结构和参数 .
 
diff --git a/docs/src/cn/sql/ddl/create_table.md 
b/content/cn/docs/user-guide/sql/ddl/create_table.md
similarity index 98%
rename from docs/src/cn/sql/ddl/create_table.md
rename to content/cn/docs/user-guide/sql/ddl/create_table.md
index f0cff10..580a5a5 100644
--- a/docs/src/cn/sql/ddl/create_table.md
+++ b/content/cn/docs/user-guide/sql/ddl/create_table.md
@@ -1,4 +1,6 @@
-# 创建表
+---
+title: "创建表"
+---
 
 ## 基础语法
 
diff --git a/docs/src/cn/sql/ddl/drop_table.md 
b/content/cn/docs/user-guide/sql/ddl/drop_table.md
similarity index 89%
rename from docs/src/cn/sql/ddl/drop_table.md
rename to content/cn/docs/user-guide/sql/ddl/drop_table.md
index 846e55a..ba6cb0f 100644
--- a/docs/src/cn/sql/ddl/drop_table.md
+++ b/content/cn/docs/user-guide/sql/ddl/drop_table.md
@@ -1,4 +1,6 @@
-# DROP TABLE
+---
+title: "DROP TABLE"
+---
 
 ## 基础语法
 
diff --git a/content/cn/docs/user-guide/sql/dml/_index.md 
b/content/cn/docs/user-guide/sql/dml/_index.md
new file mode 100644
index 0000000..f574dc2
--- /dev/null
+++ b/content/cn/docs/user-guide/sql/dml/_index.md
@@ -0,0 +1,6 @@
+---
+title: "数据操作"
+weight: 40
+---
+
+本章介绍数据操作相关的 SQL.
diff --git a/docs/src/cn/sql/dml/insert.md 
b/content/cn/docs/user-guide/sql/dml/insert.md
similarity index 92%
rename from docs/src/cn/sql/dml/insert.md
rename to content/cn/docs/user-guide/sql/dml/insert.md
index 12acb6f..8259ab5 100644
--- a/docs/src/cn/sql/dml/insert.md
+++ b/content/cn/docs/user-guide/sql/dml/insert.md
@@ -1,4 +1,6 @@
-# INSERT
+---
+title: "INSERT"
+---
 
 ## 基础语法
 
diff --git a/docs/src/cn/sql/dml/select.md 
b/content/cn/docs/user-guide/sql/dml/select.md
similarity index 94%
rename from docs/src/cn/sql/dml/select.md
rename to content/cn/docs/user-guide/sql/dml/select.md
index f2d5ce3..2c61e0f 100644
--- a/docs/src/cn/sql/dml/select.md
+++ b/content/cn/docs/user-guide/sql/dml/select.md
@@ -1,4 +1,6 @@
-# SELECT
+---
+title: "SELECT"
+---
 
 ## 基础语法
 
diff --git a/docs/src/cn/sql/engine_options.md 
b/content/cn/docs/user-guide/sql/engine_options.md
similarity index 98%
rename from docs/src/cn/sql/engine_options.md
rename to content/cn/docs/user-guide/sql/engine_options.md
index 6949081..362125f 100644
--- a/docs/src/cn/sql/engine_options.md
+++ b/content/cn/docs/user-guide/sql/engine_options.md
@@ -1,4 +1,7 @@
-# 配置项
+---
+title: "配置项"
+weight: 60
+---
 
 建表时可以使用下列的选项配置引擎:
 
diff --git a/docs/src/cn/sql/identifier.md 
b/content/cn/docs/user-guide/sql/identifier.md
similarity index 86%
rename from docs/src/cn/sql/identifier.md
rename to content/cn/docs/user-guide/sql/identifier.md
index c958e58..3a201b9 100644
--- a/docs/src/cn/sql/identifier.md
+++ b/content/cn/docs/user-guide/sql/identifier.md
@@ -1,3 +1,6 @@
-# 标识符
+---
+title: "标识符"
+weight: 20
+---
 
 HoraeDB 中表名、列名等标识符不能是保留关键字或以数字和标点符号开始,不过 HoraeDB 
允许用反引号引用标识符(\`)。在这种情况下,它可以是任何字符串,如 `00_table` 或 `select`。
diff --git a/content/cn/docs/user-guide/sql/model/_index.md 
b/content/cn/docs/user-guide/sql/model/_index.md
new file mode 100644
index 0000000..5b44709
--- /dev/null
+++ b/content/cn/docs/user-guide/sql/model/_index.md
@@ -0,0 +1,6 @@
+---
+title: "数据模型"
+weight: 10
+---
+
+本章介绍 HoraeDB 的数据模型。
diff --git a/docs/src/cn/sql/model/data_types.md 
b/content/cn/docs/user-guide/sql/model/data_types.md
similarity index 96%
rename from docs/src/cn/sql/model/data_types.md
rename to content/cn/docs/user-guide/sql/model/data_types.md
index af94c13..c61f364 100644
--- a/docs/src/cn/sql/model/data_types.md
+++ b/content/cn/docs/user-guide/sql/model/data_types.md
@@ -1,4 +1,6 @@
-# 数据类型
+---
+title: "数据类型"
+---
 
 HoraeDB 实现了 `Table` 模型,支持的数据类型和 MySQL 比较类似。
 下列表格列出了 HoraeDB 的数据类型和 MySQL 的数据类型的对应关系。
diff --git a/docs/src/cn/sql/model/special_columns.md 
b/content/cn/docs/user-guide/sql/model/special_columns.md
similarity index 98%
rename from docs/src/cn/sql/model/special_columns.md
rename to content/cn/docs/user-guide/sql/model/special_columns.md
index 8b3f7de..6a5cdfe 100644
--- a/docs/src/cn/sql/model/special_columns.md
+++ b/content/cn/docs/user-guide/sql/model/special_columns.md
@@ -1,4 +1,6 @@
-# 特殊字段
+---
+title: "特殊字段"
+---
 
 HoraeDB 的表的约束如下:
 
diff --git a/docs/src/cn/sql/functions/scalar_functions.md 
b/content/cn/docs/user-guide/sql/scalar_functions.md
similarity index 99%
rename from docs/src/cn/sql/functions/scalar_functions.md
rename to content/cn/docs/user-guide/sql/scalar_functions.md
index 21adb08..e7db656 100644
--- a/docs/src/cn/sql/functions/scalar_functions.md
+++ b/content/cn/docs/user-guide/sql/scalar_functions.md
@@ -1,4 +1,6 @@
-# 标量函数
+---
+title: "标量函数"
+---
 
 HoraeDB SQL 基于 [DataFusion](https://github.com/CeresDB/arrow-datafusion) 
实现,支持的标量函数如下。更多详情请参考: 
[Datafusion](https://github.com/CeresDB/arrow-datafusion/blob/master/docs/source/user-guide/sql/scalar_functions.md)
 
diff --git a/docs/src/cn/sql/utility.md 
b/content/cn/docs/user-guide/sql/utility.md
similarity index 98%
rename from docs/src/cn/sql/utility.md
rename to content/cn/docs/user-guide/sql/utility.md
index 0c36a00..3b85456 100644
--- a/docs/src/cn/sql/utility.md
+++ b/content/cn/docs/user-guide/sql/utility.md
@@ -1,4 +1,7 @@
-# 常用 SQL
+---
+title: "常用 SQL"
+weight: 50
+---
 
 HoraeDB 中有许多实用的 SQL 工具,可以辅助表操作或查询检查。
 
diff --git a/content/en/_index.md b/content/en/_index.md
new file mode 100644
index 0000000..1b3e0e0
--- /dev/null
+++ b/content/en/_index.md
@@ -0,0 +1,34 @@
+---
+title: "Horaedb"
+---
+
+{{% blocks/cover color="primary" title="Apache HoraeDB™ (incubating)" 
height="full" %}}
+{{% param description %}}
+
+{.display-6}
+
+<a class="btn btn-lg btn-secondary" 
href="https://github.com/apache/horaedb";>GitHub<i class="fab fa-github ms-2 
"></i></a>
+<a class="btn btn-lg btn-secondary" href="docs/getting-started/">
+Get started<i class="fas fa-arrow-alt-circle-right ms-2"></i>
+</a>
+{.p-initial .my-5}
+
+{{% blocks/section type="row"  %}}
+
+{{% blocks/feature icon="fa-lightbulb" title="Features" %}}
+High scalability, Cost-efficiency, Community-driven
+
+{{% /blocks/feature %}}
+
+{{% blocks/feature icon="fa fa-code" title="Ecosystem" 
url="docs/user-guide/ecosystem/" %}}
+
+HoraeDB has an open ecosystem that encourages collaboration and innovation, 
allowing developers to use what suits them best.
+{{% /blocks/feature %}}
+
+{{% blocks/feature icon="fa-brands fa-github" title="Contributions welcome!" 
url="docs/contribution-guidelines/" %}}
+We do a [Pull Request](https://github.com/apache/horaedb/pulls) contributions 
workflow on **GitHub**. New users are always welcome!
+{{% /blocks/feature %}}
+
+{{% /blocks/section %}}
+
+{{% /blocks/cover %}}
diff --git a/content/en/blog/2024/release-2.0.0.md 
b/content/en/blog/2024/release-2.0.0.md
new file mode 100644
index 0000000..77ebca3
--- /dev/null
+++ b/content/en/blog/2024/release-2.0.0.md
@@ -0,0 +1,236 @@
+---
+title: Release 2.0.0
+date: 2024-04-23
+description: This is the first version after enter ASF incubator, thanks 
everyone for making it happen!
+---
+
+## Upgrade from 1.x.x to 2.0.0
+
+The transition from CeresDB to Apache HoraeDB introduces several breaking 
changes. To facilitate upgrading from older versions to v2.0.0, specific 
alterations are necessary.
+
+#### Upgrade Steps
+
+1. Setup required envs
+
+```
+export HORAEDB_DEFAULT_CATALOG=ceresdb
+```
+
+2. Update config
+
+Etcd's root should be configured both in horaedb and horaemeta
+
+For horaedb
+
+```
+[cluster_deployment.etcd_client]
+server_addrs = ['127.0.0.1:2379']
+root_path = "/rootPath"
+```
+
+For horaemeta
+
+```
+storage-root-path = "/rootPath"
+```
+
+3. Upgrade horaemeta
+
+Horaedb will throw following errors, which is expected
+
+```
+2024-01-23 14:37:57.726 ERRO [src/cluster/src/cluster_impl.rs:136] Send 
heartbeat to meta failed, err:Failed to send heartbeat, cluster:defaultCluster, 
err:status: Unimplemented, message: "unknown service 
meta_service.MetaRpcService", details: [], metadata: MetadataMap { headers: 
{"content-type": "application/grpc"} }
+```
+
+4. Upgrade horaedb
+
+After all server upgraded, the cluster should be ready for read/write, and old 
data could be queried like before.
+
+## What's Changed
+
+### Breaking Changes
+
+- refactor!: refactor shard version logic by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1286
+
+### Features
+
+- feat: support re-acquire shard lock in a fast way by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1251
+- feat: support alter partition table by @chunshao90 in 
https://github.com/apache/horaedb/pull/1244
+- feat: support access etcd with tls by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1254
+- feat: support schema validate in remote write by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1256
+- feat: avoid flush when drop table by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1257
+- feat: opentsdb api support gzip body by @tanruixiang in 
https://github.com/apache/horaedb/pull/1261
+- feat: infer timestamp constraint for single-timestamp column by @Dennis40816 
in https://github.com/apache/horaedb/pull/1266
+- feat: primary keys support sample by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1243
+- feat: cache space total memory by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1278
+- feat: skip record column values for level0 sst by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1282
+- feat: support write wal logs in columnar format by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1179
+- feat: support stack size of read threads configurable by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1305
+- feat: impl DoNothing wal by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1311
+- feat: slow log include remote query by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1316
+- feat: use string for request id by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1349
+- feat: support metrics for number of bytes fetched from object storage by 
@ShiKaiWi in https://github.com/apache/horaedb/pull/1363
+- feat: avoid building dictionary for massive unique column values by 
@ShiKaiWi in https://github.com/apache/horaedb/pull/1365
+- feat: utilize the column cardinality for deciding whether to do dict by 
@ShiKaiWi in https://github.com/apache/horaedb/pull/1372
+- feat: avoid pulling unnecessary columns when querying append mode table by 
@Rachelint in https://github.com/apache/horaedb/pull/1307
+- feat: dist sql analyze by @baojinri in 
https://github.com/apache/horaedb/pull/1260
+- feat: impl priority runtime for read by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1303
+- feat: upgrade horaedbproto by @chunshao90 in 
https://github.com/apache/horaedb/pull/1408
+- feat: block rules support query by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1420
+- feat: try load page indexes by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1425
+- feat: support setting meta_addr&etcd_addrs by env by @chunshao90 in 
https://github.com/apache/horaedb/pull/1427
+- feat: add table status check by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1418
+- feat: support docker-compose and update README by @chunshao90 in 
https://github.com/apache/horaedb/pull/1429
+- feat: impl layered memtable to reduce duplicated encode during scan by 
@Rachelint in https://github.com/apache/horaedb/pull/1271
+- feat: update disk cache in another thread to avoid blocking normal query 
process by @jiacai2050 in https://github.com/apache/horaedb/pull/1431
+- feat: update pgwire to 0.19 by @sunng87 in 
https://github.com/apache/horaedb/pull/1436
+- feat: filter out MySQL federated components' emitted statements by 
@chunshao90 in https://github.com/apache/horaedb/pull/1439
+- feat: add system_stats lib to collect system stats by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1442
+- feat(horaectl): initial commit by @chunshao90 in 
https://github.com/apache/horaedb/pull/1450
+- feat: support collect statistics about the engine by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1451
+- feat: persist sst meta size by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1440
+- feat: add sst level config for benchmark by @zealchen in 
https://github.com/apache/horaedb/pull/1482
+- feat: add exponential backoff when retry by @zealchen in 
https://github.com/apache/horaedb/pull/1486
+
+### Refactor
+
+- refactor: move wal structs and traits to wal crate by @tisonkun in 
https://github.com/apache/horaedb/pull/1263
+- refactor: improve error readability by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1265
+- refactor: move wal crate to under src folder by @tisonkun in 
https://github.com/apache/horaedb/pull/1270
+- refactor: use `notifier::RequestNotifiers` instead of 
`dedup_requests::RequestNotifiers` by @baojinri in 
https://github.com/apache/horaedb/pull/1249
+- refactor: conditionally compile wal impls by @tisonkun in 
https://github.com/apache/horaedb/pull/1272
+- refactor: remove unused min/max timestamp in the RowGroup by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1297
+- refactor: avoid duplicate codes by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1371
+- refactor: avoid returning metrics in non-analyze sql by @baojinri in 
https://github.com/apache/horaedb/pull/1410
+- refactor: move sub crates to the src directory by @chunshao90 in 
https://github.com/apache/horaedb/pull/1443
+- refactor: adjust cpu's stats by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1457
+- refactor: refactor compaction process for remote compaction by @Rachelint in 
https://github.com/apache/horaedb/pull/1476
+
+### Fixed
+
+- fix: dist query dedup by @Rachelint in 
https://github.com/apache/horaedb/pull/1269
+- fix: log third party crates by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1289
+- fix: ensure primary key order by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1292
+- fix: use flag in preflush to indicate whether reorder is required by 
@jiacai2050 in https://github.com/apache/horaedb/pull/1298
+- fix: alter partition table tag column by @chunshao90 in 
https://github.com/apache/horaedb/pull/1304
+- fix: increase wait duration for flush by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1315
+- fix: add license to workspace members by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1317
+- fix: ensure channel size non zero by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1345
+- fix: fix create table result by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1354
+- Revert "fix: fix create table result" by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1355
+- fix: fix test create table result by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1357
+- fix: no write stall by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1388
+- fix: collect metrics for `get_ranges` by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1364
+- fix: ignore collecting fetched bytes stats when sst file is read only once 
by @ShiKaiWi in https://github.com/apache/horaedb/pull/1369
+- fix: publich nightly image by @chunshao90 in 
https://github.com/apache/horaedb/pull/1396
+- fix: missing and verbose logs by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1398
+- fix: fix broken link by @caicancai in 
https://github.com/apache/horaedb/pull/1399
+- fix: the broken link about the issue status by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1402
+- fix: skip wal encoding when data wal is disabled by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1401
+- fix: disable percentile for distributed tables by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1406
+- fix: compatible for old table options by @Rachelint in 
https://github.com/apache/horaedb/pull/1432
+- fix: get_ranges is not spawned in io-runtime by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1426
+- fix: table name is normalized when find timestamp column by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1446
+- fix: changes required for migrate dev to main by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1455
+- fix: missing filter index over the primary keys by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1456
+- fix: random failure of test_collect_system_stats by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1459
+- fix(ci): refactor ci trigger conditions by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1474
+
+### Docs
+
+- chore(docs): rename CeresDB to HoraeDB by @caicancai in 
https://github.com/apache/horaedb/pull/1337
+- chore/docs: remove broken link by @caicancai in 
https://github.com/apache/horaedb/pull/1341
+- docs: update CONTRIBUTING.md by @suyanhanx in 
https://github.com/apache/horaedb/pull/1382
+- doc: fix broken link by @caicancai in 
https://github.com/apache/horaedb/pull/1358
+- chore/doc: rename ceresdb to horaedb by @caicancai in 
https://github.com/apache/horaedb/pull/1332
+- doc: add MySQL-Client in README by @jackwener in 
https://github.com/apache/horaedb/pull/1331
+- doc: fix link in illegal markdown format by @jackwener in 
https://github.com/apache/horaedb/pull/1334
+- style: normalize comments/doc in rustfmt by @jackwener in 
https://github.com/apache/horaedb/pull/1335
+- docs: add sudo for install commands by @caicancai in 
https://github.com/apache/horaedb/pull/1347
+- docs: sync GH activities to commits only by @tisonkun in 
https://github.com/apache/horaedb/pull/1385
+- chore(docs): fix invalid repo links by @SYaoJun in 
https://github.com/apache/horaedb/pull/1452
+- chore(docs): fix invalid repo links by @Apricity001 in 
https://github.com/apache/horaedb/pull/1472
+
+### Chore
+
+- chore(deps): bump golang.org/x/net from 0.5.0 to 0.17.0 in 
/integration_tests/sdk/go by @dependabot in 
https://github.com/apache/horaedb/pull/1258
+- chore: delete the configuration related to github cache by @tanruixiang in 
https://github.com/apache/horaedb/pull/1259
+- chore: remove backtrace of blocked table by @chunshao90 in 
https://github.com/apache/horaedb/pull/1267
+- ci: setup golang in CI by @tisonkun in 
https://github.com/apache/horaedb/pull/1275
+- chore: remove default features in analytic_engine by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1277
+- chore(deps): bump google.golang.org/grpc from 1.53.0 to 1.56.3 in 
/integration_tests/sdk/go by @dependabot in 
https://github.com/apache/horaedb/pull/1280
+- test: simplify ceresmeta-server installation by @tisonkun in 
https://github.com/apache/horaedb/pull/1287
+- chore: enable blank issue by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1290
+- chore: add metrics to inspect write path by @Rachelint in 
https://github.com/apache/horaedb/pull/1264
+- chore: refactor build_meta.sh in integration-test by @chunshao90 in 
https://github.com/apache/horaedb/pull/1306
+- chore: rename ceresdb to horaedb by @chunshao90 in 
https://github.com/apache/horaedb/pull/1310
+- edit: add schema id, schema name, catalog name in TableData by @dust1 in 
https://github.com/apache/horaedb/pull/1294
+- chore: ignore seq check for DoNothing wal by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1314
+- chore: remove community by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1318
+- chore: try to clear ceresdb stuff by @tisonkun in 
https://github.com/apache/horaedb/pull/1320
+- chore: change copyright owner by @tisonkun in 
https://github.com/apache/horaedb/pull/1321
+- ci: stop release docker image before we finish the rename and transfer by 
@tisonkun in https://github.com/apache/horaedb/pull/1323
+- chore: bump deps by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1325
+- chore: rename ceresmeta to horaemeta by @chunshao90 in 
https://github.com/apache/horaedb/pull/1327
+- chore: rename binary to horaedb-server and more by @tisonkun in 
https://github.com/apache/horaedb/pull/1330
+- chore(license): rename `license-header.txt`'s CeresDB to HoraeDB by 
@caicancai in https://github.com/apache/horaedb/pull/1336
+- chore: replace ceresdb with horaedb by @jackwener in 
https://github.com/apache/horaedb/pull/1338
+- chore: more rename to horaedb by @tisonkun in 
https://github.com/apache/horaedb/pull/1340
+- chore: update create table integration test result by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1344
+- chore: disable frequently failed tests by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1352
+- test: add integration test for alter table options by @caicancai in 
https://github.com/apache/horaedb/pull/1346
+- chore: ignore flush failure when flush by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1362
+- chore: disable timeout for http api by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1367
+- chore: disable block for http api by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1368
+- config: add .asf.yaml by @chunshao90 in 
https://github.com/apache/horaedb/pull/1377
+- ci: remove missing Required status by @tisonkun in 
https://github.com/apache/horaedb/pull/1383
+- chore: git repo link type fix by @fengmk2 in 
https://github.com/apache/horaedb/pull/1378
+- chore: apply ASF license header by @tanruixiang in 
https://github.com/apache/horaedb/pull/1384
+- chore: add dev mail list and rename ceresdb to horaedb by @tanruixiang in 
https://github.com/apache/horaedb/pull/1375
+- chore: more rename to horaedb by @chunshao90 in 
https://github.com/apache/horaedb/pull/1387
+- chore: add push-nightly-image in workflow by @chunshao90 in 
https://github.com/apache/horaedb/pull/1389
+- chore: update README by @chunshao90 in 
https://github.com/apache/horaedb/pull/1390
+- chore: refactor for better readability by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1400
+- chore: add error log for remote server by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1407
+- chore: update website url by @chunshao90 in 
https://github.com/apache/horaedb/pull/1404
+- chore: upload horaedb logo by @chunshao90 in 
https://github.com/apache/horaedb/pull/1409
+- chore: add slack link by @tanruixiang in 
https://github.com/apache/horaedb/pull/1395
+- chore: update logo by @chunshao90 in 
https://github.com/apache/horaedb/pull/1414
+- chore: update horaedb logo by @chunshao90 in 
https://github.com/apache/horaedb/pull/1415
+- chore: rename ceresformat to logformat by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1417
+- chore: fix logo link in readme by @chunshao90 in 
https://github.com/apache/horaedb/pull/1416
+- chore: update github pages by @chunshao90 in 
https://github.com/apache/horaedb/pull/1421
+- chore: more rename to horaedb by @chunshao90 in 
https://github.com/apache/horaedb/pull/1419
+- chore: fix error message by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1412
+- chore: remove github pages in asf.yaml by @chunshao90 in 
https://github.com/apache/horaedb/pull/1428
+- chore: skip wal seq check when wal is disabled by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1430
+- chore: enable merge on github by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1435
+- chore: merge change sets on the dev branch by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1423
+- chore: fix issue status of README-CN.md by @ShiKaiWi in 
https://github.com/apache/horaedb/pull/1437
+- chore(deps): bump h2 from 0.3.17 to 0.3.24 by @dependabot in 
https://github.com/apache/horaedb/pull/1448
+- chore(deps): bump shlex from 1.1.0 to 1.3.0 by @dependabot in 
https://github.com/apache/horaedb/pull/1458
+- chore: update create tables result by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1454
+- chore: merge HoraeMeta code into HoreaDB repository by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1460
+- chore(deps): bump google.golang.org/grpc from 1.47.0 to 1.56.3 in /horaemeta 
by @dependabot in https://github.com/apache/horaedb/pull/1464
+- chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 in /horaemeta by 
@dependabot in https://github.com/apache/horaedb/pull/1465
+- chore(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /horaemeta by 
@dependabot in https://github.com/apache/horaedb/pull/1462
+- chore: rename ci's prefix name by @tanruixiang in 
https://github.com/apache/horaedb/pull/1467
+- chore: fix github issue template by @ZuLiangWang in 
https://github.com/apache/horaedb/pull/1470
+- chore(horaemeta&horaectl): refactor clusters/diagnose response body by 
@chunshao90 in https://github.com/apache/horaedb/pull/1475
+- chore: free disk for ci by @jiacai2050 in 
https://github.com/apache/horaedb/pull/1484
+- deps: bump datafusion by @tanruixiang in 
https://github.com/apache/horaedb/pull/1445
+- horaectl: remove go implementation of horaectl by @chunshao90 in 
https://github.com/apache/horaedb/pull/1490
+- chore: update version to 2.0.0, prepare for releasing v2.0.0 by @chunshao90 
in https://github.com/apache/horaedb/pull/1487
+
+## New Contributors
+
+- @Dennis40816 made their first contribution in 
https://github.com/apache/horaedb/pull/1266
+- @caicancai made their first contribution in 
https://github.com/apache/horaedb/pull/1332
+- @jackwener made their first contribution in 
https://github.com/apache/horaedb/pull/1331
+- @suyanhanx made their first contribution in 
https://github.com/apache/horaedb/pull/1382
+- @fengmk2 made their first contribution in 
https://github.com/apache/horaedb/pull/1378
+- @sunng87 made their first contribution in 
https://github.com/apache/horaedb/pull/1436
+- @SYaoJun made their first contribution in 
https://github.com/apache/horaedb/pull/1452
+- @Apricity001 made their first contribution in 
https://github.com/apache/horaedb/pull/1472
+
+**Full Changelog**: https://github.com/apache/horaedb/compare/v1.2.7...v2.0.0
diff --git a/content/en/blog/_index.md b/content/en/blog/_index.md
new file mode 100644
index 0000000..3ede9ac
--- /dev/null
+++ b/content/en/blog/_index.md
@@ -0,0 +1,9 @@
+---
+title: "Blog"
+weight: 1
+simple_list: true
+menu:
+  main:
+    weight: 30
+    pre: <i class='fa-brands fa-blogger'></i>
+---
diff --git a/content/en/community/_index.md b/content/en/community/_index.md
new file mode 100644
index 0000000..fa01d87
--- /dev/null
+++ b/content/en/community/_index.md
@@ -0,0 +1,7 @@
+---
+title: "Community"
+weight: 1
+menu:
+  main:
+    weight: 40
+---
diff --git a/docs/src/en/about.md b/content/en/docs/_index.md
similarity index 55%
rename from docs/src/en/about.md
rename to content/en/docs/_index.md
index 7e87d17..ac9ac72 100644
--- a/docs/src/en/about.md
+++ b/content/en/docs/_index.md
@@ -1,8 +1,17 @@
-![HoraeDB](https://github.com/apache/incubator-horaedb/raw/main/docs/logo/horaedb-banner-white-small.jpg)
+---
+title: "Docs"
+weight: 1
+menu:
+  main:
+    weight: 20
+    pre: <i class='fa-solid fa-book'></i>
+---
+
+![HoraeDB](/images/horaedb-banner-white-small.jpg)
 
 ![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)
-[![CI](https://github.com/apache/incubator-horaedb/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/incubator-horaedb/actions/workflows/ci.yml)
-[![OpenIssue](https://img.shields.io/github/issues/apache/incubator-horaedb)](https://github.com/apache/incubator-horaedb/issues)
+[![CI](https://github.com/apache/horaedb/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/horaedb/actions/workflows/ci.yml)
+[![OpenIssue](https://img.shields.io/github/issues/apache/horaedb)](https://github.com/apache/horaedb/issues)
 
 Apache HoraeDB™ (incubating) is a high-performance, distributed, cloud native 
time-series database.
 
@@ -11,10 +20,3 @@ Apache HoraeDB™ (incubating) is a high-performance, 
distributed, cloud native
 In the classic timeseries database, the `Tag` columns (InfluxDB calls them 
`Tag` and Prometheus calls them `Label`) are normally indexed by generating an 
inverted index. However, it is found that the cardinality of `Tag` varies in 
different scenarios. And in some scenarios the cardinality of `Tag` is very 
high, and it takes a very high cost to store and retrieve the inverted index. 
On the other hand, it is observed that scanning+pruning often used by the 
analytical databases can do a goo [...]
 
 The basic design idea of HoraeDB is to adopt a hybrid storage format and the 
corresponding query method for a better performance in processing both 
timeseries and analytic workloads.
-
-# How does HoraeDB work?
-
-- See [Quick Start](quick_start.md) to learn about how to get started
-- For data model of HoraeDB, see [Data Model](sql/model/README.md)
-- For the supported SQL data types, operators, and commands, please navigate 
to [SQL reference](sql/README.md)
-- For the supported SDKs, please navigate to [SDK](sdk/README.md)
diff --git a/content/en/docs/contribution-guidelines.md 
b/content/en/docs/contribution-guidelines.md
new file mode 100644
index 0000000..36aafbf
--- /dev/null
+++ b/content/en/docs/contribution-guidelines.md
@@ -0,0 +1,104 @@
+---
+title: "Contribution Guidelines"
+weight: 30
+---
+
+Thank you for thinking of contributing! We very much welcome contributions 
from the community.
+To make the process easier and more valuable for everyone involved we have a 
few rules and guidelines to follow.
+
+## Submitting Issues and Feature Requests
+
+Before you file an [issue](https://github.com/apache/horaedb/issues/new), 
please search existing issues in case the same or similar issues have already 
been filed.
+If you find an existing open ticket covering your issue then please avoid 
adding "👍" or "me too" comments; GitHub notifications can cause a lot of noise 
for the project maintainers who triage the back-log.
+However, if you have a new piece of information for an existing ticket, and 
you think it may help the investigation or resolution, then please do add it as 
a comment!
+You can signal to the team that you're experiencing an existing issue with one 
of GitHub's emoji reactions (these are a good way to add "weight" to an issue 
from a prioritisation perspective).
+
+### Submitting an Issue
+
+The [New Issue](https://github.com/apache/horaedb/issues/new) page has 
templates for both bug reports and feature requests.
+Please fill one of them out!
+The issue templates provide details on what information we will find useful to 
help us fix an issue.
+In short though, the more information you can provide us about your 
environment and what behaviour you're seeing, the easier we can fix the issue.
+If you can push a PR with test cases that trigger a defect or bug, even better!
+
+As well as bug reports we also welcome feature requests (there is a dedicated 
issue template for these).
+Typically, the maintainers will periodically review community feature requests 
and make decisions about if we want to add them.
+For features, we don't plan to support we will close the feature request 
ticket (so, again, please check closed tickets for feature requests before 
submitting them).
+
+## Contributing Changes
+
+HoraeDB is written mostly in idiomatic Rust—please see the [Style Guide]({{< 
ref "style_guide.md" >}}) for more details.
+All code must adhere to the `rustfmt` format, and pass all of the `clippy` 
checks we run in CI (there are more details further down this README).
+
+### Making a PR
+
+To open a PR you will need to have a GitHub account.
+Fork the `horaedb` repo and work on a branch on your fork.
+When you have completed your changes, or you want some incremental feedback 
make a Pull Request to HoraeDB 
[here](https://github.com/apache/horaedb/compare).
+
+If you want to discuss some work in progress then please prefix `[WIP]` to the
+PR title.
+
+For PRs that you consider ready for review, verify the following locally 
before you submit it:
+
+- you have a coherent set of logical commits, with messages conforming to the 
[Conventional Commits]({{< ref "conventional_commit.md" >}}) specification;
+- all the tests and/or benchmarks pass, including documentation tests;
+- the code is correctly formatted and all `clippy` checks pass; and
+- you haven't left any "code cruft" (commented out code blocks etc).
+
+There are some tips on verifying the above in the [next 
section](#running-tests).
+
+**After** submitting a PR, you should:
+
+- verify that all CI status checks pass and the PR is 💚;
+- ask for help on the PR if any of the status checks are 🔴, and you don't know 
why;
+- wait patiently for one of the team to review your PR, which could take a few 
days.
+
+## Running Tests
+
+The `cargo` build tool runs tests as well. Run:
+
+```shell
+cargo test --workspace
+```
+
+### Enabling logging in tests
+
+To enable logging to stderr during a run of `cargo test` set the Rust
+`RUST_LOG` environment variable. For example, to see all INFO messages:
+
+```shell
+RUST_LOG=info cargo test --workspace
+```
+
+### Integration tests
+
+We have integration test suits in the SQL level so any change that may have 
influence on the user-facing query execution should be covered by the 
integration test. Refer to [this document](./integration_tests/README.md) for 
more information.
+
+## Running `rustfmt` and `clippy`
+
+CI will check the code formatting with 
[`rustfmt`](https://github.com/rust-lang/rustfmt) and Rust best practices with 
[`clippy`](https://github.com/rust-lang/rust-clippy).
+
+To automatically format your code according to `rustfmt` style, first make 
sure `rustfmt` is installed using `rustup`:
+
+```shell
+rustup component add rustfmt
+```
+
+Then, whenever you make a change and want to reformat, run:
+
+```shell
+cargo fmt --all
+```
+
+Similarly, with `clippy`, install with:
+
+```shell
+rustup component add clippy
+```
+
+And run with:
+
+```shell
+cargo clippy --all-targets --workspace -- -D warnings
+```
diff --git a/content/en/docs/design/_index.md b/content/en/docs/design/_index.md
new file mode 100644
index 0000000..031188d
--- /dev/null
+++ b/content/en/docs/design/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Technical and Design"
+weight: 40
+---
diff --git a/docs/src/en/design/architecture.md 
b/content/en/docs/design/architecture.md
similarity index 99%
rename from docs/src/en/design/architecture.md
rename to content/en/docs/design/architecture.md
index eb5cd7e..8cfb92f 100644
--- a/docs/src/en/design/architecture.md
+++ b/content/en/docs/design/architecture.md
@@ -1,4 +1,6 @@
-# Introduction to HoraeDB's Architecture
+---
+title: "Introduction to HoraeDB's Architecture"
+---
 
 ## Target
 
diff --git a/docs/src/en/design/clustering.md 
b/content/en/docs/design/clustering.md
similarity index 99%
rename from docs/src/en/design/clustering.md
rename to content/en/docs/design/clustering.md
index 47a6b80..5d78754 100644
--- a/docs/src/en/design/clustering.md
+++ b/content/en/docs/design/clustering.md
@@ -1,6 +1,7 @@
-Note: Some of the features mentioned in the article have not yet been 
implemented.
+---
 
-# Introduction to Architecture of HoraeDB Cluster
+title: "Introduction to Architecture of HoraeDB Cluster"
+---Note: Some of the features mentioned in the article have not yet been 
implemented.
 
 ## Overview
 
diff --git a/docs/src/en/design/storage.md b/content/en/docs/design/storage.md
similarity index 98%
rename from docs/src/en/design/storage.md
rename to content/en/docs/design/storage.md
index 2829412..dfd1186 100644
--- a/docs/src/en/design/storage.md
+++ b/content/en/docs/design/storage.md
@@ -1,4 +1,6 @@
-# Storage
+---
+title: "Storage"
+---
 
 The storage engine mainly provides the following two functions:
 
@@ -13,7 +15,7 @@ HoraeDB is a distributed storage system based on the 
share-nothing architecture.
 
 Data between different servers is isolated from each other and does not affect 
each other. The storage engine in each stand-alone machine is a variant of 
[log-structured 
merge-tree](https://en.wikipedia.org/wiki/Log-structured_merge-tree), which is 
optimized for time-series scenarios. The following figure shows its core 
components:
 
-![](../../resources/images/storage-overview.svg)
+![](/images/storage-overview.svg)
 
 ## Write Ahead Log (WAL)
 
diff --git a/docs/src/en/design/table_partitioning.md 
b/content/en/docs/design/table_partitioning.md
similarity index 98%
rename from docs/src/en/design/table_partitioning.md
rename to content/en/docs/design/table_partitioning.md
index 2f34e12..f115e0a 100644
--- a/docs/src/en/design/table_partitioning.md
+++ b/content/en/docs/design/table_partitioning.md
@@ -1,6 +1,7 @@
-**Note: This feature is still in development, and the API may change in the 
future.**
+---
 
-# Table Partitioning
+title: "Table Partitioning"
+---**Note: This feature is still in development, and the API may change in the 
future.**
 
 This chapter discusses `PartitionTable`.
 
diff --git a/docs/src/en/design/wal.md b/content/en/docs/design/wal.md
similarity index 85%
rename from docs/src/en/design/wal.md
rename to content/en/docs/design/wal.md
index 3df2846..078e5c0 100644
--- a/docs/src/en/design/wal.md
+++ b/content/en/docs/design/wal.md
@@ -1,4 +1,6 @@
-# Wal
+---
+title: "Wal"
+---
 
 - [WAL on RocksDB](wal_on_rocksdb.md)
 - [WAL on Kafka](wal_on_kafka.md)
diff --git a/docs/src/en/design/wal_on_kafka.md 
b/content/en/docs/design/wal_on_kafka.md
similarity index 99%
rename from docs/src/en/design/wal_on_kafka.md
rename to content/en/docs/design/wal_on_kafka.md
index 47a405e..bd373ed 100644
--- a/docs/src/en/design/wal_on_kafka.md
+++ b/content/en/docs/design/wal_on_kafka.md
@@ -1,4 +1,6 @@
-# WAL on Kafka
+---
+title: "WAL on Kafka"
+---
 
 ## Architecture
 
diff --git a/docs/src/en/design/wal_on_rocksdb.md 
b/content/en/docs/design/wal_on_rocksdb.md
similarity index 99%
rename from docs/src/en/design/wal_on_rocksdb.md
rename to content/en/docs/design/wal_on_rocksdb.md
index 92e8bf6..977b3da 100644
--- a/docs/src/en/design/wal_on_rocksdb.md
+++ b/content/en/docs/design/wal_on_rocksdb.md
@@ -1,4 +1,6 @@
-# WAL on RocksDB
+---
+title: "WAL on RocksDB"
+---
 
 ## Architecture
 
diff --git a/content/en/docs/dev/_index.md b/content/en/docs/dev/_index.md
new file mode 100644
index 0000000..a0708f0
--- /dev/null
+++ b/content/en/docs/dev/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Development"
+weight: 20
+---
diff --git a/docs/src/en/dev/compile_run.md b/content/en/docs/dev/compile_run.md
similarity index 98%
rename from docs/src/en/dev/compile_run.md
rename to content/en/docs/dev/compile_run.md
index c4a90a8..21b31a3 100644
--- a/docs/src/en/dev/compile_run.md
+++ b/content/en/docs/dev/compile_run.md
@@ -1,3 +1,8 @@
+---
+title: "Compile"
+weight: 30
+---
+
 In order to compile HoraeDB, some relevant dependencies(including the `Rust` 
toolchain) should be installed.
 
 # Dependencies(Ubuntu20.04)
diff --git a/docs/src/en/dev/conventional_commit.md 
b/content/en/docs/dev/conventional_commit.md
similarity index 97%
rename from docs/src/en/dev/conventional_commit.md
rename to content/en/docs/dev/conventional_commit.md
index 295a288..b8f780c 100644
--- a/docs/src/en/dev/conventional_commit.md
+++ b/content/en/docs/dev/conventional_commit.md
@@ -1,4 +1,7 @@
-# Conventional Commit Guide
+---
+title: "Conventional Commit Guide"
+weight: 20
+---
 
 This document describes how we use [conventional 
commit](https://www.conventionalcommits.org/en/v1.0.0/) in our development.
 
diff --git a/docs/src/en/cluster_deployment/platform.md 
b/content/en/docs/dev/platform.md
similarity index 63%
rename from docs/src/en/cluster_deployment/platform.md
rename to content/en/docs/dev/platform.md
index 0d6af92..30d1b79 100644
--- a/docs/src/en/cluster_deployment/platform.md
+++ b/content/en/docs/dev/platform.md
@@ -1,4 +1,9 @@
-As an open source cloud-native, HoraeDB can be deployed in the Intel/ARM-based 
architecture server, and major virtualization environments.
+---
+title: "Supported Platform"
+weight: 10
+---
+
+作为一个开源的数据库,HoraeDB 可以部署在基于英特尔 /ARM 架构的服务器,以及常见的虚拟环境。
 
 |                         OS                         | status |
 | :------------------------------------------------: | :----: |
@@ -8,5 +13,5 @@ As an open source cloud-native, HoraeDB can be deployed in the 
Intel/ARM-based a
 |                 macOS 11 or later                  |   ✅   |
 |                      Windows                       |   ❌   |
 
-- For production workloads, Linux is the preferred platform.
-- macOS is mainly used for development
+- 生产环境下 , Linux 是首选平台。
+- macOS 主要用在开发环境。
diff --git a/docs/src/en/dev/profiling.md b/content/en/docs/dev/profiling.md
similarity index 96%
rename from docs/src/en/dev/profiling.md
rename to content/en/docs/dev/profiling.md
index 20d666a..d4d24ca 100644
--- a/docs/src/en/dev/profiling.md
+++ b/content/en/docs/dev/profiling.md
@@ -1,4 +1,6 @@
-## Profiling
+---
+title: "Profiling"
+---
 
 ### CPU profiling
 
diff --git a/docs/src/en/dev/roadmap.md b/content/en/docs/dev/roadmap.md
similarity index 98%
rename from docs/src/en/dev/roadmap.md
rename to content/en/docs/dev/roadmap.md
index 48c830b..4f3ebbc 100644
--- a/docs/src/en/dev/roadmap.md
+++ b/content/en/docs/dev/roadmap.md
@@ -1,4 +1,6 @@
-## RoadMap
+---
+title: "RoadMap"
+---
 
 ### v0.1.0
 
diff --git a/docs/src/en/dev/sdk_develop.md b/content/en/docs/dev/sdk_develop.md
similarity index 95%
rename from docs/src/en/dev/sdk_develop.md
rename to content/en/docs/dev/sdk_develop.md
index 8d851e4..3554b92 100644
--- a/docs/src/en/dev/sdk_develop.md
+++ b/content/en/docs/dev/sdk_develop.md
@@ -1,3 +1,7 @@
+---
+title: "SDK Development"
+---
+
 # Rust
 
 ```bash
diff --git a/docs/src/en/dev/style_guide.md b/content/en/docs/dev/style_guide.md
similarity index 99%
rename from docs/src/en/dev/style_guide.md
rename to content/en/docs/dev/style_guide.md
index aeb1b79..2bd75f0 100644
--- a/docs/src/en/dev/style_guide.md
+++ b/content/en/docs/dev/style_guide.md
@@ -1,4 +1,6 @@
-# Rationale and Goals
+---
+title: "Rationale and Goals"
+---
 
 As every Rust programmer knows, the language has many powerful features, and 
there are often
 several patterns which can express the same idea. Also, as every professional 
programmer comes to
diff --git a/docs/src/en/quick_start.md b/content/en/docs/getting-started.md
similarity index 98%
rename from docs/src/en/quick_start.md
rename to content/en/docs/getting-started.md
index 7b6f99d..f654f37 100644
--- a/docs/src/en/quick_start.md
+++ b/content/en/docs/getting-started.md
@@ -1,4 +1,7 @@
-# Quick Start
+---
+title: "Getting Started"
+weight: 1
+---
 
 This page shows you how to get started with HoraeDB quickly. You'll start a 
standalone HoraeDB server, and then insert and read some sample data using SQL.
 
diff --git a/content/en/docs/user-guide/_index.md 
b/content/en/docs/user-guide/_index.md
new file mode 100644
index 0000000..fd4787a
--- /dev/null
+++ b/content/en/docs/user-guide/_index.md
@@ -0,0 +1,4 @@
+---
+title: "User Guide"
+weight: 10
+---
diff --git a/docs/src/en/cluster_deployment/README.md 
b/content/en/docs/user-guide/cluster_deployment/_index.md
similarity index 81%
rename from docs/src/en/cluster_deployment/README.md
rename to content/en/docs/user-guide/cluster_deployment/_index.md
index 41fdc66..1f7e9c4 100644
--- a/docs/src/en/cluster_deployment/README.md
+++ b/content/en/docs/user-guide/cluster_deployment/_index.md
@@ -1,10 +1,10 @@
-# Cluster Deployment
+---
+title: "Cluster Deployment"
+weight: 20
+---
 
 In the [Quick Start](../quick_start.md) section, we have introduced the 
deployment of single HoraeDB instance.
 
 Besides, as a distributed timeseries database, multiple HoraeDB instances can 
be deployed as a cluster to serve with high availability and scalability.
 
 Currently, work about the integration with kubernetes is still in process, so 
HoraeDB cluster can only be deployed manually. And there are two modes of 
cluster deployment:
-
-- [NoMeta Mode(Only for testing)](no_meta.md)
-- [WithMeta Mode](with_meta.md)
diff --git a/docs/src/en/cluster_deployment/no_meta.md 
b/content/en/docs/user-guide/cluster_deployment/no_meta.md
similarity index 99%
rename from docs/src/en/cluster_deployment/no_meta.md
rename to content/en/docs/user-guide/cluster_deployment/no_meta.md
index 04db40d..ef7aaab 100644
--- a/docs/src/en/cluster_deployment/no_meta.md
+++ b/content/en/docs/user-guide/cluster_deployment/no_meta.md
@@ -1,6 +1,9 @@
-**Note: This feature is for testing use only, not recommended for production 
use, related features may change in the future.**
+---
+title: "NoMeta"
+weight: 10
+---
 
-# NoMeta
+**Note: This feature is for testing use only, not recommended for production 
use, related features may change in the future.**
 
 This guide shows how to deploy a HoraeDB cluster without HoraeMeta, but with 
static, rule-based routing.
 
diff --git a/docs/src/en/cluster_deployment/with_meta.md 
b/content/en/docs/user-guide/cluster_deployment/with_meta.md
similarity index 96%
rename from docs/src/en/cluster_deployment/with_meta.md
rename to content/en/docs/user-guide/cluster_deployment/with_meta.md
index 45daa43..58bf720 100644
--- a/docs/src/en/cluster_deployment/with_meta.md
+++ b/content/en/docs/user-guide/cluster_deployment/with_meta.md
@@ -1,4 +1,7 @@
-# WithMeta
+---
+title: "WithMeta"
+weight: 20
+---
 
 This guide shows how to deploy a HoraeDB cluster with HoraeMeta. And with the 
HoraeMeta, the whole HoraeDB cluster will feature: high availability, load 
balancing and horizontal scalability if the underlying storage used by HoraeDB 
is separated service.
 
@@ -42,19 +45,19 @@ docker run -d --name horaemeta-server \
 - Cluster
 
 ```bash
-wget 
https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster0.toml
+wget https://horaedb.apache.org/config-horaemeta-cluster0.toml
 
 docker run -d --network=host --name horaemeta-server0 \
   -v $(pwd)/config-horaemeta-cluster0.toml:/etc/horaemeta/horaemeta.toml \
   ghcr.io/apache/horaemeta-server:nightly-20231225-ab067bf0
 
-wget 
https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster1.toml
+wget https://horaedb.apache.org/config-horaemeta-cluster1.toml
 
 docker run -d --network=host --name horaemeta-server1 \
   -v $(pwd)/config-horaemeta-cluster1.toml:/etc/horaemeta/horaemeta.toml \
   ghcr.io/apache/horaemeta-server:nightly-20231225-ab067bf0
 
-wget 
https://raw.githubusercontent.com/apache/incubator-horaedb-docs/main/docs/src/resources/config-horaemeta-cluster2.toml
+wget https://horaedb.apache.org/config-horaemeta-cluster2.toml
 
 docker run -d --network=host --name horaemeta-server2 \
   -v $(pwd)/config-horaemeta-cluster2.toml:/etc/horaemeta/horaemeta.toml \
diff --git a/content/en/docs/user-guide/ecosystem/_index.md 
b/content/en/docs/user-guide/ecosystem/_index.md
new file mode 100644
index 0000000..cf1cbed
--- /dev/null
+++ b/content/en/docs/user-guide/ecosystem/_index.md
@@ -0,0 +1,6 @@
+---
+title: "Ecosystem"
+weight: 50
+---
+
+HoraeDB has an open ecosystem that encourages collaboration and innovation, 
allowing developers to use what suits them best.
diff --git a/docs/src/en/ecosystem/influxdb.md 
b/content/en/docs/user-guide/ecosystem/influxdb.md
similarity index 99%
rename from docs/src/en/ecosystem/influxdb.md
rename to content/en/docs/user-guide/ecosystem/influxdb.md
index 0df3173..7d272ad 100644
--- a/docs/src/en/ecosystem/influxdb.md
+++ b/content/en/docs/user-guide/ecosystem/influxdb.md
@@ -1,4 +1,6 @@
-# InfluxDB
+---
+title: "InfluxDB"
+---
 
 [InfluxDB](https://www.influxdata.com/products/influxdb-overview/) is a time 
series database designed to handle high write and query loads. It is an 
integral component of the TICK stack. InfluxDB is meant to be used as a backing 
store for any use case involving large amounts of timestamped data, including 
DevOps monitoring, application metrics, IoT sensor data, and real-time 
analytics.
 
diff --git a/docs/src/en/ecosystem/opentsdb.md 
b/content/en/docs/user-guide/ecosystem/opentsdb.md
similarity index 98%
rename from docs/src/en/ecosystem/opentsdb.md
rename to content/en/docs/user-guide/ecosystem/opentsdb.md
index b1d846b..b697158 100644
--- a/docs/src/en/ecosystem/opentsdb.md
+++ b/content/en/docs/user-guide/ecosystem/opentsdb.md
@@ -1,4 +1,6 @@
-# OpenTSDB
+---
+title: "OpenTSDB"
+---
 
 [OpenTSDB](http://opentsdb.net/) is a distributed and scalable time series 
database based on HBase.
 
diff --git a/docs/src/en/ecosystem/prometheus.md 
b/content/en/docs/user-guide/ecosystem/prometheus.md
similarity index 98%
rename from docs/src/en/ecosystem/prometheus.md
rename to content/en/docs/user-guide/ecosystem/prometheus.md
index 2f8b6b6..6afe9c5 100644
--- a/docs/src/en/ecosystem/prometheus.md
+++ b/content/en/docs/user-guide/ecosystem/prometheus.md
@@ -1,4 +1,6 @@
-# Prometheus
+---
+title: "Prometheus"
+---
 
 [Prometheus](https://prometheus.io/) is a popular cloud-native monitoring tool 
that is widely adopted by organizations due to its scalability, reliability, 
and scalability. It is used to scrape metrics from cloud-native services, such 
as Kubernetes and OpenShift, and stores it in a time-series database. 
Prometheus is also easily extensible, allowing users to extend its features and 
capabilities with other databases.
 
diff --git a/docs/src/en/operation/README.md 
b/content/en/docs/user-guide/operation/_index.md
similarity index 50%
rename from docs/src/en/operation/README.md
rename to content/en/docs/user-guide/operation/_index.md
index 99f7338..fa92f4e 100644
--- a/docs/src/en/operation/README.md
+++ b/content/en/docs/user-guide/operation/_index.md
@@ -1,9 +1,6 @@
-# Operation and Maintenance
+---
+title: "Operation and Maintenance"
+weight: 40
+---
 
 This guide introduces the operation and maintenance of HoraeDB, including 
cluster installation, database&table operations, fault tolerance, disaster 
recovery, data import and export, etc.
-
-- [Table](./table.md)
-- [System Table](./system_table.md)
-- [Block List](./block_list.md)
-- [Observability](./observability.md)
-- [Cluster](./cluster.md)
diff --git a/docs/src/en/operation/block_list.md 
b/content/en/docs/user-guide/operation/block_list.md
similarity index 97%
rename from docs/src/en/operation/block_list.md
rename to content/en/docs/user-guide/operation/block_list.md
index 71ae32d..ce99cdb 100644
--- a/docs/src/en/operation/block_list.md
+++ b/content/en/docs/user-guide/operation/block_list.md
@@ -1,4 +1,6 @@
-# Block List
+---
+title: "Block List"
+---
 
 ## Add block list
 
diff --git a/docs/src/en/operation/horaemeta.md 
b/content/en/docs/user-guide/operation/horaemeta.md
similarity index 99%
rename from docs/src/en/operation/horaemeta.md
rename to content/en/docs/user-guide/operation/horaemeta.md
index 9dccafc..e5c071e 100644
--- a/docs/src/en/operation/horaemeta.md
+++ b/content/en/docs/user-guide/operation/horaemeta.md
@@ -1,4 +1,6 @@
-# Cluster Operation
+---
+title: "Cluster Operation"
+---
 
 The Operations for HoraeDB cluster mode, it can only be used when HoraeMeta is 
deployed.
 
diff --git a/docs/src/en/operation/observability.md 
b/content/en/docs/user-guide/operation/observability.md
similarity index 89%
rename from docs/src/en/operation/observability.md
rename to content/en/docs/user-guide/operation/observability.md
index 669fe42..539cdcd 100644
--- a/docs/src/en/operation/observability.md
+++ b/content/en/docs/user-guide/operation/observability.md
@@ -1,4 +1,6 @@
-# Observability
+---
+title: "Observability"
+---
 
 HoraeDB is observable with Prometheus and Grafana.
 
@@ -65,21 +67,21 @@ For more detailed installation methods, refer to 
[here](https://grafana.com/docs
 
 Note: The url of Prometheus is `http://your_ip:9090`.
 
-<img src="../../resources/images/grafana-datasource.png" height="400" 
width="200"/>
+<img src="/images/grafana-datasource.png" height="400" width="200"/>
 
 See more details 
[here](https://grafana.com/docs/grafana/latest/datasources/prometheus/).
 
 ### Import grafana dashboard
 
-<a href="../../resources/grafana-dashboard.json">dashboard json</a>
+<a href="/grafana-dashboard.json">dashboard json</a>
 
-<img src="../../resources/images/grafana-dashboard.png" height="400" 
width="200"/>
+<img src="/images/grafana-dashboard.png" height="400" width="200"/>
 
 ## HoraeDB Metrics
 
 After importing the dashboard, you will see the following page:
 
-<img src="../../resources/images/grafana-horaedb-dashboard.png" height="400" 
width="600"/>
+<img src="/images/grafana-horaedb-dashboard.png" height="400" width="600"/>
 
 ### Panels
 
diff --git a/docs/src/en/operation/system_table.md 
b/content/en/docs/user-guide/operation/system_table.md
similarity index 96%
rename from docs/src/en/operation/system_table.md
rename to content/en/docs/user-guide/operation/system_table.md
index 8359d82..b708968 100644
--- a/docs/src/en/operation/system_table.md
+++ b/content/en/docs/user-guide/operation/system_table.md
@@ -1,4 +1,6 @@
-# Table Operation
+---
+title: "Table Operation"
+---
 
 ## Query Table Information
 
diff --git a/docs/src/en/operation/table.md 
b/content/en/docs/user-guide/operation/table.md
similarity index 97%
rename from docs/src/en/operation/table.md
rename to content/en/docs/user-guide/operation/table.md
index 031fa95..6a14bc8 100644
--- a/docs/src/en/operation/table.md
+++ b/content/en/docs/user-guide/operation/table.md
@@ -1,4 +1,6 @@
-# Table Operation
+---
+title: "Table Operation"
+---
 
 HoraeDB supports standard SQL protocols and allows you to create tables and 
read/write data via http requests. More [SQL](../sql/README.md)
 
diff --git a/content/en/docs/user-guide/sdk/_index.md 
b/content/en/docs/user-guide/sdk/_index.md
new file mode 100644
index 0000000..47f4c41
--- /dev/null
+++ b/content/en/docs/user-guide/sdk/_index.md
@@ -0,0 +1,4 @@
+---
+title: "SDK"
+weight: 30
+---
diff --git a/docs/src/en/sdk/go.md b/content/en/docs/user-guide/sdk/go.md
similarity index 99%
rename from docs/src/en/sdk/go.md
rename to content/en/docs/user-guide/sdk/go.md
index ec34d31..35b0faa 100644
--- a/docs/src/en/sdk/go.md
+++ b/content/en/docs/user-guide/sdk/go.md
@@ -1,4 +1,6 @@
-# Go
+---
+title: "Go"
+---
 
 ## Installation
 
diff --git a/docs/src/en/sdk/java.md b/content/en/docs/user-guide/sdk/java.md
similarity index 99%
rename from docs/src/en/sdk/java.md
rename to content/en/docs/user-guide/sdk/java.md
index d3fe0bc..433e26c 100644
--- a/docs/src/en/sdk/java.md
+++ b/content/en/docs/user-guide/sdk/java.md
@@ -1,4 +1,6 @@
-# Java
+---
+title: "Java"
+---
 
 ## Introduction
 
diff --git a/docs/src/en/sdk/python.md 
b/content/en/docs/user-guide/sdk/python.md
similarity index 99%
rename from docs/src/en/sdk/python.md
rename to content/en/docs/user-guide/sdk/python.md
index f90b394..70f98c8 100644
--- a/docs/src/en/sdk/python.md
+++ b/content/en/docs/user-guide/sdk/python.md
@@ -1,4 +1,6 @@
-# Python
+---
+title: "Python"
+---
 
 ## Introduction
 
diff --git a/docs/src/en/sdk/rust.md b/content/en/docs/user-guide/sdk/rust.md
similarity index 99%
rename from docs/src/en/sdk/rust.md
rename to content/en/docs/user-guide/sdk/rust.md
index 48358ab..bff985a 100644
--- a/docs/src/en/sdk/rust.md
+++ b/content/en/docs/user-guide/sdk/rust.md
@@ -1,4 +1,6 @@
-# Rust
+---
+title: "Rust"
+---
 
 ## Install
 
diff --git a/content/en/docs/user-guide/sql/_index.md 
b/content/en/docs/user-guide/sql/_index.md
new file mode 100644
index 0000000..1e58784
--- /dev/null
+++ b/content/en/docs/user-guide/sql/_index.md
@@ -0,0 +1,4 @@
+---
+title: "SQL Syntax"
+weight: 10
+---
diff --git a/docs/src/en/sql/functions/aggregate_functions.md 
b/content/en/docs/user-guide/sql/aggregate_functions.md
similarity index 98%
rename from docs/src/en/sql/functions/aggregate_functions.md
rename to content/en/docs/user-guide/sql/aggregate_functions.md
index f454e97..3f21402 100644
--- a/docs/src/en/sql/functions/aggregate_functions.md
+++ b/content/en/docs/user-guide/sql/aggregate_functions.md
@@ -1,4 +1,7 @@
-# Aggregate Functions
+---
+title: "Aggregate Functions"
+weight: 80
+---
 
 HoraeDB SQL is implemented with 
[DataFusion](https://github.com/apache/arrow-datafusion), Here is the list of 
aggregate functions. See more detail, Refer to 
[Datafusion](https://github.com/apache/arrow-datafusion/blob/master/docs/source/user-guide/sql/aggregate_functions.md)
 
diff --git a/content/en/docs/user-guide/sql/ddl/_index.md 
b/content/en/docs/user-guide/sql/ddl/_index.md
new file mode 100644
index 0000000..cabf7b2
--- /dev/null
+++ b/content/en/docs/user-guide/sql/ddl/_index.md
@@ -0,0 +1,6 @@
+---
+title: "Data Definition Statements"
+weight: 30
+---
+
+This chapter introduces the data definition statements.
diff --git a/docs/src/en/sql/ddl/alter_table.md 
b/content/en/docs/user-guide/sql/ddl/alter_table.md
similarity index 98%
rename from docs/src/en/sql/ddl/alter_table.md
rename to content/en/docs/user-guide/sql/ddl/alter_table.md
index 041d593..79a6e33 100644
--- a/docs/src/en/sql/ddl/alter_table.md
+++ b/content/en/docs/user-guide/sql/ddl/alter_table.md
@@ -1,4 +1,6 @@
-# ALTER TABLE
+---
+title: "ALTER TABLE"
+---
 
 `ALTER TABLE` can change the schema or options of a table.
 
diff --git a/docs/src/en/sql/ddl/create_table.md 
b/content/en/docs/user-guide/sql/ddl/create_table.md
similarity index 98%
rename from docs/src/en/sql/ddl/create_table.md
rename to content/en/docs/user-guide/sql/ddl/create_table.md
index 0b61c7f..0c0baa9 100644
--- a/docs/src/en/sql/ddl/create_table.md
+++ b/content/en/docs/user-guide/sql/ddl/create_table.md
@@ -1,4 +1,6 @@
-# CREATE TABLE
+---
+title: "CREATE TABLE"
+---
 
 ## Basic syntax
 
diff --git a/docs/src/en/sql/ddl/drop_table.md 
b/content/en/docs/user-guide/sql/ddl/drop_table.md
similarity index 90%
rename from docs/src/en/sql/ddl/drop_table.md
rename to content/en/docs/user-guide/sql/ddl/drop_table.md
index 6b4c3a9..2284fe1 100644
--- a/docs/src/en/sql/ddl/drop_table.md
+++ b/content/en/docs/user-guide/sql/ddl/drop_table.md
@@ -1,4 +1,6 @@
-# DROP TABLE
+---
+title: "DROP TABLE"
+---
 
 ## Basic syntax
 
diff --git a/content/en/docs/user-guide/sql/dml/_index.md 
b/content/en/docs/user-guide/sql/dml/_index.md
new file mode 100644
index 0000000..b36826e
--- /dev/null
+++ b/content/en/docs/user-guide/sql/dml/_index.md
@@ -0,0 +1,6 @@
+---
+title: "Data Manipulation Statements"
+weight: 40
+---
+
+This chapter introduces the data manipulation statements.
diff --git a/docs/src/en/sql/dml/insert.md 
b/content/en/docs/user-guide/sql/dml/insert.md
similarity index 92%
rename from docs/src/en/sql/dml/insert.md
rename to content/en/docs/user-guide/sql/dml/insert.md
index 1fc72e9..0e949a6 100644
--- a/docs/src/en/sql/dml/insert.md
+++ b/content/en/docs/user-guide/sql/dml/insert.md
@@ -1,4 +1,6 @@
-# INSERT
+---
+title: "INSERT"
+---
 
 ## Basic syntax
 
diff --git a/docs/src/en/sql/dml/select.md 
b/content/en/docs/user-guide/sql/dml/select.md
similarity index 95%
rename from docs/src/en/sql/dml/select.md
rename to content/en/docs/user-guide/sql/dml/select.md
index ecf0873..f4a653a 100644
--- a/docs/src/en/sql/dml/select.md
+++ b/content/en/docs/user-guide/sql/dml/select.md
@@ -1,4 +1,6 @@
-# SELECT
+---
+title: "SELECT"
+---
 
 ## Basic syntax
 
diff --git a/docs/src/en/sql/engine_options.md 
b/content/en/docs/user-guide/sql/engine_options.md
similarity index 99%
rename from docs/src/en/sql/engine_options.md
rename to content/en/docs/user-guide/sql/engine_options.md
index 383e64c..8a7c7bf 100644
--- a/docs/src/en/sql/engine_options.md
+++ b/content/en/docs/user-guide/sql/engine_options.md
@@ -1,4 +1,7 @@
-# Options
+---
+title: "Options"
+weight: 60
+---
 
 Options below can be used when create table for analytic engine
 
diff --git a/docs/src/en/sql/identifier.md 
b/content/en/docs/user-guide/sql/identifier.md
similarity index 87%
rename from docs/src/en/sql/identifier.md
rename to content/en/docs/user-guide/sql/identifier.md
index 5eb975c..338e738 100644
--- a/docs/src/en/sql/identifier.md
+++ b/content/en/docs/user-guide/sql/identifier.md
@@ -1,3 +1,6 @@
-# Identifier
+---
+title: "Identifier"
+weight: 20
+---
 
 Identifier in HoraeDB can be used as table name, column name etc. It cannot be 
preserved keywords or start with number and punctuation symbols. HoraeDB allows 
to quote identifiers with back quotes (\`). In this case it can be any string 
like `00_table` or `select`.
diff --git a/content/en/docs/user-guide/sql/model/_index.md 
b/content/en/docs/user-guide/sql/model/_index.md
new file mode 100644
index 0000000..4b9fa58
--- /dev/null
+++ b/content/en/docs/user-guide/sql/model/_index.md
@@ -0,0 +1,6 @@
+---
+title: "Data Model"
+weight: 10
+---
+
+This chapter introduces the data model of HoraeDB.
diff --git a/docs/src/en/sql/model/data_types.md 
b/content/en/docs/user-guide/sql/model/data_types.md
similarity index 96%
rename from docs/src/en/sql/model/data_types.md
rename to content/en/docs/user-guide/sql/model/data_types.md
index 65abd65..8854990 100644
--- a/docs/src/en/sql/model/data_types.md
+++ b/content/en/docs/user-guide/sql/model/data_types.md
@@ -1,4 +1,6 @@
-# Data Types
+---
+title: "Data Types"
+---
 
 HoraeDB implements table model, and the supported data types are similar to 
MySQL.
 The following table lists the mapping relationship between MySQL and HoraeDB.
diff --git a/docs/src/en/sql/model/special_columns.md 
b/content/en/docs/user-guide/sql/model/special_columns.md
similarity index 98%
rename from docs/src/en/sql/model/special_columns.md
rename to content/en/docs/user-guide/sql/model/special_columns.md
index d12f283..21497b8 100644
--- a/docs/src/en/sql/model/special_columns.md
+++ b/content/en/docs/user-guide/sql/model/special_columns.md
@@ -1,4 +1,6 @@
-# Special Columns
+---
+title: "Special Columns"
+---
 
 Tables in HoraeDB have the following constraints:
 
diff --git a/docs/src/en/sql/functions/scalar_functions.md 
b/content/en/docs/user-guide/sql/scalar_functions.md
similarity index 99%
rename from docs/src/en/sql/functions/scalar_functions.md
rename to content/en/docs/user-guide/sql/scalar_functions.md
index 3923c56..a27b41f 100644
--- a/docs/src/en/sql/functions/scalar_functions.md
+++ b/content/en/docs/user-guide/sql/scalar_functions.md
@@ -1,4 +1,7 @@
-# Scalar Functions
+---
+title: "Scalar Functions"
+weight: 70
+---
 
 HoraeDB SQL is implemented with 
[DataFusion](https://github.com/CeresDB/arrow-datafusion), Here is the list of 
scalar functions. See more detail, Refer to 
[Datafusion](https://github.com/CeresDB/arrow-datafusion/blob/master/docs/source/user-guide/sql/scalar_functions.md)
 
diff --git a/docs/src/en/sql/utility.md 
b/content/en/docs/user-guide/sql/utility.md
similarity index 98%
rename from docs/src/en/sql/utility.md
rename to content/en/docs/user-guide/sql/utility.md
index 757c8fa..0b0235d 100644
--- a/docs/src/en/sql/utility.md
+++ b/content/en/docs/user-guide/sql/utility.md
@@ -1,4 +1,7 @@
-# Utility Statements
+---
+title: "Utility Statements"
+weight: 50
+---
 
 There are serval utilities SQL in HoraeDB that can help in table manipulation 
or query inspection.
 
diff --git a/docs/.gitignore b/docs/.gitignore
deleted file mode 100644
index 7585238..0000000
--- a/docs/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-book
diff --git a/docs/book.toml b/docs/book.toml
deleted file mode 100644
index 451b7b9..0000000
--- a/docs/book.toml
+++ /dev/null
@@ -1,29 +0,0 @@
-[book]
-authors = ["HoraeDB Authors"]
-language = "en"
-multilingual = true
-src = "src/en"
-title = "HoraeDB Documentation"
-
-[build]
-use-default-preprocessors = false
-
-[preprocessor.links]
-
-[[output.i18n.translations]]
-src = "src/cn"
-language = "cn"
-translators = ["HoraeDB Authors"]
-title = "HoraeDB 文档"
-
-[output.random]
-command = "/bin/bash ../../move.sh"
-
-[output.html]
-git-repository-url = "https://github.com/apache/incubator-horaedb";
-edit-url-template = 
"https://github.com/apache/incubator-horaedb-docs/edit/main/docs/{path}";
-additional-css = ["style.css"]
-additional-js = ["sidebar.js"]
-
-[output.html.fold]
-enable = true
diff --git a/docs/move.sh b/docs/move.sh
deleted file mode 100644
index af84258..0000000
--- a/docs/move.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-echo "ready to move files"
-cp -R ../i18n/cn ../html/cn
-cp -R ../i18n/en ../html/en
-cp -R ../../src/resources ../../book/html/resources
-echo "copy done"
diff --git a/docs/sidebar.js b/docs/sidebar.js
deleted file mode 100644
index 7a8f9d3..0000000
--- a/docs/sidebar.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Un-active everything when you click it
-Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children,
 function(el) {
-    el.addEventHandler("click", function() {
-        
Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children,
 function(el) {
-            el.classList.remove("active");
-        });
-        el.classList.add("active");
-    });
-});
-
-var updateFunction = function() {
-
-    var id;
-    var elements = document.getElementsByClassName("header");
-    Array.prototype.forEach.call(elements, function(el) {
-        if (window.pageYOffset >= el.offsetTop) {
-            id = el;
-        }
-    });
-
-    
Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children,
 function(el) {
-        el.classList.remove("active");
-    });
-
-    
Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children,
 function(el) {
-        if (id.href.localeCompare(el.href) == 0) {
-            el.classList.add("active");
-        }
-    });
-};
-
-// Populate sidebar on load
-window.addEventListener('load', function() {
-    var pagetoc = document.getElementsByClassName("pagetoc")[0];
-    var elements = document.getElementsByClassName("header");
-    Array.prototype.forEach.call(elements, function(el) {
-        var link = document.createElement("a");
-
-        // Indent shows hierarchy
-        var indent = "";
-        switch (el.parentElement.tagName) {
-            case "H2":
-                indent = "20px";
-                break;
-            case "H3":
-                indent = "40px";
-                break;
-            case "H4":
-                indent = "60px";
-                break;
-            default:
-                break;
-        }
-
-        link.appendChild(document.createTextNode(el.text));
-        link.style.paddingLeft = indent;
-        link.href = el.href;
-        pagetoc.appendChild(link);
-    });
-    updateFunction.call();
-});
-
-
-
-// Handle active elements on scroll
-window.addEventListener("scroll", updateFunction);
diff --git a/docs/src/cn/SUMMARY.md b/docs/src/cn/SUMMARY.md
deleted file mode 100644
index ada44e4..0000000
--- a/docs/src/cn/SUMMARY.md
+++ /dev/null
@@ -1,66 +0,0 @@
-# 目录
-
-# 简介
-
-- [什么是 HoraeDB](about.md)
-- [快速开始](quick_start.md)
-
-# 用户手册
-
-- [SQL 语法](sql/README.md)
-  - [数据模型](sql/model/README.md)
-    - [数据类型](sql/model/data_types.md)
-    - [特殊字段](sql/model/special_columns.md)
-  - [标识符](sql/identifier.md)
-  - [表结构操作](sql/ddl/README.md)
-    - [建表](sql/ddl/create_table.md)
-    - [表结构变更](sql/ddl/alter_table.md)
-    - [删除表](sql/ddl/drop_table.md)
-  - [数据操作](sql/dml/README.md)
-    - [数据写入](sql/dml/insert.md)
-    - [数据查询](sql/dml/select.md)
-  - [引擎配置](sql/engine_options.md)
-  - [常见 SQL](sql/utility.md)
-  - [标量函数](sql/functions/scalar_functions.md)
-  - [聚合函数](sql/functions/aggregate_functions.md)
-- [集群部署](cluster_deployment/README.md)
-  - [支持平台](cluster_deployment/platform.md)
-  - [NoMeta 模式](cluster_deployment/no_meta.md)
-  - [WithMeta 模式](cluster_deployment/with_meta.md)
-- [SDK](sdk/README.md)
-  - [Java SDK](sdk/java.md)
-  - [Go SDK](sdk/go.md)
-  - [Python SDK](sdk/python.md)
-  - [Rust SDK](sdk/rust.md)
-- [运维](operation/README.md)
-  - [表](operation/table.md)
-  - [系统表](operation/system_table.md)
-  - [黑名单](operation/block_list.md)
-  - [监控](operation/observability.md)
-  - [HoraeMeta](operation/horaemeta.md)
-- [周边生态](ecosystem/README.md)
-  - [Prometheus](ecosystem/prometheus.md)
-  - [InfluxDB](ecosystem/influxdb.md)
-  - [OpenTSDB](ecosystem/opentsdb.md)
-
-# 开发者手册
-
-- [支持平台](dev/platform.md)
-- [编译运行](dev/compile_run.md)
-  - [剖析](dev/profiling.md)
-- [开发规约](dev/conventional_commit.md)
-- [风格规范](dev/style_guide.md)
-- [里程碑](dev/roadmap.md)
-
-# 技术系列文章
-
-- [整体架构](design/architecture.md)
-- [集群](design/clustering.md)
-- [Shared-Nothing](design/shared_nothing.md)
-- [存储](design/storage.md)
-- [WAL](design/wal.md)
-  - [WAL on RocksDB](design/wal_on_rocksdb.md)
-  - [WAL on Kafka](design/wal_on_kafka.md)
-- [分区表](design/table_partitioning.md)
-
-[//]: # "- [查询介绍](query.md)"
diff --git a/docs/src/cn/design/wal.md b/docs/src/cn/design/wal.md
deleted file mode 100644
index 7d907cf..0000000
--- a/docs/src/cn/design/wal.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Wal
-
-- [WAL on RocksDB](wal_on_rocksdb.md)
-- [WAL on Kafka](wal_on_kafka.md)
-- 基于 OceanBase 的 WAL 未来再做介绍
diff --git a/docs/src/cn/dev/README.md b/docs/src/cn/dev/README.md
deleted file mode 100644
index a5b829e..0000000
--- a/docs/src/cn/dev/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# 开发手册
diff --git a/docs/src/cn/dev/conventional_commit.md 
b/docs/src/cn/dev/conventional_commit.md
deleted file mode 100644
index 6ad1530..0000000
--- a/docs/src/cn/dev/conventional_commit.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# 开发规约
-
-开发规约请参考英文版本[文档](../../en/dev/conventional_commit.md)
diff --git a/docs/src/cn/dev/platform.md b/docs/src/cn/dev/platform.md
deleted file mode 100644
index cf58663..0000000
--- a/docs/src/cn/dev/platform.md
+++ /dev/null
@@ -1,7 +0,0 @@
-|          target           |        OS         |                              
   status                                  |
-| :-----------------------: | :---------------: | 
:---------------------------------------------------------------------: |
-| x86_64-unknown-linux-gnu  |    kernel 4.9+    |                              
     ✅                                    |
-|    x86_64-apple-darwin    | 10.15+, Catalina+ |                              
     ✅                                    |
-|   aarch64-apple-darwin    |   11+, Big Sur+   |                              
     ✅                                    |
-| aarch64-unknown-linux-gnu |        TBD        | tracked on 
[#63](https://github.com/apache/incubator-horaedb/issues/63) |
-|        \*-windows         |        \*         |                              
     ❌                                    |
diff --git a/docs/src/cn/dev/style_guide.md b/docs/src/cn/dev/style_guide.md
deleted file mode 100644
index 5941feb..0000000
--- a/docs/src/cn/dev/style_guide.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# 风格规范
-
-风格规范请参考英文版本[文档](../../en/dev/style_guide.md)
diff --git a/docs/src/cn/protocol.md b/docs/src/cn/protocol.md
deleted file mode 100644
index fbd34d1..0000000
--- a/docs/src/cn/protocol.md
+++ /dev/null
@@ -1 +0,0 @@
-# Protocol
diff --git a/docs/src/cn/sdk/README.md b/docs/src/cn/sdk/README.md
deleted file mode 100644
index dcca00d..0000000
--- a/docs/src/cn/sdk/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# SDK 文档
-
-- [Rust](./rust.md)
-- [Java](./java.md)
-- [Python](./python.md)
-- [Go](./go.md)
diff --git a/docs/src/cn/sql/README.md b/docs/src/cn/sql/README.md
deleted file mode 100644
index e6ff7a0..0000000
--- a/docs/src/cn/sql/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# SQL 语法
-
-本章介绍 HoraeDB 的 SQL 使用语法。
-
-- [数据模型](model/README.md)
-  - [数据类型](model/data_types.md)
-  - [特殊字段](model/special_columns.md)
-- [标识符](identifier.md)
-- [表结构操作](ddl/README.md)
-  - [建表](ddl/create_table.md)
-  - [表结构变更](ddl/alter_table.md)
-  - [删除表](ddl/drop_table.md)
-- [数据操作](dml/README.md)
-  - [数据写入](dml/insert.md)
-  - [数据查询](dml/select.md)
-- [引擎配置](engine_options.md)
-- [常见 SQL](utility.md)
-- [标量函数](functions/scalar_functions.md)
-- [聚合函数](functions/aggregate_functions.md)
diff --git a/docs/src/cn/sql/ddl/README.md b/docs/src/cn/sql/ddl/README.md
deleted file mode 100644
index a1eb8ee..0000000
--- a/docs/src/cn/sql/ddl/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# 表结构操作
-
-本章介绍表结构相关 SQL 语句:
-
-- [建表](create_table.md)
-- [表结构变更](alter_table.md)
-- [删除表](drop_table.md)
diff --git a/docs/src/cn/sql/dml/README.md b/docs/src/cn/sql/dml/README.md
deleted file mode 100644
index 33303da..0000000
--- a/docs/src/cn/sql/dml/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# 数据操作
-
-本章介绍数据操作相关的 SQL.
-
-- [数据写入](./insert.md)
-- [数据查询](./select.md)
diff --git a/docs/src/cn/sql/model/README.md b/docs/src/cn/sql/model/README.md
deleted file mode 100644
index 4a216d4..0000000
--- a/docs/src/cn/sql/model/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# 数据模型
-
-本章介绍 HoraeDB 的数据模型。
-
-- [数据类型](data_types.md)
-- [特殊字段](special_columns.md)
diff --git a/docs/src/cn/trouble_shooting.md b/docs/src/cn/trouble_shooting.md
deleted file mode 100644
index 144aeb9..0000000
--- a/docs/src/cn/trouble_shooting.md
+++ /dev/null
@@ -1 +0,0 @@
-# Trouble Shooting
diff --git a/docs/src/en/SUMMARY.md b/docs/src/en/SUMMARY.md
deleted file mode 100644
index 28e1988..0000000
--- a/docs/src/en/SUMMARY.md
+++ /dev/null
@@ -1,66 +0,0 @@
-# Summary
-
-# Introduction
-
-- [What is HoraeDB](about.md)
-- [Quick Start](quick_start.md)
-
-# User Guide
-
-- [SQL Syntax](sql/README.md)
-  - [Data Model](sql/model/README.md)
-    - [Data Types](sql/model/data_types.md)
-    - [Special Columns](sql/model/special_columns.md)
-  - [Identifier](sql/identifier.md)
-  - [Data Definition Statements](sql/ddl/README.md)
-    - [CREATE TABLE](sql/ddl/create_table.md)
-    - [ALTER TABLE](sql/ddl/alter_table.md)
-    - [DROP TABLE](sql/ddl/drop_table.md)
-  - [Data Manipulation Statements](sql/dml/README.md)
-    - [INSERT](sql/dml/insert.md)
-    - [SELECT](sql/dml/select.md)
-  - [Utility Statements](sql/utility.md)
-  - [Engine Options](sql/engine_options.md)
-  - [Scalar Functions](sql/functions/scalar_functions.md)
-  - [Aggregate Functions](sql/functions/aggregate_functions.md)
-- [Cluster Deployment](cluster_deployment/README.md)
-  - [Supported Platform](cluster_deployment/platform.md)
-  - [NoMeta Mode](cluster_deployment/no_meta.md)
-  - [WithMeta Mode](cluster_deployment/with_meta.md)
-- [SDK](sdk/README.md)
-  - [Java](sdk/java.md)
-  - [Go](sdk/go.md)
-  - [Python](sdk/python.md)
-  - [Rust](sdk/rust.md)
-- [Operation](operation/README.md)
-  - [Table](operation/table.md)
-  - [System Table](operation/system_table.md)
-  - [Block List](operation/block_list.md)
-  - [Observability](operation/observability.md)
-  - [HoraeMeta](operation/horaemeta.md)
-- [Ecosystem](ecosystem/README.md)
-  - [Prometheus](ecosystem/prometheus.md)
-  - [InfluxDB](ecosystem/influxdb.md)
-  - [OpenTSDB](ecosystem/opentsdb.md)
-
-# Dev Guide
-
-- [Supported Platform](dev/platform.md)
-- [Compile and Running](dev/compile_run.md)
-  - [Profile](dev/profiling.md)
-- [SDK Development](dev/sdk_develop.md)
-- [Conventional Commit](dev/conventional_commit.md)
-- [Style guide](dev/style_guide.md)
-- [Roadmap](dev/roadmap.md)
-
-# Technical and Design
-
-- [Architecture](design/architecture.md)
-- [Cluster](design/clustering.md)
-- [Storage](design/storage.md)
-- [WAL](design/wal.md)
-  - [WAL on RocksDB](design/wal_on_rocksdb.md)
-  - [WAL on Kafka](design/wal_on_kafka.md)
-- [Table Partitioning](design/table_partitioning.md)
-
-[//]: # "- [Query](query.md)"
diff --git a/docs/src/en/dev/README.md b/docs/src/en/dev/README.md
deleted file mode 100644
index 459110d..0000000
--- a/docs/src/en/dev/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# Development
diff --git a/docs/src/en/dev/platform.md b/docs/src/en/dev/platform.md
deleted file mode 100644
index cf58663..0000000
--- a/docs/src/en/dev/platform.md
+++ /dev/null
@@ -1,7 +0,0 @@
-|          target           |        OS         |                              
   status                                  |
-| :-----------------------: | :---------------: | 
:---------------------------------------------------------------------: |
-| x86_64-unknown-linux-gnu  |    kernel 4.9+    |                              
     ✅                                    |
-|    x86_64-apple-darwin    | 10.15+, Catalina+ |                              
     ✅                                    |
-|   aarch64-apple-darwin    |   11+, Big Sur+   |                              
     ✅                                    |
-| aarch64-unknown-linux-gnu |        TBD        | tracked on 
[#63](https://github.com/apache/incubator-horaedb/issues/63) |
-|        \*-windows         |        \*         |                              
     ❌                                    |
diff --git a/docs/src/en/ecosystem/README.md b/docs/src/en/ecosystem/README.md
deleted file mode 100644
index 1a4b388..0000000
--- a/docs/src/en/ecosystem/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Ecosystem
-
-HoraeDB has an open ecosystem that encourages collaboration and innovation, 
allowing developers to use what suits them best.
-
-Currently following systems are supported:
-
-- [Prometheus](prometheus.md)
-- [InfluxDB](influxdb.md)
-- [OpenTSDB](opentsdb.md)
diff --git a/docs/src/en/protocol.md b/docs/src/en/protocol.md
deleted file mode 100644
index fbd34d1..0000000
--- a/docs/src/en/protocol.md
+++ /dev/null
@@ -1 +0,0 @@
-# Protocol
diff --git a/docs/src/en/sdk/README.md b/docs/src/en/sdk/README.md
deleted file mode 100644
index de44d3d..0000000
--- a/docs/src/en/sdk/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# SDK
-
-- [Rust](./rust.md)
-- [Java](./java.md)
-- [Python](./python.md)
-- [Go](./go.md)
diff --git a/docs/src/en/sql/README.md b/docs/src/en/sql/README.md
deleted file mode 100644
index 4867d59..0000000
--- a/docs/src/en/sql/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# SQL Syntax
-
-This chapter introduces the SQL statements of HoraeDB.
-
-- [Data Model](model/README.md)
-  - [Data Types](model/data_types.md)
-  - [Special Columns](model/special_columns.md)
-- [Identifier](identifier.md)
-- [Data Definition Statements](ddl/README.md)
-  - [CREATE TABLE](ddl/create_table.md)
-  - [ALTER TABLE](ddl/alter_table.md)
-  - [DROP TABLE](ddl/drop_table.md)
-- [Data Manipulation Statements](dml/README.md)
-  - [INSERT](dml/insert.md)
-  - [SELECT](dml/select.md)
-- [Utility Statements](utility.md)
-- [Engine Options](engine_options.md)
-- [Scalar Functions](functions/scalar_functions.md)
-- [Aggregate Functions](functions/aggregate_functions.md)
diff --git a/docs/src/en/sql/ddl/README.md b/docs/src/en/sql/ddl/README.md
deleted file mode 100644
index 3f7a6b0..0000000
--- a/docs/src/en/sql/ddl/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Data Definition Statements
-
-This chapter introduces the data definition statements.
-
-- [Create Table](./create_table.md)
-- [Alter Table](./alter_table.md)
-- [Drop Table](./drop_table.md)
diff --git a/docs/src/en/sql/dml/README.md b/docs/src/en/sql/dml/README.md
deleted file mode 100644
index 2b4e8b5..0000000
--- a/docs/src/en/sql/dml/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Data Manipulation Statements
-
-This chapter introduces the data manipulation statements.
-
-- [Insert](./insert.md)
-- [Select](./select.md)
diff --git a/docs/src/en/sql/model/README.md b/docs/src/en/sql/model/README.md
deleted file mode 100644
index aaa29e1..0000000
--- a/docs/src/en/sql/model/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Data Model
-
-This chapter introduces the data model of HoraeDB.
-
-- [Data Types](data_types.md)
-- [Special Columns](special_columns.md)
diff --git a/docs/src/en/trouble_shooting.md b/docs/src/en/trouble_shooting.md
deleted file mode 100644
index 144aeb9..0000000
--- a/docs/src/en/trouble_shooting.md
+++ /dev/null
@@ -1 +0,0 @@
-# Trouble Shooting
diff --git a/docs/style.css b/docs/style.css
deleted file mode 100644
index 4c4f16d..0000000
--- a/docs/style.css
+++ /dev/null
@@ -1,54 +0,0 @@
-@media only screen and (max-width:1439px) {
-    .sidetoc {
-        display: none;
-    }
-}
-
-@media only screen and (min-width:1440px) {
-    main {
-        position: relative;
-    }
-    .sidetoc {
-        margin-left: auto;
-        margin-right: auto;
-        left: calc(100% + (var(--content-max-width))/4 - 140px);
-        position: absolute;
-    }
-    .pagetoc {
-        position: fixed;
-        width: 200px;
-        height: calc(100vh - var(--menu-bar-height) - 0.67em * 4);
-        overflow: auto;
-    }
-    .pagetoc a {
-        border-left: 1px solid var(--sidebar-bg);
-        color: var(--fg) !important;
-        display: block;
-        padding-bottom: 5px;
-        padding-top: 5px;
-        padding-left: 10px;
-        text-align: left;
-        text-decoration: none;
-    }
-    .pagetoc a:hover,
-    .pagetoc a.active {
-        background: var(--sidebar-bg);
-        color: var(--sidebar-fg) !important;
-    }
-    .pagetoc .active {
-        background: var(--sidebar-bg);
-        color: var(--sidebar-fg);
-    }
-}
-
-@media print {
-    .sidetoc {
-        display: none;
-    }
-}
-
-footer {
-  text-align: center;
-  padding: 3px;
-  font-size: 0.7em;
-}
diff --git a/docs/theme/index.hbs b/docs/theme/index.hbs
deleted file mode 100644
index ee82884..0000000
--- a/docs/theme/index.hbs
+++ /dev/null
@@ -1,417 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="{{ language }}" class="sidebar-visible no-js {{ default_theme }}">
-    <head>
-        <!-- Book generated using mdBook -->
-        <meta charset="UTF-8">
-        <title>{{ title }}</title>
-        {{#if is_print }}
-        <meta name="robots" content="noindex" />
-        {{/if}}
-        {{#if base_url}}
-        <base href="{{ base_url }}">
-        {{/if}}
-
-
-        <!-- Custom HTML head -->
-        {{> head}}
-
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <meta name="description" content="{{ description }}">
-        <meta name="viewport" content="width=device-width, initial-scale=1">
-        <meta name="theme-color" content="#ffffff" />
-
-        {{#if favicon_svg}}
-        <link rel="icon" href="{{ path_to_root }}favicon.svg">
-        {{/if}}
-        {{#if favicon_png}}
-        <link rel="shortcut icon" href="{{ path_to_root }}favicon.png">
-        {{/if}}
-        <link rel="stylesheet" href="{{ path_to_root }}css/variables.css">
-        <link rel="stylesheet" href="{{ path_to_root }}css/general.css">
-        <link rel="stylesheet" href="{{ path_to_root }}css/chrome.css">
-        {{#if print_enable}}
-        <link rel="stylesheet" href="{{ path_to_root }}css/print.css" 
media="print">
-        {{/if}}
-
-        <!-- Fonts -->
-        <link rel="stylesheet" href="{{ path_to_root 
}}FontAwesome/css/font-awesome.css">
-        {{#if copy_fonts}}
-        <link rel="stylesheet" href="{{ path_to_root }}fonts/fonts.css">
-        {{/if}}
-
-        <!-- Highlight.js Stylesheets -->
-        <link rel="stylesheet" href="{{ path_to_root }}highlight.css">
-        <link rel="stylesheet" href="{{ path_to_root }}tomorrow-night.css">
-        <link rel="stylesheet" href="{{ path_to_root }}ayu-highlight.css">
-
-        <!-- Custom theme stylesheets -->
-        {{#each additional_css}}
-        <link rel="stylesheet" href="{{ ../path_to_root }}{{ this }}">
-        {{/each}}
-
-        {{#if mathjax_support}}
-        <!-- MathJax -->
-        <script async 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML";></script>
-        {{/if}}
-    </head>
-    <body>
-        <!-- Provide site root to javascript -->
-        <script>
-            var path_to_root = "{{ path_to_root }}";
-            var default_theme = window.matchMedia("(prefers-color-scheme: 
dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
-        </script>
-
-        <!-- Work around some values being stored in localStorage wrapped in 
quotes -->
-        <script>
-            try {
-                var theme = localStorage.getItem('mdbook-theme');
-                var sidebar = localStorage.getItem('mdbook-sidebar');
-
-                if (theme.startsWith('"') && theme.endsWith('"')) {
-                    localStorage.setItem('mdbook-theme', theme.slice(1, 
theme.length - 1));
-                }
-
-                if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
-                    localStorage.setItem('mdbook-sidebar', sidebar.slice(1, 
sidebar.length - 1));
-                }
-            } catch (e) { }
-        </script>
-
-        <!-- Set the theme before any content is loaded, prevents flash -->
-        <script>
-            var theme;
-            try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
-            if (theme === null || theme === undefined) { theme = 
default_theme; }
-            var html = document.querySelector('html');
-            html.classList.remove('no-js')
-            html.classList.remove('{{ default_theme }}')
-            html.classList.add(theme);
-            html.classList.add('js');
-        </script>
-
-        <!-- Hide / unhide sidebar before it is displayed -->
-        <script>
-            var html = document.querySelector('html');
-            var sidebar = 'hidden';
-            if (document.body.clientWidth >= 1080) {
-                try { sidebar = localStorage.getItem('mdbook-sidebar'); } 
catch(e) { }
-                sidebar = sidebar || 'visible';
-            }
-            html.classList.remove('sidebar-visible');
-            html.classList.add("sidebar-" + sidebar);
-        </script>
-
-        <nav id="sidebar" class="sidebar" aria-label="Table of contents">
-            <div class="sidebar-scrollbox">
-                {{#toc}}{{/toc}}
-            </div>
-            <div id="sidebar-resize-handle" 
class="sidebar-resize-handle"></div>
-        </nav>
-
-        <div id="page-wrapper" class="page-wrapper">
-
-            <div class="page">
-                {{> header}}
-                <div id="menu-bar-hover-placeholder"></div>
-                <div id="menu-bar" class="menu-bar sticky bordered">
-                    <div class="left-buttons">
-                        <button id="sidebar-toggle" class="icon-button" 
type="button" title="Toggle Table of Contents" aria-label="Toggle Table of 
Contents" aria-controls="sidebar">
-                            <i class="fa fa-bars"></i>
-                        </button>
-                        <button id="theme-toggle" class="icon-button" 
type="button" title="Change theme" aria-label="Change theme" 
aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
-                            <i class="fa fa-paint-brush"></i>
-                        </button>
-                        <ul id="theme-list" class="theme-popup" 
aria-label="Themes" role="menu">
-                            <li role="none"><button role="menuitem" 
class="theme" id="light">{{ theme_option "Light" }}</button></li>
-                            <li role="none"><button role="menuitem" 
class="theme" id="rust">{{ theme_option "Rust" }}</button></li>
-                            <li role="none"><button role="menuitem" 
class="theme" id="coal">{{ theme_option "Coal" }}</button></li>
-                            <li role="none"><button role="menuitem" 
class="theme" id="navy">{{ theme_option "Navy" }}</button></li>
-                            <li role="none"><button role="menuitem" 
class="theme" id="ayu">{{ theme_option "Ayu" }}</button></li>
-                        </ul>
-                        {{#if search_enabled}}
-                        <button id="search-toggle" class="icon-button" 
type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" 
aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
-                            <i class="fa fa-search"></i>
-                        </button>
-                        {{/if}}
-                    </div>
-
-                    <h1 class="menu-title">{{ book_title }}</h1>
-
-                    <div class="right-buttons">
-
-                        <button id="lang-toggle" class="icon-button" 
type="button" title="Change language" aria-label="Change language" 
aria-haspopup="true" aria-expanded="false" aria-controls="lang-list" >
-<!--                             <i class="fa fa-globe"></i> -->
-                    <i>
-                        <svg t="1675840511805" class="icon" viewBox="0 0 1024 
1024" version="1.1" xmlns="http://www.w3.org/2000/svg"; p-id="2677" width="16" 
height="16"><path d="M511.573333 85.333333C276.053333 85.333333 85.333333 
276.48 85.333333 512s190.72 426.666667 426.24 426.666667C747.52 938.666667 
938.666667 747.52 938.666667 512S747.52 85.333333 511.573333 85.333333z m295.68 
256h-125.866666a667.733333 667.733333 0 0 0-58.88-151.893333A342.613333 
342.613333 0 0 1 807.253333 341.333 [...]
-                        <a id="lang_comment"></a>
-                    </i>
-
-                        </button>
-                        <ul id="lang-list" class="theme-popup" style="left: 
auto;" aria-label="Languages" role="menu">
-                            <li role="none"><button role="menuitem" 
class="theme" id="en">English</button></li>
-                            <li role="none"><button role="menuitem" 
class="theme" id="cn">中文</button></li>
-                        </ul>
-
-                        {{#if print_enable}}
-                        <a href="{{ path_to_root }}print.html" title="Print 
this book" aria-label="Print this book">
-                            <i id="print-button" class="fa fa-print"></i>
-                        </a>
-                        {{/if}}
-                        {{#if git_repository_url}}
-                        <a href="{{git_repository_url}}" title="Git 
repository" aria-label="Git repository">
-                            <i id="git-repository-button" class="fa 
{{git_repository_icon}}"></i>
-                        </a>
-                        {{/if}}
-                        {{#if git_repository_edit_url}}
-                        <a href="{{git_repository_edit_url}}" title="Suggest 
an edit" aria-label="Suggest an edit">
-                            <i id="git-edit-button" class="fa fa-edit"></i>
-                        </a>
-                        {{/if}}
-
-                    </div>
-                </div>
-
-                <script>
-                window.onload = function(){
-                    var path_lang = window.location.pathname.split('/')[1];
-                    document.getElementById('lang_comment').innerHTML = 
path_lang=='cn'?"Language":"语言";
-                };
-                </script>
-
-                {{#if search_enabled}}
-                <div id="search-wrapper" class="hidden">
-                    <form id="searchbar-outer" class="searchbar-outer">
-                        <input type="search" id="searchbar" name="searchbar" 
placeholder="Search this book ..." aria-controls="searchresults-outer" 
aria-describedby="searchresults-header">
-                    </form>
-                    <div id="searchresults-outer" class="searchresults-outer 
hidden">
-                        <div id="searchresults-header" 
class="searchresults-header"></div>
-                        <ul id="searchresults">
-                        </ul>
-                    </div>
-                </div>
-                {{/if}}
-
-                <!-- Apply ARIA attributes after the sidebar and the sidebar 
toggle button are added to the DOM -->
-                <script>
-                    
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar 
=== 'visible');
-                    
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 
'visible');
-                    Array.from(document.querySelectorAll('#sidebar 
a')).forEach(function(link) {
-                        link.setAttribute('tabIndex', sidebar === 'visible' ? 
0 : -1);
-                    });
-                </script>
-
-                <div id="content" class="content">
-                    <main>
-                        <!-- Page table of contents -->
-                        <div class="sidetoc"><nav class="pagetoc"></nav></div>
-
-                        {{{ content }}}
-                    </main>
-
-                    <nav class="nav-wrapper" aria-label="Page navigation">
-                        <!-- Mobile navigation buttons -->
-                        {{#previous}}
-                            <a rel="prev" href="{{ path_to_root }}{{link}}" 
class="mobile-nav-chapters previous" title="Previous chapter" 
aria-label="Previous chapter" aria-keyshortcuts="Left">
-                                <i class="fa fa-angle-left"></i>
-                            </a>
-                        {{/previous}}
-
-                        {{#next}}
-                            <a rel="next" href="{{ path_to_root }}{{link}}" 
class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" 
aria-keyshortcuts="Right">
-                                <i class="fa fa-angle-right"></i>
-                            </a>
-                        {{/next}}
-
-                        <div style="clear: both"></div>
-                    </nav>
-                </div>
-            </div>
-
-            <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                {{#previous}}
-                    <a rel="prev" href="{{ path_to_root }}{{link}}" 
class="nav-chapters previous" title="Previous chapter" aria-label="Previous 
chapter" aria-keyshortcuts="Left">
-                        <i class="fa fa-angle-left"></i>
-                    </a>
-                {{/previous}}
-
-                {{#next}}
-                    <a rel="next" href="{{ path_to_root }}{{link}}" 
class="nav-chapters next" title="Next chapter" aria-label="Next chapter" 
aria-keyshortcuts="Right">
-                        <i class="fa fa-angle-right"></i>
-                    </a>
-                {{/next}}
-            </nav>
-
-        <footer>
-          <div>
-            <p> Apache HoraeDB 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  [...]
-            <p>
-              Copyright © 2024 The Apache Software Foundation, Licensed under 
the Apache License, Version 2.0. <br/>
-              Apache HoraeDB, HoraeDB, Apache, and its feather logo, and the 
feather logo are either registered trademarks or trademarks of the Apache 
Software Foundation in the United States and/or other countries.
-            </p>
-          </div>
-        </footer>
-        </div>
-
-        {{#if live_reload_endpoint}}
-        <!-- Livereload script (if served using the cli tool) -->
-        <script>
-            const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
-            const wsAddress = wsProtocol + "//" + location.host + "/" + 
"{{{live_reload_endpoint}}}";
-            const socket = new WebSocket(wsAddress);
-            socket.onmessage = function (event) {
-                if (event.data === "reload") {
-                    socket.close();
-                    location.reload();
-                }
-            };
-
-            window.onbeforeunload = function() {
-                socket.close();
-            }
-        </script>
-        {{/if}}
-
-        {{#if google_analytics}}
-        <!-- Google Analytics Tag -->
-        <script>
-            var localAddrs = ["localhost", "127.0.0.1", ""];
-
-            // make sure we don't activate google analytics if the developer is
-            // inspecting the book locally...
-            if (localAddrs.indexOf(document.location.hostname) === -1) {
-                
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
-                
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-                
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
-
-                ga('create', '{{google_analytics}}', 'auto');
-                ga('send', 'pageview');
-            }
-        </script>
-        {{/if}}
-
-        {{#if playground_line_numbers}}
-        <script>
-            window.playground_line_numbers = true;
-        </script>
-        {{/if}}
-
-        {{#if playground_copyable}}
-        <script>
-            window.playground_copyable = true;
-        </script>
-        {{/if}}
-
-        {{#if playground_js}}
-        <script src="{{ path_to_root }}ace.js" charset="utf-8"></script>
-        <script src="{{ path_to_root }}editor.js" charset="utf-8"></script>
-        <script src="{{ path_to_root }}mode-rust.js" charset="utf-8"></script>
-        <script src="{{ path_to_root }}theme-dawn.js" charset="utf-8"></script>
-        <script src="{{ path_to_root }}theme-tomorrow_night.js" 
charset="utf-8"></script>
-        {{/if}}
-
-        {{#if search_js}}
-        <script src="{{ path_to_root }}elasticlunr.min.js" 
charset="utf-8"></script>
-        <script src="{{ path_to_root }}mark.min.js" charset="utf-8"></script>
-        <script src="{{ path_to_root }}searcher.js" charset="utf-8"></script>
-        {{/if}}
-
-        <script src="{{ path_to_root }}clipboard.min.js" 
charset="utf-8"></script>
-        <script src="{{ path_to_root }}highlight.js" charset="utf-8"></script>
-        <script src="{{ path_to_root }}book.js" charset="utf-8"></script>
-
-        <!-- Custom JS scripts -->
-        {{#each additional_js}}
-        <script src="{{ ../path_to_root }}{{this}}"></script>
-        {{/each}}
-
-        {{#if is_print}}
-        {{#if mathjax_support}}
-        <script>
-        window.addEventListener('load', function() {
-            MathJax.Hub.Register.StartupHook('End', function() {
-                window.setTimeout(window.print, 100);
-            });
-        });
-        </script>
-        {{else}}
-        <script>
-        window.addEventListener('load', function() {
-            window.setTimeout(window.print, 100);
-        });
-        </script>
-        {{/if}}
-        {{/if}}
-
-        <script type="text/javascript">
-         let langs = [
-                                'cn',
-                                'en'
-                            ];
-
-        (function langs() {
-            var html = document.querySelector('html');
-            var langToggleButton = document.getElementById('lang-toggle');
-            var langPopup = document.getElementById('lang-list');
-
-            function showLangs() {
-                langPopup.style.display = 'block';
-                langToggleButton.setAttribute('aria-expanded', true);
-            }
-
-            function hideLangs() {
-                langPopup.style.display = 'none';
-                langToggleButton.setAttribute('aria-expanded', false);
-                langToggleButton.focus();
-            }
-
-            langToggleButton.addEventListener('click', function () {
-                if (langPopup.style.display === 'block') {
-                    hideLangs();
-                } else {
-                    showLangs();
-                }
-            });
-
-            langPopup.addEventListener('click', function (e) {
-               let langs = [
-                        'cn',
-                        'en'
-                    ];
-                var lang = e.target.id || e.target.parentElement.id;
-                var path_list=[];
-                window.location.pathname.split('/').map((s, idx) => {
-                    if (idx == 1){
-                        if(!langs.includes(s)){
-                            path_list.push(lang);
-                            path_list.push(s);
-                        }else{
-                            path_list.push(lang);
-                        }
-                    }else{
-                        path_list.push(s);
-                    }
-                });
-                console.log("path:");
-                window.location.pathname = path_list.join('/');
-            });
-
-            langPopup.addEventListener('focusout', function(e) {
-                // e.relatedTarget is null in Safari and Firefox on macOS (see 
workaround below)
-                if (!!e.relatedTarget && 
!langToggleButton.contains(e.relatedTarget) && 
!langPopup.contains(e.relatedTarget)) {
-                    hideLangs();
-                }
-            });
-
-            // Should not be needed, but it works around an issue on macOS & 
iOS: https://github.com/rust-lang-nursery/mdBook/issues/628
-            document.addEventListener('click', function(e) {
-                if (langPopup.style.display === 'block' && 
!langToggleButton.contains(e.target) && !langPopup.contains(e.target)) {
-                    hideLangs();
-                }
-            });
-
-        })();
-        </script>
-
-    </body>
-</html>
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..89da8c9
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,5 @@
+module github.com/apache/horaedb-docs
+
+go 1.22
+
+require github.com/google/docsy v0.10.0 // indirect
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..78bc934
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,4 @@
+github.com/FortAwesome/Font-Awesome v0.0.0-20240402185447-c0f460dca7f7/go.mod 
h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
+github.com/google/docsy v0.10.0 h1:6tMDacPwAyRWNCfvsn/9qGOZDQ8b0aRzjRZvnZPY5dg=
+github.com/google/docsy v0.10.0/go.mod 
h1:c0nIAqmRTOuJ01F85U/wJPQtc3Zj9N58Kea9bOT2AJc=
+github.com/twbs/bootstrap v5.3.3+incompatible/go.mod 
h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
diff --git a/hugo.toml b/hugo.toml
new file mode 100644
index 0000000..a05d0c8
--- /dev/null
+++ b/hugo.toml
@@ -0,0 +1,87 @@
+baseURL = 'https://horaedb.apache.org/'
+languageCode = 'en-us'
+title = 'Apache HoraeDB'
+contentDir = "content/en"
+defaultContentLanguage = "en"
+defaultContentLanguageInSubdir = false
+enableMissingTranslationPlaceholders = true
+
+enableRobotsTXT = true
+
+# Will give values to .Lastmod etc.
+enableGitInfo = true
+
+[languages]
+[languages.en]
+languageName ="English"
+# Weight used for sorting.
+weight = 1
+[languages.en.params]
+description = "A high-performance, distributed, cloud native time-series 
database."
+
+[languages.cn]
+languageName ="中文"
+contentDir = "content/cn"
+[languages.cn.params]
+description = "一款高性能、分布式的云原生时序数据库"
+
+[markup]
+  [markup.goldmark]
+    [markup.goldmark.renderer]
+      unsafe = true
+    [markup.goldmark.parser.attribute]
+      block = true
+  [markup.highlight]
+    noClasses = false
+    style = "tango"
+
+[module]
+proxy = "https://goproxy.cn,direct";
+[[module.imports]]
+path = "github.com/google/docsy"
+
+[params]
+github_repo = "https://github.com/apache/horaedb-docs";
+github_project_repo = "https://github.com/apache/horaedb";
+offlineSearch = true
+
+[params.links]
+[[params.links.user]]
+       name = "GitHub Discussions"
+       url = "https://github.com/apache/horaedb/discussions";
+       icon = "fab fa-github"
+    desc = "Discussion and help from your fellow users"
+[[params.links.user]]
+       name = "Weixin Official Accounts"
+       url = "/images/weixin-mp.jpg"
+       icon = "fa-brands fa-weixin"
+    desc = "Follow us on Weixin Official Accounts(微信公众平台) to get the latest 
news!"
+# Developer relevant links. These will show up on right side of footer and in 
the community page if you have one.
+[[params.links.developer]]
+       name = "GitHub"
+       url = "https://github.com/apache/horaedb";
+       icon = "fab fa-github"
+    desc = "Development takes place here!"
+[[params.links.developer]]
+       name = "DingTalk"
+       url = "/images/dingtalk.jpg"
+       icon = "fa-regular fa-comments"
+    desc = "Chat with other project developers on DingTalk"
+[[params.links.developer]]
+       name = "Developer mailing list"
+       url = "mailto:dev-subscr...@horaedb.apache.org";
+       icon = "fa fa-envelope"
+    desc = "Discuss development issues around the project"
+
+[params.copyright]
+  authors = """The Apache Software Foundation, Licensed under the Apache 
License, Version 2.0.
+
+Apache, the names of Apache projects, and the feather logo are either 
registered trademarks or trademarks of the Apache Software Foundation in the 
United States and/or other countries."""
+  from_year = 2023
+
+[params.ui]
+navbar_logo = false
+sidebar_menu_compact = true
+ul_show = 1
+sidebar_menu_foldable = true
+showLightDarkModeMenu = true
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
new file mode 100644
index 0000000..992d6ff
--- /dev/null
+++ b/layouts/partials/footer.html
@@ -0,0 +1,11 @@
+<footer class="td-footer row d-print-none">
+  <div class="container-fluid">
+    <div class="row mx-md-2">
+      <div class="td-footer__center">
+        Apache HoraeDB 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 the [...]
+
+        {{ partial "footer/center.html"  . }}
+      </div>
+    </div>
+  </div>
+</footer>
diff --git a/docs/src/resources/config-horaedb-cluster0.toml 
b/static/config-horaedb-cluster0.toml
similarity index 100%
rename from docs/src/resources/config-horaedb-cluster0.toml
rename to static/config-horaedb-cluster0.toml
diff --git a/docs/src/resources/config-horaedb-cluster1.toml 
b/static/config-horaedb-cluster1.toml
similarity index 100%
rename from docs/src/resources/config-horaedb-cluster1.toml
rename to static/config-horaedb-cluster1.toml
diff --git a/docs/src/resources/config-horaemeta-cluster0.toml 
b/static/config-horaemeta-cluster0.toml
similarity index 100%
rename from docs/src/resources/config-horaemeta-cluster0.toml
rename to static/config-horaemeta-cluster0.toml
diff --git a/docs/src/resources/config-horaemeta-cluster1.toml 
b/static/config-horaemeta-cluster1.toml
similarity index 100%
rename from docs/src/resources/config-horaemeta-cluster1.toml
rename to static/config-horaemeta-cluster1.toml
diff --git a/docs/src/resources/config-horaemeta-cluster2.toml 
b/static/config-horaemeta-cluster2.toml
similarity index 100%
rename from docs/src/resources/config-horaemeta-cluster2.toml
rename to static/config-horaemeta-cluster2.toml
diff --git a/docs/src/resources/config-horaemeta-standalone.toml 
b/static/config-horaemeta-standalone.toml
similarity index 100%
rename from docs/src/resources/config-horaemeta-standalone.toml
rename to static/config-horaemeta-standalone.toml
diff --git a/docs/src/resources/config_kafka_oss.toml 
b/static/config_kafka_oss.toml
similarity index 100%
rename from docs/src/resources/config_kafka_oss.toml
rename to static/config_kafka_oss.toml
diff --git a/docs/src/resources/config_local_oss.toml 
b/static/config_local_oss.toml
similarity index 100%
rename from docs/src/resources/config_local_oss.toml
rename to static/config_local_oss.toml
diff --git a/docs/src/resources/config_obkv_oss.toml 
b/static/config_obkv_oss.toml
similarity index 100%
rename from docs/src/resources/config_obkv_oss.toml
rename to static/config_obkv_oss.toml
diff --git a/docs/src/resources/grafana-dashboard.json 
b/static/grafana-dashboard.json
similarity index 100%
rename from docs/src/resources/grafana-dashboard.json
rename to static/grafana-dashboard.json
diff --git a/static/dingtalk.jpg b/static/images/dingtalk.jpg
similarity index 100%
rename from static/dingtalk.jpg
rename to static/images/dingtalk.jpg
diff --git a/docs/src/resources/images/grafana-dashboard.png 
b/static/images/grafana-dashboard.png
similarity index 100%
rename from docs/src/resources/images/grafana-dashboard.png
rename to static/images/grafana-dashboard.png
diff --git a/docs/src/resources/images/grafana-datasource.png 
b/static/images/grafana-datasource.png
similarity index 100%
rename from docs/src/resources/images/grafana-datasource.png
rename to static/images/grafana-datasource.png
diff --git a/docs/src/resources/images/grafana-horaedb-dashboard.png 
b/static/images/grafana-horaedb-dashboard.png
similarity index 100%
rename from docs/src/resources/images/grafana-horaedb-dashboard.png
rename to static/images/grafana-horaedb-dashboard.png
diff --git a/static/images/horaedb-banner-white-small.jpg 
b/static/images/horaedb-banner-white-small.jpg
new file mode 100644
index 0000000..ee317db
Binary files /dev/null and b/static/images/horaedb-banner-white-small.jpg differ
diff --git a/docs/src/resources/images/storage-overview.svg 
b/static/images/storage-overview.svg
similarity index 100%
rename from docs/src/resources/images/storage-overview.svg
rename to static/images/storage-overview.svg
diff --git a/static/images/weixin-mp.jpg b/static/images/weixin-mp.jpg
new file mode 100644
index 0000000..c14dc03
Binary files /dev/null and b/static/images/weixin-mp.jpg differ


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@horaedb.apache.org
For additional commands, e-mail: commits-h...@horaedb.apache.org

Reply via email to