You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@answer.apache.org by gi...@apache.org on 2025/02/26 14:33:10 UTC
(answer-website) branch dist-pages updated: deploy: 2211d22e130704f9631ee31df8aa841b48e79e37
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch dist-pages
in repository https://gitbox.apache.org/repos/asf/answer-website.git
The following commit(s) were added to refs/heads/dist-pages by this push:
new 41a91ff5a deploy: 2211d22e130704f9631ee31df8aa841b48e79e37
41a91ff5a is described below
commit 41a91ff5a8a967391658adaa5f6be598c808cdc3
Author: LinkinStars <Li...@users.noreply.github.com>
AuthorDate: Wed Feb 26 14:33:04 2025 +0000
deploy: 2211d22e130704f9631ee31df8aa841b48e79e37
---
404.html | 6 +++---
assets/js/0480b142.5b373657.js | 1 +
assets/js/0480b142.d933739d.js | 1 -
assets/js/066ff229.8d440422.js | 1 +
assets/js/066ff229.ea1aeea6.js | 1 -
assets/js/1a8837ce.3e435adb.js | 1 +
assets/js/1a8837ce.ed18db69.js | 1 -
assets/js/{1df93b7f.ba05fb25.js => 1df93b7f.f02d5bc8.js} | 2 +-
assets/js/221cde73.08d35e0d.js | 1 -
assets/js/221cde73.6382e88a.js | 1 +
assets/js/2a510483.7f3eaf07.js | 1 +
assets/js/2a510483.e430983d.js | 1 -
assets/js/2b5fbffd.3a892a53.js | 1 -
assets/js/2b5fbffd.5d243485.js | 1 +
assets/js/{306a8c6c.c5fa5708.js => 306a8c6c.6e01c9ff.js} | 2 +-
assets/js/415707e9.6a3f9533.js | 1 +
assets/js/415707e9.eef693a6.js | 1 -
assets/js/42b561b4.377a8f5c.js | 1 +
assets/js/42b561b4.390db2e9.js | 1 -
assets/js/51168d66.3705376c.js | 1 +
assets/js/51168d66.7288de49.js | 1 -
assets/js/54f44165.8e6dfb2d.js | 1 -
assets/js/54f44165.d5899d50.js | 1 +
assets/js/5771c448.3b95607a.js | 1 -
assets/js/5771c448.d6ebc01c.js | 1 +
assets/js/59e77115.5a038214.js | 1 +
assets/js/59e77115.df378bc3.js | 1 -
assets/js/5ac42693.85b3c146.js | 1 +
assets/js/5ac42693.f8251234.js | 1 -
assets/js/5b5f4945.2533058a.js | 1 +
assets/js/5b5f4945.e5b89c92.js | 1 -
assets/js/68eaa3f5.75035b3e.js | 1 +
assets/js/68eaa3f5.db543d77.js | 1 -
assets/js/6f494215.1d753119.js | 1 -
assets/js/6f494215.b243ff69.js | 1 +
assets/js/6fd9b8bb.e74484fb.js | 1 -
assets/js/6fd9b8bb.ef9762f9.js | 1 +
assets/js/72a4391e.5f8eff89.js | 1 -
assets/js/72a4391e.cc2e5846.js | 1 +
assets/js/80d61403.9e6bee49.js | 1 -
assets/js/80d61403.d744dedd.js | 1 +
assets/js/872d4ab4.7090cb6e.js | 1 -
assets/js/872d4ab4.7c4c1bca.js | 1 +
assets/js/8a3109ec.824f276d.js | 1 -
assets/js/8a3109ec.caa11abe.js | 1 +
assets/js/977e6cb2.6b1c4dde.js | 1 -
assets/js/977e6cb2.d45da7ff.js | 1 +
assets/js/a09c2993.513a5969.js | 1 +
assets/js/a09c2993.c6f2adef.js | 1 -
assets/js/a5eff934.b5628f4c.js | 1 -
assets/js/a5eff934.c598d37d.js | 1 +
assets/js/a98c1148.01aa610b.js | 1 +
assets/js/a98c1148.4166616a.js | 1 -
assets/js/b2b494f3.0becfe6b.js | 1 +
assets/js/b2b494f3.ab7793e7.js | 1 -
assets/js/c1cb8fca.4981f326.js | 1 +
assets/js/c1cb8fca.b84ecb50.js | 1 -
assets/js/d7ef3cd8.0f8c9f38.js | 1 +
assets/js/d7ef3cd8.b0ad9e71.js | 1 -
assets/js/da6654f2.a24f374a.js | 1 -
assets/js/da6654f2.e90af356.js | 1 +
assets/js/dc8b965f.059ec11e.js | 1 +
assets/js/dc8b965f.0ad95204.js | 1 -
assets/js/e438ab2a.08f46e00.js | 1 -
assets/js/e438ab2a.582ceb9e.js | 1 +
assets/js/eafd45de.01389b5a.js | 1 +
assets/js/eafd45de.5c5d0220.js | 1 -
assets/js/f493f8eb.0e73cde5.js | 1 -
assets/js/f493f8eb.589a839c.js | 1 +
assets/js/f8a2828b.28f2e844.js | 1 -
assets/js/f8a2828b.99a65568.js | 1 +
assets/js/fd15fd1f.5c40f836.js | 1 -
assets/js/fd15fd1f.8a3b4509.js | 1 +
assets/js/{main.73a5ceea.js => main.6be7711a.js} | 4 ++--
....73a5ceea.js.LICENSE.txt => main.6be7711a.js.LICENSE.txt} | 0
.../{runtime~main.73bbd2d1.js => runtime~main.d76a4d8a.js} | 2 +-
.../index.html | 6 +++---
blog/answer-1.0.9-release/index.html | 6 +++---
blog/answer-1.1.0-release/index.html | 6 +++---
blog/answer-1.2.1-ask-better-find-better/index.html | 6 +++---
blog/answer-1.2.5-is-ready/index.html | 6 +++---
blog/answer-1.3.5-release/index.html | 6 +++---
blog/answer-1.3.6-release/index.html | 6 +++---
blog/answer-1.4.0-release/index.html | 6 +++---
blog/answer-enters-apache-incubator/index.html | 6 +++---
blog/answer-ospp-2024/index.html | 6 +++---
blog/answer-recap-august/index.html | 6 +++---
blog/answer-recap-july/index.html | 6 +++---
blog/answer-recap-june/index.html | 6 +++---
blog/answer-recap-october/index.html | 6 +++---
blog/answer-recap-sept/index.html | 6 +++---
blog/answer-turns-one-and-is-now-apache-answer/index.html | 6 +++---
blog/apache-answer-1.4.1-release/index.html | 6 +++---
blog/apache-answer-1.4.2-release/index.html | 6 +++---
blog/apache-answer-backend-configuration-guide/index.html | 6 +++---
.../index.html | 6 +++---
blog/apache-answer-coc-asia-2024/index.html | 6 +++---
blog/apache-answer-frontend-configuration-guide/index.html | 6 +++---
.../index.html | 6 +++---
blog/archive/index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
blog/category/best-practice/index.html | 6 +++---
blog/category/community/index.html | 6 +++---
blog/category/community/page/2/index.html | 6 +++---
blog/category/insights/index.html | 6 +++---
blog/category/newsletter/index.html | 6 +++---
blog/category/release/index.html | 6 +++---
blog/category/tech/index.html | 6 +++---
blog/category/tutorials/index.html | 6 +++---
.../index.html | 6 +++---
blog/deploy-answer-https/index.html | 6 +++---
blog/everything-you-need-to-know-about-answer/index.html | 6 +++---
.../index.html | 6 +++---
blog/first-contribution-come-to-answer/index.html | 6 +++---
blog/guide-to-add-answer-plugins/index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
blog/how-to-improve-knowledge-sharing-with-answer/index.html | 6 +++---
.../index.html | 6 +++---
blog/how-to-package-and-deploy-answer-plugins/index.html | 6 +++---
blog/how-to-search-like-a-pro-in-answer/index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
blog/index.html | 6 +++---
blog/install-and-run-apache-answer-on-ubuntu-vps/index.html | 6 +++---
.../index.html | 6 +++---
blog/meet-our-release-manager-linkinstars/index.html | 6 +++---
.../index.html | 6 +++---
blog/page/2/index.html | 6 +++---
blog/page/3/index.html | 6 +++---
blog/page/4/index.html | 6 +++---
blog/project-ideas-for-google-summer-of-code-2024/index.html | 6 +++---
.../index.html | 6 +++---
blog/tags/index.html | 6 +++---
blog/tags/tutorials/index.html | 6 +++---
blog/the-what-why-using-tags-for-online-community/index.html | 6 +++---
blog/what-is-new-in-apache-answer-1.3.0/index.html | 6 +++---
blog/what-is-q-and-a-platform-and-how-to-use-it/index.html | 6 +++---
blog/why-open-source-is-the-essence-of-answer/index.html | 6 +++---
.../index.html | 6 +++---
community/blog-post/index.html | 8 ++++----
community/contributing/index.html | 8 ++++----
community/how-to-release/index.html | 8 ++++----
community/issues/index.html | 8 ++++----
community/pull-request/index.html | 8 ++++----
community/security-model/index.html | 9 +++++----
community/security/index.html | 12 ++++++------
community/support/index.html | 8 ++++----
community/team/index.html | 10 +++++-----
community/translation/index.html | 8 ++++----
data/stars.json | 2 +-
data/team.json | 7 ++++++-
docs/api/index.html | 8 ++++----
docs/command-line/index.html | 8 ++++----
docs/configfile/index.html | 8 ++++----
docs/database/index.html | 8 ++++----
docs/deploy-subdirectory/index.html | 8 ++++----
docs/development/index.html | 8 ++++----
docs/development/plugins/index.html | 8 ++++----
docs/development/plugins/plugin-config/index.html | 8 ++++----
docs/development/plugins/plugin-translation/index.html | 8 ++++----
docs/env/index.html | 8 ++++----
docs/faq/index.html | 8 ++++----
docs/flags/index.html | 8 ++++----
docs/index.html | 8 ++++----
docs/installation/index.html | 8 ++++----
docs/moderation/index.html | 8 ++++----
docs/notice/index.html | 8 ++++----
docs/permission/index.html | 8 ++++----
docs/plugins/index.html | 8 ++++----
docs/questions/index.html | 8 ++++----
docs/reputation/index.html | 8 ++++----
docs/review/index.html | 8 ++++----
docs/settings/index.html | 8 ++++----
docs/tags/index.html | 8 ++++----
docs/upgrade/index.html | 8 ++++----
docs/users/index.html | 8 ++++----
download/index.html | 6 +++---
index.html | 6 +++---
latest/index.html | 6 +++---
plugins/index.html | 6 +++---
search/index.html | 6 +++---
zh-CN/404.html | 6 +++---
zh-CN/assets/js/0bbd7524.005816bd.js | 1 +
zh-CN/assets/js/0bbd7524.aaf3cca1.js | 1 -
.../assets/js/{1df93b7f.ba05fb25.js => 1df93b7f.f02d5bc8.js} | 2 +-
zh-CN/assets/js/26cbfb40.1b0b2442.js | 1 -
zh-CN/assets/js/26cbfb40.8c6a6a71.js | 1 +
zh-CN/assets/js/283536cd.6da5ae1b.js | 1 -
zh-CN/assets/js/283536cd.98679a37.js | 1 +
zh-CN/assets/js/2858569c.2c555bee.js | 1 +
zh-CN/assets/js/2858569c.3583c6d6.js | 1 -
zh-CN/assets/js/3481afe6.5b66f716.js | 1 -
zh-CN/assets/js/3481afe6.6fa51e62.js | 1 +
zh-CN/assets/js/3771a1a2.32860224.js | 1 +
zh-CN/assets/js/3771a1a2.45143f16.js | 1 -
zh-CN/assets/js/396d62b5.08ddcf40.js | 1 +
zh-CN/assets/js/396d62b5.f1b18a1d.js | 1 -
zh-CN/assets/js/3b505fec.5c319922.js | 1 -
zh-CN/assets/js/3b505fec.f503ed7a.js | 1 +
zh-CN/assets/js/4380d3e8.5b6805d1.js | 1 -
zh-CN/assets/js/4380d3e8.fc02bced.js | 1 +
zh-CN/assets/js/4958df33.2ec9ddb2.js | 1 +
zh-CN/assets/js/4958df33.c104ed31.js | 1 -
zh-CN/assets/js/5044ae4e.62b7558a.js | 1 +
zh-CN/assets/js/5044ae4e.77ec59d7.js | 1 -
zh-CN/assets/js/536930c8.1b1caab7.js | 1 +
zh-CN/assets/js/536930c8.9341154b.js | 1 -
zh-CN/assets/js/565f0463.4f63e072.js | 1 -
zh-CN/assets/js/565f0463.ad90d868.js | 1 +
zh-CN/assets/js/5b5253e0.361f1112.js | 1 +
zh-CN/assets/js/5b5253e0.46fb1c90.js | 1 -
zh-CN/assets/js/5fb2369c.56ef005d.js | 1 +
zh-CN/assets/js/5fb2369c.915251cc.js | 1 -
zh-CN/assets/js/675aed1f.579cb63e.js | 1 +
zh-CN/assets/js/675aed1f.64d9f39a.js | 1 -
zh-CN/assets/js/6b66dba1.9fe5ac95.js | 1 -
zh-CN/assets/js/6b66dba1.fd538b1c.js | 1 +
zh-CN/assets/js/6cb497c1.b1203d35.js | 1 +
zh-CN/assets/js/6cb497c1.fd5acc8a.js | 1 -
zh-CN/assets/js/719ef308.12259dc9.js | 1 -
zh-CN/assets/js/719ef308.71bc574a.js | 1 +
zh-CN/assets/js/725f0d2b.04adead8.js | 1 +
zh-CN/assets/js/725f0d2b.3d8cf1cc.js | 1 -
zh-CN/assets/js/731fb1ee.6e7c3f13.js | 1 +
zh-CN/assets/js/731fb1ee.96c9b9ad.js | 1 -
zh-CN/assets/js/7a80358d.4c56a29f.js | 1 +
zh-CN/assets/js/7a80358d.a3d63de2.js | 1 -
zh-CN/assets/js/7f220a89.7e8e36ab.js | 1 +
zh-CN/assets/js/7f220a89.92a4917b.js | 1 -
zh-CN/assets/js/80d61403.17c25d0d.js | 1 +
zh-CN/assets/js/80d61403.d201caa1.js | 1 -
zh-CN/assets/js/82264c80.759e5e00.js | 1 +
zh-CN/assets/js/82264c80.af960c51.js | 1 -
zh-CN/assets/js/86783167.7689822a.js | 1 +
zh-CN/assets/js/86783167.dfa323a4.js | 1 -
zh-CN/assets/js/8692be7e.a153bf07.js | 1 -
zh-CN/assets/js/8692be7e.a1769438.js | 1 +
zh-CN/assets/js/883c2984.7e4ee984.js | 1 +
zh-CN/assets/js/883c2984.dbc2d68d.js | 1 -
zh-CN/assets/js/89df2f43.c8e7acb4.js | 1 +
zh-CN/assets/js/89df2f43.de940a27.js | 1 -
zh-CN/assets/js/8bfad952.7c2b78c6.js | 1 +
zh-CN/assets/js/8bfad952.e5cd38ae.js | 1 -
zh-CN/assets/js/a5b0ceb9.35be1d1c.js | 1 +
zh-CN/assets/js/a5b0ceb9.850c8e7f.js | 1 -
zh-CN/assets/js/ae0ce2bf.f6a6893a.js | 1 -
zh-CN/assets/js/ae0ce2bf.fbf5912f.js | 1 +
zh-CN/assets/js/c8c000df.45ac2b9b.js | 1 +
zh-CN/assets/js/c8c000df.ba9cf0cf.js | 1 -
zh-CN/assets/js/ca3ced4f.6c3a92ad.js | 1 -
zh-CN/assets/js/ca3ced4f.9aec1689.js | 1 +
zh-CN/assets/js/cb37bc33.14d47dd8.js | 1 +
zh-CN/assets/js/cb37bc33.5b17c8fe.js | 1 -
zh-CN/assets/js/{main.421555dd.js => main.313926be.js} | 4 ++--
....421555dd.js.LICENSE.txt => main.313926be.js.LICENSE.txt} | 0
.../{runtime~main.41541fa1.js => runtime~main.1fbbecb4.js} | 2 +-
.../index.html | 6 +++---
zh-CN/blog/answer-1.0.9-release/index.html | 6 +++---
zh-CN/blog/answer-1.1.0-release/index.html | 6 +++---
zh-CN/blog/answer-1.2.1-ask-better-find-better/index.html | 6 +++---
zh-CN/blog/answer-1.2.5-is-ready/index.html | 6 +++---
zh-CN/blog/answer-1.3.5-release/index.html | 6 +++---
zh-CN/blog/answer-1.3.6-release/index.html | 6 +++---
zh-CN/blog/answer-1.4.0-release/index.html | 6 +++---
zh-CN/blog/answer-enters-apache-incubator/index.html | 6 +++---
zh-CN/blog/answer-ospp-2024/index.html | 6 +++---
zh-CN/blog/answer-recap-august/index.html | 6 +++---
zh-CN/blog/answer-recap-july/index.html | 6 +++---
zh-CN/blog/answer-recap-june/index.html | 6 +++---
zh-CN/blog/answer-recap-october/index.html | 6 +++---
zh-CN/blog/answer-recap-sept/index.html | 6 +++---
.../answer-turns-one-and-is-now-apache-answer/index.html | 6 +++---
zh-CN/blog/apache-answer-1.4.1-release/index.html | 6 +++---
zh-CN/blog/apache-answer-1.4.2-release/index.html | 6 +++---
.../apache-answer-backend-configuration-guide/index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/blog/apache-answer-coc-asia-2024/index.html | 6 +++---
.../apache-answer-frontend-configuration-guide/index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/blog/archive/index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/blog/category/best-practice/index.html | 6 +++---
zh-CN/blog/category/community/index.html | 6 +++---
zh-CN/blog/category/community/page/2/index.html | 6 +++---
zh-CN/blog/category/insights/index.html | 6 +++---
zh-CN/blog/category/newsletter/index.html | 6 +++---
zh-CN/blog/category/release/index.html | 6 +++---
zh-CN/blog/category/tech/index.html | 6 +++---
zh-CN/blog/category/tutorials/index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/blog/deploy-answer-https/index.html | 6 +++---
.../blog/everything-you-need-to-know-about-answer/index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/blog/first-contribution-come-to-answer/index.html | 6 +++---
zh-CN/blog/guide-to-add-answer-plugins/index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
.../how-to-improve-knowledge-sharing-with-answer/index.html | 6 +++---
.../index.html | 6 +++---
.../blog/how-to-package-and-deploy-answer-plugins/index.html | 6 +++---
zh-CN/blog/how-to-search-like-a-pro-in-answer/index.html | 6 +++---
.../index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/blog/index.html | 6 +++---
.../install-and-run-apache-answer-on-ubuntu-vps/index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/blog/meet-our-release-manager-linkinstars/index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/blog/page/2/index.html | 6 +++---
zh-CN/blog/page/3/index.html | 6 +++---
zh-CN/blog/page/4/index.html | 6 +++---
.../project-ideas-for-google-summer-of-code-2024/index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/blog/tags/index.html | 6 +++---
zh-CN/blog/tags/tutorials/index.html | 6 +++---
.../the-what-why-using-tags-for-online-community/index.html | 6 +++---
zh-CN/blog/what-is-new-in-apache-answer-1.3.0/index.html | 6 +++---
.../what-is-q-and-a-platform-and-how-to-use-it/index.html | 6 +++---
.../blog/why-open-source-is-the-essence-of-answer/index.html | 6 +++---
.../index.html | 6 +++---
zh-CN/community/blog-post/index.html | 8 ++++----
zh-CN/community/contributing/index.html | 8 ++++----
zh-CN/community/how-to-release/index.html | 8 ++++----
zh-CN/community/issues/index.html | 8 ++++----
zh-CN/community/pull-request/index.html | 8 ++++----
zh-CN/community/security-model/index.html | 9 +++++----
zh-CN/community/security/index.html | 8 ++++----
zh-CN/community/support/index.html | 8 ++++----
zh-CN/community/team/index.html | 10 +++++-----
zh-CN/community/translation/index.html | 8 ++++----
zh-CN/data/stars.json | 2 +-
zh-CN/data/team.json | 7 ++++++-
zh-CN/docs/api/index.html | 8 ++++----
zh-CN/docs/command-line/index.html | 8 ++++----
zh-CN/docs/configfile/index.html | 8 ++++----
zh-CN/docs/contributing/notice/index.html | 8 ++++----
zh-CN/docs/database/index.html | 8 ++++----
zh-CN/docs/deploy-subdirectory/index.html | 8 ++++----
zh-CN/docs/development/index.html | 8 ++++----
zh-CN/docs/development/plugins/index.html | 8 ++++----
zh-CN/docs/development/plugins/plugin-config/index.html | 8 ++++----
zh-CN/docs/development/plugins/plugin-translation/index.html | 8 ++++----
zh-CN/docs/env/index.html | 8 ++++----
zh-CN/docs/faq/index.html | 8 ++++----
zh-CN/docs/flags/index.html | 8 ++++----
zh-CN/docs/index.html | 8 ++++----
zh-CN/docs/installation/index.html | 8 ++++----
zh-CN/docs/moderation/index.html | 8 ++++----
zh-CN/docs/permission/index.html | 8 ++++----
zh-CN/docs/plugins/index.html | 8 ++++----
zh-CN/docs/questions/index.html | 8 ++++----
zh-CN/docs/reputation/index.html | 8 ++++----
zh-CN/docs/review/index.html | 8 ++++----
zh-CN/docs/settings/index.html | 8 ++++----
zh-CN/docs/tags/index.html | 8 ++++----
zh-CN/docs/upgrade/index.html | 8 ++++----
zh-CN/docs/users/index.html | 8 ++++----
zh-CN/download/index.html | 6 +++---
zh-CN/index.html | 6 +++---
zh-CN/latest/index.html | 6 +++---
zh-CN/plugins/index.html | 6 +++---
zh-CN/search/index.html | 6 +++---
369 files changed, 817 insertions(+), 805 deletions(-)
diff --git a/404.html b/404.html
index fa3a0fb71..180736e62 100644
--- a/404.html
+++ b/404.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/assets/js/0480b142.5b373657.js b/assets/js/0480b142.5b373657.js
new file mode 100644
index 000000000..73c8803ff
--- /dev/null
+++ b/assets/js/0480b142.5b373657.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[836],{35730:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var a=n(43010),s=n(90887);const i={slug:"/faq"},o="FAQ",r={id:"faq",title:"FAQ",description:"How do I access the installation page?",source:"@site/docs/faq.md",sourceDirName:".",slug:"/faq",permalink:"/docs/faq",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/answer-website/edit/mai [...]
\ No newline at end of file
diff --git a/assets/js/0480b142.d933739d.js b/assets/js/0480b142.d933739d.js
deleted file mode 100644
index 734c4c84b..000000000
--- a/assets/js/0480b142.d933739d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[836],{35730:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var a=n(43010),s=n(90887);const i={slug:"/faq"},o="FAQ",r={id:"faq",title:"FAQ",description:"How do I access the installation page?",source:"@site/docs/faq.md",sourceDirName:".",slug:"/faq",permalink:"/docs/faq",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/answer-website/edit/mai [...]
\ No newline at end of file
diff --git a/assets/js/066ff229.8d440422.js b/assets/js/066ff229.8d440422.js
new file mode 100644
index 000000000..053282702
--- /dev/null
+++ b/assets/js/066ff229.8d440422.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7829],{58004:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var o=t(43010),r=t(90887);const l={slug:"/development"},s="Development Guide",i={id:"development/guide",title:"Development Guide",description:"This guide will help you get started with the development of the project.",source:"@site/docs/development/guide.md",sourceDirName:"development",slu [...]
\ No newline at end of file
diff --git a/assets/js/066ff229.ea1aeea6.js b/assets/js/066ff229.ea1aeea6.js
deleted file mode 100644
index 63aafb868..000000000
--- a/assets/js/066ff229.ea1aeea6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7829],{58004:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var o=t(43010),r=t(90887);const l={slug:"/development"},s="Development Guide",i={id:"development/guide",title:"Development Guide",description:"This guide will help you get started with the development of the project.",source:"@site/docs/development/guide.md",sourceDirName:"development",slu [...]
\ No newline at end of file
diff --git a/assets/js/1a8837ce.3e435adb.js b/assets/js/1a8837ce.3e435adb.js
new file mode 100644
index 000000000..2c11b89b6
--- /dev/null
+++ b/assets/js/1a8837ce.3e435adb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{80630:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=i(43010),s=i(90887);const r={slug:"/contributing"},o="Contributing",l={id:"contributing/contributing",title:"Contributing",description:"Thanks for your interest in contributing to Apache Answer, hopefully, this document makes the process for contributing clear.",source:"@site/communi [...]
\ No newline at end of file
diff --git a/assets/js/1a8837ce.ed18db69.js b/assets/js/1a8837ce.ed18db69.js
deleted file mode 100644
index beba0b1f2..000000000
--- a/assets/js/1a8837ce.ed18db69.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{80630:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=i(43010),s=i(90887);const r={slug:"/contributing"},o="Contributing",l={id:"contributing/contributing",title:"Contributing",description:"Thanks for your interest in contributing to Apache Answer, hopefully, this document makes the process for contributing clear.",source:"@site/communi [...]
\ No newline at end of file
diff --git a/assets/js/1df93b7f.ba05fb25.js b/assets/js/1df93b7f.f02d5bc8.js
similarity index 99%
rename from assets/js/1df93b7f.ba05fb25.js
rename to assets/js/1df93b7f.f02d5bc8.js
index 243b5c2b3..17cd425e2 100644
--- a/assets/js/1df93b7f.ba05fb25.js
+++ b/assets/js/1df93b7f.f02d5bc8.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3237],{34246:(A,e,s)=>{s.d(e,{Z:()=>o});s(85170);var g=s(45924),t=s(43010);const o=A=>{let{type:e="br",name:s,className:o,size:n,onClick:i,title:a=""}=A;return(0,t.jsx)("i",{className:(0,g.Z)(e,`bi-${s}`,o),style:{...n&&{fontSize:n}},onClick:i,onKeyDown:i,title:a})}},70728:(A,e,s)=>{s.r(e),s.d(e,{default:()=>K});var g=s(85170),t=s(28864),o=s(69327),n=s(52467),i=s(8010),a=s(45924),c=s(33537),r=s(34246),C=s(39377);co [...]
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3237],{34246:(A,e,s)=>{s.d(e,{Z:()=>o});s(85170);var g=s(45924),t=s(43010);const o=A=>{let{type:e="br",name:s,className:o,size:n,onClick:i,title:a=""}=A;return(0,t.jsx)("i",{className:(0,g.Z)(e,`bi-${s}`,o),style:{...n&&{fontSize:n}},onClick:i,onKeyDown:i,title:a})}},70728:(A,e,s)=>{s.r(e),s.d(e,{default:()=>K});var g=s(85170),t=s(28864),o=s(69327),n=s(52467),i=s(8010),a=s(45924),c=s(33537),r=s(34246),C=s(39377);co [...]
\ No newline at end of file
diff --git a/assets/js/221cde73.08d35e0d.js b/assets/js/221cde73.08d35e0d.js
deleted file mode 100644
index 9a164a6c8..000000000
--- a/assets/js/221cde73.08d35e0d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7187],{94175:(a,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>m});var c=o(43010),e=o(90887);const i=JSON.parse('[{"rC":[{"name":"chrisdutz","avatar":"https://avatars.githubusercontent.com/u/651105","github":"https://github.com/chrisdutz","role":"Mentor"},{"name":"fenbox","avatar":"https://avatars.githubusercontent.com/u/360618","github":"https://github.c [...]
\ No newline at end of file
diff --git a/assets/js/221cde73.6382e88a.js b/assets/js/221cde73.6382e88a.js
new file mode 100644
index 000000000..888228a50
--- /dev/null
+++ b/assets/js/221cde73.6382e88a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7187],{94175:(a,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>m});var c=o(43010),e=o(90887);const i=JSON.parse('[{"rC":[{"name":"chrisdutz","avatar":"https://avatars.githubusercontent.com/u/651105","github":"https://github.com/chrisdutz","role":"Mentor"},{"name":"fenbox","avatar":"https://avatars.githubusercontent.com/u/360618","github":"https://github.c [...]
\ No newline at end of file
diff --git a/assets/js/2a510483.7f3eaf07.js b/assets/js/2a510483.7f3eaf07.js
new file mode 100644
index 000000000..1240170f6
--- /dev/null
+++ b/assets/js/2a510483.7f3eaf07.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{67870:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>h});var r=t(43010),n=t(90887);const a={slug:"/support"},i="Support",o={id:"support",title:"Support",description:"Hey there! Welcome to Apache Answer, a Q&A platform software. We've got a bunch of curious and helpful users who are always willing to give a hand.",source:"@site/community/support. [...]
\ No newline at end of file
diff --git a/assets/js/2a510483.e430983d.js b/assets/js/2a510483.e430983d.js
deleted file mode 100644
index cfc4722af..000000000
--- a/assets/js/2a510483.e430983d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{67870:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>h});var r=t(43010),n=t(90887);const a={slug:"/support"},i="Support",o={id:"support",title:"Support",description:"Hey there! Welcome to Apache Answer, a Q&A platform software. We've got a bunch of curious and helpful users who are always willing to give a hand.",source:"@site/community/support. [...]
\ No newline at end of file
diff --git a/assets/js/2b5fbffd.3a892a53.js b/assets/js/2b5fbffd.3a892a53.js
deleted file mode 100644
index d41842595..000000000
--- a/assets/js/2b5fbffd.3a892a53.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5242],{28659:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var t=i(43010),l=i(90887);const r={slug:"/development/plugins"},s="Plugins Development Guide",o={id:"development/plugins/plugin",title:"Plugins Development Guide",description:"Plugins are a way to extend the functionality of the Answer project. You can create your own plugins to meet your [...]
\ No newline at end of file
diff --git a/assets/js/2b5fbffd.5d243485.js b/assets/js/2b5fbffd.5d243485.js
new file mode 100644
index 000000000..ce5f65818
--- /dev/null
+++ b/assets/js/2b5fbffd.5d243485.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5242],{28659:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var t=i(43010),l=i(90887);const r={slug:"/development/plugins"},s="Plugins Development Guide",o={id:"development/plugins/plugin",title:"Plugins Development Guide",description:"Plugins are a way to extend the functionality of the Answer project. You can create your own plugins to meet your [...]
\ No newline at end of file
diff --git a/assets/js/306a8c6c.c5fa5708.js b/assets/js/306a8c6c.6e01c9ff.js
similarity index 78%
rename from assets/js/306a8c6c.c5fa5708.js
rename to assets/js/306a8c6c.6e01c9ff.js
index 7e3396da2..d53d2de54 100644
--- a/assets/js/306a8c6c.c5fa5708.js
+++ b/assets/js/306a8c6c.6e01c9ff.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7616],{59479:e=>{e.exports=JSON.parse('{"pluginId":"community","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"community":[{"type":"link","label":"Support","href":"/community/support","docId":"support","unlisted":false},{"type":"link","label":"Team","href":"/community/team","docId":"team","unlisted":false},{"type":"link [...]
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7616],{59479:e=>{e.exports=JSON.parse('{"pluginId":"community","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"community":[{"type":"link","label":"Support","href":"/community/support","docId":"support","unlisted":false},{"type":"link","label":"Team","href":"/community/team","docId":"team","unlisted":false},{"type":"link [...]
\ No newline at end of file
diff --git a/assets/js/415707e9.6a3f9533.js b/assets/js/415707e9.6a3f9533.js
new file mode 100644
index 000000000..02853e62c
--- /dev/null
+++ b/assets/js/415707e9.6a3f9533.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{54436:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>c,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var i=n(43010),r=n(90887);const t={slug:"/users"},d="Users",l={id:"guides/users",title:"Users",description:"User status",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/docs/users",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/answer-website/e [...]
\ No newline at end of file
diff --git a/assets/js/415707e9.eef693a6.js b/assets/js/415707e9.eef693a6.js
deleted file mode 100644
index 837f27688..000000000
--- a/assets/js/415707e9.eef693a6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{54436:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>c,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var i=n(43010),r=n(90887);const t={slug:"/users"},d="Users",l={id:"guides/users",title:"Users",description:"User status",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/docs/users",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/answer-website/e [...]
\ No newline at end of file
diff --git a/assets/js/42b561b4.377a8f5c.js b/assets/js/42b561b4.377a8f5c.js
new file mode 100644
index 000000000..5040dae3c
--- /dev/null
+++ b/assets/js/42b561b4.377a8f5c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[715],{46640:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=n(43010),t=n(90887);const s={slug:"/deploy-subdirectory"},r="Deploy subdirectory",l={id:"guides/deploy-subdirectory",title:"Deploy subdirectory",description:"This function is implemented based on react-router's basename, so it is not applicable to subdirectories implemented through ng [...]
\ No newline at end of file
diff --git a/assets/js/42b561b4.390db2e9.js b/assets/js/42b561b4.390db2e9.js
deleted file mode 100644
index 367819d5a..000000000
--- a/assets/js/42b561b4.390db2e9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[715],{46640:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=n(43010),t=n(90887);const s={slug:"/deploy-subdirectory"},r="Deploy subdirectory",l={id:"guides/deploy-subdirectory",title:"Deploy subdirectory",description:"This function is implemented based on react-router's basename, so it is not applicable to subdirectories implemented through ng [...]
\ No newline at end of file
diff --git a/assets/js/51168d66.3705376c.js b/assets/js/51168d66.3705376c.js
new file mode 100644
index 000000000..3e89b3ee3
--- /dev/null
+++ b/assets/js/51168d66.3705376c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8414],{64222:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>h,frontMatter:()=>d,metadata:()=>r,toc:()=>o});var s=i(43010),l=i(90887);const d={slug:"/env"},t="Environment Variables",r={id:"getting-started/env",title:"Environment Variables",description:"Installation",source:"@site/docs/getting-started/env.md",sourceDirName:"getting-started",slug:"/env",permalink:"/docs/env",draft:!1,unlisted:!1,e [...]
\ No newline at end of file
diff --git a/assets/js/51168d66.7288de49.js b/assets/js/51168d66.7288de49.js
deleted file mode 100644
index cd114645a..000000000
--- a/assets/js/51168d66.7288de49.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8414],{64222:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>h,frontMatter:()=>d,metadata:()=>r,toc:()=>o});var s=i(43010),l=i(90887);const d={slug:"/env"},t="Environment Variables",r={id:"getting-started/env",title:"Environment Variables",description:"Installation",source:"@site/docs/getting-started/env.md",sourceDirName:"getting-started",slug:"/env",permalink:"/docs/env",draft:!1,unlisted:!1,e [...]
\ No newline at end of file
diff --git a/assets/js/54f44165.8e6dfb2d.js b/assets/js/54f44165.8e6dfb2d.js
deleted file mode 100644
index 0bbb78df6..000000000
--- a/assets/js/54f44165.8e6dfb2d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[152],{53699:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>h});var a=n(43010),s=n(90887),i=n(81290),l=n(71401);const r={slug:"/installation"},o="Installation",c={id:"getting-started/installation",title:"Installation",description:"Start Apache Answer",source:"@site/docs/getting-started/installation.md",sourceDirName:"getting-started",slug:"/installation [...]
\ No newline at end of file
diff --git a/assets/js/54f44165.d5899d50.js b/assets/js/54f44165.d5899d50.js
new file mode 100644
index 000000000..17fcd583b
--- /dev/null
+++ b/assets/js/54f44165.d5899d50.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[152],{53699:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>h});var a=n(43010),s=n(90887),i=n(81290),l=n(71401);const r={slug:"/installation"},o="Installation",c={id:"getting-started/installation",title:"Installation",description:"Start Apache Answer",source:"@site/docs/getting-started/installation.md",sourceDirName:"getting-started",slug:"/installation [...]
\ No newline at end of file
diff --git a/assets/js/5771c448.3b95607a.js b/assets/js/5771c448.3b95607a.js
deleted file mode 100644
index cecc2449a..000000000
--- a/assets/js/5771c448.3b95607a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{77007:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var n=t(43010),s=t(90887);const r={slug:"/security"},c="Security",o={id:"security",title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. If you find a security bug, with that in mind, please do not file [...]
\ No newline at end of file
diff --git a/assets/js/5771c448.d6ebc01c.js b/assets/js/5771c448.d6ebc01c.js
new file mode 100644
index 000000000..e775c69b8
--- /dev/null
+++ b/assets/js/5771c448.d6ebc01c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{77007:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var n=t(43010),s=t(90887);const r={slug:"/security"},c="Security",o={id:"security",title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. If you find a security bug, with that in mind, please do not file [...]
\ No newline at end of file
diff --git a/assets/js/59e77115.5a038214.js b/assets/js/59e77115.5a038214.js
new file mode 100644
index 000000000..4774c4952
--- /dev/null
+++ b/assets/js/59e77115.5a038214.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6312],{9517:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var s=i(43010),l=i(90887);const a={slug:"/plugins"},t="Using Plugins",r={id:"getting-started/plugins",title:"Using Plugins",description:"When we need to extend Apache Answer's functionality, such as adding OAuth login, we can design plugins to implement these features.",source:"@site/docs/g [...]
\ No newline at end of file
diff --git a/assets/js/59e77115.df378bc3.js b/assets/js/59e77115.df378bc3.js
deleted file mode 100644
index 9386762d5..000000000
--- a/assets/js/59e77115.df378bc3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6312],{9517:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var s=i(43010),l=i(90887);const a={slug:"/plugins"},t="Using Plugins",r={id:"getting-started/plugins",title:"Using Plugins",description:"When we need to extend Apache Answer's functionality, such as adding OAuth login, we can design plugins to implement these features.",source:"@site/docs/g [...]
\ No newline at end of file
diff --git a/assets/js/5ac42693.85b3c146.js b/assets/js/5ac42693.85b3c146.js
new file mode 100644
index 000000000..456962364
--- /dev/null
+++ b/assets/js/5ac42693.85b3c146.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{59282:(e,s,a)=>{a.r(s),a.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>h});var t=a(43010),n=a(90887);const r={slug:"/how-to-release"},i="How to Release",o={id:"contributing/how-to-release",title:"How to Release",description:"All Apache projects are required to follow the Apache Release Policy. This guide is intended to help you understand the policy and how to re [...]
\ No newline at end of file
diff --git a/assets/js/5ac42693.f8251234.js b/assets/js/5ac42693.f8251234.js
deleted file mode 100644
index f1cacad0e..000000000
--- a/assets/js/5ac42693.f8251234.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{59282:(e,s,a)=>{a.r(s),a.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>h});var t=a(43010),n=a(90887);const r={slug:"/how-to-release"},i="How to Release",o={id:"contributing/how-to-release",title:"How to Release",description:"All Apache projects are required to follow the Apache Release Policy. This guide is intended to help you understand the policy and how to re [...]
\ No newline at end of file
diff --git a/assets/js/5b5f4945.2533058a.js b/assets/js/5b5f4945.2533058a.js
new file mode 100644
index 000000000..b1a2f194f
--- /dev/null
+++ b/assets/js/5b5f4945.2533058a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{89439:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>u,toc:()=>c});var n=e(43010),i=e(90887);const a={slug:"/questions"},o="Questions",u={id:"guides/questions",title:"Questions",description:"Question status",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/docs/questions",draft:!1,unlisted:!1,editUrl:"https://gi [...]
\ No newline at end of file
diff --git a/assets/js/5b5f4945.e5b89c92.js b/assets/js/5b5f4945.e5b89c92.js
deleted file mode 100644
index b74d1c82f..000000000
--- a/assets/js/5b5f4945.e5b89c92.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{89439:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>u,toc:()=>c});var n=e(43010),i=e(90887);const a={slug:"/questions"},o="Questions",u={id:"guides/questions",title:"Questions",description:"Question status",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/docs/questions",draft:!1,unlisted:!1,editUrl:"https://gi [...]
\ No newline at end of file
diff --git a/assets/js/68eaa3f5.75035b3e.js b/assets/js/68eaa3f5.75035b3e.js
new file mode 100644
index 000000000..75a263f06
--- /dev/null
+++ b/assets/js/68eaa3f5.75035b3e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3362],{88991:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>u,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var n=a(43010),r=a(90887),s=a(81290),o=a(71401);const l={slug:"/upgrade"},u="Upgrade",i={id:"getting-started/upgrade",title:"Upgrade",description:"We recommend that you back up database and configuration files before upgrading. Generally, we guarantee that the upgrade does not affect the e [...]
\ No newline at end of file
diff --git a/assets/js/68eaa3f5.db543d77.js b/assets/js/68eaa3f5.db543d77.js
deleted file mode 100644
index 2c21c4e72..000000000
--- a/assets/js/68eaa3f5.db543d77.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3362],{88991:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>u,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var n=a(43010),r=a(90887),s=a(81290),o=a(71401);const l={slug:"/upgrade"},u="Upgrade",i={id:"getting-started/upgrade",title:"Upgrade",description:"We recommend that you back up database and configuration files before upgrading. Generally, we guarantee that the upgrade does not affect the e [...]
\ No newline at end of file
diff --git a/assets/js/6f494215.1d753119.js b/assets/js/6f494215.1d753119.js
deleted file mode 100644
index fab911eae..000000000
--- a/assets/js/6f494215.1d753119.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{8041:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var a=t(43010),o=t(90887);const i={slug:"/api"},c="API Document",s={id:"development/api",title:"API Document",description:"Apache Answer using swagger to generate API document automatically. Swagger can display the API document in a friendly way, and can also provide a convenient way to tes [...]
\ No newline at end of file
diff --git a/assets/js/6f494215.b243ff69.js b/assets/js/6f494215.b243ff69.js
new file mode 100644
index 000000000..3a10408c9
--- /dev/null
+++ b/assets/js/6f494215.b243ff69.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{8041:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var a=t(43010),o=t(90887);const i={slug:"/api"},c="API Document",s={id:"development/api",title:"API Document",description:"Apache Answer using swagger to generate API document automatically. Swagger can display the API document in a friendly way, and can also provide a convenient way to tes [...]
\ No newline at end of file
diff --git a/assets/js/6fd9b8bb.e74484fb.js b/assets/js/6fd9b8bb.e74484fb.js
deleted file mode 100644
index cccc09954..000000000
--- a/assets/js/6fd9b8bb.e74484fb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{25615:(d,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>x});var s=e(43010),i=e(90887);const r={slug:"/database"},n="Database",l={id:"development/database",title:"Database",description:"Different databases have different data types. The following table presumes use of mysql/mariadb as an example.",source:"@site/docs/development/database.md",sourceDi [...]
\ No newline at end of file
diff --git a/assets/js/6fd9b8bb.ef9762f9.js b/assets/js/6fd9b8bb.ef9762f9.js
new file mode 100644
index 000000000..f330e8133
--- /dev/null
+++ b/assets/js/6fd9b8bb.ef9762f9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{25615:(d,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>x});var s=e(43010),i=e(90887);const r={slug:"/database"},n="Database",l={id:"development/database",title:"Database",description:"Different databases have different data types. The following table presumes use of mysql/mariadb as an example.",source:"@site/docs/development/database.md",sourceDi [...]
\ No newline at end of file
diff --git a/assets/js/72a4391e.5f8eff89.js b/assets/js/72a4391e.5f8eff89.js
deleted file mode 100644
index 5390fdd61..000000000
--- a/assets/js/72a4391e.5f8eff89.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5527],{80899:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>c,toc:()=>t});var l=i(43010),s=i(90887);const d={slug:"/command-line"},a="Command Line",c={id:"getting-started/command-line",title:"Command Line",description:"Apache Answer binary support some command-line options",source:"@site/docs/getting-started/command-line.md",sourceDirName:"getting-started",slug: [...]
\ No newline at end of file
diff --git a/assets/js/72a4391e.cc2e5846.js b/assets/js/72a4391e.cc2e5846.js
new file mode 100644
index 000000000..74d879964
--- /dev/null
+++ b/assets/js/72a4391e.cc2e5846.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5527],{80899:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>c,toc:()=>t});var l=i(43010),s=i(90887);const d={slug:"/command-line"},a="Command Line",c={id:"getting-started/command-line",title:"Command Line",description:"Apache Answer binary support some command-line options",source:"@site/docs/getting-started/command-line.md",sourceDirName:"getting-started",slug: [...]
\ No newline at end of file
diff --git a/assets/js/80d61403.9e6bee49.js b/assets/js/80d61403.9e6bee49.js
deleted file mode 100644
index 25f925ebb..000000000
--- a/assets/js/80d61403.9e6bee49.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4234],{27739:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var s=i(43010),n=i(90887);const r={slug:"/security-model"},o="Security Model",a={id:"security-model",title:"Security Model",description:"This document outlines the security model of Apache Answer. It aims to help users understand the security model and make informed decisions about deployi [...]
\ No newline at end of file
diff --git a/assets/js/80d61403.d744dedd.js b/assets/js/80d61403.d744dedd.js
new file mode 100644
index 000000000..5fa7f689e
--- /dev/null
+++ b/assets/js/80d61403.d744dedd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4234],{27739:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var s=i(43010),n=i(90887);const r={slug:"/security-model"},o="Security Model",a={id:"security-model",title:"Security Model",description:"This document outlines the security model of Apache Answer. It aims to help users understand the security model and make informed decisions about deployi [...]
\ No newline at end of file
diff --git a/assets/js/872d4ab4.7090cb6e.js b/assets/js/872d4ab4.7090cb6e.js
deleted file mode 100644
index 419f09bf8..000000000
--- a/assets/js/872d4ab4.7090cb6e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{74565:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var i=t(43010),n=t(90887);const r={slug:"/issues"},d="Issues",o={id:"contributing/issues",title:"Issues",description:"There are some repos in the Apache Answer project, you can raise your issue for different repos.",source:"@site/community/contributing/issues.md",sourceDirName:"contributin [...]
\ No newline at end of file
diff --git a/assets/js/872d4ab4.7c4c1bca.js b/assets/js/872d4ab4.7c4c1bca.js
new file mode 100644
index 000000000..87bf382c8
--- /dev/null
+++ b/assets/js/872d4ab4.7c4c1bca.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{74565:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var n=t(43010),i=t(90887);const r={slug:"/issues"},d="Issues",o={id:"contributing/issues",title:"Issues",description:"There are some repos in the Apache Answer project, you can raise your issue for different repos.",source:"@site/community/contributing/issues.md",sourceDirName:"contributin [...]
\ No newline at end of file
diff --git a/assets/js/8a3109ec.824f276d.js b/assets/js/8a3109ec.824f276d.js
deleted file mode 100644
index 1d8f43da9..000000000
--- a/assets/js/8a3109ec.824f276d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4531],{75514:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var i=t(43010),o=t(90887);const l={slug:"/development/plugins/plugin-translation"},s="Plugin Translation",r={id:"development/plugins/plugin-translation",title:"Plugin Translation",description:"Since answer supports multiple languages, the plugin also needs to support multiple languages.",s [...]
\ No newline at end of file
diff --git a/assets/js/8a3109ec.caa11abe.js b/assets/js/8a3109ec.caa11abe.js
new file mode 100644
index 000000000..0292fb10c
--- /dev/null
+++ b/assets/js/8a3109ec.caa11abe.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4531],{75514:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var i=t(43010),o=t(90887);const l={slug:"/development/plugins/plugin-translation"},s="Plugin Translation",r={id:"development/plugins/plugin-translation",title:"Plugin Translation",description:"Since answer supports multiple languages, the plugin also needs to support multiple languages.",s [...]
\ No newline at end of file
diff --git a/assets/js/977e6cb2.6b1c4dde.js b/assets/js/977e6cb2.6b1c4dde.js
deleted file mode 100644
index c7f0b99d4..000000000
--- a/assets/js/977e6cb2.6b1c4dde.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3412],{55978:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var n=s(43010),i=s(90887);const r={slug:"/settings"},o="Settings",a={id:"guides/settings",title:"Settings",description:"TODO",source:"@site/docs/guides/settings.md",sourceDirName:"guides",slug:"/settings",permalink:"/docs/settings",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/an [...]
\ No newline at end of file
diff --git a/assets/js/977e6cb2.d45da7ff.js b/assets/js/977e6cb2.d45da7ff.js
new file mode 100644
index 000000000..798e84fff
--- /dev/null
+++ b/assets/js/977e6cb2.d45da7ff.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3412],{55978:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var s=n(43010),i=n(90887);const r={slug:"/settings"},o="Settings",a={id:"guides/settings",title:"Settings",description:"TODO",source:"@site/docs/guides/settings.md",sourceDirName:"guides",slug:"/settings",permalink:"/docs/settings",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/an [...]
\ No newline at end of file
diff --git a/assets/js/a09c2993.513a5969.js b/assets/js/a09c2993.513a5969.js
new file mode 100644
index 000000000..12663eee6
--- /dev/null
+++ b/assets/js/a09c2993.513a5969.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4128],{94436:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=t(43010),s=t(90887);const r={slug:"/"},o="Introduction",a={id:"introduction",title:"Introduction",description:"Apache Answer helps you to build a community between your users and your team. It's a place where you can share your knowledge and help your users to solve their problems.", [...]
\ No newline at end of file
diff --git a/assets/js/a09c2993.c6f2adef.js b/assets/js/a09c2993.c6f2adef.js
deleted file mode 100644
index d3bb88e63..000000000
--- a/assets/js/a09c2993.c6f2adef.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4128],{94436:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=t(43010),s=t(90887);const r={slug:"/"},o="Introduction",a={id:"introduction",title:"Introduction",description:"Apache Answer helps you to build a community between your users and your team. It's a place where you can share your knowledge and help your users to solve their problems.", [...]
\ No newline at end of file
diff --git a/assets/js/a5eff934.b5628f4c.js b/assets/js/a5eff934.b5628f4c.js
deleted file mode 100644
index 7538cf0ea..000000000
--- a/assets/js/a5eff934.b5628f4c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1134],{45601:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var n=s(43010),a=s(90887);const r={slug:"/flags"},o="Flags",i={id:"guides/flags",title:"Flags",description:"User can flag the spam post.",source:"@site/docs/guides/flags.md",sourceDirName:"guides",slug:"/flags",permalink:"/docs/flags",draft:!1,unlisted:!1,editUrl:"https://github.com/apache [...]
\ No newline at end of file
diff --git a/assets/js/a5eff934.c598d37d.js b/assets/js/a5eff934.c598d37d.js
new file mode 100644
index 000000000..7ba8b8915
--- /dev/null
+++ b/assets/js/a5eff934.c598d37d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1134],{45601:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var n=s(43010),a=s(90887);const r={slug:"/flags"},o="Flags",i={id:"guides/flags",title:"Flags",description:"User can flag the spam post.",source:"@site/docs/guides/flags.md",sourceDirName:"guides",slug:"/flags",permalink:"/docs/flags",draft:!1,unlisted:!1,editUrl:"https://github.com/apache [...]
\ No newline at end of file
diff --git a/assets/js/a98c1148.01aa610b.js b/assets/js/a98c1148.01aa610b.js
new file mode 100644
index 000000000..290593752
--- /dev/null
+++ b/assets/js/a98c1148.01aa610b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3610],{26040:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=n(43010),r=n(90887);const s={slug:"/moderation"},a="Moderation",i={id:"guides/moderation",title:"Moderation",description:"TODO",source:"@site/docs/guides/moderation.md",sourceDirName:"guides",slug:"/moderation",permalink:"/docs/moderation",draft:!1,unlisted:!1,editUrl:"https://github [...]
\ No newline at end of file
diff --git a/assets/js/a98c1148.4166616a.js b/assets/js/a98c1148.4166616a.js
deleted file mode 100644
index 5772f8cd6..000000000
--- a/assets/js/a98c1148.4166616a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3610],{26040:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>a,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=n(43010),r=n(90887);const s={slug:"/moderation"},a="Moderation",i={id:"guides/moderation",title:"Moderation",description:"TODO",source:"@site/docs/guides/moderation.md",sourceDirName:"guides",slug:"/moderation",permalink:"/docs/moderation",draft:!1,unlisted:!1,editUrl:"https://github [...]
\ No newline at end of file
diff --git a/assets/js/b2b494f3.0becfe6b.js b/assets/js/b2b494f3.0becfe6b.js
new file mode 100644
index 000000000..b7027584f
--- /dev/null
+++ b/assets/js/b2b494f3.0becfe6b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6109],{53596:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>o});var c=s(43010),h=s(90887);const n={slug:"/notice",sidebar_label:"Notice"},i="Open-Source Software Notice",r={id:"notice",title:"Open-Source Software Notice",description:"The project is built on and with the aid of the following open source projects. Credits are given to these projects.",so [...]
\ No newline at end of file
diff --git a/assets/js/b2b494f3.ab7793e7.js b/assets/js/b2b494f3.ab7793e7.js
deleted file mode 100644
index ae196c2d4..000000000
--- a/assets/js/b2b494f3.ab7793e7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6109],{53596:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>n,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>o});var c=s(43010),h=s(90887);const i={slug:"/notice",sidebar_label:"Notice"},n="Open-Source Software Notice",r={id:"notice",title:"Open-Source Software Notice",description:"The project is built on and with the aid of the following open source projects. Credits are given to these projects.",so [...]
\ No newline at end of file
diff --git a/assets/js/c1cb8fca.4981f326.js b/assets/js/c1cb8fca.4981f326.js
new file mode 100644
index 000000000..fb6690a98
--- /dev/null
+++ b/assets/js/c1cb8fca.4981f326.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7630],{89923:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>j,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var d=s(43010),r=s(90887);const i={slug:"/permission"},n="Permission",l={id:"guides/permission",title:"Permission",description:"Privileges",source:"@site/docs/guides/permission.md",sourceDirName:"guides",slug:"/permission",permalink:"/docs/permission",draft:!1,unlisted:!1,editUrl:"https:// [...]
\ No newline at end of file
diff --git a/assets/js/c1cb8fca.b84ecb50.js b/assets/js/c1cb8fca.b84ecb50.js
deleted file mode 100644
index e99ac9b8f..000000000
--- a/assets/js/c1cb8fca.b84ecb50.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7630],{89923:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>j,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var d=s(43010),r=s(90887);const i={slug:"/permission"},n="Permission",l={id:"guides/permission",title:"Permission",description:"Privileges",source:"@site/docs/guides/permission.md",sourceDirName:"guides",slug:"/permission",permalink:"/docs/permission",draft:!1,unlisted:!1,editUrl:"https:// [...]
\ No newline at end of file
diff --git a/assets/js/d7ef3cd8.0f8c9f38.js b/assets/js/d7ef3cd8.0f8c9f38.js
new file mode 100644
index 000000000..b3d87f91b
--- /dev/null
+++ b/assets/js/d7ef3cd8.0f8c9f38.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{56634:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var o=t(43010),i=t(90887);const s={sidebar_label:"Blog Post",slug:"/blog-post"},r="Contribute a Blog Post",l={id:"contributing/blog-post",title:"Contribute a Blog Post",description:"Blogs are one of the easiest ways to get involved in Apache Answer. It is also a great way to share your kno [...]
\ No newline at end of file
diff --git a/assets/js/d7ef3cd8.b0ad9e71.js b/assets/js/d7ef3cd8.b0ad9e71.js
deleted file mode 100644
index 6351d9142..000000000
--- a/assets/js/d7ef3cd8.b0ad9e71.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{56634:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var o=t(43010),i=t(90887);const s={sidebar_label:"Blog Post",slug:"/blog-post"},r="Contribute a Blog Post",l={id:"contributing/blog-post",title:"Contribute a Blog Post",description:"Blogs are one of the easiest ways to get involved in Apache Answer. It is also a great way to share your kno [...]
\ No newline at end of file
diff --git a/assets/js/da6654f2.a24f374a.js b/assets/js/da6654f2.a24f374a.js
deleted file mode 100644
index dd5dbd0db..000000000
--- a/assets/js/da6654f2.a24f374a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{70597:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=n(43010),s=n(90887);const r={slug:"/pull-request"},o="Pull Request",a={id:"contributing/pull-request",title:"Pull Request",description:"We appreciate you taking the time to contribute! Before submitting a pull request, we ask that you please create an issue that explains the bug or f [...]
\ No newline at end of file
diff --git a/assets/js/da6654f2.e90af356.js b/assets/js/da6654f2.e90af356.js
new file mode 100644
index 000000000..e35740845
--- /dev/null
+++ b/assets/js/da6654f2.e90af356.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{70597:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=n(43010),s=n(90887);const r={slug:"/pull-request"},o="Pull Request",a={id:"contributing/pull-request",title:"Pull Request",description:"We appreciate you taking the time to contribute! Before submitting a pull request, we ask that you please create an issue that explains the bug or f [...]
\ No newline at end of file
diff --git a/assets/js/dc8b965f.059ec11e.js b/assets/js/dc8b965f.059ec11e.js
new file mode 100644
index 000000000..08c93715a
--- /dev/null
+++ b/assets/js/dc8b965f.059ec11e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{13715:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var s=n(43010),r=n(90887);const i={slug:"/review"},o="Review",c={id:"guides/review",title:"Review",description:"TODO",source:"@site/docs/guides/review.md",sourceDirName:"guides",slug:"/review",permalink:"/docs/review",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/answer-website/e [...]
\ No newline at end of file
diff --git a/assets/js/dc8b965f.0ad95204.js b/assets/js/dc8b965f.0ad95204.js
deleted file mode 100644
index 255220baf..000000000
--- a/assets/js/dc8b965f.0ad95204.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{13715:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var s=n(43010),r=n(90887);const i={slug:"/review"},o="Review",a={id:"guides/review",title:"Review",description:"TODO",source:"@site/docs/guides/review.md",sourceDirName:"guides",slug:"/review",permalink:"/docs/review",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/answer-website/e [...]
\ No newline at end of file
diff --git a/assets/js/e438ab2a.08f46e00.js b/assets/js/e438ab2a.08f46e00.js
deleted file mode 100644
index baf4f6127..000000000
--- a/assets/js/e438ab2a.08f46e00.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9617],{46959:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var s=n(43010),i=n(90887);const r={slug:"/reputation"},o="Reputation",d={id:"guides/reputation",title:"Reputation",description:"Reputation used to automate the management of community ecology.",source:"@site/docs/guides/reputation.md",sourceDirName:"guides",slug:"/reputation",permalink:"/d [...]
\ No newline at end of file
diff --git a/assets/js/e438ab2a.582ceb9e.js b/assets/js/e438ab2a.582ceb9e.js
new file mode 100644
index 000000000..ce94f34b7
--- /dev/null
+++ b/assets/js/e438ab2a.582ceb9e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9617],{46959:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var s=n(43010),i=n(90887);const r={slug:"/reputation"},o="Reputation",d={id:"guides/reputation",title:"Reputation",description:"Reputation used to automate the management of community ecology.",source:"@site/docs/guides/reputation.md",sourceDirName:"guides",slug:"/reputation",permalink:"/d [...]
\ No newline at end of file
diff --git a/assets/js/eafd45de.01389b5a.js b/assets/js/eafd45de.01389b5a.js
new file mode 100644
index 000000000..784bd9c6d
--- /dev/null
+++ b/assets/js/eafd45de.01389b5a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{49962:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=e(43010),o=e(90887);const i={slug:"/translation"},s="Translation",a={id:"contributing/translation",title:"Translation",description:"Our project is connected to crowdin for translation; we recommend contributing translations through crowdin.",source:"@site/community/contributing/trans [...]
\ No newline at end of file
diff --git a/assets/js/eafd45de.5c5d0220.js b/assets/js/eafd45de.5c5d0220.js
deleted file mode 100644
index 51d084c13..000000000
--- a/assets/js/eafd45de.5c5d0220.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{49962:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=e(43010),o=e(90887);const i={slug:"/translation"},s="Translation",a={id:"contributing/translation",title:"Translation",description:"Our project is connected to crowdin for translation; we recommend contributing translations through crowdin.",source:"@site/community/contributing/trans [...]
\ No newline at end of file
diff --git a/assets/js/f493f8eb.0e73cde5.js b/assets/js/f493f8eb.0e73cde5.js
deleted file mode 100644
index 1a28550f5..000000000
--- a/assets/js/f493f8eb.0e73cde5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3600],{86027:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var i=t(43010),a=t(90887);const o={slug:"/configfile"},r="Config File",s={id:"getting-started/configfile",title:"Config File",description:"We use yaml configuration file. It will be created automatically after answer init command. The default path is /data/conf/config.yaml",source:"@site/d [...]
\ No newline at end of file
diff --git a/assets/js/f493f8eb.589a839c.js b/assets/js/f493f8eb.589a839c.js
new file mode 100644
index 000000000..afea55e83
--- /dev/null
+++ b/assets/js/f493f8eb.589a839c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3600],{86027:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var i=t(43010),a=t(90887);const o={slug:"/configfile"},r="Config File",s={id:"getting-started/configfile",title:"Config File",description:"We use yaml configuration file. It will be created automatically after answer init command. The default path is /data/conf/config.yaml",source:"@site/d [...]
\ No newline at end of file
diff --git a/assets/js/f8a2828b.28f2e844.js b/assets/js/f8a2828b.28f2e844.js
deleted file mode 100644
index 05b919015..000000000
--- a/assets/js/f8a2828b.28f2e844.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{24132:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var n=s(43010),a=s(90887);const r={slug:"/tags"},o="Tags",i={id:"guides/tags",title:"Tags",description:"TODO",source:"@site/docs/guides/tags.md",sourceDirName:"guides",slug:"/tags",permalink:"/docs/tags",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/answer-website/edit/main/docs/ [...]
\ No newline at end of file
diff --git a/assets/js/f8a2828b.99a65568.js b/assets/js/f8a2828b.99a65568.js
new file mode 100644
index 000000000..3cac8b446
--- /dev/null
+++ b/assets/js/f8a2828b.99a65568.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{24132:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var n=s(43010),a=s(90887);const r={slug:"/tags"},o="Tags",i={id:"guides/tags",title:"Tags",description:"TODO",source:"@site/docs/guides/tags.md",sourceDirName:"guides",slug:"/tags",permalink:"/docs/tags",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/answer-website/edit/main/docs/ [...]
\ No newline at end of file
diff --git a/assets/js/fd15fd1f.5c40f836.js b/assets/js/fd15fd1f.5c40f836.js
deleted file mode 100644
index f0b0da580..000000000
--- a/assets/js/fd15fd1f.5c40f836.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3587],{32800:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var t=i(43010),o=i(90887);const l={sidebar_label:"Plugin Configuration Schema",slug:"/development/plugins/plugin-config"},r="Plugin Configuration Schema",s={id:"development/plugins/plugin-config",title:"Plugin Configuration Schema",description:"Feature",source:"@site/docs/development/plugi [...]
\ No newline at end of file
diff --git a/assets/js/fd15fd1f.8a3b4509.js b/assets/js/fd15fd1f.8a3b4509.js
new file mode 100644
index 000000000..1bc362ebb
--- /dev/null
+++ b/assets/js/fd15fd1f.8a3b4509.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3587],{32800:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var t=i(43010),o=i(90887);const l={sidebar_label:"Plugin Configuration Schema",slug:"/development/plugins/plugin-config"},r="Plugin Configuration Schema",s={id:"development/plugins/plugin-config",title:"Plugin Configuration Schema",description:"Feature",source:"@site/docs/development/plugi [...]
\ No newline at end of file
diff --git a/assets/js/main.73a5ceea.js b/assets/js/main.6be7711a.js
similarity index 92%
rename from assets/js/main.73a5ceea.js
rename to assets/js/main.6be7711a.js
index 90c79659c..1fd26fe48 100644
--- a/assets/js/main.73a5ceea.js
+++ b/assets/js/main.6be7711a.js
@@ -1,2 +1,2 @@
-/*! For license information please see main.73a5ceea.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{35175:(e,t,n)=>{var r={"./":91884};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=35175},67206:(e,t,n)=>{"use strict";n.d(t,{Z:()=>N});var r,o,a,i,l,s,c,u,d,p,f,g,m,h,b,y,w,v,k,x,_,S,E,C,j,T,L,A=n(85170);function P(){return P=Object.assign?Objec [...]
\ No newline at end of file
+/*! For license information please see main.6be7711a.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{35175:(e,t,n)=>{var r={"./":91884};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=35175},67206:(e,t,n)=>{"use strict";n.d(t,{Z:()=>N});var r,o,a,i,l,s,c,u,d,p,f,g,m,h,b,y,w,v,k,x,_,S,E,C,j,T,L,A=n(85170);function P(){return P=Object.assign?Objec [...]
\ No newline at end of file
diff --git a/assets/js/main.73a5ceea.js.LICENSE.txt b/assets/js/main.6be7711a.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.73a5ceea.js.LICENSE.txt
rename to assets/js/main.6be7711a.js.LICENSE.txt
diff --git a/assets/js/runtime~main.73bbd2d1.js b/assets/js/runtime~main.d76a4d8a.js
similarity index 73%
rename from assets/js/runtime~main.73bbd2d1.js
rename to assets/js/runtime~main.d76a4d8a.js
index a24d4048a..74b4d1d02 100644
--- a/assets/js/runtime~main.73bbd2d1.js
+++ b/assets/js/runtime~main.d76a4d8a.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,c,f,b,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=t,e=[],r.O=(a,c,f,b)=>{if(!c){var d=1/0;for(i=0;i<e.length;i++){c=e[i][0],f=e[i][1],b=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&b||d>=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b<d&&(d=b));if(t){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}b=b| [...]
\ No newline at end of file
+(()=>{"use strict";var e,a,f,c,b,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=d,r.c=t,e=[],r.O=(a,f,c,b)=>{if(!f){var d=1/0;for(i=0;i<e.length;i++){f=e[i][0],c=e[i][1],b=e[i][2];for(var t=!0,o=0;o<f.length;o++)(!1&b||d>=b)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,b<d&&(d=b));if(t){e.splice(i--,1);var n=c();void 0!==n&&(a=n)}}return a}b=b| [...]
\ No newline at end of file
diff --git a/blog/a-new-chapter-begins-answer-first-apache-release-launches/index.html b/blog/a-new-chapter-begins-answer-first-apache-release-launches/index.html
index f260123ea..03f669801 100644
--- a/blog/a-new-chapter-begins-answer-first-apache-release-launches/index.html
+++ b/blog/a-new-chapter-begins-answer-first-apache-release-launches/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="bring-back-deleted-qa">Bring Back Deleted Q&A<!-- --><a href="#bring-back-deleted-qa" class="hash-link" aria-label="Direct link to Bring Back Deleted Q&A" title="Direct link to Bring Back Deleted Q&A"></a></h2>
<!-- --><p>Accidentally delete a question or an answer? Go ask the admin to bring them back easily.</p>
<!-- --><p>For admins, simply go Admin page, then Contents. Recover the content by clicking Undelete in action. It works for both questions and answers.</p>
diff --git a/blog/answer-1.0.9-release/index.html b/blog/answer-1.0.9-release/index.html
index 3cf59158a..74c1815b5 100644
--- a/blog/answer-1.0.9-release/index.html
+++ b/blog/answer-1.0.9-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-new">What’s New<!-- --><a href="#whats-new" class="hash-link" aria-label="Direct link to What’s New" title="Direct link to What’s New"></a></h2>
<!-- --><p>Pin an important or frequently asked question for your Q&A platform, so that it always stay on the top of your community.
<!-- --><img decoding="async" loading="lazy" alt="Pin a Question in Answer" src="/assets/images/1.0.9release1-b10a9df59c50ef5d5c9f979408944d6d.gif" width="786" height="674" class="img_RAU7"></p>
diff --git a/blog/answer-1.1.0-release/index.html b/blog/answer-1.1.0-release/index.html
index d7fc79c58..869c57976 100644
--- a/blog/answer-1.1.0-release/index.html
+++ b/blog/answer-1.1.0-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>From 1.0 to 1.1.0, it's not just a stack-up of numbers, but a step forward for your Answer in: <!-- --><strong>security, functionality, and stability</strong>. Find out what are the updates, and how you can use them to boost productivity. Don’t forget to update ;)<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="plugin-the-new-wings-to-your-answer">Plugin: The New Wings to Your Answer<!-- --><a href="#plugin-the-new-wings-to-your-answer" class="hash-link" aria-label="Direct link to Plugin: The New Wings to Your Answer" title="Direct link to Plugin: The New Wings to Your Answer"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="Answer Supports Plugin" src="/assets/images/1.1.0release1-317e0fdd01d100da7d5b32c9769d7a82.png" width="2400" height="1350" class="img_RAU7">
diff --git a/blog/answer-1.2.1-ask-better-find-better/index.html b/blog/answer-1.2.1-ask-better-find-better/index.html
index 04b2adf8d..3c4a2eeba 100644
--- a/blog/answer-1.2.1-ask-better-find-better/index.html
+++ b/blog/answer-1.2.1-ask-better-find-better/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In this version, we pack up new features and improvements to make finding answers easier, reduce duplicate content, and an efficient way of organizing your Q&A knowledge from the very start.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="one-answer-one-question">One Answer. One Question.<!-- --><a href="#one-answer-one-question" class="hash-link" aria-label="Direct link to One Answer. One Question." title="Direct link to One Answer. One Question."></a></h2>
<!-- --><p>Answer focuses on clear and concise answers to each question. However, you can find new answers or scattered answers from one person in several responses, making it hard for the admin to pick the best answer, and maintain the content afterwards.</p>
diff --git a/blog/answer-1.2.5-is-ready/index.html b/blog/answer-1.2.5-is-ready/index.html
index a9f67e1d5..ebf197431 100644
--- a/blog/answer-1.2.5-is-ready/index.html
+++ b/blog/answer-1.2.5-is-ready/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="turn-the-dark-mode-on">Turn the Dark Mode On<!-- --><a href="#turn-the-dark-mode-on" class="hash-link" aria-label="Direct link to Turn the Dark Mode On" title="Direct link to Turn the Dark Mode On"></a></h2>
<!-- --><p>Get ready to explore the dark side with our new Dark Mode. Switch to light, dark manually to meet your needs, or follow the system for a smooth transition.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="Dark Mode of Answer" src="/assets/images/dark-mode-4675167c279fc82e60dcfbd04f46f5cd.png" width="2724" height="1228" class="img_RAU7"></p>
diff --git a/blog/answer-1.3.5-release/index.html b/blog/answer-1.3.5-release/index.html
index cc9c2b034..747989f91 100644
--- a/blog/answer-1.3.5-release/index.html
+++ b/blog/answer-1.3.5-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In this update, both users and admins have more freedom to customize, express, and view in the online community with new features. Find out how and why.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="customize-urls-with-base-path-parametrization">Customize URLs with Base Path Parametrization<!-- --><a href="#customize-urls-with-base-path-parametrization" class="hash-link" aria-label="Direct link to Customize URLs with Base Path Parametrization" title="Direct link to Customize URLs with Base Path Parametrization"></a></h2>
<!-- --><p>Time to personalize your Answer URL. You can now handle Answer website address by adding tags to URLs. It’s a great improvement for both the flexibility and ease of deployment for Answer.</p>
diff --git a/blog/answer-1.3.6-release/index.html b/blog/answer-1.3.6-release/index.html
index ded0f76cb..5319ca128 100644
--- a/blog/answer-1.3.6-release/index.html
+++ b/blog/answer-1.3.6-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p><a href="https://answer.apache.org/docs/upgrade" target="_blank" rel="noopener noreferrer">Upgrade</a> now, and find out what we’ve got for you.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-new">What’s New<!-- --><a href="#whats-new" class="hash-link" aria-label="Direct link to What’s New" title="Direct link to What’s New"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="pre-fill-forms-focus-on-the-content-leave-the-rest">Pre-fill Forms: Focus on the Content. Leave the Rest.<!-- --><a href="#pre-fill-forms-focus-on-the-content-leave-the-rest" class="hash-link" aria-label="Direct link to Pre-fill Forms: Focus on the Content. Leave the Rest." title="Direct link to Pre-fill Forms: Focus on the Content. Leave the Rest."></a></h3>
diff --git a/blog/answer-1.4.0-release/index.html b/blog/answer-1.4.0-release/index.html
index 3b3e920ed..cfb724550 100644
--- a/blog/answer-1.4.0-release/index.html
+++ b/blog/answer-1.4.0-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>We celebrate your firsts and the good content with the badges. Explore the content in Recommend where we curate the list based on your following tags and questions. Don’t forget to pick a theme to highlight your code snippets whether for an answer or a question.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="badges-celebrate-and-showcase">Badges: Celebrate and Showcase<!-- --><a href="#badges-celebrate-and-showcase" class="hash-link" aria-label="Direct link to Badges: Celebrate and Showcase" title="Direct link to Badges: Celebrate and Showcase"></a></h2>
<!-- --><p>Your dedication and contribution deserve to be seen. In our latest update, we've introduced three new badge types to recognize your achievements:</p>
diff --git a/blog/answer-enters-apache-incubator/index.html b/blog/answer-enters-apache-incubator/index.html
index f06ecc282..f85c8235c 100644
--- a/blog/answer-enters-apache-incubator/index.html
+++ b/blog/answer-enters-apache-incubator/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>The discussion regarding the proposal of Answer was initiated on the mailing list of Apache Foundation on September 21st. On October 9th, as per the records of the ASF mailing list, Answer received 22 votes, including 18 binding votes and 4 non-binding votes, with no abstentions or oppositions. On October 18th, the project Answer was formally transferred to the Apache Software Foundation.</p>
<!-- --><p>After entering the Apache Incubator, Answer is committed to embracing the Apache way, maintaining openness and transparency, while building a fair, diverse, and inclusive community. We will constantly improve our product for users, and welcome more contributors to join us in advancing the open-source mission.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="Answer Project Incubation Status in Apache Incubator" src="/assets/images/apache-answer-project-page-0ed9d04a78daf356f59e8f63330c23a2.png" width="1280" height="872" class="img_RAU7"></p>
diff --git a/blog/answer-ospp-2024/index.html b/blog/answer-ospp-2024/index.html
index 345dcc965..552a96080 100644
--- a/blog/answer-ospp-2024/index.html
+++ b/blog/answer-ospp-2024/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache Answer is waiting for you in <!-- --><a href="https://summer-ospp.ac.cn/" target="_blank" rel="noopener noreferrer">OSPP 2024</a>.<!-- --></p>
<!-- --><p>The Open Source Promotion Program (OSPP), initiated by the the Institute of Software Chinese Academy of Sciences, is an exciting summer event that encourages university students to actively participate in the development and maintenance of open-source software, push the growth of open-source communities.</p>
<!-- --><p>We made our debut and announced <!-- --><a href="https://summer-ospp.ac.cn/org/orgdetail/6a467fc2-8a16-486d-9d85-ad7ebdf9fd4b?lang=en" target="_blank" rel="noopener noreferrer">2 projects</a> for students all over the world! We want to invite students worldwide to apply our projects, and dive into the open-source world with us.<!-- --></p>
diff --git a/blog/answer-recap-august/index.html b/blog/answer-recap-august/index.html
index b5208cd10..d06f5ded1 100644
--- a/blog/answer-recap-august/index.html
+++ b/blog/answer-recap-august/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Let's go!</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-whats-new">🌟 What’s New<!-- --><a href="#-whats-new" class="hash-link" aria-label="Direct link to 🌟 What’s New" title="Direct link to 🌟 What’s New"></a></h2>
<!-- --><p>We brought the heart of bringing smoother Q&A experience in every release for more people. In the latest 1.3.6, we introduced two CDN plugins for fast loading speed and pre-filled forms for helping users to stay concentrated on editing the content.
diff --git a/blog/answer-recap-july/index.html b/blog/answer-recap-july/index.html
index 60fc9b810..dbc6b87df 100644
--- a/blog/answer-recap-july/index.html
+++ b/blog/answer-recap-july/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
Here's the recap:</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-whatsnew">🌟 What's New<!-- --><a href="#-whatsnew" class="hash-link" aria-label="Direct link to 🌟 What's New" title="Direct link to 🌟 What's New"></a></h2>
<!-- --><p>New version released on the beginning of a month. In this update, both users and admins have more freedom to customize, express, and view in the online community with new features. Have you tried the latest 1.3.5? If not, here's the <!-- --><a href="https://medium.com/r/?url=https%3A%2F%2Fanswer.apache.org%2Fdownload" target="_blank" rel="noopener noreferrer">portal</a>.<!-- --></p>
diff --git a/blog/answer-recap-june/index.html b/blog/answer-recap-june/index.html
index 041e84eb5..c28718a71 100644
--- a/blog/answer-recap-june/index.html
+++ b/blog/answer-recap-june/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-whatsnew">🌟 What's New<!-- --><a href="#-whatsnew" class="hash-link" aria-label="Direct link to 🌟 What's New" title="Direct link to 🌟 What's New"></a></h2>
<!-- --><p>We were featured in the ASF project spotlight blog and connected to more open-source lovers. In this blog, we shared how we started our journey, mission, use cases, and ways you can join us.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-community">🫶 Community<!-- --><a href="#-community" class="hash-link" aria-label="Direct link to 🫶 Community" title="Direct link to 🫶 Community"></a></h2>
diff --git a/blog/answer-recap-october/index.html b/blog/answer-recap-october/index.html
index c8ab2fd78..346c76c32 100644
--- a/blog/answer-recap-october/index.html
+++ b/blog/answer-recap-october/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-community">🫶 Community<!-- --><a href="#-community" class="hash-link" aria-label="Direct link to 🫶 Community" title="Direct link to 🫶 Community"></a></h2>
<!-- --><p>New award coming!
We have received the award of cutting-edge open source projects and communities presented by China Communications Standards Association. Apache Answer has impressed the judges with its strong community, global reach, and technical flexibility, as shown in the preliminary round and the second round of interviews.</p>
diff --git a/blog/answer-recap-sept/index.html b/blog/answer-recap-sept/index.html
index d8728e33b..53b20126a 100644
--- a/blog/answer-recap-sept/index.html
+++ b/blog/answer-recap-sept/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="--whats-new">🌟 What’s New<!-- --><a href="#--whats-new" class="hash-link" aria-label="Direct link to 🌟 What’s New" title="Direct link to 🌟 What’s New"></a></h2>
<!-- --><p>Apache Answer more features and stable performance in the latest 1.4.0.</p>
<!-- --><p><strong>Show the Badges</strong>: Show off your achievements with our new badges system. Earn badges for active participation, valuable contributions, and more!<!-- --></p>
diff --git a/blog/answer-turns-one-and-is-now-apache-answer/index.html b/blog/answer-turns-one-and-is-now-apache-answer/index.html
index 301a2bd63..d7634c25e 100644
--- a/blog/answer-turns-one-and-is-now-apache-answer/index.html
+++ b/blog/answer-turns-one-and-is-now-apache-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>We launched Answer Alpha in last October, and made it to GitHub Trending. Our first stable version, Answer v1.0 was released in last December. This October, we passed the vote and became an <!-- --><a href="https://incubator.apache.org/projects/answer.html" target="_blank" rel="noopener noreferrer">Apache Incubator Project</a>. It feels like yesterday we were sharing the news!<!-- --></p>
<!-- --><p>For the past year, we’ve released 19 versions, and formed a compact but powerful community. Here are some features, numbers, and people that we are proud to share with all of you:</p>
<!-- --><ul>
diff --git a/blog/apache-answer-1.4.1-release/index.html b/blog/apache-answer-1.4.1-release/index.html
index 288b1cb88..5131a76ec 100644
--- a/blog/apache-answer-1.4.1-release/index.html
+++ b/blog/apache-answer-1.4.1-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="linking-question-connect-the-knowledge-dots">Linking Question: Connect the Knowledge Dots<!-- --><a href="#linking-question-connect-the-knowledge-dots" class="hash-link" aria-label="Direct link to Linking Question: Connect the Knowledge Dots" title="Direct link to Linking Question: Connect the Knowledge Dots"></a></h2>
<!-- --><p>By linking similar/related questions, users can easily explore relevant discussions and find additional context. This feature not only improves the experience but also strengthens the community by fostering collaboration and knowledge sharing.</p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="how-to">How to<!-- --><a href="#how-to" class="hash-link" aria-label="Direct link to How to" title="Direct link to How to"></a></h3>
diff --git a/blog/apache-answer-1.4.2-release/index.html b/blog/apache-answer-1.4.2-release/index.html
index d73c1e52b..01c81d157 100644
--- a/blog/apache-answer-1.4.2-release/index.html
+++ b/blog/apache-answer-1.4.2-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="attachment-upload">Attachment Upload<!-- --><a href="#attachment-upload" class="hash-link" aria-label="Direct link to Attachment Upload" title="Direct link to Attachment Upload"></a></h3>
<!-- --><p>We’re excited to introduce the long-awaited attachment-upload feature! Now you can easily share relevant files with your questions.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="attachment-upload.png" src="/assets/images/attachment-upload-2fac29f9349c5b9b430cc91f1dd9e924.png" width="1436" height="1082" class="img_RAU7"></p>
diff --git a/blog/apache-answer-backend-configuration-guide/index.html b/blog/apache-answer-backend-configuration-guide/index.html
index 5c8e4f3ba..a659d7759 100644
--- a/blog/apache-answer-backend-configuration-guide/index.html
+++ b/blog/apache-answer-backend-configuration-guide/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="preparation">Preparation<!-- --><a href="#preparation" class="hash-link" aria-label="Direct link to Preparation" title="Direct link to Preparation"></a></h2>
<!-- --><ol>
<!-- --><li>
diff --git a/blog/apache-answer-becomes-an-apache-software-foundation-top-level-project/index.html b/blog/apache-answer-becomes-an-apache-software-foundation-top-level-project/index.html
index af6c722dd..2a9456d78 100644
--- a/blog/apache-answer-becomes-an-apache-software-foundation-top-level-project/index.html
+++ b/blog/apache-answer-becomes-an-apache-software-foundation-top-level-project/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache Answer is a modern, open source Q&A platform designed to help organizations build their knowledge base and community. The software enables teams and communities to collaboratively create, share, and discover knowledge in a structured and efficient way.</p>
<!-- --><p>"Apache Answer's graduation as a Top-Level Project marks a significant milestone in our journey," said Ning Qi, Vice President of Apache Answer. "This achievement reflects the dedication of our community and the maturity of our platform in providing a Q&A platform solution for knowledge management and community engagement."</p>
<!-- --><p>Since its inception in October 2022, Apache Answer has gained significant traction in the open-source community, with contributions from over 80 developers who have collaboratively addressed hundreds of issues and pull requests. This active engagement demonstrates the project's vitality and commitment to continuous improvement, showcasing the power of collaborative open-source development.</p>
diff --git a/blog/apache-answer-coc-asia-2024/index.html b/blog/apache-answer-coc-asia-2024/index.html
index 0a30e46ab..1fb889207 100644
--- a/blog/apache-answer-coc-asia-2024/index.html
+++ b/blog/apache-answer-coc-asia-2024/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>This year, the event features one main forum,15 sub-forums with over 150 experts and mentors. Attendees can learn about Apache's latest breakthrough, upcoming innovations, and insights from community-driven projects guided by the Apache way, while exploring Apache's ecosystem, business models, legal issues, and more. The full breakout session schedule can be viewed <!-- --><a href="https://asia.communityovercode.org/schedule.html" target="_blank" rel="noopener norefe [...]
<!-- --><p>As an incubating project, Apache Answer is always open to communication and collaboration. We started our CommunityOverCode Asia journey from a booth last year, and this year we’re back with not just the booth, but <!-- --><strong>two sessions, and one keynote</strong>.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="see-you-in-our-sessions">See You in Our Sessions<!-- --><a href="#see-you-in-our-sessions" class="hash-link" aria-label="Direct link to See You in Our Sessions" title="Direct link to See You in Our Sessions"></a></h2>
diff --git a/blog/apache-answer-frontend-configuration-guide/index.html b/blog/apache-answer-frontend-configuration-guide/index.html
index 093fc4b78..e8d0842ac 100644
--- a/blog/apache-answer-frontend-configuration-guide/index.html
+++ b/blog/apache-answer-frontend-configuration-guide/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In the Answer community, we welcome and respect various <!-- --><a href="https://answer.apache.org/community/contributing/" target="_blank" rel="noopener noreferrer">Contributing Methods</a>. Whether you're a developer or not, you can follow the steps outlined in the article to complete the Answer frontend setup.<!-- --></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="1-download-nodejs-and-pnpm">1. Download Node.js and pnpm<!-- --><a href="#1-download-nodejs-and-pnpm" class="hash-link" aria-label="Direct link to 1. Download Node.js and pnpm" title="Direct link to 1. Download Node.js and pnpm"></a></h3>
<!-- --><p>Click <!-- --><a href="https://nodejs.org/en" target="_blank" rel="noopener noreferrer">here</a> to download Node.js, and select <!-- --><code>Node.js runtime</code> during installation. It is recommended to install it in the default location.
diff --git a/blog/apache-answer-joined-first-alc-hangzhou-meetup/index.html b/blog/apache-answer-joined-first-alc-hangzhou-meetup/index.html
index 11525e013..062429950 100644
--- a/blog/apache-answer-joined-first-alc-hangzhou-meetup/index.html
+++ b/blog/apache-answer-joined-first-alc-hangzhou-meetup/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>The meetup attracted a range of attendees from Apache ecosystem. PMC members and core committers from projects including Apache Dubbo, Apache RocketMQ, Apache Flink, Apache Paimon, Apache Fury, Apache Celeborn, and Apache HoraeDB shared and exchanged ideas on open-source field. Additionally, Ni Chao, professor of the School of Software Technology, Zhejiang University also participated in the event.</p>
<!-- --><p>Nadia Jiang, PPMC member of Answer, delivered opening remarks at the meetup. She shared her memory of joining the first ALC Beijing offline meetup and later became an organizer for the first CommunityOverCode Asia (formerly ApacheCon Asia).</p>
<!-- --><p>2024 is a milestone for Hangzhou open-source communities — the establishment of ALC Hangzhou, and the upcoming CommunityOverCode Asia 2024 conference, scheduled to take place in Hangzhou from July 26th to 28th. Both are poised to propel the advancement of open-source technologies, foster community growth, and facilitate collaboration among tech professionals.</p>
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 18f91d6f5..cab4d9a43 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/behind-the-plugin-meet-the-student-contributors/index.html b/blog/behind-the-plugin-meet-the-student-contributors/index.html
index 94fb700c6..863a4e9e3 100644
--- a/blog/behind-the-plugin-meet-the-student-contributors/index.html
+++ b/blog/behind-the-plugin-meet-the-student-contributors/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>To make it easier for beginners, we've listed our projects on platforms like <!-- --><a href="https://ovio.org/project/apache/answer" target="_blank" rel="noopener noreferrer">ovio</a>, <!-- --><a href="https://www.libhunt.com/r/answer" target="_blank" rel="noopener noreferrer">LibHunt</a>, and <!-- --><a href="https://sourceforge.net/projects/incubator-answer/" target="_blank" rel="noopener noreferrer">SourceForge</a> for easier discovery. We're glad to have receive [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="tell-us-more-about-the-plugin">Tell us more about the plugin.<!-- --><a href="#tell-us-more-about-the-plugin" class="hash-link" aria-label="Direct link to Tell us more about the plugin." title="Direct link to Tell us more about the plugin."></a></h2>
<!-- --><p>We've built a <!-- --><a href="https://github.com/apache/answer-plugins/tree/main/render-markdown-codehighlight" target="_blank" rel="noopener noreferrer">code highlighting plugin</a> using React and highlight.js. The plugin offers real-time syntax highlighting for a wide range of programming languages and supports dynamic theme switching. Users can choose from popular themes like GitHub Light and GitHub Dark, or create their own custom themes.<!-- --></p>
diff --git a/blog/behind-the-scene-how-we-launched-the-first-apache-release/index.html b/blog/behind-the-scene-how-we-launched-the-first-apache-release/index.html
index 2f75c88a4..3b1286c70 100644
--- a/blog/behind-the-scene-how-we-launched-the-first-apache-release/index.html
+++ b/blog/behind-the-scene-how-we-launched-the-first-apache-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p><strong>What's the next step?<!-- --><br>
<!-- -->Which document should I check?<!-- --></strong></p>
<!-- --><p>Joining the incubator was more than a new beginning, but a new way of collaboration that requires us to adapt to soon. Now that we finally <!-- --><a href="https://answer.apache.org/blog/a-new-chapter-begins-answer-first-apache-release-launches" target="_blank" rel="noopener noreferrer">shipped it</a>, and look back to the lessons we’ve learnt during the process. We’ve been received help from other projects, so it’s our chance to pave the way for more projects by sharing our e [...]
diff --git a/blog/build-a-save-and-respectful-community-with-answer-1.3.1/index.html b/blog/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
index 35e2342bd..e9225cdfa 100644
--- a/blog/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
+++ b/blog/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In this version, we add new tool for admin to define keyword lists to identify and review specific content beforehand, ensuring a safe space for everyone. Users can also mention the admin and moderator in comments of a post to seek response actively. New Captcha plugins are ready to safeguard your community.</p>
<!-- --><p>Ready to <!-- --><a href="https://answer.apache.org/docs/upgrade" target="_blank" rel="noopener noreferrer">upgrade</a>? Leave us several minutes to dive in.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-new">What’s New<!-- --><a href="#whats-new" class="hash-link" aria-label="Direct link to What’s New" title="Direct link to What’s New"></a></h2>
diff --git a/blog/build-your-online-community-like-the-pros-with-answer/index.html b/blog/build-your-online-community-like-the-pros-with-answer/index.html
index 6dba6382d..5184e7cfc 100644
--- a/blog/build-your-online-community-like-the-pros-with-answer/index.html
+++ b/blog/build-your-online-community-like-the-pros-with-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Having the idea of running an online community is remarkable, but don’t step back when thinking to make it happen in the reality. In today’s read, you’ll set up and launch your online community in just 4 steps with Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="customize-your-branding">Customize Your Branding<!-- --><a href="#customize-your-branding" class="hash-link" aria-label="Direct link to Customize Your Branding" title="Direct link to Customize Your Branding"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="/assets/images/AnswerCommuties-a2b9fc072206306945651b9d9718171d.png" width="844" height="544" class="img_RAU7"></p>
diff --git a/blog/category/best-practice/index.html b/blog/category/best-practice/index.html
index 261e7febd..47024e30e 100644
--- a/blog/category/best-practice/index.html
+++ b/blog/category/best-practice/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/category/community/index.html b/blog/category/community/index.html
index a09b70983..1bacd0438 100644
--- a/blog/category/community/index.html
+++ b/blog/category/community/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/category/community/page/2/index.html b/blog/category/community/page/2/index.html
index 114647847..8385df18f 100644
--- a/blog/category/community/page/2/index.html
+++ b/blog/category/community/page/2/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/category/insights/index.html b/blog/category/insights/index.html
index 255ca54cc..bef357136 100644
--- a/blog/category/insights/index.html
+++ b/blog/category/insights/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/category/newsletter/index.html b/blog/category/newsletter/index.html
index 7490a271b..99902c7cd 100644
--- a/blog/category/newsletter/index.html
+++ b/blog/category/newsletter/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/category/release/index.html b/blog/category/release/index.html
index 5ab5e3a66..a66649fc8 100644
--- a/blog/category/release/index.html
+++ b/blog/category/release/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/category/tech/index.html b/blog/category/tech/index.html
index 8df68301b..27c2a34c8 100644
--- a/blog/category/tech/index.html
+++ b/blog/category/tech/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/category/tutorials/index.html b/blog/category/tutorials/index.html
index 19617b27a..d0594d7f0 100644
--- a/blog/category/tutorials/index.html
+++ b/blog/category/tutorials/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html b/blog/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
index 1abd1bf50..74bd0954c 100644
--- a/blog/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
+++ b/blog/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>October also marks the 10th anniversary of Hacktoberfest, an annual month-long event that encourages open-source software contributions. Founded in 2014, Hacktoberfest encourages participants to make contributions and support open-source projects they love on GitHub. These contributions include coding, low code, and non-code contributions, encouraging more individuals to collaborate and be a part of the open-source community.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="Hacktoberfest2023" src="/assets/images/Hacktoberfest 2023-cdbccd553b744ed70d5d5728bd517f3c.jpeg" width="1440" height="810" class="img_RAU7"></p>
<!-- --><p>We are so glad that to participate in our first Hacktoberfest as a partner of <!-- --><a href="https://www.illacloud.com/hacktoberfest2023/?utm_source=newsletter&utm_medium=email&utm_campaign=newsletter-email-hacktoberfest2023-answer-0925" target="_blank" rel="noopener noreferrer">ILLA Cloud</a>, and here’s everything you need to know to be a part of our event.<!-- --></p>
diff --git a/blog/deploy-answer-https/index.html b/blog/deploy-answer-https/index.html
index 1c0390abb..95049aa30 100644
--- a/blog/deploy-answer-https/index.html
+++ b/blog/deploy-answer-https/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>I am already running Answer on my server, but I want to access it using HTTPS. How can I do that?</p>
<!-- --></blockquote>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="background">Background<!-- --><a href="#background" class="hash-link" aria-label="Direct link to Background" title="Direct link to Background"></a></h2>
diff --git a/blog/everything-you-need-to-know-about-answer/index.html b/blog/everything-you-need-to-know-about-answer/index.html
index 705d8afe2..ebd95cc96 100644
--- a/blog/everything-you-need-to-know-about-answer/index.html
+++ b/blog/everything-you-need-to-know-about-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Today, we'll share more stories behind Answer: how we started it, the tech stack we picked, and the next step on our roadmap. Find out more about Answer, and have a deeper understanding of Answer, our motivation, and the people behind it.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-answer">What is Answer<!-- --><a href="#what-is-answer" class="hash-link" aria-label="Direct link to What is Answer" title="Direct link to What is Answer"></a></h2>
<!-- --><p>Answer is a Q&A software which allows users to ask and answer questions about a particular topic or subject. It’s open-source, and everyone can access it freely.
diff --git a/blog/everything-you-need-to-know-about-knowledge-base/index.html b/blog/everything-you-need-to-know-about-knowledge-base/index.html
index cbe97a0a5..0ca15c8dd 100644
--- a/blog/everything-you-need-to-know-about-knowledge-base/index.html
+++ b/blog/everything-you-need-to-know-about-knowledge-base/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>If you’re considering having a knowledge base, you’re in the right place. In today’s read, we’ll explain knowledge base, benefits, and a self-host knowledge base built with Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-knowledge-base">What is Knowledge Base<!-- --><a href="#what-is-knowledge-base" class="hash-link" aria-label="Direct link to What is Knowledge Base" title="Direct link to What is Knowledge Base"></a></h2>
<!-- --><p>In a simple way: a knowledge base is an online library where you can store, organize, and retrieve information easily.</p>
diff --git a/blog/first-contribution-come-to-answer/index.html b/blog/first-contribution-come-to-answer/index.html
index 5c87e55d6..23618a361 100644
--- a/blog/first-contribution-come-to-answer/index.html
+++ b/blog/first-contribution-come-to-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>As a 1-year-old project, we started our journey with the dream of making everyone find the best answer like breathing, as well as, unlocking the collective wisdom for teams at any scale.</p>
<!-- --><p>We welcome new contributors to join our open-source journey. No matter your skill level or background, there's always a place for you in our community. Whether you want to code, write documentation, share your expertise, or simply offer feedback, your contributions will help us shine even brighter.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="why-apache-answer">Why Apache Answer<!-- --><a href="#why-apache-answer" class="hash-link" aria-label="Direct link to Why Apache Answer" title="Direct link to Why Apache Answer"></a></h2>
diff --git a/blog/guide-to-add-answer-plugins/index.html b/blog/guide-to-add-answer-plugins/index.html
index 37a5b15ad..3c8cde800 100644
--- a/blog/guide-to-add-answer-plugins/index.html
+++ b/blog/guide-to-add-answer-plugins/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="download-plugins">Download Plugins<!-- --><a href="#download-plugins" class="hash-link" aria-label="Direct link to Download Plugins" title="Direct link to Download Plugins"></a></h2>
<!-- --><ol>
<!-- --><li>Click <!-- --><a href="https://github.com/apache/answer-plugins/tree/main" target="_blank" rel="noopener noreferrer">here</a> to download the desired plugin from the official Apache Answer plugin repository.<!-- --></li>
diff --git a/blog/how-release-managers-make-the-release-process-productive/index.html b/blog/how-release-managers-make-the-release-process-productive/index.html
index 84df96493..f5c09f061 100644
--- a/blog/how-release-managers-make-the-release-process-productive/index.html
+++ b/blog/how-release-managers-make-the-release-process-productive/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Since joining the Apache Incubator in October 2023, Apache Answer has released 8 Apache versions with 4 release managers involved. With their help, the project has accumulated Apache release experience. The process of merging code and packaging has become smoother, the Release doc includes more details, and the recent added email templates make writing voting emails easier.</p>
<!-- --><p>In today's read, we will look back at the challenges encountered by the release managers during the release, how they solved them, and how they improved the release documentation and the release process.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="evolution-of-the-release-doc">Evolution of the Release Doc<!-- --><a href="#evolution-of-the-release-doc" class="hash-link" aria-label="Direct link to Evolution of the Release Doc" title="Direct link to Evolution of the Release Doc"></a></h2>
diff --git a/blog/how-to-build-a-help-center-with-your-users-and-answer/index.html b/blog/how-to-build-a-help-center-with-your-users-and-answer/index.html
index c53196454..484246947 100644
--- a/blog/how-to-build-a-help-center-with-your-users-and-answer/index.html
+++ b/blog/how-to-build-a-help-center-with-your-users-and-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In today’s blog, we will build a help center from the scratch with a bit of community sprit in Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-a-help-center">What’s a Help Center<!-- --><a href="#whats-a-help-center" class="hash-link" aria-label="Direct link to What’s a Help Center" title="Direct link to What’s a Help Center"></a></h2>
<!-- --><p>A Help Center serves as a valuable resource for users. It provides customers immediate help by helping them find answers and resolve issues independently.</p>
diff --git a/blog/how-to-improve-knowledge-sharing-with-answer/index.html b/blog/how-to-improve-knowledge-sharing-with-answer/index.html
index 20455b388..477337cad 100644
--- a/blog/how-to-improve-knowledge-sharing-with-answer/index.html
+++ b/blog/how-to-improve-knowledge-sharing-with-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Answer was inspired by the inherent openness of Q&A platforms and communities. As the team behind Answer, we appreciate and embody the spirit of knowledge sharing when tuning Answer.</p>
<!-- --><p>In this blog, we will explore types of knowledge, ways of knowledge sharing, and strategies to improve knowledge sharing for your team with Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-knowledge-sharing">What is Knowledge Sharing?<!-- --><a href="#what-is-knowledge-sharing" class="hash-link" aria-label="Direct link to What is Knowledge Sharing?" title="Direct link to What is Knowledge Sharing?"></a></h2>
diff --git a/blog/how-to-manage-content-system-efficiently-with-answer/index.html b/blog/how-to-manage-content-system-efficiently-with-answer/index.html
index 396ba8ab2..863ad4bb4 100644
--- a/blog/how-to-manage-content-system-efficiently-with-answer/index.html
+++ b/blog/how-to-manage-content-system-efficiently-with-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="flag-everyone-is-a-part-of-it">Flag: Everyone is a Part of it<!-- --><a href="#flag-everyone-is-a-part-of-it" class="hash-link" aria-label="Direct link to Flag: Everyone is a Part of it" title="Direct link to Flag: Everyone is a Part of it"></a></h2>
<!-- --><p>A vibrant community is about trust, and Flag is a reflection of this. In Answer, we put the safety and well-being of the community in the hands of all community members. With flag, users can flag content that violates community guidelines immediately.
<!-- --><img decoding="async" loading="lazy" alt="User Can Flag a Post in Answer" src="/assets/images/user-flag-2aed4d0dd31d463d7a88a57765bdf9d2.png" width="1600" height="1600" class="img_RAU7"></p>
diff --git a/blog/how-to-package-and-deploy-answer-plugins/index.html b/blog/how-to-package-and-deploy-answer-plugins/index.html
index cec3a3f9c..65ead9b80 100644
--- a/blog/how-to-package-and-deploy-answer-plugins/index.html
+++ b/blog/how-to-package-and-deploy-answer-plugins/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In this blog, we’ll guide you through the process of packing your Answer plugin with step-by-step tutorial.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="getting-started">Getting Started<!-- --><a href="#getting-started" class="hash-link" aria-label="Direct link to Getting Started" title="Direct link to Getting Started"></a></h2>
<!-- --><p>To get started, please make sure you have a development environment set up with the following: Node.js, pnpm, Docker, Go etc. Don’t forget to check the official documentation for <!-- --><a href="https://answer.apache.org/docs/development/" target="_blank" rel="noopener noreferrer">development guide</a>.<!-- --></p>
diff --git a/blog/how-to-search-like-a-pro-in-answer/index.html b/blog/how-to-search-like-a-pro-in-answer/index.html
index a2f326d84..828fdc27b 100644
--- a/blog/how-to-search-like-a-pro-in-answer/index.html
+++ b/blog/how-to-search-like-a-pro-in-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="search-bar">Search Bar<!-- --><a href="#search-bar" class="hash-link" aria-label="Direct link to Search Bar" title="Direct link to Search Bar"></a></h2>
<!-- --><p>The search bar locates at the top of every page. Whether you’re browsing on the homepage, or taking a closer look at a post, you can always type and search for the content you require.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="Search Bar in Answer Locates on the Top of Every Page" src="/assets/images/Search Bar-0b2cfd9a34cd0f5116752baf66025911.png" width="1200" height="470" class="img_RAU7"></p>
diff --git a/blog/how-to-use-answer-for-effective-knowledge-retention/index.html b/blog/how-to-use-answer-for-effective-knowledge-retention/index.html
index 1a2bd8201..cda4f8f33 100644
--- a/blog/how-to-use-answer-for-effective-knowledge-retention/index.html
+++ b/blog/how-to-use-answer-for-effective-knowledge-retention/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>We’ve stepped into the world of Q&A platform, and let’s dive in to tackle this challenge together.</p>
<!-- --><p>In this article, we will figure out what is knowledge retention for both individuals and businesses, understand why it’s important, strategies that help you to prevent the collective wisdom of your business, and how Answer can help you with this.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-knowledge-retention">What is Knowledge Retention<!-- --><a href="#what-is-knowledge-retention" class="hash-link" aria-label="Direct link to What is Knowledge Retention" title="Direct link to What is Knowledge Retention"></a></h2>
diff --git a/blog/how-to-utilize-reputation-and-privilege-in-online-community/index.html b/blog/how-to-utilize-reputation-and-privilege-in-online-community/index.html
index ea0101ade..18fab024c 100644
--- a/blog/how-to-utilize-reputation-and-privilege-in-online-community/index.html
+++ b/blog/how-to-utilize-reputation-and-privilege-in-online-community/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Besides <!-- --><a href="/blog/the-what-why-using-tags-for-online-community">tagging</a>, <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> is an important part of <!-- --><strong>content management</strong> in Answer. Community members gain reputation scores by adhering to community guidelines and continuous contributions. Community moderators and administrators use reputation scores to determ [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="purposes-of-reputation">Purposes of Reputation<!-- --><a href="#purposes-of-reputation" class="hash-link" aria-label="Direct link to Purposes of Reputation" title="Direct link to Purposes of Reputation"></a></h2>
<!-- --><p>In the mid-1900s, eBay introduced a feedback system, allowing buyers and sellers to rate each other based on transaction experience. This feedback mechanism, which influenced the reputation of users, helped build trust within the <!-- --><a href="/blog/what-is-q-and-a-platform-and-how-to-use-it">Q&A platform</a>.<!-- --></p>
diff --git a/blog/index.html b/blog/index.html
index ef5ef5dc1..c5b0e02b1 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/install-and-run-apache-answer-on-ubuntu-vps/index.html b/blog/install-and-run-apache-answer-on-ubuntu-vps/index.html
index ff2aac1fc..837ad78ab 100644
--- a/blog/install-and-run-apache-answer-on-ubuntu-vps/index.html
+++ b/blog/install-and-run-apache-answer-on-ubuntu-vps/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache Answer is a Q&A platform that helps teams build communities and share knowledge. It can be used as a help center, community forum, or knowledge management platform. Apache Answer is open source and incubates at <!-- --><a href="https://incubator.apache.org/" target="_blank" rel="noopener noreferrer">Apache Incubator</a>.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="prerequisites">Prerequisites<!-- --><a href="#prerequisites" class="hash-link" aria-label="Direct link to Prerequisites" title="Direct link to Prerequisites"></a></h2>
<!-- --><p>This guide assumes the following prerequisites are met:</p>
diff --git a/blog/lufei-asf-journey-from-contributor-to-ppmc-member/index.html b/blog/lufei-asf-journey-from-contributor-to-ppmc-member/index.html
index e3bf1c33b..edded8bfc 100644
--- a/blog/lufei-asf-journey-from-contributor-to-ppmc-member/index.html
+++ b/blog/lufei-asf-journey-from-contributor-to-ppmc-member/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
Lu Fei has been involved in Apache Answer community since last October. Today, he has submitted 42 PRs and resolved 31 Issues in both the main and the plugin repository. As an active community member, Lu Fei’s contribution covers bug fixes, new features, and doc improvement.</p>
<!-- --><p>We invite Lu Fei to share his journey with Apache Answer and we hope that his story can inspire more open-source enthusiasts.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="meet-apache-answer">Meet Apache Answer<!-- --><a href="#meet-apache-answer" class="hash-link" aria-label="Direct link to Meet Apache Answer" title="Direct link to Meet Apache Answer"></a></h2>
diff --git a/blog/meet-our-release-manager-linkinstars/index.html b/blog/meet-our-release-manager-linkinstars/index.html
index 3619813c8..b74c53a46 100644
--- a/blog/meet-our-release-manager-linkinstars/index.html
+++ b/blog/meet-our-release-manager-linkinstars/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Speaking of releases, we can’t neglect Release Manager. The person who makes sure that everything is compliant and everyone can access to the latest version. We talked to LinkinStars, the conductor behind each Apache Answer release. Let's see how he sees this role, how he handles obstacles, and his secrets to a smooth release.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="tell-us-a-bit-about-yourself">Tell us a bit about yourself<!-- --><a href="#tell-us-a-bit-about-yourself" class="hash-link" aria-label="Direct link to Tell us a bit about yourself" title="Direct link to Tell us a bit about yourself"></a></h2>
<!-- --><p>I am the backend developer for Apache Answer. My daily routine includes developing the backend services of Answer, developing APIs, etc. I like coding, reading, and learning English. My tech stack is mainly Go, and my favorite open-source project is Kubernetes.</p>
diff --git a/blog/must-read-notes-for-your-first-answer-contribution/index.html b/blog/must-read-notes-for-your-first-answer-contribution/index.html
index 7d46a5c5e..401050998 100644
--- a/blog/must-read-notes-for-your-first-answer-contribution/index.html
+++ b/blog/must-read-notes-for-your-first-answer-contribution/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>I want to contribute code to Answer, so what do I need to be concerned about when contributing for the first time?</p>
<!-- --></blockquote>
<!-- --><p>In this blog, I want to talk about the first contribution to Answer. This blog aims to help you contribute to Answer more professionally.</p>
diff --git a/blog/page/2/index.html b/blog/page/2/index.html
index c5927b97b..4da11b9f8 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/page/3/index.html b/blog/page/3/index.html
index b0068bd08..5e5f392f6 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/page/4/index.html b/blog/page/4/index.html
index 03b37ea7b..4bd5fa2a9 100644
--- a/blog/page/4/index.html
+++ b/blog/page/4/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>That's when open-source software — offering a collaborative, effective, and secure experience — showed up. Open source forms the heart and soul of Answer since the day Answer launched.</p>
<!-- --><p>Before knowing why Answer is open-source, we will take a nibble on open-source, and examples beforehand.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-open-source">What is Open-source?<!-- --><a href="#what-is-open-source" class="hash-link" aria-label="Direct link to What is Open-source?" title="Direct link to What is Open-source?"></a></h2>
diff --git a/blog/project-ideas-for-google-summer-of-code-2024/index.html b/blog/project-ideas-for-google-summer-of-code-2024/index.html
index 6f68dc57f..5e73425b0 100644
--- a/blog/project-ideas-for-google-summer-of-code-2024/index.html
+++ b/blog/project-ideas-for-google-summer-of-code-2024/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="project-ideas">Project Ideas<!-- --><a href="#project-ideas" class="hash-link" aria-label="Direct link to Project Ideas" title="Direct link to Project Ideas"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="plugin-ldap-authentication">Plugin: LDAP Authentication<!-- --><a href="#plugin-ldap-authentication" class="hash-link" aria-label="Direct link to Plugin: LDAP Authentication" title="Direct link to Plugin: LDAP Authentication"></a></h3>
<!-- --><ul>
diff --git a/blog/reflection-and-tips-for-your-next-open-source-events/index.html b/blog/reflection-and-tips-for-your-next-open-source-events/index.html
index 119ccf14e..b652bb9cd 100644
--- a/blog/reflection-and-tips-for-your-next-open-source-events/index.html
+++ b/blog/reflection-and-tips-for-your-next-open-source-events/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>We were grateful to be given these chances. In this blog, we would love to share tips here for more open-source projects showcasing themselves on the stage next time.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="wearedev-world-congress-github-open-source-spotlight">WeAreDev World Congress GitHub Open Source Spotlight<!-- --><a href="#wearedev-world-congress-github-open-source-spotlight" class="hash-link" aria-label="Direct link to WeAreDev World Congress GitHub Open Source Spotlight" title="Direct link to WeAreDev World Congress GitHub Open Source Spotlight"></a></h2>
<!-- --><p>As world’s leading event for developers and tech decision-makers, WeAreDev World Congress welcomes more than 15,000 developers and over 500 speakers sharing their expertise and visions of future trends in modern software development.</p>
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 38807ebe4..3bbe35347 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/tutorials/index.html b/blog/tags/tutorials/index.html
index d1c949960..0874e4fd9 100644
--- a/blog/tags/tutorials/index.html
+++ b/blog/tags/tutorials/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/the-what-why-using-tags-for-online-community/index.html b/blog/the-what-why-using-tags-for-online-community/index.html
index 571ff639f..694e4dda8 100644
--- a/blog/the-what-why-using-tags-for-online-community/index.html
+++ b/blog/the-what-why-using-tags-for-online-community/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Organizing content is the key for the community, and using tags to categorize and structure content is the key to keep community organized.</p>
<!-- --><p>Discover more about tags, benefits, and how vital they are for organizing content in Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-are-tags">What are Tags<!-- --><a href="#what-are-tags" class="hash-link" aria-label="Direct link to What are Tags" title="Direct link to What are Tags"></a></h2>
diff --git a/blog/what-is-new-in-apache-answer-1.3.0/index.html b/blog/what-is-new-in-apache-answer-1.3.0/index.html
index 448fd1fe5..0b5a04791 100644
--- a/blog/what-is-new-in-apache-answer-1.3.0/index.html
+++ b/blog/what-is-new-in-apache-answer-1.3.0/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In <!-- --><a href="https://github.com/apache/answer/releases/tag/v1.3.0" target="_blank" rel="noopener noreferrer">Answer 1.3.0</a>, we’re moving forward to make review and navigation better for you. Here are the features, new improves, and gratitude to all the contributors. <!-- --><a href="https://answer.apache.org/docs/upgrade" target="_blank" rel="noopener noreferrer">Upgrade</a> now and enjoy the reading today.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-new">What’s New<!-- --><a href="#whats-new" class="hash-link" aria-label="Direct link to What’s New" title="Direct link to What’s New"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="review-in-one-place">Review in One Place<!-- --><a href="#review-in-one-place" class="hash-link" aria-label="Direct link to Review in One Place" title="Direct link to Review in One Place"></a></h3>
diff --git a/blog/what-is-q-and-a-platform-and-how-to-use-it/index.html b/blog/what-is-q-and-a-platform-and-how-to-use-it/index.html
index 29f0229cd..3c8ccdc3a 100644
--- a/blog/what-is-q-and-a-platform-and-how-to-use-it/index.html
+++ b/blog/what-is-q-and-a-platform-and-how-to-use-it/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>According to the <!-- --><a href="https://www.verifiedmarketresearch.com/product/qa-platforms-market/" target="_blank" rel="noopener noreferrer">Verified Market Research</a>, Q&A platforms market is projected to reach 5,200.18 thousand by 2027, growing at a CAGR of 8.17% from 2020 to 2027.<!-- --></p>
<!-- --><p>In this blog, we'll dive in Q&A platform, explore popular Q&A platforms, and what you can do to get the most out of it.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-qa-platform">What is Q&A Platform<!-- --><a href="#what-is-qa-platform" class="hash-link" aria-label="Direct link to What is Q&A Platform" title="Direct link to What is Q&A Platform"></a></h2>
diff --git a/blog/why-open-source-is-the-essence-of-answer/index.html b/blog/why-open-source-is-the-essence-of-answer/index.html
index 1825ccf41..e721d3e5c 100644
--- a/blog/why-open-source-is-the-essence-of-answer/index.html
+++ b/blog/why-open-source-is-the-essence-of-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>That's when open-source software — offering a collaborative, effective, and secure experience — showed up. Open source forms the heart and soul of Answer since the day Answer launched.</p>
<!-- --><p>Before knowing why Answer is open-source, we will take a nibble on open-source, and examples beforehand.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-open-source">What is Open-source?<!-- --><a href="#what-is-open-source" class="hash-link" aria-label="Direct link to What is Open-source?" title="Direct link to What is Open-source?"></a></h2>
diff --git a/blog/why-the-answer-plugin-system-was-designed-this-way/index.html b/blog/why-the-answer-plugin-system-was-designed-this-way/index.html
index 1c39c9a74..ac7416077 100644
--- a/blog/why-the-answer-plugin-system-was-designed-this-way/index.html
+++ b/blog/why-the-answer-plugin-system-was-designed-this-way/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><ol>
<!-- --><li>Why is Answer's plugin system designed in such a way that it seems a bit difficult to use?</li>
<!-- --><li>How can I implement plugin functionality using Golang?</li>
diff --git a/community/blog-post/index.html b/community/blog-post/index.html
index 2fa07f1ae..daf5ce521 100644
--- a/community/blog-post/index.html
+++ b/community/blog-post/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Blogs are one of the easiest ways to <!-- --><a href="/community/contributing#get-involved">get involved</a> in Apache Answer. It is also a great way to share your knowledge and experience with others.<!-- --></p>
<!-- --><p>If you've used Apache Answer to build your own Q&A community, or if Apache Answer has helped you solve a problem, we'd love to hear your story. We also encourage you to share tips and tricks for using Apache Answer, or to write about how to contribute to the project.</p>
<!-- --><p>To get started, just read our blog guidelines and get writing!</p>
@@ -96,6 +96,6 @@
<!-- --></li>
<!-- --></ol>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="others">Others<!-- --><a href="#others" class="hash-link" aria-label="Direct link to Others" title="Direct link to Others"></a></h2>
-<!-- --><p>For code submitting, you may also need to learn <!-- --><a href="https://git-scm.com/" target="_blank" rel="noopener noreferrer">Git</a> and <!-- --><a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork" target="_blank" rel="noopener noreferrer">Pull Request</a>.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-m [...]
+<!-- --><p>For code submitting, you may also need to learn <!-- --><a href="https://git-scm.com/" target="_blank" rel="noopener noreferrer">Git</a> and <!-- --><a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork" target="_blank" rel="noopener noreferrer">Pull Request</a>.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-m [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/contributing/index.html b/community/contributing/index.html
index ffc22a6b1..f86a3102a 100644
--- a/community/contributing/index.html
+++ b/community/contributing/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Thanks for your interest in contributing to Apache Answer, hopefully, this document makes the process for contributing clear.</p>
<!-- --><p>The <!-- --><a href="https://opensource.guide/" target="_blank" rel="noopener noreferrer">Open Source Guides</a> website has a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project. Contributors and people new to open source alike will find the following guides especially useful:<!-- --></p>
<!-- --><ul>
@@ -88,6 +88,6 @@
<!-- --><li>The <!-- --><code>main</code> branch corresponds to the <!-- --><strong>latest version</strong> of answer. If you're doing a <!-- --><strong>fix</strong> for the latest version, then select the main branch.<!-- --></li>
<!-- --><li>The <!-- --><code>dev</code> branch is for the <!-- --><strong>next version</strong>, so if you're working on a <!-- --><strong>new feature</strong>, checkout of the dev branch and PR for it.<!-- --></li>
<!-- --></ul>
-<!-- --><p>Normally, we mark milestones on an issue to keep track of which version the issue should be fixed in. So you can check which version you should commit to based on the milestone.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/contributing/contributing.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fil [...]
+<!-- --><p>Normally, we mark milestones on an issue to keep track of which version the issue should be fixed in. So you can check which version you should commit to based on the milestone.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/contributing/contributing.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fil [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/how-to-release/index.html b/community/how-to-release/index.html
index b3b965b45..0d67cfdce 100644
--- a/community/how-to-release/index.html
+++ b/community/how-to-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>All Apache projects are required to follow the <!-- --><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">Apache Release Policy</a>. This guide is intended to help you understand the policy and how to release projects at Apache.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="release-process">Release Process<!-- --><a href="#release-process" class="hash-link" aria-label="Direct link to Release Process" title="Direct link to Release Process"></a></h2>
<!-- --><ol>
@@ -106,6 +106,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="announce-the-vote-result-and-release">Announce the vote result and release.<!-- --><a href="#announce-the-vote-result-and-release" class="hash-link" aria-label="Direct link to Announce the vote result and release." title="Direct link to Announce the vote result and release."></a></h2>
<!-- --><p>After the vote is passed, send an email to the an <!-- --><a href="mailto:announce@apache.org" target="_blank" rel="noopener noreferrer">announce@apache.org</a> and cc <!-- --><a href="mailto:dev@answer.apache.org" target="_blank" rel="noopener noreferrer">dev@answer.apache.org</a> to announce the vote result and release.<!-- --></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="email-template">email template<!-- --><a href="#email-template" class="hash-link" aria-label="Direct link to email template" title="Direct link to email template"></a></h3>
-<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">Hello everyone,</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-bl [...]
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">Hello everyone,</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-bl [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/issues/index.html b/community/issues/index.html
index 02cc49f60..309f36aaf 100644
--- a/community/issues/index.html
+++ b/community/issues/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>There are some repos in the Apache Answer project, you can raise your issue for different repos.</p>
<!-- --><table><thead><tr><th>Repo</th><th>Description</th><th>Issues</th></tr></thead><tbody><tr><td>Apache Answer</td><td>Apache Answer core code</td><td><a href="https://github.com/apache/answer/issues" target="_blank" rel="noopener noreferrer">Issues</a></td></tr><tr><td>Apache Answer Plugins</td><td>Apache Answer plugins code</td><td><a href="https://github.com/apache/answer-plugins/issues" target="_blank" rel="noopener noreferrer">Issues</a></td></tr><tr><td>Apache Answer Website</ [...]
<!-- --><p>When opening a new issue, always make sure to fill out the issue template. <!-- --><strong>This step is very important!</strong> Not doing so may result in your issue not being managed in a timely fashion. Don't take this personally if this happens, and feel free to open a new issue once you've gathered all the information required by the template.<!-- --></p>
@@ -39,6 +39,6 @@
<!-- --><p>If we think the feature request is a good idea, we'll add it to the roadmap and set the milestone. If you want to implement it, comment on the issue, and we'll assign it to you.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="issues-labels">Issues labels<!-- --><a href="#issues-labels" class="hash-link" aria-label="Direct link to Issues labels" title="Direct link to Issues labels"></a></h2>
<!-- --><p>We use labels to categorize issues.</p>
-<!-- --><table><thead><tr><th>Label</th><th>Description</th></tr></thead><tbody><tr><td><code>bug</code></td><td>Indicates an unexpected problem or unintended behavior</td></tr><tr><td><code>documentation</code></td><td>Indicates a need for improvements or additions to documentation</td></tr><tr><td><code>duplicate</code></td><td>Indicates similar issues, pull requests, or discussions</td></tr><tr><td><code>new-feature</code></td><td>Indicates new feature requests</td></tr><tr><td><code> [...]
+<!-- --><table><thead><tr><th>Label</th><th>Description</th></tr></thead><tbody><tr><td><code>bug</code></td><td>Indicates an unexpected problem or unintended behavior</td></tr><tr><td><code>documentation</code></td><td>Indicates a need for improvements or additions to documentation</td></tr><tr><td><code>duplicate</code></td><td>Indicates similar issues, pull requests, or discussions</td></tr><tr><td><code>new-feature</code></td><td>Indicates new feature requests</td></tr><tr><td><code> [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/pull-request/index.html b/community/pull-request/index.html
index 987461dff..7e7ad2c38 100644
--- a/community/pull-request/index.html
+++ b/community/pull-request/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>We appreciate you taking the time to contribute! Before submitting a pull request, we ask that you please create an issue that explains the bug or feature request and let us know that you plan on creating a pull request for it. If an issue already exists, please comment on that issue letting us know you would like to submit a pull request for it. This helps us to keep track of the pull request and make sure there isn't duplicated effort.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="semantic-commit-messages">Semantic commit messages<!-- --><a href="#semantic-commit-messages" class="hash-link" aria-label="Direct link to Semantic commit messages" title="Direct link to Semantic commit messages"></a></h2>
<!-- --><p>Following the format below when committing message can make you a better programmer.</p>
@@ -60,6 +60,6 @@
<!-- --><p>For larger contributions, contributed by a single original author, we might ask you to submit an <!-- --><a href="https://www.apache.org/licenses/contributor-agreements.html" target="_blank" rel="noopener noreferrer">Individual Contributor License Agreement (ICLA)</a> form. The copyright on your code will still belong to you, but the ICLA helps protect the users of Apache Answer. All project Committers have also signed this form.<!-- --></p>
<!-- --><p>If you have already signed an Apache ICLA, no need to send an email. As you have already submitted an ICLA under your public name, no need to resubmit it. If you have never signed an ICLA, please indicate this in your email, and PMC can apply for this account directly.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="develop-and-contribute">Develop and Contribute<!-- --><a href="#develop-and-contribute" class="hash-link" aria-label="Direct link to Develop and Contribute" title="Direct link to Develop and Contribute"></a></h2>
-<!-- --><p>Please refer to <!-- --><a href="/docs/development">the documentation</a> for details.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/contributing/pull-request.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" a [...]
+<!-- --><p>Please refer to <!-- --><a href="/docs/development">the documentation</a> for details.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/contributing/pull-request.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" a [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/security-model/index.html b/community/security-model/index.html
index 5c37a761d..0572025f7 100644
--- a/community/security-model/index.html
+++ b/community/security-model/index.html
@@ -10,12 +10,13 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>This document outlines the security model of Apache Answer. It aims to help users understand the security model and make informed decisions about deploying and managing Apache Answer securely.</p>
+<!-- --><p>If you think you have found behavior in Apache Answer that does not follow this security model, please <!-- --><a href="/community/security">report it</a> to us privately.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="admin-permission-security">Admin Permission Security<!-- --><a href="#admin-permission-security" class="hash-link" aria-label="Direct link to Admin Permission Security" title="Direct link to Admin Permission Security"></a></h2>
<!-- --><p><strong>Admin users have full system permissions</strong>, which includes access to potentially vulnerable operations. While we assume administrators won't attack their own websites, it's crucial to exercise caution when assigning admin privileges.<!-- --></p>
<!-- --><p>So, if a security issue comes up in the administrator page, this is usually not considered a problem. Because the administrator has the authority to do so. Unless a normal user can overstep his authority to operate outside of his capabilities.</p>
@@ -24,6 +25,6 @@
<!-- --><p><img decoding="async" loading="lazy" alt="captcha" src="/assets/images/captcha-04b01e4e1e95d76f2b41e14b529bbb04.png" width="2168" height="202" class="img_RAU7"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="custom-plugin-security">Custom Plugin Security<!-- --><a href="#custom-plugin-security" class="hash-link" aria-label="Direct link to Custom Plugin Security" title="Direct link to Custom Plugin Security"></a></h2>
<!-- --><p>Apache Answer only guarantees the security of official plugins distributed through our <!-- --><a href="https://github.com/apache/answer-plugins" target="_blank" rel="noopener noreferrer">official repository</a>. We take no responsibility for security issues arising from third-party plugins.<!-- --></p>
-<!-- --><div class="theme-admonition theme-admonition-caution admonition_inHR alert alert--warning"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>c [...]
+<!-- --><div class="theme-admonition theme-admonition-caution admonition_inHR alert alert--warning"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>c [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/security/index.html b/community/security/index.html
index f7674af79..18825bf61 100644
--- a/community/security/index.html
+++ b/community/security/index.html
@@ -3,19 +3,19 @@
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.1.1">
-<title data-rh="true">Security | Apache Answer</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://answer.apache.org/img/head-icon.png"><meta data-rh="true" name="twitter:image" content="https://answer.apache.org/img/head-icon.png"><meta data-rh="true" property="og:url" content="https://answer.apache.org/community/security"> [...]
+<title data-rh="true">Security | Apache Answer</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://answer.apache.org/img/head-icon.png"><meta data-rh="true" name="twitter:image" content="https://answer.apache.org/img/head-icon.png"><meta data-rh="true" property="og:url" content="https://answer.apache.org/community/security"> [...]
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache Answer RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Answer Atom Feed">
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. If you find a security bug, with that in mind, please do not file public issues. You can follow the instructions in the <!-- --><a href="https://github.com/apache/answer/security/policy" target="_blank" rel="noopener noreferrer">security policy</a> to report it privately. We will fix it as soon as possible.<!-- --></p>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. If you find a security bug, with that in mind, please do not file public issues. Before reporting a security issue, check the <!-- --><a href="/community/security-model">security model</a>. You can follow the instructions in the <!-- --><a href="https://github.com/apache/answer/security/policy" target="_blank" rel="noopener noreferrer">security policy</a> to report i [...]
<!-- --><h1>Security fixes</h1>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="v140">v1.4.0<!-- --><a href="#v140" class="hash-link" aria-label="Direct link to v1.4.0" title="Direct link to v1.4.0"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="cve-2024-45719">CVE-2024-45719<!-- --><a href="#cve-2024-45719" class="hash-link" aria-label="Direct link to CVE-2024-45719" title="Direct link to CVE-2024-45719"></a></h3>
@@ -45,6 +45,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="v120">v1.2.0<!-- --><a href="#v120" class="hash-link" aria-label="Direct link to v1.2.0" title="Direct link to v1.2.0"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="cve-2023-49619">CVE-2023-49619<!-- --><a href="#cve-2023-49619" class="hash-link" aria-label="Direct link to CVE-2023-49619" title="Direct link to CVE-2023-49619"></a></h3>
<!-- --><p>Under normal circumstances, a user can only bookmark a question once, and will only increase the number of questions bookmarked once. However, repeat submissions through the script can increase the number of collection of the question many times.</p>
-<!-- --><p><a href="https://www.cve.org/CVERecord?id=CVE-2023-49619" target="_blank" rel="noopener noreferrer">https://www.cve.org/CVERecord?id=CVE-2023-49619</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/security.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" vie [...]
+<!-- --><p><a href="https://www.cve.org/CVERecord?id=CVE-2023-49619" target="_blank" rel="noopener noreferrer">https://www.cve.org/CVERecord?id=CVE-2023-49619</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/security.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" vie [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/support/index.html b/community/support/index.html
index b4c4b97e8..ba0462c30 100644
--- a/community/support/index.html
+++ b/community/support/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Hey there! Welcome to Apache Answer, a Q&A platform software. We've got a bunch of curious and helpful users who are always willing to give a hand.</p>
<!-- --><p>If you're having trouble finding an answer to your question, check out our <!-- --><a href="#answer-meta">community</a>, <!-- --><a href="/docs">documentations</a>, <!-- --><a href="/community/issues">issues</a>, or <!-- --><a href="#mailing-list">mailing list</a>. If you find a question that you can answer, please do! Even if your answer isn't perfect, our volunteers will be happy to help you fill in the gaps.<!-- --></p>
<!-- --><p>If you're still having trouble after checking our documentation and other resources, feel free to <!-- --><a href="#others">contact us</a>. Since our users and contributors come from all over the world, so we recommend using English as primary communication language for the best possible assistance.<!-- --></p>
@@ -26,6 +26,6 @@
<!-- --><table><thead><tr><th>Name</th><th>Description</th><th>Subscribe</th><th>Unsubscribe</th><th>Archives</th></tr></thead><tbody><tr><td><a href="mailto:dev@answer.apache.org" target="_blank" rel="noopener noreferrer">dev@answer.apache.org</a></td><td>Community discussion</td><td><a href="mailto:dev-subscribe@answer.apache.org" target="_blank" rel="noopener noreferrer">Subscribe</a></td><td><a href="mailto:dev-subscribe@answer.apache.org" target="_blank" rel="noopener noreferrer">Un [...]
<!-- --><p>Kindly note that, if you're not subscribed to the mailing list, you won't receive any replies from the group.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="others">Others<!-- --><a href="#others" class="hash-link" aria-label="Direct link to Others" title="Direct link to Others"></a></h2>
-<!-- --><p>For the latest news about Apache Answer, <!-- --><a href="https://twitter.com/answerdev" target="_blank" rel="noopener noreferrer">follow @answerdev on Twitter</a> and the <!-- --><a href="/blog">official blog</a> on this website. You can also reach us via <!-- --><a href="https://discord.gg/a6PZZbfnFx" target="_blank" rel="noopener noreferrer">Discord</a>, but due to the size of our team, we can't guarantee an instant response. Thanks for your understanding.<!-- --></p>< [...]
+<!-- --><p>For the latest news about Apache Answer, <!-- --><a href="https://twitter.com/answerdev" target="_blank" rel="noopener noreferrer">follow @answerdev on Twitter</a> and the <!-- --><a href="/blog">official blog</a> on this website. You can also reach us via <!-- --><a href="https://discord.gg/a6PZZbfnFx" target="_blank" rel="noopener noreferrer">Discord</a>, but due to the size of our team, we can't guarantee an instant response. Thanks for your understanding.<!-- --></p>< [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/team/index.html b/community/team/index.html
index 327c88968..d5f78b2fa 100644
--- a/community/team/index.html
+++ b/community/team/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>The Apache Answer team works on the core functionality, plugins, as well as the documentation website. Current members of the team are listed in alphabetical order below.</p>
<!-- -->
<!-- -->
@@ -28,7 +28,7 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="contributor">Contributor<!-- --><a href="#contributor" class="hash-link" aria-label="Direct link to Contributor" title="Direct link to Contributor"></a></h2>
<!-- --><p>Becoming a contributor means you are interested in and contribute to the project, not just code. In Apache Answer, there are ways of contribution, and you can find out more <!-- --><a href="/community/contributing">here</a>. As long as you contribute to the Apache Answer project, you are a recognized Apache Answer Contributor. If you become a valuable contributor to the project, the Project Management Committee (PMC) may invite you to become a Committer.<!-- --></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="code">Code<!-- --><a href="#code" class="hash-link" aria-label="Direct link to Code" title="Direct link to Code"></a></h3>
-<!-- --><div class="row mb-3"><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/alrs" target="_blank" rel="noopener noreferrer">alrs</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/Anan1225" target="_blank" rel="noopener noreferrer">Anan1225</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/axisofentropy" target="_blank" rel="noopen [...]
+<!-- --><div class="row mb-3"><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/alrs" target="_blank" rel="noopener noreferrer">alrs</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/Anan1225" target="_blank" rel="noopener noreferrer">Anan1225</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/axisofentropy" target="_blank" rel="noopen [...]
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="translation">Translation<!-- --><a href="#translation" class="hash-link" aria-label="Direct link to Translation" title="Direct link to Translation"></a></h3>
<!-- --><div class="row mb-3"><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://crowdin.com/profile/acidtmn" target="_blank" rel="noopener noreferrer">acidtmn</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://crowdin.com/profile/aichy" target="_blank" rel="noopener noreferrer">aichy</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://crowdin.com/profile/ajvjunior" targ [...]
<!-- --><p>You can find all the code contributors on and translation contributors on these pages:</p>
@@ -43,6 +43,6 @@
<!-- --><li><a href="https://community.apache.org/contributors" target="_blank" rel="noopener noreferrer">https://community.apache.org/contributors</a></li>
<!-- --><li><a href="https://community.apache.org/contributors/becomingacommitter.html" target="_blank" rel="noopener noreferrer">https://community.apache.org/contributors/becomingacommitter.html</a></li>
<!-- --><li><a href="https://www.apache.org/dev/pmc.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/dev/pmc.html</a></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/team.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1 [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/team.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/translation/index.html b/community/translation/index.html
index 8c386641e..f53630cec 100644
--- a/community/translation/index.html
+++ b/community/translation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Our project is connected to <!-- --><a href="https://crowdin.com/" target="_blank" rel="noopener noreferrer">crowdin</a> for translation; we recommend contributing translations through crowdin.<!-- --></p>
<!-- --><p>Translate project list:</p>
<!-- --><ul>
@@ -25,6 +25,6 @@
<!-- --><ol>
<!-- --><li>Through crowdin, translators only need to focus on the translation work itself, and crowdin will provide very convenient prompts;</li>
<!-- --><li>No additional operations are required, such as git commands. Our apache-answer project language file uses yaml. Some contributors are likely to format the indentation or operate by mistake, causing some formatting errors;</li>
-<!-- --></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/contributing/translation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 [...]
+<!-- --></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/community/contributing/translation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 [...]
</body>
</html>
\ No newline at end of file
diff --git a/data/stars.json b/data/stars.json
index cd4a344b3..ab70cd28a 100644
--- a/data/stars.json
+++ b/data/stars.json
@@ -1,3 +1,3 @@
{
- "stars": 13962
+ "stars": 13973
}
\ No newline at end of file
diff --git a/data/team.json b/data/team.json
index e2c14d30e..ae7b91fdf 100644
--- a/data/team.json
+++ b/data/team.json
@@ -122,7 +122,7 @@
{
"title": "Contributor",
"type": "contributor",
- "count": 78,
+ "count": 79,
"users": [
{
"name": "alrs",
@@ -439,6 +439,11 @@
"github": "https://github.com/PurseChicken",
"avatar": "https://avatars.githubusercontent.com/u/29956166?v=4"
},
+ {
+ "name": "raboof",
+ "github": "https://github.com/raboof",
+ "avatar": "https://avatars.githubusercontent.com/u/131856?v=4"
+ },
{
"name": "ready4god2513",
"github": "https://github.com/ready4god2513",
diff --git a/docs/api/index.html b/docs/api/index.html
index 57c28739d..8cec43e87 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="where-is-the-api-document">Where is the API document?<!-- --><a href="#where-is-the-api-document" class="hash-link" aria-label="Direct link to Where is the API document?" title="Direct link to Where is the API document?"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="quick-look">Quick Look<!-- --><a href="#quick-look" class="hash-link" aria-label="Direct link to Quick Look" title="Direct link to Quick Look"></a></h3>
@@ -27,6 +27,6 @@
<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">/data/conf/config.yaml</div><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-yaml codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">swaggerui</span><span class="token punctua [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="generate-api-document">Generate API document<!-- --><a href="#generate-api-document" class="hash-link" aria-label="Direct link to Generate API document" title="Direct link to Generate API document"></a></h2>
<!-- --><p>Apache Answer using <!-- --><a href="https://github.com/swaggo/swag" target="_blank" rel="noopener noreferrer">swag</a> to generate API document json/yaml file automatically according to the comments in the code. You can use the following steps to generate API document.<!-- --></p>
-<!-- --><div class="language-bash codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-bash codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># install swag cli</span><span class="token plain"></span><br></span><span class="token- [...]
+<!-- --><div class="language-bash codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-bash codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># install swag cli</span><span class="token plain"></span><br></span><span class="token- [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/command-line/index.html b/docs/command-line/index.html
index f87cb9016..5f673cdb2 100644
--- a/docs/command-line/index.html
+++ b/docs/command-line/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="usage">Usage<!-- --><a href="#usage" class="hash-link" aria-label="Direct link to Usage" title="Direct link to Usage"></a></h2>
<!-- --><p><code>answer command [command or global options] [arguments...]</code></p>
@@ -141,6 +141,6 @@
<!-- --><li><code>answer config -C ./data/ --with allow_password_login</code></li>
<!-- --></ul>
<!-- --></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/getting-started/command-line.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/getting-started/command-line.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/configfile/index.html b/docs/configfile/index.html
index 0dd534541..879a78a2e 100644
--- a/docs/configfile/index.html
+++ b/docs/configfile/index.html
@@ -10,13 +10,13 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="configyaml-description">config.yaml description<!-- --><a href="#configyaml-description" class="hash-link" aria-label="Direct link to config.yaml description" title="Direct link to config.yaml description"></a></h2>
-<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">/data/conf/config.yaml</div><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-yaml codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">server</span><span class="token punctuatio [...]
+<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">/data/conf/config.yaml</div><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-yaml codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">server</span><span class="token punctuatio [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/database/index.html b/docs/database/index.html
index 97a375f86..995ea6589 100644
--- a/docs/database/index.html
+++ b/docs/database/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-note admonition_inHR alert alert--secondary"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.1 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="activity">activity<!-- --><a href="#activity" class="hash-link" aria-label="Direct link to activity" title="Direct link to activity"></a></h2>
<!-- --><blockquote>
@@ -117,6 +117,6 @@
<!-- --><blockquote>
<!-- --><p>The version of the current answer is recorded in version table for upgrade.</p>
<!-- --></blockquote>
-<!-- --><table><thead><tr><th>COLUMN</th><th>DATA TYPE</th><th>NULLABLE</th><th>KEY</th><th>DEFAULT</th><th>COMMENT</th></tr></thead><tbody><tr><td>id</td><td>int(11)</td><td>NO</td><td>PRI</td><td></td><td>id</td></tr><tr><td>version_number</td><td>int(11)</td><td>NO</td><td></td><td>0</td><td>version_number</td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/ [...]
+<!-- --><table><thead><tr><th>COLUMN</th><th>DATA TYPE</th><th>NULLABLE</th><th>KEY</th><th>DEFAULT</th><th>COMMENT</th></tr></thead><tbody><tr><td>id</td><td>int(11)</td><td>NO</td><td>PRI</td><td></td><td>id</td></tr><tr><td>version_number</td><td>int(11)</td><td>NO</td><td></td><td>0</td><td>version_number</td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/ [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/deploy-subdirectory/index.html b/docs/deploy-subdirectory/index.html
index ba0409e87..9e3a2fcdd 100644
--- a/docs/deploy-subdirectory/index.html
+++ b/docs/deploy-subdirectory/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>This function is implemented based on react-router's <!-- --><a href="https://reactrouter.com/en/main/router-components/memory-router#basename" target="_blank" rel="noopener noreferrer">basename</a>, so it is not applicable to subdirectories implemented through <!-- --><code>nginx</code> configuration deploy.<!-- --></p>
<!-- --><p>Apache Answer supports subdirectory deployment as of version 1.3.5. This configuration allows you to set a route prefix for your application, e.g., if you have routes <!-- --><code>/</code> and <!-- --><code>/questions</code>, and you set <!-- --><code>base_url</code> to /foo, you can access the previous routes via <!-- --><code>/foo</code> and <!-- --><code>/foo/questions</code>.<!-- --></p>
<!-- --><div class="theme-admonition theme-admonition-warning admonition_inHR alert alert--warning"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>w [...]
@@ -36,6 +36,6 @@
<!-- --><p>The path of static resources. The default value is <!-- --><code>'/'</code>. If the website uses CDN to host static resources, this value can be set to the URL of CDN. If <!-- --><code>base_url</code> is modified and CDN is not used, then this value also needs to be Same value as <!-- --><code>base_url</code>.<!-- --></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="api_url">api_url<!-- --><a href="#api_url" class="hash-link" aria-label="Direct link to api_url" title="Direct link to api_url"></a></h3>
<!-- --><p>The default value is <!-- --><code>''</code>, which is normally not adjusted. However, if your project uses nginx to proxy subpaths, you need to match the value of <!-- --><code>base_url</code>.<!-- --></p>
-<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
+<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/development/index.html b/docs/development/index.html
index 3690af977..552fe55ab 100644
--- a/docs/development/index.html
+++ b/docs/development/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>This guide will help you get started with the development of the project.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="frontend">Frontend<!-- --><a href="#frontend" class="hash-link" aria-label="Direct link to Frontend" title="Direct link to Frontend"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="installation">Installation<!-- --><a href="#installation" class="hash-link" aria-label="Direct link to Installation" title="Direct link to Installation"></a></h3>
@@ -60,6 +60,6 @@
<!-- --></ol>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="code-conventions-1">Code conventions<!-- --><a href="#code-conventions-1" class="hash-link" aria-label="Direct link to Code conventions" title="Direct link to Code conventions"></a></h3>
<!-- --><p>We recommend that you follow <!-- --><a href="https://github.com/uber-go/guide" target="_blank" rel="noopener noreferrer">uber's Golang Guidelines</a> code style.<!-- --></p>
-<!-- --><details class="details_k1Sz alert alert--info details_mWBx" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_g7eR"><div><div class="codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A [...]
+<!-- --><details class="details_k1Sz alert alert--info details_mWBx" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_g7eR"><div><div class="codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/development/plugins/index.html b/docs/development/plugins/index.html
index 653a3a3d4..b2a38b609 100644
--- a/docs/development/plugins/index.html
+++ b/docs/development/plugins/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Plugins are a way to extend the functionality of the Answer project. You can create your own plugins to meet your own needs.</p>
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="introduction">Introduction<!-- --><a href="#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction"></a></h2>
@@ -138,6 +138,6 @@
<!-- --><div class="language-ts codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-ts codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token operator" style="color:#393A34"><</span><span class="token plain">PluginRender</span><br></span><span c [...]
<!-- --><ol start="4">
<!-- --><li><strong>Publish plugin</strong>: initiate the PR process normally and describe the plugin function and scope of influence in detail.<!-- --></li>
-<!-- --></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/development/plugins/plugin.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0. [...]
+<!-- --></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/development/plugins/plugin.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0. [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/development/plugins/plugin-config/index.html b/docs/development/plugins/plugin-config/index.html
index bde7427ff..f7d7ba991 100644
--- a/docs/development/plugins/plugin-config/index.html
+++ b/docs/development/plugins/plugin-config/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="feature">Feature<!-- --><a href="#feature" class="hash-link" aria-label="Direct link to Feature" title="Direct link to Feature"></a></h2>
<!-- --><p>For plugins, we often need some configuration items to record the information necessary for the plugin.</p>
<!-- --><p>For example, OAuth plugins require secret key configuration. These configurations need to be described by the developer and used by the user. So, the following is about how to describe the configuration required for a plugin.</p>
@@ -57,6 +57,6 @@
<!-- --><li>time</li>
<!-- --><li>url</li>
<!-- --><li>week</li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/development/plugins/plugin-config.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9 [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/development/plugins/plugin-config.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/development/plugins/plugin-translation/index.html b/docs/development/plugins/plugin-translation/index.html
index 9888547be..5779f2c3e 100644
--- a/docs/development/plugins/plugin-translation/index.html
+++ b/docs/development/plugins/plugin-translation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Since answer supports multiple languages, the plugin also needs to support multiple languages.
The following is an example of how to make your plugin support multiple languages.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="translator-structure">Translator structure<!-- --><a href="#translator-structure" class="hash-link" aria-label="Direct link to Translator structure" title="Direct link to Translator structure"></a></h2>
@@ -50,6 +50,6 @@ The following is an example of how to make your plugin support multiple language
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="backend-translation">Backend translation<!-- --><a href="#backend-translation" class="hash-link" aria-label="Direct link to Backend translation" title="Direct link to Backend translation"></a></h2>
<!-- --><p>You just need to return <!-- --><code>Translator</code> structure with the key of the translation file.<!-- --></p>
<!-- --><div class="language-go codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-go codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">func</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><sp [...]
-<!-- --><p>The <!-- --><code>Answer</code> will automatically translate the key of the translation file into the corresponding language.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/development/plugins/plugin-translation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width=" [...]
+<!-- --><p>The <!-- --><code>Answer</code> will automatically translate the key of the translation file into the corresponding language.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/development/plugins/plugin-translation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width=" [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/env/index.html b/docs/env/index.html
index 1b4e73c17..7884518c6 100644
--- a/docs/env/index.html
+++ b/docs/env/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="installation">Installation<!-- --><a href="#installation" class="hash-link" aria-label="Direct link to Installation" title="Direct link to Installation"></a></h2>
<!-- --><ul>
<!-- --><li><code>INSTALL_PORT</code>: specifies the port to boot when installation, default is <!-- --><code>80</code>.<!-- --></li>
@@ -46,6 +46,6 @@
<!-- --><ul>
<!-- --><li><code>LOG_LEVEL</code>: log level support [<!-- --><code>DEBUG</code> <!-- --><code>INFO</code> <!-- --><code>WARN</code> <!-- --><code>ERROR</code>]<!-- --></li>
<!-- --><li><code>LOG_PATH</code>: log storage location<!-- --></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/getting-started/env.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1 [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/getting-started/env.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/faq/index.html b/docs/faq/index.html
index c656fe36f..97e31936b 100644
--- a/docs/faq/index.html
+++ b/docs/faq/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="how-do-i-access-the-installation-page">How do I access the installation page?<!-- --><a href="#how-do-i-access-the-installation-page" class="hash-link" aria-label="Direct link to How do I access the installation page?" title="Direct link to How do I access the installation page?"></a></h2>
<!-- --><p>Heading to <!-- --><a href="http://localhost:9080/install" target="_blank" rel="noopener noreferrer">http://localhost:9080/install</a> to access installation page.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="why-cant-i-receive-the-registration-email">Why can't I receive the registration email?<!-- --><a href="#why-cant-i-receive-the-registration-email" class="hash-link" aria-label="Direct link to Why can't I receive the registration email?" title="Direct link to Why can't I receive the registration email?"></a></h2>
@@ -26,6 +26,6 @@
<!-- --></ul>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-are-the-currently-supported-database-types-is-migration-supported">What are the currently supported database types? Is migration supported?<!-- --><a href="#what-are-the-currently-supported-database-types-is-migration-supported" class="hash-link" aria-label="Direct link to What are the currently supported database types? Is migration supported?" title="Direct link to What are the currently supported database types? Is migrat [...]
<!-- --><p>We support MySQL, PostgreSQL, SQLite3. Unfortunately, we <!-- --><strong>do not</strong> currently support data migration.
-So we recommend using SQLite3 <!-- --><strong>just for the experience</strong> and MySQL for actual use.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/faq.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g [...]
+So we recommend using SQLite3 <!-- --><strong>just for the experience</strong> and MySQL for actual use.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/faq.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/flags/index.html b/docs/flags/index.html
index 287d7beb7..50cec41ad 100644
--- a/docs/flags/index.html
+++ b/docs/flags/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>User can flag the spam post.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/flags.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0. [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>User can flag the spam post.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/flags.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0. [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index c0815e962..072ff2cf0 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache Answer helps you to build a community between your users and your team. It's a place where you can share your knowledge and help your users to solve their problems.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="screenshot" src="/assets/images/screenshot-c118d2fcfb1faaf1d9df2e8b5e8bc1a8.png" width="1298" height="824" class="img_RAU7"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="features">Features<!-- --><a href="#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features"></a></h2>
@@ -58,6 +58,6 @@
<!-- --><li><strong>Responsive Layout</strong>: Join the community conversation seamlessly from any device.<!-- --></li>
<!-- --><li><strong>Dark Mode</strong>: Personalize community experience to stay concentrated.<!-- --></li>
<!-- --><li><strong>Separation of front-end and back-end</strong>: It is a monorepo that contains both the frontend and the backend.<!-- --></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/introduction.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/introduction.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/installation/index.html b/docs/installation/index.html
index 8b198e6c0..f8f1a43e5 100644
--- a/docs/installation/index.html
+++ b/docs/installation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="start-apache-answer">Start Apache Answer<!-- --><a href="#start-apache-answer" class="hash-link" aria-label="Direct link to Start Apache Answer" title="Direct link to Start Apache Answer"></a></h2>
<!-- -->
<!-- -->
@@ -48,6 +48,6 @@
<!-- --><p><img decoding="async" loading="lazy" alt="install-site-info" src="/assets/images/install-site-info-dd11f933444917d34aa90ae18166d00b.png" width="2400" height="1818" class="img_RAU7"></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="step-5-complete">Step 5: Complete<!-- --><a href="#step-5-complete" class="hash-link" aria-label="Direct link to Step 5: Complete" title="Direct link to Step 5: Complete"></a></h3>
<!-- --><p>Congratulations, you can click the done button to start your answer journey!</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="install-complete" src="/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_RAU7"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/getting-started/installation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill [...]
+<!-- --><p><img decoding="async" loading="lazy" alt="install-complete" src="/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_RAU7"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/getting-started/installation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/moderation/index.html b/docs/moderation/index.html
index 0b69a3738..c791ac2a2 100644
--- a/docs/moderation/index.html
+++ b/docs/moderation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/moderation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/moderation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/notice/index.html b/docs/notice/index.html
index fe1d6a084..b872fa8dc 100644
--- a/docs/notice/index.html
+++ b/docs/notice/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>The project is built on and with the aid of the following open source projects. Credits are given to these projects.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="apache-20">Apache-2.0<!-- --><a href="#apache-20" class="hash-link" aria-label="Direct link to Apache-2.0" title="Direct link to Apache-2.0"></a></h2>
<!-- --><ul>
@@ -105,6 +105,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="mpl-20">MPL-2.0<!-- --><a href="#mpl-20" class="hash-link" aria-label="Direct link to MPL-2.0" title="Direct link to MPL-2.0"></a></h2>
<!-- --><ul>
<!-- --><li><a href="https://github.com/go-sql-driver/mysql" target="_blank" rel="noopener noreferrer">https://github.com/go-sql-driver/mysql</a></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/notice.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/notice.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/permission/index.html b/docs/permission/index.html
index 21bd1262b..ec6d8711e 100644
--- a/docs/permission/index.html
+++ b/docs/permission/index.html
@@ -10,15 +10,15 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="privileges">Privileges<!-- --><a href="#privileges" class="hash-link" aria-label="Direct link to Privileges" title="Direct link to Privileges"></a></h2>
<!-- --><p>The number is the minimum reputation required for a privilege. There are three options available for your community. You can change this in Admin settings.</p>
<!-- --><table><thead><tr><th>Privileges</th><th>Level 1</th><th>Level 2 (default)</th><th>Level 3</th></tr></thead><tbody><tr><td>Description</td><td>Less reputation required for private team, group.</td><td>Low reputation required for startup community.</td><td>High reputation required for mature community.</td></tr><tr><td>Ask question</td><td>1</td><td>1</td><td>1</td></tr><tr><td>Write answer</td><td>1</td><td>1</td><td>1</td></tr><tr><td>Write comment</td><td>1</td><td>1</td><td>1< [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="user-roles">User roles<!-- --><a href="#user-roles" class="hash-link" aria-label="Direct link to User roles" title="Direct link to User roles"></a></h2>
-<!-- --><table><thead><tr><th>Permission \ Roles</th><th>User</th><th>Moderator</th><th>Admin</th></tr></thead><tbody><tr><td>Default with no special access</td><td>✓</td><td>✓</td><td>✓</td></tr><tr><td>Has access to all posts except site admin</td><td>-</td><td>✓</td><td>✓</td></tr><tr><td>Have the full power to access the site</td><td>-</td><td>-</td><td>✓</td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row">< [...]
+<!-- --><table><thead><tr><th>Permission \ Roles</th><th>User</th><th>Moderator</th><th>Admin</th></tr></thead><tbody><tr><td>Default with no special access</td><td>✓</td><td>✓</td><td>✓</td></tr><tr><td>Has access to all posts except site admin</td><td>-</td><td>✓</td><td>✓</td></tr><tr><td>Have the full power to access the site</td><td>-</td><td>-</td><td>✓</td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row">< [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/plugins/index.html b/docs/plugins/index.html
index f58116152..1f9317bd5 100644
--- a/docs/plugins/index.html
+++ b/docs/plugins/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="introduction">Introduction<!-- --><a href="#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="official-plugins">Official Plugins<!-- --><a href="#official-plugins" class="hash-link" aria-label="Direct link to Official Plugins" title="Direct link to Official Plugins"></a></h3>
@@ -81,6 +81,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="develop-and-contribute">Develop and Contribute<!-- --><a href="#develop-and-contribute" class="hash-link" aria-label="Direct link to Develop and Contribute" title="Direct link to Develop and Contribute"></a></h2>
<!-- --><p>Please refer to <!-- --><a href="/docs/development">the documentation</a> for details.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="design--principle">Design & Principle<!-- --><a href="#design--principle" class="hash-link" aria-label="Direct link to Design & Principle" title="Direct link to Design & Principle"></a></h2>
-<!-- --><p>Since Go is a static language, there is no friendly plugin mechanism. Instead of a dynamic approach, we use recompilation for deployment. Please refer to <!-- --><a href="/blog/why-the-answer-plugin-system-was-designed-this-way">the blog</a> for details.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/getting-started/plugins.md" t [...]
+<!-- --><p>Since Go is a static language, there is no friendly plugin mechanism. Instead of a dynamic approach, we use recompilation for deployment. Please refer to <!-- --><a href="/blog/why-the-answer-plugin-system-was-designed-this-way">the blog</a> for details.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/getting-started/plugins.md" t [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/questions/index.html b/docs/questions/index.html
index ade129510..faa01ad2d 100644
--- a/docs/questions/index.html
+++ b/docs/questions/index.html
@@ -10,14 +10,14 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="question-status">Question status<!-- --><a href="#question-status" class="hash-link" aria-label="Direct link to Question status" title="Direct link to Question status"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="Question state diagram" src="/assets/images/questions-question-status.drawio-ba8e6f72b87ff5452bcc4dd8cbdc7dea.svg" width="397" height="422" class="img_RAU7"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="apache-answer-status">Apache Answer status<!-- --><a href="#apache-answer-status" class="hash-link" aria-label="Direct link to Apache Answer status" title="Direct link to Apache Answer status"></a></h2>
-<!-- --><p><img decoding="async" loading="lazy" alt="Apache Answer state diagram" src="/assets/images/questions-answer-status.drawio-c037079cbbf31ac37fdb578bb32a35c7.svg" width="187" height="422" class="img_RAU7"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/questions.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-pag [...]
+<!-- --><p><img decoding="async" loading="lazy" alt="Apache Answer state diagram" src="/assets/images/questions-answer-status.drawio-c037079cbbf31ac37fdb578bb32a35c7.svg" width="187" height="422" class="img_RAU7"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/questions.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-pag [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/reputation/index.html b/docs/reputation/index.html
index 409823a86..0041bf778 100644
--- a/docs/reputation/index.html
+++ b/docs/reputation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Reputation used to automate the management of community ecology.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="reputation-change-rules">Reputation change rules<!-- --><a href="#reputation-change-rules" class="hash-link" aria-label="Direct link to Reputation change rules" title="Direct link to Reputation change rules"></a></h2>
<!-- --><table><thead><tr><th>Condition</th><th>Change</th></tr></thead><tbody><tr><td>Someone upvote your question</td><td>+10</td></tr><tr><td>Someone upvote your answer</td><td>+10</td></tr><tr><td>Someone accept your answer</td><td>+15</td></tr><tr><td>You accept someone's answer</td><td>+2</td></tr><tr><td>Your proposed was accepted</td><td>+2</td></tr><tr><td>You downvote someone's answer</td><td>-1</td></tr><tr><td>Your question was downvoted</td><td>-2</td></tr><tr><td> [...]
@@ -26,6 +26,6 @@
<!-- --><li>If an action results in a user gaining <!-- --><code>> 200</code> reputation for the day, any subsequent actions that increase reputation will not increase the user's reputation.<!-- --></li>
<!-- --><li>The reputation gained from accepted answers is not limited by the <!-- --><code>200</code> cap<!-- --></li>
<!-- --><li>No reputation gained for accepting your own answer</li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/reputation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1 [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/reputation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/review/index.html b/docs/review/index.html
index bd5cdc619..89a9454af 100644
--- a/docs/review/index.html
+++ b/docs/review/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/review.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/review.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/settings/index.html b/docs/settings/index.html
index ff3bf6ef7..376ebd3e7 100644
--- a/docs/settings/index.html
+++ b/docs/settings/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/settings.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/settings.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/tags/index.html b/docs/tags/index.html
index fb283692f..8c33def72 100644
--- a/docs/tags/index.html
+++ b/docs/tags/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/tags.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/tags.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/upgrade/index.html b/docs/upgrade/index.html
index d8c630b45..bbc35ed5e 100644
--- a/docs/upgrade/index.html
+++ b/docs/upgrade/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- -->
<!-- -->
<!-- --><div class="theme-admonition theme-admonition-caution admonition_inHR alert alert--warning"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>c [...]
@@ -24,6 +24,6 @@
<!-- --><li>Execute the upgrade command <!-- --><code>./answer upgrade -C ./answer-data/</code></li>
<!-- --><li>Run the latest version <!-- --><code>./answer run -C ./answer-data/</code></li>
<!-- --></ol></div></div></div>
-<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
+<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/users/index.html b/docs/users/index.html
index 7e725eb79..6cd3b7ff2 100644
--- a/docs/users/index.html
+++ b/docs/users/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="user-status">User status<!-- --><a href="#user-status" class="hash-link" aria-label="Direct link to User status" title="Direct link to User status"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="User state diagram" src="/assets/images/users-user-status.drawio-205ba145e81e04f5af6c654d44a3f437.svg" width="539" height="286" class="img_RAU7"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="top-users">Top users<!-- --><a href="#top-users" class="hash-link" aria-label="Direct link to Top users" title="Direct link to Top users"></a></h2>
@@ -91,6 +91,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="settings">Settings<!-- --><a href="#settings" class="hash-link" aria-label="Direct link to Settings" title="Direct link to Settings"></a></h2>
<!-- --><p>TODO</p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="unsubscribe-email">Unsubscribe email<!-- --><a href="#unsubscribe-email" class="hash-link" aria-label="Direct link to Unsubscribe email" title="Direct link to Unsubscribe email"></a></h3>
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/users.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1. [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/answer-website/edit/main/docs/guides/users.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1. [...]
</body>
</html>
\ No newline at end of file
diff --git a/download/index.html b/download/index.html
index 4c9e59ba6..f57225e0a 100644
--- a/download/index.html
+++ b/download/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/index.html b/index.html
index 444ecc63a..ca1e66408 100644
--- a/index.html
+++ b/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/latest/index.html b/latest/index.html
index 9d8e2367e..d535990cd 100644
--- a/latest/index.html
+++ b/latest/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/plugins/index.html b/plugins/index.html
index 1da05ab59..a2343719b 100644
--- a/plugins/index.html
+++ b/plugins/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/search/index.html b/search/index.html
index d059e5755..ec38a151a 100644
--- a/search/index.html
+++ b/search/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.6ce1d592.css">
-<script src="/assets/js/runtime~main.73bbd2d1.js" defer="defer"></script>
-<script src="/assets/js/main.73a5ceea.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.d76a4d8a.js" defer="defer"></script>
+<script src="/assets/js/main.6be7711a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/404.html b/zh-CN/404.html
index 173c33ddf..2fa6dfcfb 100644
--- a/zh-CN/404.html
+++ b/zh-CN/404.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/assets/js/0bbd7524.005816bd.js b/zh-CN/assets/js/0bbd7524.005816bd.js
new file mode 100644
index 000000000..fc4f0e4be
--- /dev/null
+++ b/zh-CN/assets/js/0bbd7524.005816bd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1068],{7233:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var s=n(43010),r=n(90887);const i={slug:"/reputation"},o="Reputation",d={id:"guides/reputation",title:"Reputation",description:"Reputation used to automate the management of community ecology.",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/reputation.md",sourceDirNa [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/0bbd7524.aaf3cca1.js b/zh-CN/assets/js/0bbd7524.aaf3cca1.js
deleted file mode 100644
index dfb57c08f..000000000
--- a/zh-CN/assets/js/0bbd7524.aaf3cca1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1068],{7233:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var s=n(43010),r=n(90887);const i={slug:"/reputation"},o="Reputation",d={id:"guides/reputation",title:"Reputation",description:"Reputation used to automate the management of community ecology.",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/reputation.md",sourceDirNa [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/1df93b7f.ba05fb25.js b/zh-CN/assets/js/1df93b7f.f02d5bc8.js
similarity index 99%
rename from zh-CN/assets/js/1df93b7f.ba05fb25.js
rename to zh-CN/assets/js/1df93b7f.f02d5bc8.js
index 243b5c2b3..17cd425e2 100644
--- a/zh-CN/assets/js/1df93b7f.ba05fb25.js
+++ b/zh-CN/assets/js/1df93b7f.f02d5bc8.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3237],{34246:(A,e,s)=>{s.d(e,{Z:()=>o});s(85170);var g=s(45924),t=s(43010);const o=A=>{let{type:e="br",name:s,className:o,size:n,onClick:i,title:a=""}=A;return(0,t.jsx)("i",{className:(0,g.Z)(e,`bi-${s}`,o),style:{...n&&{fontSize:n}},onClick:i,onKeyDown:i,title:a})}},70728:(A,e,s)=>{s.r(e),s.d(e,{default:()=>K});var g=s(85170),t=s(28864),o=s(69327),n=s(52467),i=s(8010),a=s(45924),c=s(33537),r=s(34246),C=s(39377);co [...]
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3237],{34246:(A,e,s)=>{s.d(e,{Z:()=>o});s(85170);var g=s(45924),t=s(43010);const o=A=>{let{type:e="br",name:s,className:o,size:n,onClick:i,title:a=""}=A;return(0,t.jsx)("i",{className:(0,g.Z)(e,`bi-${s}`,o),style:{...n&&{fontSize:n}},onClick:i,onKeyDown:i,title:a})}},70728:(A,e,s)=>{s.r(e),s.d(e,{default:()=>K});var g=s(85170),t=s(28864),o=s(69327),n=s(52467),i=s(8010),a=s(45924),c=s(33537),r=s(34246),C=s(39377);co [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/26cbfb40.1b0b2442.js b/zh-CN/assets/js/26cbfb40.1b0b2442.js
deleted file mode 100644
index d517c11bc..000000000
--- a/zh-CN/assets/js/26cbfb40.1b0b2442.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2197],{3777:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>i,contentTitle:()=>c,default:()=>o,frontMatter:()=>a,metadata:()=>h,toc:()=>d});var t=r(43010),n=r(90887);const a={slug:"/support"},c="\u652f\u6301",h={id:"support",title:"\u652f\u6301",description:"\u4f60\u597d\uff01\u6b22\u8fce\u4f7f\u7528 Apache Answer\u3002\u4f5c\u4e3a\u4e00\u6b3e\u95ee\u7b54\u5e73\u53f0\u8f6f\u4ef6\uff0c\u6211\u4eec\u5438\u5f15\u4e86\u4e00\u7fa4\u [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/26cbfb40.8c6a6a71.js b/zh-CN/assets/js/26cbfb40.8c6a6a71.js
new file mode 100644
index 000000000..a201ee6d0
--- /dev/null
+++ b/zh-CN/assets/js/26cbfb40.8c6a6a71.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2197],{3777:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>i,contentTitle:()=>c,default:()=>o,frontMatter:()=>a,metadata:()=>h,toc:()=>d});var t=s(43010),n=s(90887);const a={slug:"/support"},c="\u652f\u6301",h={id:"support",title:"\u652f\u6301",description:"\u4f60\u597d\uff01\u6b22\u8fce\u4f7f\u7528 Apache Answer\u3002\u4f5c\u4e3a\u4e00\u6b3e\u95ee\u7b54\u5e73\u53f0\u8f6f\u4ef6\uff0c\u6211\u4eec\u5438\u5f15\u4e86\u4e00\u7fa4\u [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/283536cd.6da5ae1b.js b/zh-CN/assets/js/283536cd.6da5ae1b.js
deleted file mode 100644
index 9be03e588..000000000
--- a/zh-CN/assets/js/283536cd.6da5ae1b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[391],{3579:(n,s,e)=>{e.r(s),e.d(s,{assets:()=>d,contentTitle:()=>t,default:()=>x,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var r=e(43010),i=e(90887);const l={slug:"/"},t="\u4ecb\u7ecd",c={id:"introduction",title:"\u4ecb\u7ecd",description:"Apache Answer \u53ef\u5e2e\u52a9\u4f60\u5728\u7528\u6237\u6216\u56e2\u961f\u4e4b\u95f4\u5efa\u7acb\u95ee\u7b54\u793e\u533a\u3002\u4f60\u53ef\u4ee5\u5728\u8fd9\u91cc\u5206\u4ea [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/283536cd.98679a37.js b/zh-CN/assets/js/283536cd.98679a37.js
new file mode 100644
index 000000000..46fac30d1
--- /dev/null
+++ b/zh-CN/assets/js/283536cd.98679a37.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[391],{3579:(n,s,e)=>{e.r(s),e.d(s,{assets:()=>d,contentTitle:()=>t,default:()=>x,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var r=e(43010),i=e(90887);const l={slug:"/"},t="\u4ecb\u7ecd",c={id:"introduction",title:"\u4ecb\u7ecd",description:"Apache Answer \u53ef\u5e2e\u52a9\u4f60\u5728\u7528\u6237\u6216\u56e2\u961f\u4e4b\u95f4\u5efa\u7acb\u95ee\u7b54\u793e\u533a\u3002\u4f60\u53ef\u4ee5\u5728\u8fd9\u91cc\u5206\u4ea [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2858569c.2c555bee.js b/zh-CN/assets/js/2858569c.2c555bee.js
new file mode 100644
index 000000000..650024b25
--- /dev/null
+++ b/zh-CN/assets/js/2858569c.2c555bee.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6367],{28092:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>o,frontMatter:()=>l,metadata:()=>c,toc:()=>t});var i=s(43010),r=s(90887);const l={slug:"/plugins"},a="\u4f7f\u7528\u63d2\u4ef6",c={id:"getting-started/plugins",title:"\u4f7f\u7528\u63d2\u4ef6",description:"\u5f53\u6211\u4eec\u9700\u8981\u6269\u5c55 Apache Answer \u7684\u529f\u80fd\u65f6\uff0c\u4f8b\u5982\u6dfb\u52a0 OAuth \u767b\u5f55\ [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2858569c.3583c6d6.js b/zh-CN/assets/js/2858569c.3583c6d6.js
deleted file mode 100644
index 82bc3fa63..000000000
--- a/zh-CN/assets/js/2858569c.3583c6d6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6367],{28092:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>o,frontMatter:()=>l,metadata:()=>c,toc:()=>t});var i=s(43010),r=s(90887);const l={slug:"/plugins"},a="\u4f7f\u7528\u63d2\u4ef6",c={id:"getting-started/plugins",title:"\u4f7f\u7528\u63d2\u4ef6",description:"\u5f53\u6211\u4eec\u9700\u8981\u6269\u5c55 Apache Answer \u7684\u529f\u80fd\u65f6\uff0c\u4f8b\u5982\u6dfb\u52a0 OAuth \u767b\u5f55\ [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3481afe6.5b66f716.js b/zh-CN/assets/js/3481afe6.5b66f716.js
deleted file mode 100644
index f18fc7484..000000000
--- a/zh-CN/assets/js/3481afe6.5b66f716.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8842],{16523:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>c,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var i=n(43010),r=n(90887);const t={slug:"/users"},d="Users",l={id:"guides/users",title:"Users",description:"User status",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/zh-CN/docs/users",draft:!1,unlisted:!1, [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3481afe6.6fa51e62.js b/zh-CN/assets/js/3481afe6.6fa51e62.js
new file mode 100644
index 000000000..2605d82bd
--- /dev/null
+++ b/zh-CN/assets/js/3481afe6.6fa51e62.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8842],{16523:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>c,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var i=n(43010),r=n(90887);const t={slug:"/users"},d="Users",l={id:"guides/users",title:"Users",description:"User status",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/zh-CN/docs/users",draft:!1,unlisted:!1, [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3771a1a2.32860224.js b/zh-CN/assets/js/3771a1a2.32860224.js
new file mode 100644
index 000000000..2acd6b835
--- /dev/null
+++ b/zh-CN/assets/js/3771a1a2.32860224.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2230],{36173:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>a,frontMatter:()=>c,metadata:()=>l,toc:()=>o});var i=s(43010),r=s(90887);const c={slug:"/pull-request"},t="\u62c9\u53d6\u8bf7\u6c42",l={id:"contributing/pull-request",title:"\u62c9\u53d6\u8bf7\u6c42",description:"\u6211\u4eec\u611f\u8c22\u4f60\u7684\u8d21\u732e\uff01\u5728\u63d0\u4ea4 PR \u4e4b\u524d\uff0c\u6211\u4eec\u5efa\u8bae\u4f60 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3771a1a2.45143f16.js b/zh-CN/assets/js/3771a1a2.45143f16.js
deleted file mode 100644
index 93afec664..000000000
--- a/zh-CN/assets/js/3771a1a2.45143f16.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2230],{36173:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>a,frontMatter:()=>c,metadata:()=>l,toc:()=>o});var i=s(43010),r=s(90887);const c={slug:"/pull-request"},t="\u62c9\u53d6\u8bf7\u6c42",l={id:"contributing/pull-request",title:"\u62c9\u53d6\u8bf7\u6c42",description:"\u6211\u4eec\u611f\u8c22\u4f60\u7684\u8d21\u732e\uff01\u5728\u63d0\u4ea4 PR \u4e4b\u524d\uff0c\u6211\u4eec\u5efa\u8bae\u4f60 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/396d62b5.08ddcf40.js b/zh-CN/assets/js/396d62b5.08ddcf40.js
new file mode 100644
index 000000000..094898b16
--- /dev/null
+++ b/zh-CN/assets/js/396d62b5.08ddcf40.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2726],{95298:(a,t,c)=>{c.r(t),c.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>m});var o=c(43010),i=c(90887);const e=JSON.parse('[{"rC":[{"name":"chrisdutz","avatar":"https://avatars.githubusercontent.com/u/651105","github":"https://github.com/chrisdutz","role":"Mentor"},{"name":"fenbox","avatar":"https://avatars.githubusercontent.com/u/360618","github":"https://github.c [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/396d62b5.f1b18a1d.js b/zh-CN/assets/js/396d62b5.f1b18a1d.js
deleted file mode 100644
index be547b42a..000000000
--- a/zh-CN/assets/js/396d62b5.f1b18a1d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2726],{95298:(a,t,c)=>{c.r(t),c.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>m});var o=c(43010),i=c(90887);const e=JSON.parse('[{"rC":[{"name":"chrisdutz","avatar":"https://avatars.githubusercontent.com/u/651105","github":"https://github.com/chrisdutz","role":"Mentor"},{"name":"fenbox","avatar":"https://avatars.githubusercontent.com/u/360618","github":"https://github.c [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3b505fec.5c319922.js b/zh-CN/assets/js/3b505fec.5c319922.js
deleted file mode 100644
index 2ad7b26dd..000000000
--- a/zh-CN/assets/js/3b505fec.5c319922.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6126],{45759:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var s=n(43010),r=n(90887);const i={slug:"/review"},o="Review",c={id:"guides/review",title:"Review",description:"TODO",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/review.md",sourceDirName:"guides",slug:"/review",permalink:"/zh-CN/docs/review",draft:!1,unlisted:!1, [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3b505fec.f503ed7a.js b/zh-CN/assets/js/3b505fec.f503ed7a.js
new file mode 100644
index 000000000..9c23d518d
--- /dev/null
+++ b/zh-CN/assets/js/3b505fec.f503ed7a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6126],{45759:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var s=n(43010),r=n(90887);const i={slug:"/review"},o="Review",c={id:"guides/review",title:"Review",description:"TODO",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/review.md",sourceDirName:"guides",slug:"/review",permalink:"/zh-CN/docs/review",draft:!1,unlisted:!1, [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/4380d3e8.5b6805d1.js b/zh-CN/assets/js/4380d3e8.5b6805d1.js
deleted file mode 100644
index 671770398..000000000
--- a/zh-CN/assets/js/4380d3e8.5b6805d1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3451],{41821:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var o=t(43010),r=t(90887);const s={slug:"/development"},l="Development Guide",i={id:"development/guide",title:"Development Guide",description:"This guide will help you get started with the development of the project.",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/developm [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/4380d3e8.fc02bced.js b/zh-CN/assets/js/4380d3e8.fc02bced.js
new file mode 100644
index 000000000..86cd1ef21
--- /dev/null
+++ b/zh-CN/assets/js/4380d3e8.fc02bced.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3451],{41821:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var o=t(43010),r=t(90887);const l={slug:"/development"},s="Development Guide",i={id:"development/guide",title:"Development Guide",description:"This guide will help you get started with the development of the project.",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/developm [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/4958df33.2ec9ddb2.js b/zh-CN/assets/js/4958df33.2ec9ddb2.js
new file mode 100644
index 000000000..90637db33
--- /dev/null
+++ b/zh-CN/assets/js/4958df33.2ec9ddb2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[291],{1792:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>i,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=s(43010),r=s(90887);const o={slug:"/flags"},a="Flags",c={id:"guides/flags",title:"Flags",description:"User can flag the spam post.",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/flags.md",sourceDirName:"guides",slug:"/flags",permalink:"/zh-CN/docs/flags",draft: [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/4958df33.c104ed31.js b/zh-CN/assets/js/4958df33.c104ed31.js
deleted file mode 100644
index d838385c8..000000000
--- a/zh-CN/assets/js/4958df33.c104ed31.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[291],{1792:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>i,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var n=s(43010),r=s(90887);const a={slug:"/flags"},o="Flags",c={id:"guides/flags",title:"Flags",description:"User can flag the spam post.",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/flags.md",sourceDirName:"guides",slug:"/flags",permalink:"/zh-CN/docs/flags",draft: [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5044ae4e.62b7558a.js b/zh-CN/assets/js/5044ae4e.62b7558a.js
new file mode 100644
index 000000000..ba64e1192
--- /dev/null
+++ b/zh-CN/assets/js/5044ae4e.62b7558a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8700],{4625:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var n=e(43010),a=e(90887);const i={slug:"/questions"},o="Questions",r={id:"guides/questions",title:"Questions",description:"Question status",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/zh-CN/docs/q [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5044ae4e.77ec59d7.js b/zh-CN/assets/js/5044ae4e.77ec59d7.js
deleted file mode 100644
index 5e194301d..000000000
--- a/zh-CN/assets/js/5044ae4e.77ec59d7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8700],{4625:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>u,toc:()=>c});var n=e(43010),a=e(90887);const i={slug:"/questions"},o="Questions",u={id:"guides/questions",title:"Questions",description:"Question status",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/zh-CN/docs/q [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/536930c8.1b1caab7.js b/zh-CN/assets/js/536930c8.1b1caab7.js
new file mode 100644
index 000000000..28b4ef221
--- /dev/null
+++ b/zh-CN/assets/js/536930c8.1b1caab7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1208],{41544:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var o=t(43010),a=t(90887);const i={slug:"/api"},c="API Document",s={id:"development/api",title:"API Document",description:"Apache Answer using swagger to generate API document automatically. Swagger can display the API document in a friendly way, and can also provide a convenient way to te [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/536930c8.9341154b.js b/zh-CN/assets/js/536930c8.9341154b.js
deleted file mode 100644
index 3d4152254..000000000
--- a/zh-CN/assets/js/536930c8.9341154b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1208],{41544:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var o=t(43010),a=t(90887);const i={slug:"/api"},c="API Document",s={id:"development/api",title:"API Document",description:"Apache Answer using swagger to generate API document automatically. Swagger can display the API document in a friendly way, and can also provide a convenient way to te [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/565f0463.4f63e072.js b/zh-CN/assets/js/565f0463.4f63e072.js
deleted file mode 100644
index ffc86b4d0..000000000
--- a/zh-CN/assets/js/565f0463.4f63e072.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5360],{61844:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var s=t(43010),r=t(90887);const i={slug:"/faq"},c="\u5e38\u89c1\u95ee\u9898",l={id:"faq",title:"\u5e38\u89c1\u95ee\u9898",description:"\u5982\u4f55\u8bbf\u95ee\u5b89\u88c5\u9875\u9762\uff1f",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/faq.md",sourceDirName:".",slug:"/fa [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/565f0463.ad90d868.js b/zh-CN/assets/js/565f0463.ad90d868.js
new file mode 100644
index 000000000..69233205d
--- /dev/null
+++ b/zh-CN/assets/js/565f0463.ad90d868.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5360],{61844:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var s=t(43010),r=t(90887);const i={slug:"/faq"},l="\u5e38\u89c1\u95ee\u9898",c={id:"faq",title:"\u5e38\u89c1\u95ee\u9898",description:"\u5982\u4f55\u8bbf\u95ee\u5b89\u88c5\u9875\u9762\uff1f",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/faq.md",sourceDirName:".",slug:"/fa [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5b5253e0.361f1112.js b/zh-CN/assets/js/5b5253e0.361f1112.js
new file mode 100644
index 000000000..2c42992cc
--- /dev/null
+++ b/zh-CN/assets/js/5b5253e0.361f1112.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7734],{17419:(t,s,e)=>{e.r(s),e.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>r,toc:()=>l});var n=e(43010),h=e(90887);const c={sidebar_label:"\u6240\u4f9d\u8d56\u7684\u5f00\u6e90\u9879\u76ee",slug:"/contributing/notice"},i="\u6240\u4f9d\u8d56\u7684\u5f00\u6e90\u9879\u76ee",r={id:"notice",title:"\u6240\u4f9d\u8d56\u7684\u5f00\u6e90\u9879\u76ee",description:"\u8be5\u9879\u76ee\u5ef [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5b5253e0.46fb1c90.js b/zh-CN/assets/js/5b5253e0.46fb1c90.js
deleted file mode 100644
index ba5645647..000000000
--- a/zh-CN/assets/js/5b5253e0.46fb1c90.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7734],{17419:(t,s,e)=>{e.r(s),e.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var h=e(43010),c=e(90887);const n={sidebar_label:"\u6240\u4f9d\u8d56\u7684\u5f00\u6e90\u9879\u76ee",slug:"/contributing/notice"},i="\u6240\u4f9d\u8d56\u7684\u5f00\u6e90\u9879\u76ee",r={id:"notice",title:"\u6240\u4f9d\u8d56\u7684\u5f00\u6e90\u9879\u76ee",description:"\u8be5\u9879\u76ee\u5ef [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5fb2369c.56ef005d.js b/zh-CN/assets/js/5fb2369c.56ef005d.js
new file mode 100644
index 000000000..e6b3a0527
--- /dev/null
+++ b/zh-CN/assets/js/5fb2369c.56ef005d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9830],{69650:(d,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>x});var s=e(43010),i=e(90887);const r={slug:"/database"},n="Database",l={id:"development/database",title:"Database",description:"Different databases have different data types. The following table presumes use of mysql/mariadb as an example.",source:"@site/i18n/zh-CN/docusaurus-plugin-content-d [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5fb2369c.915251cc.js b/zh-CN/assets/js/5fb2369c.915251cc.js
deleted file mode 100644
index 01bff2355..000000000
--- a/zh-CN/assets/js/5fb2369c.915251cc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9830],{69650:(d,t,e)=>{e.r(t),e.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>x});var s=e(43010),i=e(90887);const r={slug:"/database"},n="Database",c={id:"development/database",title:"Database",description:"Different databases have different data types. The following table presumes use of mysql/mariadb as an example.",source:"@site/i18n/zh-CN/docusaurus-plugin-content-d [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/675aed1f.579cb63e.js b/zh-CN/assets/js/675aed1f.579cb63e.js
new file mode 100644
index 000000000..4d5d343d7
--- /dev/null
+++ b/zh-CN/assets/js/675aed1f.579cb63e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7682],{57057:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>t,default:()=>a,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var l=s(43010),r=s(90887);const i={sidebar_label:"\u53d1\u5e03\u535a\u5ba2",slug:"/blog-post"},t="\u8d21\u732e\u4e00\u7bc7\u535a\u5ba2\u6587\u7ae0",o={id:"contributing/blog-post",title:"\u8d21\u732e\u4e00\u7bc7\u535a\u5ba2\u6587\u7ae0",description:"\u535a\u5ba2\u662f\u53c2\u4e0e Apache Ans [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/675aed1f.64d9f39a.js b/zh-CN/assets/js/675aed1f.64d9f39a.js
deleted file mode 100644
index 9c0fe0d6a..000000000
--- a/zh-CN/assets/js/675aed1f.64d9f39a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7682],{57057:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>o,contentTitle:()=>t,default:()=>a,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var l=s(43010),r=s(90887);const i={sidebar_label:"\u53d1\u5e03\u535a\u5ba2",slug:"/blog-post"},t="\u8d21\u732e\u4e00\u7bc7\u535a\u5ba2\u6587\u7ae0",c={id:"contributing/blog-post",title:"\u8d21\u732e\u4e00\u7bc7\u535a\u5ba2\u6587\u7ae0",description:"\u535a\u5ba2\u662f\u53c2\u4e0e Apache Ans [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6b66dba1.9fe5ac95.js b/zh-CN/assets/js/6b66dba1.9fe5ac95.js
deleted file mode 100644
index 6e4b81e5b..000000000
--- a/zh-CN/assets/js/6b66dba1.9fe5ac95.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7250],{75214:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var o=n(43010),r=n(90887);const s={slug:"/moderation"},a="Moderation",i={id:"guides/moderation",title:"Moderation",description:"TODO",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/moderation.md",sourceDirName:"guides",slug:"/moderation",permalink:"/zh-CN/docs/moder [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6b66dba1.fd538b1c.js b/zh-CN/assets/js/6b66dba1.fd538b1c.js
new file mode 100644
index 000000000..7847a80af
--- /dev/null
+++ b/zh-CN/assets/js/6b66dba1.fd538b1c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7250],{75214:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var o=n(43010),r=n(90887);const s={slug:"/moderation"},a="Moderation",i={id:"guides/moderation",title:"Moderation",description:"TODO",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/moderation.md",sourceDirName:"guides",slug:"/moderation",permalink:"/zh-CN/docs/moder [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6cb497c1.b1203d35.js b/zh-CN/assets/js/6cb497c1.b1203d35.js
new file mode 100644
index 000000000..4a366fd05
--- /dev/null
+++ b/zh-CN/assets/js/6cb497c1.b1203d35.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1148],{42839:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var r=e(43010),i=e(90887);const o={slug:"/translation"},s="\u7ffb\u8bd1",c={id:"contributing/translation",title:"\u7ffb\u8bd1",description:"\u6211\u4eec\u7684\u9879\u76ee\u4f7f\u7528Crowdin\u8fdb\u884c\u7ffb\u8bd1\uff1b\u6211\u4eec\u5efa\u8bae\u901a\u8fc7 Crowdin \u8d21\u732e\u7ffb\u8bd1\u [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6cb497c1.fd5acc8a.js b/zh-CN/assets/js/6cb497c1.fd5acc8a.js
deleted file mode 100644
index 4a97b0492..000000000
--- a/zh-CN/assets/js/6cb497c1.fd5acc8a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1148],{42839:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var r=e(43010),i=e(90887);const o={slug:"/translation"},s="\u7ffb\u8bd1",c={id:"contributing/translation",title:"\u7ffb\u8bd1",description:"\u6211\u4eec\u7684\u9879\u76ee\u4f7f\u7528Crowdin\u8fdb\u884c\u7ffb\u8bd1\uff1b\u6211\u4eec\u5efa\u8bae\u901a\u8fc7 Crowdin \u8d21\u732e\u7ffb\u8bd1\u [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/719ef308.12259dc9.js b/zh-CN/assets/js/719ef308.12259dc9.js
deleted file mode 100644
index 99dc72f59..000000000
--- a/zh-CN/assets/js/719ef308.12259dc9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6606],{57671:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>u,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var n=r(43010),a=r(90887),s=r(81290),l=r(71401);const o={slug:"/upgrade"},u="\u5347\u7ea7",c={id:"getting-started/upgrade",title:"\u5347\u7ea7",description:"\u6211\u4eec\u5efa\u8bae\u5728\u5347\u7ea7\u4e4b\u524d\u5907\u4efd\u6570\u636e\u5e93\u548c\u914d\u7f6e\u6587\u4ef6\u3002\u901a\u5e38\ [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/719ef308.71bc574a.js b/zh-CN/assets/js/719ef308.71bc574a.js
new file mode 100644
index 000000000..404263205
--- /dev/null
+++ b/zh-CN/assets/js/719ef308.71bc574a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6606],{57671:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>u,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var n=r(43010),a=r(90887),s=r(81290),l=r(71401);const o={slug:"/upgrade"},u="\u5347\u7ea7",c={id:"getting-started/upgrade",title:"\u5347\u7ea7",description:"\u6211\u4eec\u5efa\u8bae\u5728\u5347\u7ea7\u4e4b\u524d\u5907\u4efd\u6570\u636e\u5e93\u548c\u914d\u7f6e\u6587\u4ef6\u3002\u901a\u5e38\ [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/725f0d2b.04adead8.js b/zh-CN/assets/js/725f0d2b.04adead8.js
new file mode 100644
index 000000000..2cb024014
--- /dev/null
+++ b/zh-CN/assets/js/725f0d2b.04adead8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[183],{37337:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var r=n(43010),a=n(90887);const i={slug:"/how-to-release"},l="\u5982\u4f55\u53d1\u5e03",c={id:"contributing/how-to-release",title:"\u5982\u4f55\u53d1\u5e03",description:"\u6240\u6709 Apache \u9879\u76ee\u90fd\u5fc5\u987b\u9075\u5faa Apache Release Policy \u3002\u672c\u6587\u53ef\u4ee5\u5e2e [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/725f0d2b.3d8cf1cc.js b/zh-CN/assets/js/725f0d2b.3d8cf1cc.js
deleted file mode 100644
index ad36489e7..000000000
--- a/zh-CN/assets/js/725f0d2b.3d8cf1cc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[183],{37337:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var r=n(43010),a=n(90887);const i={slug:"/how-to-release"},l="\u5982\u4f55\u53d1\u5e03",c={id:"contributing/how-to-release",title:"\u5982\u4f55\u53d1\u5e03",description:"\u6240\u6709 Apache \u9879\u76ee\u90fd\u5fc5\u987b\u9075\u5faa Apache Release Policy \u3002\u672c\u6587\u53ef\u4ee5\u5e2e [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/731fb1ee.6e7c3f13.js b/zh-CN/assets/js/731fb1ee.6e7c3f13.js
new file mode 100644
index 000000000..b273e6ff5
--- /dev/null
+++ b/zh-CN/assets/js/731fb1ee.6e7c3f13.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2542],{19461:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>l,default:()=>x,frontMatter:()=>i,metadata:()=>r,toc:()=>o});var c=s(43010),d=s(90887);const i={slug:"/env"},l="\u73af\u5883\u53d8\u91cf",r={id:"getting-started/env",title:"\u73af\u5883\u53d8\u91cf",description:"\u5b89\u88c5",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/getting-started/env.md",sourceDirName:"getting-started",slug: [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/731fb1ee.96c9b9ad.js b/zh-CN/assets/js/731fb1ee.96c9b9ad.js
deleted file mode 100644
index ea362e797..000000000
--- a/zh-CN/assets/js/731fb1ee.96c9b9ad.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2542],{19461:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>l,default:()=>x,frontMatter:()=>i,metadata:()=>r,toc:()=>o});var c=s(43010),d=s(90887);const i={slug:"/env"},l="\u73af\u5883\u53d8\u91cf",r={id:"getting-started/env",title:"\u73af\u5883\u53d8\u91cf",description:"\u5b89\u88c5",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/getting-started/env.md",sourceDirName:"getting-started",slug: [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/7a80358d.4c56a29f.js b/zh-CN/assets/js/7a80358d.4c56a29f.js
new file mode 100644
index 000000000..0eeea3576
--- /dev/null
+++ b/zh-CN/assets/js/7a80358d.4c56a29f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7665],{97150:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var t=i(43010),r=i(90887);const l={slug:"/development/plugins"},s="\u63d2\u4ef6\u5f00\u53d1\u6307\u5357",o={id:"development/plugins/plugin",title:"\u63d2\u4ef6\u5f00\u53d1\u6307\u5357",description:"Plugins are a way to extend the functionality of the Answer project. You can create your own [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/7a80358d.a3d63de2.js b/zh-CN/assets/js/7a80358d.a3d63de2.js
deleted file mode 100644
index dcaa6e844..000000000
--- a/zh-CN/assets/js/7a80358d.a3d63de2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7665],{97150:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var t=i(43010),r=i(90887);const l={slug:"/development/plugins"},s="\u63d2\u4ef6\u5f00\u53d1\u6307\u5357",o={id:"development/plugins/plugin",title:"\u63d2\u4ef6\u5f00\u53d1\u6307\u5357",description:"Plugins are a way to extend the functionality of the Answer project. You can create your own [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/7f220a89.7e8e36ab.js b/zh-CN/assets/js/7f220a89.7e8e36ab.js
new file mode 100644
index 000000000..160ba089c
--- /dev/null
+++ b/zh-CN/assets/js/7f220a89.7e8e36ab.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5757],{88281:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>h});var t=s(43010),r=s(90887),a=s(81290),l=s(71401);const i={slug:"/installation"},c="\u5b89\u88c5",o={id:"getting-started/installation",title:"\u5b89\u88c5",description:"\u542f\u52a8 Apache Answer",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/getting-started/installation.md [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/7f220a89.92a4917b.js b/zh-CN/assets/js/7f220a89.92a4917b.js
deleted file mode 100644
index 9c9d9d28e..000000000
--- a/zh-CN/assets/js/7f220a89.92a4917b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5757],{88281:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>h});var t=s(43010),r=s(90887),a=s(81290),l=s(71401);const i={slug:"/installation"},c="\u5b89\u88c5",o={id:"getting-started/installation",title:"\u5b89\u88c5",description:"\u542f\u52a8 Apache Answer",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/getting-started/installation.md [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/80d61403.17c25d0d.js b/zh-CN/assets/js/80d61403.17c25d0d.js
new file mode 100644
index 000000000..50140b575
--- /dev/null
+++ b/zh-CN/assets/js/80d61403.17c25d0d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4234],{27739:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var s=i(43010),n=i(90887);const r={slug:"/security-model"},o="Security Model",a={id:"security-model",title:"Security Model",description:"This document outlines the security model of Apache Answer. It aims to help users understand the security model and make informed decisions about deployi [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/80d61403.d201caa1.js b/zh-CN/assets/js/80d61403.d201caa1.js
deleted file mode 100644
index c39c62e12..000000000
--- a/zh-CN/assets/js/80d61403.d201caa1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4234],{27739:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var s=i(43010),n=i(90887);const r={slug:"/security-model"},o="Security Model",a={id:"security-model",title:"Security Model",description:"This document outlines the security model of Apache Answer. It aims to help users understand the security model and make informed decisions about deployi [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/82264c80.759e5e00.js b/zh-CN/assets/js/82264c80.759e5e00.js
new file mode 100644
index 000000000..ac20a7d36
--- /dev/null
+++ b/zh-CN/assets/js/82264c80.759e5e00.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5225],{43764:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>o,frontMatter:()=>l,metadata:()=>h,toc:()=>t});var i=s(43010),r=s(90887);const l={slug:"/contributing"},c="\u8d21\u732e",h={id:"contributing/contributing",title:"\u8d21\u732e",description:"\u611f\u8c22\u4f60\u5bf9 Apache Answer \u7684\u5173\u6ce8\uff0c\u5e0c\u671b\u672c\u6587\u6863\u80fd\u8ba9\u4f60\u5bf9\u8d21\u732e\u8fc7\u7a0b\u6709\ [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/82264c80.af960c51.js b/zh-CN/assets/js/82264c80.af960c51.js
deleted file mode 100644
index a3a403325..000000000
--- a/zh-CN/assets/js/82264c80.af960c51.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5225],{43764:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>o,frontMatter:()=>l,metadata:()=>h,toc:()=>t});var i=s(43010),r=s(90887);const l={slug:"/contributing"},c="\u8d21\u732e",h={id:"contributing/contributing",title:"\u8d21\u732e",description:"\u611f\u8c22\u4f60\u5bf9 Apache Answer \u7684\u5173\u6ce8\uff0c\u5e0c\u671b\u672c\u6587\u6863\u80fd\u8ba9\u4f60\u5bf9\u8d21\u732e\u8fc7\u7a0b\u6709\ [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/86783167.7689822a.js b/zh-CN/assets/js/86783167.7689822a.js
new file mode 100644
index 000000000..8515f560c
--- /dev/null
+++ b/zh-CN/assets/js/86783167.7689822a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9017],{43784:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var o=n(43010),t=n(90887);const r={slug:"/deploy-subdirectory"},s="Deploy subdirectory",l={id:"guides/deploy-subdirectory",title:"Deploy subdirectory",description:"This function is implemented based on react-router's basename, so it is not applicable to subdirectories implemented through n [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/86783167.dfa323a4.js b/zh-CN/assets/js/86783167.dfa323a4.js
deleted file mode 100644
index aafc7c822..000000000
--- a/zh-CN/assets/js/86783167.dfa323a4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9017],{43784:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=n(43010),t=n(90887);const s={slug:"/deploy-subdirectory"},r="Deploy subdirectory",l={id:"guides/deploy-subdirectory",title:"Deploy subdirectory",description:"This function is implemented based on react-router's basename, so it is not applicable to subdirectories implemented through n [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/8692be7e.a153bf07.js b/zh-CN/assets/js/8692be7e.a153bf07.js
deleted file mode 100644
index 01727a36b..000000000
--- a/zh-CN/assets/js/8692be7e.a153bf07.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9616],{86553:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var i=t(43010),o=t(90887);const l={slug:"/development/plugins/plugin-translation"},r="Plugin Translation",s={id:"development/plugins/plugin-translation",title:"Plugin Translation",description:"Since answer supports multiple languages, the plugin also needs to support multiple languages.",s [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/8692be7e.a1769438.js b/zh-CN/assets/js/8692be7e.a1769438.js
new file mode 100644
index 000000000..713bec3d3
--- /dev/null
+++ b/zh-CN/assets/js/8692be7e.a1769438.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9616],{86553:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var i=t(43010),o=t(90887);const l={slug:"/development/plugins/plugin-translation"},r="Plugin Translation",s={id:"development/plugins/plugin-translation",title:"Plugin Translation",description:"Since answer supports multiple languages, the plugin also needs to support multiple languages.",s [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/883c2984.7e4ee984.js b/zh-CN/assets/js/883c2984.7e4ee984.js
new file mode 100644
index 000000000..86190c8c2
--- /dev/null
+++ b/zh-CN/assets/js/883c2984.7e4ee984.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3560],{45740:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>i,contentTitle:()=>a,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var s=n(43010),r=n(90887);const o={slug:"/tags"},a="Tags",c={id:"guides/tags",title:"Tags",description:"TODO",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/tags.md",sourceDirName:"guides",slug:"/tags",permalink:"/zh-CN/docs/tags",draft:!1,unlisted:!1,editUrl:"https [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/883c2984.dbc2d68d.js b/zh-CN/assets/js/883c2984.dbc2d68d.js
deleted file mode 100644
index fe14a68cc..000000000
--- a/zh-CN/assets/js/883c2984.dbc2d68d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3560],{45740:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>i,contentTitle:()=>a,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var n=s(43010),r=s(90887);const o={slug:"/tags"},a="Tags",c={id:"guides/tags",title:"Tags",description:"TODO",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/tags.md",sourceDirName:"guides",slug:"/tags",permalink:"/zh-CN/docs/tags",draft:!1,unlisted:!1,editUrl:"https [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/89df2f43.c8e7acb4.js b/zh-CN/assets/js/89df2f43.c8e7acb4.js
new file mode 100644
index 000000000..48c0461cc
--- /dev/null
+++ b/zh-CN/assets/js/89df2f43.c8e7acb4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4466],{26302:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var t=i(43010),o=i(90887);const l={sidebar_label:"Plugin Configuration Schema",slug:"/development/plugins/plugin-config"},r="Plugin Configuration Schema",s={id:"development/plugins/plugin-config",title:"Plugin Configuration Schema",description:"Feature",source:"@site/i18n/zh-CN/docusaurus- [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/89df2f43.de940a27.js b/zh-CN/assets/js/89df2f43.de940a27.js
deleted file mode 100644
index 10f49a8ca..000000000
--- a/zh-CN/assets/js/89df2f43.de940a27.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4466],{26302:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var t=i(43010),o=i(90887);const l={sidebar_label:"Plugin Configuration Schema",slug:"/development/plugins/plugin-config"},r="Plugin Configuration Schema",s={id:"development/plugins/plugin-config",title:"Plugin Configuration Schema",description:"Feature",source:"@site/i18n/zh-CN/docusaurus- [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/8bfad952.7c2b78c6.js b/zh-CN/assets/js/8bfad952.7c2b78c6.js
new file mode 100644
index 000000000..b005bbd3a
--- /dev/null
+++ b/zh-CN/assets/js/8bfad952.7c2b78c6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7219],{34557:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>h,contentTitle:()=>d,default:()=>j,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var i=n(43010),r=n(90887);const t={slug:"/issues"},d="Issues",c={id:"contributing/issues",title:"Issues",description:"Apache Answer \u9879\u76ee\u4e2d\u6709\u4e00\u4e9b\u4ed3\u5e93\uff0c\u4f60\u53ef\u4ee5\u5728\u4e0d\u540c\u7684\u4ed3\u5e93\u63d0 issue\u3002",source:"@site/i18n/zh-CN/docus [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/8bfad952.e5cd38ae.js b/zh-CN/assets/js/8bfad952.e5cd38ae.js
deleted file mode 100644
index e07f1eef4..000000000
--- a/zh-CN/assets/js/8bfad952.e5cd38ae.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7219],{34557:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>h,contentTitle:()=>d,default:()=>j,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var i=n(43010),r=n(90887);const t={slug:"/issues"},d="Issues",c={id:"contributing/issues",title:"Issues",description:"Apache Answer \u9879\u76ee\u4e2d\u6709\u4e00\u4e9b\u4ed3\u5e93\uff0c\u4f60\u53ef\u4ee5\u5728\u4e0d\u540c\u7684\u4ed3\u5e93\u63d0 issue\u3002",source:"@site/i18n/zh-CN/docus [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a5b0ceb9.35be1d1c.js b/zh-CN/assets/js/a5b0ceb9.35be1d1c.js
new file mode 100644
index 000000000..7e12c5bb1
--- /dev/null
+++ b/zh-CN/assets/js/a5b0ceb9.35be1d1c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6431],{73824:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>j,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var d=s(43010),r=s(90887);const i={slug:"/permission"},n="Permission",l={id:"guides/permission",title:"Permission",description:"Privileges",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/permission.md",sourceDirName:"guides",slug:"/permission",permalink:"/zh-CN/docs [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a5b0ceb9.850c8e7f.js b/zh-CN/assets/js/a5b0ceb9.850c8e7f.js
deleted file mode 100644
index 440892542..000000000
--- a/zh-CN/assets/js/a5b0ceb9.850c8e7f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6431],{73824:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>j,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var d=s(43010),r=s(90887);const i={slug:"/permission"},n="Permission",l={id:"guides/permission",title:"Permission",description:"Privileges",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/permission.md",sourceDirName:"guides",slug:"/permission",permalink:"/zh-CN/docs [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/ae0ce2bf.f6a6893a.js b/zh-CN/assets/js/ae0ce2bf.f6a6893a.js
deleted file mode 100644
index 1232e5f08..000000000
--- a/zh-CN/assets/js/ae0ce2bf.f6a6893a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6017],{60295:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>a,frontMatter:()=>i,metadata:()=>d,toc:()=>h});var c=n(43010),r=n(90887);const i={slug:"/security"},s="\u5b89\u5168",d={id:"security",title:"\u5b89\u5168",description:"Apache \u8f6f\u4ef6\u57fa\u91d1\u4f1a\u5728\u89e3\u51b3\u8f6f\u4ef6\u9879\u76ee\u5b89\u5168\u95ee\u9898\u4e0a\u91c7\u53d6\u4e25\u683c\u7684\u6001\u5ea6\u3002\u5982\u679c [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/ae0ce2bf.fbf5912f.js b/zh-CN/assets/js/ae0ce2bf.fbf5912f.js
new file mode 100644
index 000000000..199b8d419
--- /dev/null
+++ b/zh-CN/assets/js/ae0ce2bf.fbf5912f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6017],{60295:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>a,frontMatter:()=>i,metadata:()=>d,toc:()=>o});var r=t(43010),c=t(90887);const i={slug:"/security"},s="\u5b89\u5168",d={id:"security",title:"\u5b89\u5168",description:"Apache \u8f6f\u4ef6\u57fa\u91d1\u4f1a\u5728\u89e3\u51b3\u8f6f\u4ef6\u9879\u76ee\u5b89\u5168\u95ee\u9898\u4e0a\u91c7\u53d6\u4e25\u683c\u7684\u6001\u5ea6\u3002\u5982\u679c [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/c8c000df.45ac2b9b.js b/zh-CN/assets/js/c8c000df.45ac2b9b.js
new file mode 100644
index 000000000..271eb5fd5
--- /dev/null
+++ b/zh-CN/assets/js/c8c000df.45ac2b9b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9185],{86750:(n,e,l)=>{l.r(e),l.d(e,{assets:()=>h,contentTitle:()=>c,default:()=>u,frontMatter:()=>d,metadata:()=>r,toc:()=>t});var i=l(43010),s=l(90887);const d={slug:"/command-line"},c="\u547d\u4ee4\u884c\u6307\u5357",r={id:"getting-started/command-line",title:"\u547d\u4ee4\u884c\u6307\u5357",description:"Apache Answer \u4e8c\u8fdb\u5236\u6587\u4ef6\u652f\u6301\u4e00\u4e9b\u547d\u4ee4\u884c\u9009\u9879\u3002",sou [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/c8c000df.ba9cf0cf.js b/zh-CN/assets/js/c8c000df.ba9cf0cf.js
deleted file mode 100644
index 97192186f..000000000
--- a/zh-CN/assets/js/c8c000df.ba9cf0cf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9185],{86750:(n,e,l)=>{l.r(e),l.d(e,{assets:()=>h,contentTitle:()=>c,default:()=>u,frontMatter:()=>d,metadata:()=>r,toc:()=>t});var i=l(43010),s=l(90887);const d={slug:"/command-line"},c="\u547d\u4ee4\u884c\u6307\u5357",r={id:"getting-started/command-line",title:"\u547d\u4ee4\u884c\u6307\u5357",description:"Apache Answer \u4e8c\u8fdb\u5236\u6587\u4ef6\u652f\u6301\u4e00\u4e9b\u547d\u4ee4\u884c\u9009\u9879\u3002",sou [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/ca3ced4f.6c3a92ad.js b/zh-CN/assets/js/ca3ced4f.6c3a92ad.js
deleted file mode 100644
index 680ed00aa..000000000
--- a/zh-CN/assets/js/ca3ced4f.6c3a92ad.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6161],{8118:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var s=n(43010),r=n(90887);const i={slug:"/settings"},o="Settings",c={id:"guides/settings",title:"Settings",description:"TODO",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/settings.md",sourceDirName:"guides",slug:"/settings",permalink:"/zh-CN/docs/settings",draft:!1 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/ca3ced4f.9aec1689.js b/zh-CN/assets/js/ca3ced4f.9aec1689.js
new file mode 100644
index 000000000..a97c96164
--- /dev/null
+++ b/zh-CN/assets/js/ca3ced4f.9aec1689.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6161],{8118:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var s=n(43010),r=n(90887);const i={slug:"/settings"},o="Settings",c={id:"guides/settings",title:"Settings",description:"TODO",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/settings.md",sourceDirName:"guides",slug:"/settings",permalink:"/zh-CN/docs/settings",draft:!1 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/cb37bc33.14d47dd8.js b/zh-CN/assets/js/cb37bc33.14d47dd8.js
new file mode 100644
index 000000000..535295b69
--- /dev/null
+++ b/zh-CN/assets/js/cb37bc33.14d47dd8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9835],{13054:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var a=t(43010),i=t(90887);const o={slug:"/configfile"},r="\u914d\u7f6e\u6587\u4ef6",c={id:"getting-started/configfile",title:"\u914d\u7f6e\u6587\u4ef6",description:"\u6211\u4eec\u4f7f\u7528 yaml \u914d\u7f6e\u6587\u4ef6\u3002\u5b83\u4f1a\u5728\u6267\u884c answer init \u547d\u4ee4\u540e\u81 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/cb37bc33.5b17c8fe.js b/zh-CN/assets/js/cb37bc33.5b17c8fe.js
deleted file mode 100644
index e3be86e64..000000000
--- a/zh-CN/assets/js/cb37bc33.5b17c8fe.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9835],{13054:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>s,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var a=t(43010),i=t(90887);const o={slug:"/configfile"},c="\u914d\u7f6e\u6587\u4ef6",r={id:"getting-started/configfile",title:"\u914d\u7f6e\u6587\u4ef6",description:"\u6211\u4eec\u4f7f\u7528 yaml \u914d\u7f6e\u6587\u4ef6\u3002\u5b83\u4f1a\u5728\u6267\u884c answer init \u547d\u4ee4\u540e\u81 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/main.421555dd.js b/zh-CN/assets/js/main.313926be.js
similarity index 90%
rename from zh-CN/assets/js/main.421555dd.js
rename to zh-CN/assets/js/main.313926be.js
index fac4ff0c4..aed42fede 100644
--- a/zh-CN/assets/js/main.421555dd.js
+++ b/zh-CN/assets/js/main.313926be.js
@@ -1,2 +1,2 @@
-/*! For license information please see main.421555dd.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{35175:(e,t,n)=>{var r={"./":91884};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=35175},67206:(e,t,n)=>{"use strict";n.d(t,{Z:()=>A});var r,o,a,i,l,s,c,u,d,p,f,h,g,m,b,y,w,v,k,x,C,_,N,S,z,E,T,j=n(85170);function L(){return L=Object.assign?Objec [...]
\ No newline at end of file
+/*! For license information please see main.313926be.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{35175:(e,t,n)=>{var r={"./":91884};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=35175},67206:(e,t,n)=>{"use strict";n.d(t,{Z:()=>A});var r,o,a,i,l,s,c,u,d,p,f,h,g,m,b,y,w,v,k,x,C,_,N,S,z,E,T,j=n(85170);function L(){return L=Object.assign?Objec [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/main.421555dd.js.LICENSE.txt b/zh-CN/assets/js/main.313926be.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/main.421555dd.js.LICENSE.txt
rename to zh-CN/assets/js/main.313926be.js.LICENSE.txt
diff --git a/zh-CN/assets/js/runtime~main.41541fa1.js b/zh-CN/assets/js/runtime~main.1fbbecb4.js
similarity index 71%
rename from zh-CN/assets/js/runtime~main.41541fa1.js
rename to zh-CN/assets/js/runtime~main.1fbbecb4.js
index 48dbfc3e5..d3371953f 100644
--- a/zh-CN/assets/js/runtime~main.41541fa1.js
+++ b/zh-CN/assets/js/runtime~main.1fbbecb4.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,c,f,b,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=t,e=[],r.O=(a,c,f,b)=>{if(!c){var d=1/0;for(i=0;i<e.length;i++){c=e[i][0],f=e[i][1],b=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&b||d>=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b<d&&(d=b));if(t){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}b=b| [...]
\ No newline at end of file
+(()=>{"use strict";var e,c,a,f,d,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(c,a,f,d)=>{if(!a){var b=1/0;for(i=0;i<e.length;i++){a=e[i][0],f=e[i][1],d=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=f();void 0!==n&&(c=n)}}return c}d=d| [...]
\ No newline at end of file
diff --git a/zh-CN/blog/a-new-chapter-begins-answer-first-apache-release-launches/index.html b/zh-CN/blog/a-new-chapter-begins-answer-first-apache-release-launches/index.html
index 5bb727759..496df8412 100644
--- a/zh-CN/blog/a-new-chapter-begins-answer-first-apache-release-launches/index.html
+++ b/zh-CN/blog/a-new-chapter-begins-answer-first-apache-release-launches/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="bring-back-deleted-qa">Bring Back Deleted Q&A<!-- --><a href="#bring-back-deleted-qa" class="hash-link" aria-label="Bring Back Deleted Q&A的直接链接" title="Bring Back Deleted Q&A的直接链接"></a></h2>
<!-- --><p>Accidentally delete a question or an answer? Go ask the admin to bring them back easily.</p>
<!-- --><p>For admins, simply go Admin page, then Contents. Recover the content by clicking Undelete in action. It works for both questions and answers.</p>
diff --git a/zh-CN/blog/answer-1.0.9-release/index.html b/zh-CN/blog/answer-1.0.9-release/index.html
index ab8d4e7da..ef443aad2 100644
--- a/zh-CN/blog/answer-1.0.9-release/index.html
+++ b/zh-CN/blog/answer-1.0.9-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-new">What’s New<!-- --><a href="#whats-new" class="hash-link" aria-label="What’s New的直接链接" title="What’s New的直接链接"></a></h2>
<!-- --><p>Pin an important or frequently asked question for your Q&A platform, so that it always stay on the top of your community.
<!-- --><img decoding="async" loading="lazy" alt="Pin a Question in Answer" src="/zh-CN/assets/images/1.0.9release1-b10a9df59c50ef5d5c9f979408944d6d.gif" width="786" height="674" class="img_RAU7"></p>
diff --git a/zh-CN/blog/answer-1.1.0-release/index.html b/zh-CN/blog/answer-1.1.0-release/index.html
index 88c169a9f..61f3bd589 100644
--- a/zh-CN/blog/answer-1.1.0-release/index.html
+++ b/zh-CN/blog/answer-1.1.0-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>From 1.0 to 1.1.0, it's not just a stack-up of numbers, but a step forward for your Answer in: <!-- --><strong>security, functionality, and stability</strong>. Find out what are the updates, and how you can use them to boost productivity. Don’t forget to update ;)<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="plugin-the-new-wings-to-your-answer">Plugin: The New Wings to Your Answer<!-- --><a href="#plugin-the-new-wings-to-your-answer" class="hash-link" aria-label="Plugin: The New Wings to Your Answer的直接链接" title="Plugin: The New Wings to Your Answer的直接链接"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="Answer Supports Plugin" src="/zh-CN/assets/images/1.1.0release1-317e0fdd01d100da7d5b32c9769d7a82.png" width="2400" height="1350" class="img_RAU7">
diff --git a/zh-CN/blog/answer-1.2.1-ask-better-find-better/index.html b/zh-CN/blog/answer-1.2.1-ask-better-find-better/index.html
index e4bf252db..8ce12a9e1 100644
--- a/zh-CN/blog/answer-1.2.1-ask-better-find-better/index.html
+++ b/zh-CN/blog/answer-1.2.1-ask-better-find-better/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In this version, we pack up new features and improvements to make finding answers easier, reduce duplicate content, and an efficient way of organizing your Q&A knowledge from the very start.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="one-answer-one-question">One Answer. One Question.<!-- --><a href="#one-answer-one-question" class="hash-link" aria-label="One Answer. One Question.的直接链接" title="One Answer. One Question.的直接链接"></a></h2>
<!-- --><p>Answer focuses on clear and concise answers to each question. However, you can find new answers or scattered answers from one person in several responses, making it hard for the admin to pick the best answer, and maintain the content afterwards.</p>
diff --git a/zh-CN/blog/answer-1.2.5-is-ready/index.html b/zh-CN/blog/answer-1.2.5-is-ready/index.html
index 7b55886d1..5f76a0034 100644
--- a/zh-CN/blog/answer-1.2.5-is-ready/index.html
+++ b/zh-CN/blog/answer-1.2.5-is-ready/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="turn-the-dark-mode-on">Turn the Dark Mode On<!-- --><a href="#turn-the-dark-mode-on" class="hash-link" aria-label="Turn the Dark Mode On的直接链接" title="Turn the Dark Mode On的直接链接"></a></h2>
<!-- --><p>Get ready to explore the dark side with our new Dark Mode. Switch to light, dark manually to meet your needs, or follow the system for a smooth transition.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="Dark Mode of Answer" src="/zh-CN/assets/images/dark-mode-4675167c279fc82e60dcfbd04f46f5cd.png" width="2724" height="1228" class="img_RAU7"></p>
diff --git a/zh-CN/blog/answer-1.3.5-release/index.html b/zh-CN/blog/answer-1.3.5-release/index.html
index 31072f05b..3c54e5b00 100644
--- a/zh-CN/blog/answer-1.3.5-release/index.html
+++ b/zh-CN/blog/answer-1.3.5-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In this update, both users and admins have more freedom to customize, express, and view in the online community with new features. Find out how and why.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="customize-urls-with-base-path-parametrization">Customize URLs with Base Path Parametrization<!-- --><a href="#customize-urls-with-base-path-parametrization" class="hash-link" aria-label="Customize URLs with Base Path Parametrization的直接链接" title="Customize URLs with Base Path Parametrization的直接链接"></a></h2>
<!-- --><p>Time to personalize your Answer URL. You can now handle Answer website address by adding tags to URLs. It’s a great improvement for both the flexibility and ease of deployment for Answer.</p>
diff --git a/zh-CN/blog/answer-1.3.6-release/index.html b/zh-CN/blog/answer-1.3.6-release/index.html
index 3d20b4e8e..c1abdf75e 100644
--- a/zh-CN/blog/answer-1.3.6-release/index.html
+++ b/zh-CN/blog/answer-1.3.6-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p><a href="https://answer.apache.org/docs/upgrade" target="_blank" rel="noopener noreferrer">Upgrade</a> now, and find out what we’ve got for you.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-new">What’s New<!-- --><a href="#whats-new" class="hash-link" aria-label="What’s New的直接链接" title="What’s New的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="pre-fill-forms-focus-on-the-content-leave-the-rest">Pre-fill Forms: Focus on the Content. Leave the Rest.<!-- --><a href="#pre-fill-forms-focus-on-the-content-leave-the-rest" class="hash-link" aria-label="Pre-fill Forms: Focus on the Content. Leave the Rest.的直接链接" title="Pre-fill Forms: Focus on the Content. Leave the Rest.的直接链接"></a></h3>
diff --git a/zh-CN/blog/answer-1.4.0-release/index.html b/zh-CN/blog/answer-1.4.0-release/index.html
index 214f98b3d..316781774 100644
--- a/zh-CN/blog/answer-1.4.0-release/index.html
+++ b/zh-CN/blog/answer-1.4.0-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>We celebrate your firsts and the good content with the badges. Explore the content in Recommend where we curate the list based on your following tags and questions. Don’t forget to pick a theme to highlight your code snippets whether for an answer or a question.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="badges-celebrate-and-showcase">Badges: Celebrate and Showcase<!-- --><a href="#badges-celebrate-and-showcase" class="hash-link" aria-label="Badges: Celebrate and Showcase的直接链接" title="Badges: Celebrate and Showcase的直接链接"></a></h2>
<!-- --><p>Your dedication and contribution deserve to be seen. In our latest update, we've introduced three new badge types to recognize your achievements:</p>
diff --git a/zh-CN/blog/answer-enters-apache-incubator/index.html b/zh-CN/blog/answer-enters-apache-incubator/index.html
index 7cfa845e9..4e873501a 100644
--- a/zh-CN/blog/answer-enters-apache-incubator/index.html
+++ b/zh-CN/blog/answer-enters-apache-incubator/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>The discussion regarding the proposal of Answer was initiated on the mailing list of Apache Foundation on September 21st. On October 9th, as per the records of the ASF mailing list, Answer received 22 votes, including 18 binding votes and 4 non-binding votes, with no abstentions or oppositions. On October 18th, the project Answer was formally transferred to the Apache Software Foundation.</p>
<!-- --><p>After entering the Apache Incubator, Answer is committed to embracing the Apache way, maintaining openness and transparency, while building a fair, diverse, and inclusive community. We will constantly improve our product for users, and welcome more contributors to join us in advancing the open-source mission.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="Answer Project Incubation Status in Apache Incubator" src="/zh-CN/assets/images/apache-answer-project-page-0ed9d04a78daf356f59e8f63330c23a2.png" width="1280" height="872" class="img_RAU7"></p>
diff --git a/zh-CN/blog/answer-ospp-2024/index.html b/zh-CN/blog/answer-ospp-2024/index.html
index ab5b4922e..a72c9edbe 100644
--- a/zh-CN/blog/answer-ospp-2024/index.html
+++ b/zh-CN/blog/answer-ospp-2024/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- -->和来自全球优秀的开发者的那种!打造一款优秀的问答社区软件的那种!还有含金量超高的结项证书,和丰厚奖金的那种!<!-- --></p>
<!-- --><p><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Apache Answer 社区</a>喊你来参加开源之夏 2024 啦!<!-- --></p>
<!-- --><p><a href="https://summer-ospp.ac.cn/" target="_blank" rel="noopener noreferrer">开源之夏</a>是由中国科学院软件研究所发起的暑期活动,旨在鼓励高校学生积极参与开源软件的开发维护,促进开源软件社区发展。<!-- --><br>
diff --git a/zh-CN/blog/answer-recap-august/index.html b/zh-CN/blog/answer-recap-august/index.html
index 9f57bddd2..6f2f6490c 100644
--- a/zh-CN/blog/answer-recap-august/index.html
+++ b/zh-CN/blog/answer-recap-august/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Let's go!</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-whats-new">🌟 What’s New<!-- --><a href="#-whats-new" class="hash-link" aria-label="🌟 What’s New的直接链接" title="🌟 What’s New的直接链接"></a></h2>
<!-- --><p>We brought the heart of bringing smoother Q&A experience in every release for more people. In the latest 1.3.6, we introduced two CDN plugins for fast loading speed and pre-filled forms for helping users to stay concentrated on editing the content.
diff --git a/zh-CN/blog/answer-recap-july/index.html b/zh-CN/blog/answer-recap-july/index.html
index 25d581a11..6ce1c1a67 100644
--- a/zh-CN/blog/answer-recap-july/index.html
+++ b/zh-CN/blog/answer-recap-july/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
Here's the recap:</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-whatsnew">🌟 What's New<!-- --><a href="#-whatsnew" class="hash-link" aria-label="🌟 What's New的直接链接" title="🌟 What's New的直接链接"></a></h2>
<!-- --><p>New version released on the beginning of a month. In this update, both users and admins have more freedom to customize, express, and view in the online community with new features. Have you tried the latest 1.3.5? If not, here's the <!-- --><a href="https://medium.com/r/?url=https%3A%2F%2Fanswer.apache.org%2Fdownload" target="_blank" rel="noopener noreferrer">portal</a>.<!-- --></p>
diff --git a/zh-CN/blog/answer-recap-june/index.html b/zh-CN/blog/answer-recap-june/index.html
index cf73b57ad..444d12449 100644
--- a/zh-CN/blog/answer-recap-june/index.html
+++ b/zh-CN/blog/answer-recap-june/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-whatsnew">🌟 What's New<!-- --><a href="#-whatsnew" class="hash-link" aria-label="🌟 What's New的直接链接" title="🌟 What's New的直接链接"></a></h2>
<!-- --><p>We were featured in the ASF project spotlight blog and connected to more open-source lovers. In this blog, we shared how we started our journey, mission, use cases, and ways you can join us.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-community">🫶 Community<!-- --><a href="#-community" class="hash-link" aria-label="🫶 Community的直接链接" title="🫶 Community的直接链接"></a></h2>
diff --git a/zh-CN/blog/answer-recap-october/index.html b/zh-CN/blog/answer-recap-october/index.html
index b1757a806..a95782599 100644
--- a/zh-CN/blog/answer-recap-october/index.html
+++ b/zh-CN/blog/answer-recap-october/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="-community">🫶 Community<!-- --><a href="#-community" class="hash-link" aria-label="🫶 Community的直接链接" title="🫶 Community的直接链接"></a></h2>
<!-- --><p>New award coming!
We have received the award of cutting-edge open source projects and communities presented by China Communications Standards Association. Apache Answer has impressed the judges with its strong community, global reach, and technical flexibility, as shown in the preliminary round and the second round of interviews.</p>
diff --git a/zh-CN/blog/answer-recap-sept/index.html b/zh-CN/blog/answer-recap-sept/index.html
index 94967c815..4fcccac29 100644
--- a/zh-CN/blog/answer-recap-sept/index.html
+++ b/zh-CN/blog/answer-recap-sept/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="--whats-new">🌟 What’s New<!-- --><a href="#--whats-new" class="hash-link" aria-label="🌟 What’s New的直接链接" title="🌟 What’s New的直接链接"></a></h2>
<!-- --><p>Apache Answer more features and stable performance in the latest 1.4.0.</p>
<!-- --><p><strong>Show the Badges</strong>: Show off your achievements with our new badges system. Earn badges for active participation, valuable contributions, and more!<!-- --></p>
diff --git a/zh-CN/blog/answer-turns-one-and-is-now-apache-answer/index.html b/zh-CN/blog/answer-turns-one-and-is-now-apache-answer/index.html
index ef7523b81..bc77d1ef1 100644
--- a/zh-CN/blog/answer-turns-one-and-is-now-apache-answer/index.html
+++ b/zh-CN/blog/answer-turns-one-and-is-now-apache-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>We launched Answer Alpha in last October, and made it to GitHub Trending. Our first stable version, Answer v1.0 was released in last December. This October, we passed the vote and became an <!-- --><a href="https://incubator.apache.org/projects/answer.html" target="_blank" rel="noopener noreferrer">Apache Incubator Project</a>. It feels like yesterday we were sharing the news!<!-- --></p>
<!-- --><p>For the past year, we’ve released 19 versions, and formed a compact but powerful community. Here are some features, numbers, and people that we are proud to share with all of you:</p>
<!-- --><ul>
diff --git a/zh-CN/blog/apache-answer-1.4.1-release/index.html b/zh-CN/blog/apache-answer-1.4.1-release/index.html
index 9f00b054a..0f0793e49 100644
--- a/zh-CN/blog/apache-answer-1.4.1-release/index.html
+++ b/zh-CN/blog/apache-answer-1.4.1-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="linking-question-connect-the-knowledge-dots">Linking Question: Connect the Knowledge Dots<!-- --><a href="#linking-question-connect-the-knowledge-dots" class="hash-link" aria-label="Linking Question: Connect the Knowledge Dots的直接链接" title="Linking Question: Connect the Knowledge Dots的直接链接"></a></h2>
<!-- --><p>By linking similar/related questions, users can easily explore relevant discussions and find additional context. This feature not only improves the experience but also strengthens the community by fostering collaboration and knowledge sharing.</p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="how-to">How to<!-- --><a href="#how-to" class="hash-link" aria-label="How to的直接链接" title="How to的直接链接"></a></h3>
diff --git a/zh-CN/blog/apache-answer-1.4.2-release/index.html b/zh-CN/blog/apache-answer-1.4.2-release/index.html
index 881daca3a..a2aa6e4d4 100644
--- a/zh-CN/blog/apache-answer-1.4.2-release/index.html
+++ b/zh-CN/blog/apache-answer-1.4.2-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="attachment-upload">Attachment Upload<!-- --><a href="#attachment-upload" class="hash-link" aria-label="Attachment Upload的直接链接" title="Attachment Upload的直接链接"></a></h3>
<!-- --><p>We’re excited to introduce the long-awaited attachment-upload feature! Now you can easily share relevant files with your questions.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="attachment-upload.png" src="/zh-CN/assets/images/attachment-upload-2fac29f9349c5b9b430cc91f1dd9e924.png" width="1436" height="1082" class="img_RAU7"></p>
diff --git a/zh-CN/blog/apache-answer-backend-configuration-guide/index.html b/zh-CN/blog/apache-answer-backend-configuration-guide/index.html
index ba8264d7e..5e46549ac 100644
--- a/zh-CN/blog/apache-answer-backend-configuration-guide/index.html
+++ b/zh-CN/blog/apache-answer-backend-configuration-guide/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="准备工作">准备工作<!-- --><a href="#准备工作" class="hash-link" aria-label="准备工作的直接链接" title="准备工作的直接链接"></a></h2>
<!-- --><ol>
<!-- --><li>
diff --git a/zh-CN/blog/apache-answer-becomes-an-apache-software-foundation-top-level-project/index.html b/zh-CN/blog/apache-answer-becomes-an-apache-software-foundation-top-level-project/index.html
index 564c609cd..24eeedc9f 100644
--- a/zh-CN/blog/apache-answer-becomes-an-apache-software-foundation-top-level-project/index.html
+++ b/zh-CN/blog/apache-answer-becomes-an-apache-software-foundation-top-level-project/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache Answer 是一个现代的开源问答平台,旨在帮助用户建立属于自己的知识库和社区。它让团队和社区能够以结构化和高效的方式协作创建、发现和分享知识。</p>
<!-- --><p>Apache Answer 副总裁祁宁谈到:“Apache Answer 成为顶级项目标志着我们旅程中的一个重要里程碑,这一成就不仅反映了社区的开源协作精神,也体现了在提供知识管理和社区参与的问答平台解决方案上 Apache Answer 已经非常成熟。”</p>
<!-- --><p>Apache Answer 自 2022 年 10 月由 <!-- --><a href="https://segmentfault.com/a/1190000042672978" target="_blank" rel="noopener noreferrer">SegmentFault 思否团队正式发布开源</a>以来,在开源社区中获得了显著的关注,获得了超过 13,000 个 GitHub star 和超过 1,000 个 fork。该项目一直有着活跃的贡献者社区,他们共同解决了数百个 issue 并提交了 PR,展示了项目活力的同时也帮助项目本身打下了坚实的基础,从中也充分表现了开源协作的巨大力量。<!-- --></p>
diff --git a/zh-CN/blog/apache-answer-coc-asia-2024/index.html b/zh-CN/blog/apache-answer-coc-asia-2024/index.html
index f515a3e57..e1e44faf8 100644
--- a/zh-CN/blog/apache-answer-coc-asia-2024/index.html
+++ b/zh-CN/blog/apache-answer-coc-asia-2024/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>此次会议共设有 1 个主论坛和 15 个分论坛,来自不同领域的 150 余位专家导师将和大家分享 Apache 项目的新突破和 Apache 孵化器中的新创新,以及开源开发和以 “The Apache Way” 领导社区驱动的项目,共同探讨 Apache 的运作生态、Apache 软件的商业模式、开源的法律问题以及其他许多主题的内容。</p>
<!-- --><p>今年,Apache Answer 将在两个分会场和主论坛和大家见面,分享关于我们进入孵化器后的收获,你还将了解到如何用 Answer 打造一个活跃的社区,以及非开发人员如何参与到开源贡献中。 此外,我们也欢迎你来到我们的展台和项目的 Committer 交流互动,了解更多 Answer 相关的内容。</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="主题分享">主题分享<!-- --><a href="#主题分享" class="hash-link" aria-label="主题分享的直接链接" title="主题分享的直接链接"></a></h2>
diff --git a/zh-CN/blog/apache-answer-frontend-configuration-guide/index.html b/zh-CN/blog/apache-answer-frontend-configuration-guide/index.html
index a18c867af..5885eb422 100644
--- a/zh-CN/blog/apache-answer-frontend-configuration-guide/index.html
+++ b/zh-CN/blog/apache-answer-frontend-configuration-guide/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>在 Answer 社区,我们欢迎并尊重多种不同的<!-- --><a href="https://answer.apache.org/zh-CN/community/contributing/" target="_blank" rel="noopener noreferrer">贡献方式</a>,无论是开发者还是非开发者可以跟随文章里面的步骤,完成 Answer 前端配置<!-- --></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="1-下载-nodejs-和-pnpm">1. 下载 Node.js 和 pnpm<!-- --><a href="#1-下载-nodejs-和-pnpm" class="hash-link" aria-label="1. 下载 Node.js 和 pnpm的直接链接" title="1. 下载 Node.js 和 pnpm的直接链接"></a></h3>
<!-- --><p>点击<!-- --><a href="https://nodejs.org/en" target="_blank" rel="noopener noreferrer">此处</a>下载 Node.js,安装时选择 <!-- --><code>Node.js runtime</code>。建议安装至默认位置。
diff --git a/zh-CN/blog/apache-answer-joined-first-alc-hangzhou-meetup/index.html b/zh-CN/blog/apache-answer-joined-first-alc-hangzhou-meetup/index.html
index 395f03341..67fdc028c 100644
--- a/zh-CN/blog/apache-answer-joined-first-alc-hangzhou-meetup/index.html
+++ b/zh-CN/blog/apache-answer-joined-first-alc-hangzhou-meetup/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>此外,Apache Dubbo、Apache RocketMQ、Apache Flink、Apache Paimon、Apache Fury、Apache Celeborn、Apache HoraeDB 等社区的 PMC Member、核心 Committer、浙江大学软件学院副教授倪超等专家均出席了活动。</p>
<!-- --><p>Apache Answer PPMC 成员江波发表开场致辞。她讲述了第一次参加 ALC Beijing 线下聚会的难忘经历,并分享了她参与组织首届 CommunityOverCode Asia(原 ApacheCon Asia)大会的宝贵经验。</p>
<!-- --><p>今年,ALC Hangzhou 的成立,标志着杭州在开源社区发展中迈出了坚实的一步。与此同时,2024 年的 CommunityOverCode Asia 也将于 7 月 26 日至 7 月 28 日在杭州举办。ALC Hangzhou 的成立和 CommunityOverCode Asia 2024 的举办将进一步推动开源技术的发展和开源社区成长,促进技术人才交流与合作。</p>
diff --git a/zh-CN/blog/archive/index.html b/zh-CN/blog/archive/index.html
index 906ea94c7..649ef44d3 100644
--- a/zh-CN/blog/archive/index.html
+++ b/zh-CN/blog/archive/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/behind-the-plugin-meet-the-student-contributors/index.html b/zh-CN/blog/behind-the-plugin-meet-the-student-contributors/index.html
index c0e2a8130..89da95af0 100644
--- a/zh-CN/blog/behind-the-plugin-meet-the-student-contributors/index.html
+++ b/zh-CN/blog/behind-the-plugin-meet-the-student-contributors/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>我们在 <!-- --><a href="https://ovio.org/project/apache/answer" target="_blank" rel="noopener noreferrer">ovio</a>、<!-- --><a href="https://www.libhunt.com/r/answer" target="_blank" rel="noopener noreferrer">LibHunt</a> 以及 <!-- --><a href="https://sourceforge.net/projects/incubator-answer/" target="_blank" rel="noopener noreferrer">SourceForge</a> 等开源新手友好平台上展示我们的项目,帮助更多人了解并加入我们。同时,我们也非常重视对年轻一代的培养。最近 Apache Answer 迎来了两位厦门大学马来西亚分校的学生的贡献插件,这是也是他们首次的开源贡献。让我们来听听他们是如何完成第一次开源贡献的,如何解决遇到的 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="能够向大家介绍一下你们做的这款插件吗">能够向大家介绍一下你们做的这款插件吗?<!-- --><a href="#能够向大家介绍一下你们做的这款插件吗" class="hash-link" aria-label="能够向大家介绍一下你们做的这款插件吗?的直接链接" title="能够向大家介绍一下你们做的这款插件吗?的直接链接"></a></h2>
<!-- --><p>我们开发的是一款代码高亮插件,旨在为用户提供更优质的代码显示体验。该插件支持多种编程语言的代码高亮,并且可以动态切换明暗主题,例如 GitHub Light 和 GitHub Dark。</p>
diff --git a/zh-CN/blog/behind-the-scene-how-we-launched-the-first-apache-release/index.html b/zh-CN/blog/behind-the-scene-how-we-launched-the-first-apache-release/index.html
index e3c447f70..ea2ded491 100644
--- a/zh-CN/blog/behind-the-scene-how-we-launched-the-first-apache-release/index.html
+++ b/zh-CN/blog/behind-the-scene-how-we-launched-the-first-apache-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p><strong>What's the next step?<!-- --><br>
<!-- -->Which document should I check?<!-- --></strong></p>
<!-- --><p>Joining the incubator was more than a new beginning, but a new way of collaboration that requires us to adapt to soon. Now that we finally <!-- --><a href="https://answer.apache.org/blog/a-new-chapter-begins-answer-first-apache-release-launches" target="_blank" rel="noopener noreferrer">shipped it</a>, and look back to the lessons we’ve learnt during the process. We’ve been received help from other projects, so it’s our chance to pave the way for more projects by sharing our e [...]
diff --git a/zh-CN/blog/build-a-save-and-respectful-community-with-answer-1.3.1/index.html b/zh-CN/blog/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
index fd43a1049..4d0cc831b 100644
--- a/zh-CN/blog/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
+++ b/zh-CN/blog/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In this version, we add new tool for admin to define keyword lists to identify and review specific content beforehand, ensuring a safe space for everyone. Users can also mention the admin and moderator in comments of a post to seek response actively. New Captcha plugins are ready to safeguard your community.</p>
<!-- --><p>Ready to <!-- --><a href="https://answer.apache.org/docs/upgrade" target="_blank" rel="noopener noreferrer">upgrade</a>? Leave us several minutes to dive in.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-new">What’s New<!-- --><a href="#whats-new" class="hash-link" aria-label="What’s New的直接链接" title="What’s New的直接链接"></a></h2>
diff --git a/zh-CN/blog/build-your-online-community-like-the-pros-with-answer/index.html b/zh-CN/blog/build-your-online-community-like-the-pros-with-answer/index.html
index eb0cddde1..872af9e61 100644
--- a/zh-CN/blog/build-your-online-community-like-the-pros-with-answer/index.html
+++ b/zh-CN/blog/build-your-online-community-like-the-pros-with-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Having the idea of running an online community is remarkable, but don’t step back when thinking to make it happen in the reality. In today’s read, you’ll set up and launch your online community in just 4 steps with Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="customize-your-branding">Customize Your Branding<!-- --><a href="#customize-your-branding" class="hash-link" aria-label="Customize Your Branding的直接链接" title="Customize Your Branding的直接链接"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="/zh-CN/assets/images/AnswerCommuties-a2b9fc072206306945651b9d9718171d.png" width="844" height="544" class="img_RAU7"></p>
diff --git a/zh-CN/blog/category/best-practice/index.html b/zh-CN/blog/category/best-practice/index.html
index 9d28b5ea2..6f992b077 100644
--- a/zh-CN/blog/category/best-practice/index.html
+++ b/zh-CN/blog/category/best-practice/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/category/community/index.html b/zh-CN/blog/category/community/index.html
index d4580d0aa..886b658f0 100644
--- a/zh-CN/blog/category/community/index.html
+++ b/zh-CN/blog/category/community/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/category/community/page/2/index.html b/zh-CN/blog/category/community/page/2/index.html
index 83b32be73..44851ea33 100644
--- a/zh-CN/blog/category/community/page/2/index.html
+++ b/zh-CN/blog/category/community/page/2/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/category/insights/index.html b/zh-CN/blog/category/insights/index.html
index 933123e51..7b1c11f54 100644
--- a/zh-CN/blog/category/insights/index.html
+++ b/zh-CN/blog/category/insights/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/category/newsletter/index.html b/zh-CN/blog/category/newsletter/index.html
index 2d449b1eb..9f3c4a611 100644
--- a/zh-CN/blog/category/newsletter/index.html
+++ b/zh-CN/blog/category/newsletter/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/category/release/index.html b/zh-CN/blog/category/release/index.html
index 5950c279b..32388661f 100644
--- a/zh-CN/blog/category/release/index.html
+++ b/zh-CN/blog/category/release/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/category/tech/index.html b/zh-CN/blog/category/tech/index.html
index 8bb3b1cef..80644dc22 100644
--- a/zh-CN/blog/category/tech/index.html
+++ b/zh-CN/blog/category/tech/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/category/tutorials/index.html b/zh-CN/blog/category/tutorials/index.html
index fd23e3f9c..eaed63dc5 100644
--- a/zh-CN/blog/category/tutorials/index.html
+++ b/zh-CN/blog/category/tutorials/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html b/zh-CN/blog/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
index 69ed2fae4..ace4d2264 100644
--- a/zh-CN/blog/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
+++ b/zh-CN/blog/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>October also marks the 10th anniversary of Hacktoberfest, an annual month-long event that encourages open-source software contributions. Founded in 2014, Hacktoberfest encourages participants to make contributions and support open-source projects they love on GitHub. These contributions include coding, low code, and non-code contributions, encouraging more individuals to collaborate and be a part of the open-source community.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="Hacktoberfest2023" src="/zh-CN/assets/images/Hacktoberfest 2023-cdbccd553b744ed70d5d5728bd517f3c.jpeg" width="1440" height="810" class="img_RAU7"></p>
<!-- --><p>We are so glad that to participate in our first Hacktoberfest as a partner of <!-- --><a href="https://www.illacloud.com/hacktoberfest2023/?utm_source=newsletter&utm_medium=email&utm_campaign=newsletter-email-hacktoberfest2023-answer-0925" target="_blank" rel="noopener noreferrer">ILLA Cloud</a>, and here’s everything you need to know to be a part of our event.<!-- --></p>
diff --git a/zh-CN/blog/deploy-answer-https/index.html b/zh-CN/blog/deploy-answer-https/index.html
index 1eea4bcf9..8f70f2ef4 100644
--- a/zh-CN/blog/deploy-answer-https/index.html
+++ b/zh-CN/blog/deploy-answer-https/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>I am already running Answer on my server, but I want to access it using HTTPS. How can I do that?</p>
<!-- --></blockquote>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="background">Background<!-- --><a href="#background" class="hash-link" aria-label="Background的直接链接" title="Background的直接链接"></a></h2>
diff --git a/zh-CN/blog/everything-you-need-to-know-about-answer/index.html b/zh-CN/blog/everything-you-need-to-know-about-answer/index.html
index 0d14fd57d..e2af268b6 100644
--- a/zh-CN/blog/everything-you-need-to-know-about-answer/index.html
+++ b/zh-CN/blog/everything-you-need-to-know-about-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Today, we'll share more stories behind Answer: how we started it, the tech stack we picked, and the next step on our roadmap. Find out more about Answer, and have a deeper understanding of Answer, our motivation, and the people behind it.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-answer">What is Answer<!-- --><a href="#what-is-answer" class="hash-link" aria-label="What is Answer的直接链接" title="What is Answer的直接链接"></a></h2>
<!-- --><p>Answer is a Q&A software which allows users to ask and answer questions about a particular topic or subject. It’s open-source, and everyone can access it freely.
diff --git a/zh-CN/blog/everything-you-need-to-know-about-knowledge-base/index.html b/zh-CN/blog/everything-you-need-to-know-about-knowledge-base/index.html
index bf89b092b..f01a13ee5 100644
--- a/zh-CN/blog/everything-you-need-to-know-about-knowledge-base/index.html
+++ b/zh-CN/blog/everything-you-need-to-know-about-knowledge-base/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>If you’re considering having a knowledge base, you’re in the right place. In today’s read, we’ll explain knowledge base, benefits, and a self-host knowledge base built with Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-knowledge-base">What is Knowledge Base<!-- --><a href="#what-is-knowledge-base" class="hash-link" aria-label="What is Knowledge Base的直接链接" title="What is Knowledge Base的直接链接"></a></h2>
<!-- --><p>In a simple way: a knowledge base is an online library where you can store, organize, and retrieve information easily.</p>
diff --git a/zh-CN/blog/first-contribution-come-to-answer/index.html b/zh-CN/blog/first-contribution-come-to-answer/index.html
index 5e4973356..af2c7f83d 100644
--- a/zh-CN/blog/first-contribution-come-to-answer/index.html
+++ b/zh-CN/blog/first-contribution-come-to-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>As a 1-year-old project, we started our journey with the dream of making everyone find the best answer like breathing, as well as, unlocking the collective wisdom for teams at any scale.</p>
<!-- --><p>We welcome new contributors to join our open-source journey. No matter your skill level or background, there's always a place for you in our community. Whether you want to code, write documentation, share your expertise, or simply offer feedback, your contributions will help us shine even brighter.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="why-apache-answer">Why Apache Answer<!-- --><a href="#why-apache-answer" class="hash-link" aria-label="Why Apache Answer的直接链接" title="Why Apache Answer的直接链接"></a></h2>
diff --git a/zh-CN/blog/guide-to-add-answer-plugins/index.html b/zh-CN/blog/guide-to-add-answer-plugins/index.html
index dccd9d2e1..b560e0985 100644
--- a/zh-CN/blog/guide-to-add-answer-plugins/index.html
+++ b/zh-CN/blog/guide-to-add-answer-plugins/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="下载插件">下载插件<!-- --><a href="#下载插件" class="hash-link" aria-label="下载插件的直接链接" title="下载插件的直接链接"></a></h2>
<!-- --><ol>
<!-- --><li>点击<!-- --><a href="https://github.com/apache/answer-plugins/tree/main" target="_blank" rel="noopener noreferrer">此处</a>从官方 Apache Answer 插件仓库下载所需插件。<!-- --></li>
diff --git a/zh-CN/blog/how-release-managers-make-the-release-process-productive/index.html b/zh-CN/blog/how-release-managers-make-the-release-process-productive/index.html
index 3764dfa34..c1a272c54 100644
--- a/zh-CN/blog/how-release-managers-make-the-release-process-productive/index.html
+++ b/zh-CN/blog/how-release-managers-make-the-release-process-productive/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>自 2023 年 10 月进入 Apache 孵化器以来,Apache Answer 已经发布 8 个 Apache 版本,共有4 位 Release Manager 参与其中。在他们的帮助下, Apache Answer 在发布上积累了丰富的经验。合并代码打包的方式变得更加流畅,Release Doc 也更为细致,新增的邮件模板使得编写投票邮件更加容易。</p>
<!-- --><p>在今天这篇博客里,我们将一同回顾 Release Manager 们在发版过程里遇到的问题,如何解决,以及 Release Doc 和发版流程的迭代优化。</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="release-doc-的迭代">Release Doc 的迭代<!-- --><a href="#release-doc-的迭代" class="hash-link" aria-label="Release Doc 的迭代的直接链接" title="Release Doc 的迭代的直接链接"></a></h2>
diff --git a/zh-CN/blog/how-to-build-a-help-center-with-your-users-and-answer/index.html b/zh-CN/blog/how-to-build-a-help-center-with-your-users-and-answer/index.html
index 8490ea813..d6b937a34 100644
--- a/zh-CN/blog/how-to-build-a-help-center-with-your-users-and-answer/index.html
+++ b/zh-CN/blog/how-to-build-a-help-center-with-your-users-and-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In today’s blog, we will build a help center from the scratch with a bit of community sprit in Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-a-help-center">What’s a Help Center<!-- --><a href="#whats-a-help-center" class="hash-link" aria-label="What’s a Help Center的直接链接" title="What’s a Help Center的直接链接"></a></h2>
<!-- --><p>A Help Center serves as a valuable resource for users. It provides customers immediate help by helping them find answers and resolve issues independently.</p>
diff --git a/zh-CN/blog/how-to-improve-knowledge-sharing-with-answer/index.html b/zh-CN/blog/how-to-improve-knowledge-sharing-with-answer/index.html
index caffc4583..bf8a22360 100644
--- a/zh-CN/blog/how-to-improve-knowledge-sharing-with-answer/index.html
+++ b/zh-CN/blog/how-to-improve-knowledge-sharing-with-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Answer was inspired by the inherent openness of Q&A platforms and communities. As the team behind Answer, we appreciate and embody the spirit of knowledge sharing when tuning Answer.</p>
<!-- --><p>In this blog, we will explore types of knowledge, ways of knowledge sharing, and strategies to improve knowledge sharing for your team with Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-knowledge-sharing">What is Knowledge Sharing?<!-- --><a href="#what-is-knowledge-sharing" class="hash-link" aria-label="What is Knowledge Sharing?的直接链接" title="What is Knowledge Sharing?的直接链接"></a></h2>
diff --git a/zh-CN/blog/how-to-manage-content-system-efficiently-with-answer/index.html b/zh-CN/blog/how-to-manage-content-system-efficiently-with-answer/index.html
index 5f314dced..45065e452 100644
--- a/zh-CN/blog/how-to-manage-content-system-efficiently-with-answer/index.html
+++ b/zh-CN/blog/how-to-manage-content-system-efficiently-with-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="flag-everyone-is-a-part-of-it">Flag: Everyone is a Part of it<!-- --><a href="#flag-everyone-is-a-part-of-it" class="hash-link" aria-label="Flag: Everyone is a Part of it的直接链接" title="Flag: Everyone is a Part of it的直接链接"></a></h2>
<!-- --><p>A vibrant community is about trust, and Flag is a reflection of this. In Answer, we put the safety and well-being of the community in the hands of all community members. With flag, users can flag content that violates community guidelines immediately.
<!-- --><img decoding="async" loading="lazy" alt="User Can Flag a Post in Answer" src="/zh-CN/assets/images/user-flag-2aed4d0dd31d463d7a88a57765bdf9d2.png" width="1600" height="1600" class="img_RAU7"></p>
diff --git a/zh-CN/blog/how-to-package-and-deploy-answer-plugins/index.html b/zh-CN/blog/how-to-package-and-deploy-answer-plugins/index.html
index 6b67baf90..033a0efa0 100644
--- a/zh-CN/blog/how-to-package-and-deploy-answer-plugins/index.html
+++ b/zh-CN/blog/how-to-package-and-deploy-answer-plugins/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="开始之前">开始之前<!-- --><a href="#开始之前" class="hash-link" aria-label="开始之前的直接链接" title="开始之前的直接链接"></a></h3>
<!-- --><p>在开始之前,请确保您已经配置好了基础的开发环境,包括 Node.js、pnpm、Docker、Go 等。同时,请确保您已经阅读了官方的<!-- --><a href="https://answer.apache.org/docs/development" target="_blank" rel="noopener noreferrer">开发环境配置文档</a>。<!-- --></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="注意">注意<!-- --><a href="#注意" class="hash-link" aria-label="注意的直接链接" title="注意的直接链接"></a></h3>
diff --git a/zh-CN/blog/how-to-search-like-a-pro-in-answer/index.html b/zh-CN/blog/how-to-search-like-a-pro-in-answer/index.html
index 5894d81b0..ae86eff6d 100644
--- a/zh-CN/blog/how-to-search-like-a-pro-in-answer/index.html
+++ b/zh-CN/blog/how-to-search-like-a-pro-in-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="search-bar">Search Bar<!-- --><a href="#search-bar" class="hash-link" aria-label="Search Bar的直接链接" title="Search Bar的直接链接"></a></h2>
<!-- --><p>The search bar locates at the top of every page. Whether you’re browsing on the homepage, or taking a closer look at a post, you can always type and search for the content you require.</p>
<!-- --><p><img decoding="async" loading="lazy" alt="Search Bar in Answer Locates on the Top of Every Page" src="/zh-CN/assets/images/Search Bar-0b2cfd9a34cd0f5116752baf66025911.png" width="1200" height="470" class="img_RAU7"></p>
diff --git a/zh-CN/blog/how-to-use-answer-for-effective-knowledge-retention/index.html b/zh-CN/blog/how-to-use-answer-for-effective-knowledge-retention/index.html
index 6537f764d..cde9c07b8 100644
--- a/zh-CN/blog/how-to-use-answer-for-effective-knowledge-retention/index.html
+++ b/zh-CN/blog/how-to-use-answer-for-effective-knowledge-retention/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>We’ve stepped into the world of Q&A platform, and let’s dive in to tackle this challenge together.</p>
<!-- --><p>In this article, we will figure out what is knowledge retention for both individuals and businesses, understand why it’s important, strategies that help you to prevent the collective wisdom of your business, and how Answer can help you with this.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-knowledge-retention">What is Knowledge Retention<!-- --><a href="#what-is-knowledge-retention" class="hash-link" aria-label="What is Knowledge Retention的直接链接" title="What is Knowledge Retention的直接链接"></a></h2>
diff --git a/zh-CN/blog/how-to-utilize-reputation-and-privilege-in-online-community/index.html b/zh-CN/blog/how-to-utilize-reputation-and-privilege-in-online-community/index.html
index 35e7d9c69..d3616d440 100644
--- a/zh-CN/blog/how-to-utilize-reputation-and-privilege-in-online-community/index.html
+++ b/zh-CN/blog/how-to-utilize-reputation-and-privilege-in-online-community/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Besides <!-- --><a href="/zh-CN/blog/the-what-why-using-tags-for-online-community">tagging</a>, <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> is an important part of <!-- --><strong>content management</strong> in Answer. Community members gain reputation scores by adhering to community guidelines and continuous contributions. Community moderators and administrators use reputation scores to [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="purposes-of-reputation">Purposes of Reputation<!-- --><a href="#purposes-of-reputation" class="hash-link" aria-label="Purposes of Reputation的直接链接" title="Purposes of Reputation的直接链接"></a></h2>
<!-- --><p>In the mid-1900s, eBay introduced a feedback system, allowing buyers and sellers to rate each other based on transaction experience. This feedback mechanism, which influenced the reputation of users, helped build trust within the <!-- --><a href="/zh-CN/blog/what-is-q-and-a-platform-and-how-to-use-it">Q&A platform</a>.<!-- --></p>
diff --git a/zh-CN/blog/index.html b/zh-CN/blog/index.html
index 74c56eb02..29c3e979a 100644
--- a/zh-CN/blog/index.html
+++ b/zh-CN/blog/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/install-and-run-apache-answer-on-ubuntu-vps/index.html b/zh-CN/blog/install-and-run-apache-answer-on-ubuntu-vps/index.html
index 4e6faeb3e..0d9c32983 100644
--- a/zh-CN/blog/install-and-run-apache-answer-on-ubuntu-vps/index.html
+++ b/zh-CN/blog/install-and-run-apache-answer-on-ubuntu-vps/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache Answer is a Q&A platform that helps teams build communities and share knowledge. It can be used as a help center, community forum, or knowledge management platform. Apache Answer is open source and incubates at <!-- --><a href="https://incubator.apache.org/" target="_blank" rel="noopener noreferrer">Apache Incubator</a>.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="prerequisites">Prerequisites<!-- --><a href="#prerequisites" class="hash-link" aria-label="Prerequisites的直接链接" title="Prerequisites的直接链接"></a></h2>
<!-- --><p>This guide assumes the following prerequisites are met:</p>
diff --git a/zh-CN/blog/lufei-asf-journey-from-contributor-to-ppmc-member/index.html b/zh-CN/blog/lufei-asf-journey-from-contributor-to-ppmc-member/index.html
index 58740b11f..b9f0d0a3a 100644
--- a/zh-CN/blog/lufei-asf-journey-from-contributor-to-ppmc-member/index.html
+++ b/zh-CN/blog/lufei-asf-journey-from-contributor-to-ppmc-member/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="初识-apache-answer">初识 Apache Answer<!-- --><a href="#初识-apache-answer" class="hash-link" aria-label="初识 Apache Answer的直接链接" title="初识 Apache Answer的直接链接"></a></h2>
<!-- --><p>我非常荣幸地成为 Apache Answer 孵化器项目的 PPMC 成员。这不仅是我个人的成长,也是我参与开源社区的一段珍贵旅程。项目进入孵化器,我见证了 Answer 的 PR 号从 2 成长到当前的 577。现在,Answer 已逐渐构建起了一个小型的用户交流和开发者交流社区。</p>
<!-- --><p>其实在 2022 年 6 月的时候,joyqi 就曾邀请过我加入 SegmentFault 思否团队,当晚也通过电话聊了聊,不过当时因为工作和个人关系原因婉拒了,回过头想想可能那会就是研发 Answer 这个项目(错过拍大腿系列)。</p>
diff --git a/zh-CN/blog/meet-our-release-manager-linkinstars/index.html b/zh-CN/blog/meet-our-release-manager-linkinstars/index.html
index ee1966b12..eb9f1967f 100644
--- a/zh-CN/blog/meet-our-release-manager-linkinstars/index.html
+++ b/zh-CN/blog/meet-our-release-manager-linkinstars/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Speaking of releases, we can’t neglect Release Manager. The person who makes sure that everything is compliant and everyone can access to the latest version. We talked to LinkinStars, the conductor behind each Apache Answer release. Let's see how he sees this role, how he handles obstacles, and his secrets to a smooth release.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="tell-us-a-bit-about-yourself">Tell us a bit about yourself<!-- --><a href="#tell-us-a-bit-about-yourself" class="hash-link" aria-label="Tell us a bit about yourself的直接链接" title="Tell us a bit about yourself的直接链接"></a></h2>
<!-- --><p>I am the backend developer for Apache Answer. My daily routine includes developing the backend services of Answer, developing APIs, etc. I like coding, reading, and learning English. My tech stack is mainly Go, and my favorite open-source project is Kubernetes.</p>
diff --git a/zh-CN/blog/must-read-notes-for-your-first-answer-contribution/index.html b/zh-CN/blog/must-read-notes-for-your-first-answer-contribution/index.html
index 685e7a811..820e97fb3 100644
--- a/zh-CN/blog/must-read-notes-for-your-first-answer-contribution/index.html
+++ b/zh-CN/blog/must-read-notes-for-your-first-answer-contribution/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>I want to contribute code to Answer, so what do I need to be concerned about when contributing for the first time?</p>
<!-- --></blockquote>
<!-- --><p>In this blog, I want to talk about the first contribution to Answer. This blog aims to help you contribute to Answer more professionally.</p>
diff --git a/zh-CN/blog/page/2/index.html b/zh-CN/blog/page/2/index.html
index 3dd9eb817..59dd2f3a6 100644
--- a/zh-CN/blog/page/2/index.html
+++ b/zh-CN/blog/page/2/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/page/3/index.html b/zh-CN/blog/page/3/index.html
index 3fc281bd0..8157e2e39 100644
--- a/zh-CN/blog/page/3/index.html
+++ b/zh-CN/blog/page/3/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/page/4/index.html b/zh-CN/blog/page/4/index.html
index 3f814af7a..6230eeadd 100644
--- a/zh-CN/blog/page/4/index.html
+++ b/zh-CN/blog/page/4/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>That's when open-source software — offering a collaborative, effective, and secure experience — showed up. Open source forms the heart and soul of Answer since the day Answer launched.</p>
<!-- --><p>Before knowing why Answer is open-source, we will take a nibble on open-source, and examples beforehand.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-open-source">What is Open-source?<!-- --><a href="#what-is-open-source" class="hash-link" aria-label="What is Open-source?的直接链接" title="What is Open-source?的直接链接"></a></h2>
diff --git a/zh-CN/blog/project-ideas-for-google-summer-of-code-2024/index.html b/zh-CN/blog/project-ideas-for-google-summer-of-code-2024/index.html
index 25a32538f..e65c2d857 100644
--- a/zh-CN/blog/project-ideas-for-google-summer-of-code-2024/index.html
+++ b/zh-CN/blog/project-ideas-for-google-summer-of-code-2024/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="project-ideas">Project Ideas<!-- --><a href="#project-ideas" class="hash-link" aria-label="Project Ideas的直接链接" title="Project Ideas的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="plugin-ldap-authentication">Plugin: LDAP Authentication<!-- --><a href="#plugin-ldap-authentication" class="hash-link" aria-label="Plugin: LDAP Authentication的直接链接" title="Plugin: LDAP Authentication的直接链接"></a></h3>
<!-- --><ul>
diff --git a/zh-CN/blog/reflection-and-tips-for-your-next-open-source-events/index.html b/zh-CN/blog/reflection-and-tips-for-your-next-open-source-events/index.html
index ed00ef06c..fc3e0c88d 100644
--- a/zh-CN/blog/reflection-and-tips-for-your-next-open-source-events/index.html
+++ b/zh-CN/blog/reflection-and-tips-for-your-next-open-source-events/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>We were grateful to be given these chances. In this blog, we would love to share tips here for more open-source projects showcasing themselves on the stage next time.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="wearedev-world-congress-github-open-source-spotlight">WeAreDev World Congress GitHub Open Source Spotlight<!-- --><a href="#wearedev-world-congress-github-open-source-spotlight" class="hash-link" aria-label="WeAreDev World Congress GitHub Open Source Spotlight的直接链接" title="WeAreDev World Congress GitHub Open Source Spotlight的直接链接"></a></h2>
<!-- --><p>As world’s leading event for developers and tech decision-makers, WeAreDev World Congress welcomes more than 15,000 developers and over 500 speakers sharing their expertise and visions of future trends in modern software development.</p>
diff --git a/zh-CN/blog/tags/index.html b/zh-CN/blog/tags/index.html
index d21de03dd..7d616e71f 100644
--- a/zh-CN/blog/tags/index.html
+++ b/zh-CN/blog/tags/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/tags/tutorials/index.html b/zh-CN/blog/tags/tutorials/index.html
index 64594507b..e6585eea9 100644
--- a/zh-CN/blog/tags/tutorials/index.html
+++ b/zh-CN/blog/tags/tutorials/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/blog/the-what-why-using-tags-for-online-community/index.html b/zh-CN/blog/the-what-why-using-tags-for-online-community/index.html
index 46a8bdecd..7cb8106f3 100644
--- a/zh-CN/blog/the-what-why-using-tags-for-online-community/index.html
+++ b/zh-CN/blog/the-what-why-using-tags-for-online-community/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Organizing content is the key for the community, and using tags to categorize and structure content is the key to keep community organized.</p>
<!-- --><p>Discover more about tags, benefits, and how vital they are for organizing content in Answer.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-are-tags">What are Tags<!-- --><a href="#what-are-tags" class="hash-link" aria-label="What are Tags的直接链接" title="What are Tags的直接链接"></a></h2>
diff --git a/zh-CN/blog/what-is-new-in-apache-answer-1.3.0/index.html b/zh-CN/blog/what-is-new-in-apache-answer-1.3.0/index.html
index 05ace7f57..89888c753 100644
--- a/zh-CN/blog/what-is-new-in-apache-answer-1.3.0/index.html
+++ b/zh-CN/blog/what-is-new-in-apache-answer-1.3.0/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>In <!-- --><a href="https://github.com/apache/answer/releases/tag/v1.3.0" target="_blank" rel="noopener noreferrer">Answer 1.3.0</a>, we’re moving forward to make review and navigation better for you. Here are the features, new improves, and gratitude to all the contributors. <!-- --><a href="https://answer.apache.org/docs/upgrade" target="_blank" rel="noopener noreferrer">Upgrade</a> now and enjoy the reading today.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="whats-new">What’s New<!-- --><a href="#whats-new" class="hash-link" aria-label="What’s New的直接链接" title="What’s New的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="review-in-one-place">Review in One Place<!-- --><a href="#review-in-one-place" class="hash-link" aria-label="Review in One Place的直接链接" title="Review in One Place的直接链接"></a></h3>
diff --git a/zh-CN/blog/what-is-q-and-a-platform-and-how-to-use-it/index.html b/zh-CN/blog/what-is-q-and-a-platform-and-how-to-use-it/index.html
index 09391e685..5c02daeae 100644
--- a/zh-CN/blog/what-is-q-and-a-platform-and-how-to-use-it/index.html
+++ b/zh-CN/blog/what-is-q-and-a-platform-and-how-to-use-it/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>According to the <!-- --><a href="https://www.verifiedmarketresearch.com/product/qa-platforms-market/" target="_blank" rel="noopener noreferrer">Verified Market Research</a>, Q&A platforms market is projected to reach 5,200.18 thousand by 2027, growing at a CAGR of 8.17% from 2020 to 2027.<!-- --></p>
<!-- --><p>In this blog, we'll dive in Q&A platform, explore popular Q&A platforms, and what you can do to get the most out of it.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-qa-platform">What is Q&A Platform<!-- --><a href="#what-is-qa-platform" class="hash-link" aria-label="What is Q&A Platform的直接链接" title="What is Q&A Platform的直接链接"></a></h2>
diff --git a/zh-CN/blog/why-open-source-is-the-essence-of-answer/index.html b/zh-CN/blog/why-open-source-is-the-essence-of-answer/index.html
index e8b81e314..7a2b29de4 100644
--- a/zh-CN/blog/why-open-source-is-the-essence-of-answer/index.html
+++ b/zh-CN/blog/why-open-source-is-the-essence-of-answer/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>That's when open-source software — offering a collaborative, effective, and secure experience — showed up. Open source forms the heart and soul of Answer since the day Answer launched.</p>
<!-- --><p>Before knowing why Answer is open-source, we will take a nibble on open-source, and examples beforehand.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="what-is-open-source">What is Open-source?<!-- --><a href="#what-is-open-source" class="hash-link" aria-label="What is Open-source?的直接链接" title="What is Open-source?的直接链接"></a></h2>
diff --git a/zh-CN/blog/why-the-answer-plugin-system-was-designed-this-way/index.html b/zh-CN/blog/why-the-answer-plugin-system-was-designed-this-way/index.html
index 0ab0b178e..669344080 100644
--- a/zh-CN/blog/why-the-answer-plugin-system-was-designed-this-way/index.html
+++ b/zh-CN/blog/why-the-answer-plugin-system-was-designed-this-way/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><ol>
<!-- --><li>Why is Answer's plugin system designed in such a way that it seems a bit of difficulty to use?</li>
<!-- --><li>How can I implement plugin functionality using Golang?</li>
diff --git a/zh-CN/community/blog-post/index.html b/zh-CN/community/blog-post/index.html
index dbf800b86..3da69c1a6 100644
--- a/zh-CN/community/blog-post/index.html
+++ b/zh-CN/community/blog-post/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>博客是<!-- --><a href="/zh-CN/community/contributing#get-involved">参与</a> Apache Answer 最简单的方法之一。这也是你与他人分享知识和使用经验的好方式。<!-- --></p>
<!-- --><p>如果你用 Apache Answer 构建了自己的问答社区,或者使用 Apache Answer 解决了问题,我们都想听听你的故事。我们还鼓励你分享使用 Apache Answer 的技巧和窍门,或分享你是如何为 Apache Answer 做出贡献的。</p>
<!-- --><p>阅读我们的博客指南,准备贡献你的第一篇博客吧。</p>
@@ -96,6 +96,6 @@
<!-- --></li>
<!-- --></ol>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="其他">其他<!-- --><a href="#其他" class="hash-link" aria-label="其他的直接链接" title="其他的直接链接"></a></h2>
-<!-- --><p>代码提交部分,你可以查看 <!-- --><a href="https://git-scm.com/" target="_blank" rel="noopener noreferrer">Git</a> 和<!-- --><a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork" target="_blank" rel="noopener noreferrer">拉取请求</a>。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https:/ [...]
+<!-- --><p>代码提交部分,你可以查看 <!-- --><a href="https://git-scm.com/" target="_blank" rel="noopener noreferrer">Git</a> 和<!-- --><a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork" target="_blank" rel="noopener noreferrer">拉取请求</a>。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https:/ [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/contributing/index.html b/zh-CN/community/contributing/index.html
index 034f1abbf..4256e21b9 100644
--- a/zh-CN/community/contributing/index.html
+++ b/zh-CN/community/contributing/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>感谢你对 Apache Answer 的关注,希望本文档能让你对贡献过程有更清楚的了解。</p>
<!-- --><p>我们推荐你访问 <!-- --><a href="https://opensource.guide/" target="_blank" rel="noopener noreferrer">开源指南网站</a>,该网站为个人、社区和公司提供了开源相关的学习、运营和贡献等资源。无论是经验丰富的贡献者,还是刚接触开源的新手,都能从下面的文档里找到有益的指引:<!-- --></p>
<!-- --><ul>
@@ -88,6 +88,6 @@
<!-- --><li><code>main</code>分支对应于<!-- --><strong>最新版本</strong>的 Answer。如果你正在为最新版本<!-- --><strong>修复</strong>问题,请选择主分支。<!-- --></li>
<!-- --><li><code>dev</code>分支用于<!-- --><strong>下一个版本</strong>的开发。因此,如果你正在开发<!-- --><strong>新功能</strong>,请切换到开发分支,并为其提交PR。<!-- --></li>
<!-- --></ul>
-<!-- --><p>通常,我们在问题上标记里程碑 (milestone) 来跟踪问题应该在哪个版本中修复。因此,你可以根据里程碑确定应将代码提交到哪个分支。</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0 [...]
+<!-- --><p>通常,我们在问题上标记里程碑 (milestone) 来跟踪问题应该在哪个版本中修复。因此,你可以根据里程碑确定应将代码提交到哪个分支。</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/how-to-release/index.html b/zh-CN/community/how-to-release/index.html
index ab0c5e751..8c71c969e 100644
--- a/zh-CN/community/how-to-release/index.html
+++ b/zh-CN/community/how-to-release/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>所有 Apache 项目都必须遵循 <!-- --><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">Apache Release Policy</a> 。本文可以帮助你了解政策以及如何在 Apache 上发布项目。<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="发布流程">发布流程<!-- --><a href="#发布流程" class="hash-link" aria-label="发布流程的直接链接" title="发布流程的直接链接"></a></h2>
<!-- --><ol>
@@ -101,6 +101,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="注意">注意<!-- --><a href="#注意" class="hash-link" aria-label="注意的直接链接" title="注意的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="rc-标签">RC 标签<!-- --><a href="#rc-标签" class="hash-link" aria-label="RC 标签的直接链接" title="RC 标签的直接链接"></a></h3>
<!-- --><p>当你想发布新版本时,你需要先在 git 存储库中创建一个新的 RC 标签。标签名称应该是<!-- --><code>v{release-version}-rc{rc-version}</code>。<!-- --></p>
-<!-- --><p>例如,如果你想发布 <!-- --><code>1.2.0</code> 版本,则需要创建一个名为 <!-- --><code>v1.2.0-RC1</code> 的标签。RC 的意思是候选。发布投票通过后,你需要根据RC标签创建一个名为 <!-- --><code>v1.2.0</code> 的新标签。但是,如果投票未通过,你可以解决问题,并创建一个新的RC标签,如 <!-- --><code>v1.2.0-RC2</code>,然后开始新的投票。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-th [...]
+<!-- --><p>例如,如果你想发布 <!-- --><code>1.2.0</code> 版本,则需要创建一个名为 <!-- --><code>v1.2.0-RC1</code> 的标签。RC 的意思是候选。发布投票通过后,你需要根据RC标签创建一个名为 <!-- --><code>v1.2.0</code> 的新标签。但是,如果投票未通过,你可以解决问题,并创建一个新的RC标签,如 <!-- --><code>v1.2.0-RC2</code>,然后开始新的投票。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-th [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/issues/index.html b/zh-CN/community/issues/index.html
index c5fbaec95..0469b528a 100644
--- a/zh-CN/community/issues/index.html
+++ b/zh-CN/community/issues/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache Answer 项目中有一些仓库,你可以在不同的仓库提 issue。</p>
<!-- --><table><thead><tr><th>仓库</th><th>描述</th><th>Issues</th></tr></thead><tbody><tr><td>Apache Answer</td><td>Apache Answer 核心代码</td><td><a href="https://github.com/apache/answer/issues" target="_blank" rel="noopener noreferrer">Issues</a></td></tr><tr><td>Apache Answer 插件</td><td>Apache Answer 插件代码</td><td><a href="https://github.com/apache/answer-plugins/issues" target="_blank" rel="noopener noreferrer">Issues</a></td></tr><tr><td>Apache Answer 网页</td><td>Apache Answer 网页代码</td><td> [...]
<!-- --><p>当提交新的 issue 时,请务必填根据模板进行填写。<!-- --><strong>这一步非常重要!</strong> 如果没有按照模版填写,可能会导致延迟处理。如果发生这种情况,请不要介意。只需根据模板填充完所需信息后,即可重新提交议题。<!-- --></p>
@@ -39,6 +39,6 @@
<!-- --><p>如果我们认为你的功能建议很棒,我们会将其添加到路线图中并设置关键节点。如果你愿意参与实现该功能,请在该议题下评论,我们将会分配给你。</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="问题标签">问题标签<!-- --><a href="#问题标签" class="hash-link" aria-label="问题标签的直接链接" title="问题标签的直接链接"></a></h2>
<!-- --><p>我们用标签对问题进行分类。</p>
-<!-- --><table><thead><tr><th>标签</th><th>描述</th></tr></thead><tbody><tr><td><code>bug</code></td><td>意外问题或非预期行为</td></tr><tr><td><code>documentation</code></td><td>需要对文档进行改进或补充</td></tr><tr><td><code>duplicate</code></td><td>相似的问题、合并请求或讨论</td></tr><tr><td><code>new-feature</code></td><td>新的功能建议</td></tr><tr><td><code>enhancement</code></td><td>改进和优化</td></tr><tr><td><code>good first issue</code></td><td>新手友好</td></tr><tr><td><code>help wanted</code></td><td>维护者需要某个问题或 PR 的帮助</td></tr><tr [...]
+<!-- --><table><thead><tr><th>标签</th><th>描述</th></tr></thead><tbody><tr><td><code>bug</code></td><td>意外问题或非预期行为</td></tr><tr><td><code>documentation</code></td><td>需要对文档进行改进或补充</td></tr><tr><td><code>duplicate</code></td><td>相似的问题、合并请求或讨论</td></tr><tr><td><code>new-feature</code></td><td>新的功能建议</td></tr><tr><td><code>enhancement</code></td><td>改进和优化</td></tr><tr><td><code>good first issue</code></td><td>新手友好</td></tr><tr><td><code>help wanted</code></td><td>维护者需要某个问题或 PR 的帮助</td></tr><tr [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/pull-request/index.html b/zh-CN/community/pull-request/index.html
index 5d8de98e6..53a376639 100644
--- a/zh-CN/community/pull-request/index.html
+++ b/zh-CN/community/pull-request/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>我们感谢你的贡献!在提交 PR 之前,我们建议你创建一个解释错误或功能请求的 Issue,并告诉我们你计划为它创建 PR。如果问题已经存在,请对该问题发表评论,让我们知道你想提交拉取请求。这有助于我们跟踪拉取请求,并确保没有重复的工作量。</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="语义化的提交消息">语义化的提交消息<!-- --><a href="#语义化的提交消息" class="hash-link" aria-label="语义化的提交消息的直接链接" title="语义化的提交消息的直接链接"></a></h2>
<!-- --><p>在提交消息时,遵循以下格式可以令你成为更好的程序员。</p>
@@ -60,6 +60,6 @@
<!-- --><p>对于由单个原始作者贡献的更大贡献,我们可能会要求你提交<!-- --><a href="https://www.apache.org/licenses/contributor-agreements.html" target="_blank" rel="noopener noreferrer">个人贡献者许可协议(ICLA)</a>表格。你的代码的版权仍将属于你,但 ICLA 有助于保护 Apache Answer 的用户。所有项目委员会也都签署了这份表格。<!-- --></p>
<!-- --><p>如果你已经签署了 Apache ICLA ,则无需发送电子邮件。由于你已经以你的公共名称提交了 ICLA ,因此无需重新提交。如果你从未签署过 ICLA ,请在电子邮件中注明,PMC可以直接申请此帐户。</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="开发和贡献">开发和贡献<!-- --><a href="#开发和贡献" class="hash-link" aria-label="开发和贡献的直接链接" title="开发和贡献的直接链接"></a></h2>
-<!-- --><p>有关详细信息,请参阅<!-- --><a href="/zh-CN/docs/development">文档</a>。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0. [...]
+<!-- --><p>有关详细信息,请参阅<!-- --><a href="/zh-CN/docs/development">文档</a>。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0. [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/security-model/index.html b/zh-CN/community/security-model/index.html
index 0ca8c71c3..2db99f25c 100644
--- a/zh-CN/community/security-model/index.html
+++ b/zh-CN/community/security-model/index.html
@@ -10,12 +10,13 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>This document outlines the security model of Apache Answer. It aims to help users understand the security model and make informed decisions about deploying and managing Apache Answer securely.</p>
+<!-- --><p>If you think you have found behavior in Apache Answer that does not follow this security model, please <!-- --><a href="/zh-CN/community/security">report it</a> to us privately.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="admin-permission-security">Admin Permission Security<!-- --><a href="#admin-permission-security" class="hash-link" aria-label="Admin Permission Security的直接链接" title="Admin Permission Security的直接链接"></a></h2>
<!-- --><p><strong>Admin users have full system permissions</strong>, which includes access to potentially vulnerable operations. While we assume administrators won't attack their own websites, it's crucial to exercise caution when assigning admin privileges.<!-- --></p>
<!-- --><p>So, if a security issue comes up in the administrator page, this is usually not considered a problem. Because the administrator has the authority to do so. Unless a normal user can overstep his authority to operate outside of his capabilities.</p>
@@ -24,6 +25,6 @@
<!-- --><p><img decoding="async" loading="lazy" alt="captcha" src="/zh-CN/assets/images/captcha-04b01e4e1e95d76f2b41e14b529bbb04.png" width="2168" height="202" class="img_RAU7"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="custom-plugin-security">Custom Plugin Security<!-- --><a href="#custom-plugin-security" class="hash-link" aria-label="Custom Plugin Security的直接链接" title="Custom Plugin Security的直接链接"></a></h2>
<!-- --><p>Apache Answer only guarantees the security of official plugins distributed through our <!-- --><a href="https://github.com/apache/answer-plugins" target="_blank" rel="noopener noreferrer">official repository</a>. We take no responsibility for security issues arising from third-party plugins.<!-- --></p>
-<!-- --><div class="theme-admonition theme-admonition-caution admonition_inHR alert alert--warning"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>警 [...]
+<!-- --><div class="theme-admonition theme-admonition-caution admonition_inHR alert alert--warning"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>警 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/security/index.html b/zh-CN/community/security/index.html
index 773232edb..a284a71ae 100644
--- a/zh-CN/community/security/index.html
+++ b/zh-CN/community/security/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache 软件基金会在解决软件项目安全问题上采取严格的态度。如果发现安全漏洞,请注意不要提交公开议题。你可以按照<!-- --><a href="https://github.com/apache/answer/security/policy" target="_blank" rel="noopener noreferrer">安全政策</a>中的说明进行私下报告。我们会尽快修复它。<!-- --></p>
<!-- --><h1>安全修复</h1>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="v125">v1.2.5<!-- --><a href="#v125" class="hash-link" aria-label="v1.2.5的直接链接" title="v1.2.5的直接链接"></a></h2>
@@ -34,6 +34,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="v120">v1.2.0<!-- --><a href="#v120" class="hash-link" aria-label="v1.2.0的直接链接" title="v1.2.0的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="cve-2023-49619">CVE-2023-49619<!-- --><a href="#cve-2023-49619" class="hash-link" aria-label="CVE-2023-49619的直接链接" title="CVE-2023-49619的直接链接"></a></h3>
<!-- --><p>在正常情况下,用户只能将问题添加一次收藏,并且只会增加一次问题的收藏数。然而,通过脚本重复提交可以多次增加问题的收藏数。</p>
-<!-- --><p><a href="https://www.cve.org/CVERecord?id=CVE-2023-49619" target="_blank" rel="noopener noreferrer">https://www.cve.org/CVERecord?id=CVE-2023-49619</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class=" [...]
+<!-- --><p><a href="https://www.cve.org/CVERecord?id=CVE-2023-49619" target="_blank" rel="noopener noreferrer">https://www.cve.org/CVERecord?id=CVE-2023-49619</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class=" [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/support/index.html b/zh-CN/community/support/index.html
index 20d4ed514..bf96a9a5f 100644
--- a/zh-CN/community/support/index.html
+++ b/zh-CN/community/support/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>你好!欢迎使用 Apache Answer。作为一款问答平台软件,我们吸引了一群好奇并乐于助人的用户,他们总是愿意帮助解答你的疑问。</p>
<!-- --><p>如果你在寻找答案时遇到了困难,可以查看我们的<!-- --><a href="#apache-answer-meta">社区</a>、<!-- --><a href="/zh-CN/docs">文档</a>、<!-- --><a href="/zh-CN/community/issues">问题</a>或者<!-- --><a href="#%E9%82%AE%E4%BB%B6%E5%88%97%E8%A1%A8">邮件列表</a>。如果你找到了你能回答的问题,请解答它吧!即使你的回答可能不完美,我们的志愿者也很高兴帮助你查漏补缺。<!-- --></p>
<!-- --><p>如果你在查看我们的文档与资源之后仍然有疑问,可以随时<!-- --><a href="#%E5%85%B6%E4%BB%96">与我们联系</a>。由于我们的用户和贡献者来自世界各地,所以我们建议使用英文作为作为主要沟通语言,以获得更好的帮助。<!-- --></p>
@@ -26,6 +26,6 @@
<!-- --><table><thead><tr><th>邮箱</th><th>描述</th><th>订阅</th><th>取消订阅</th><th>过往邮件</th></tr></thead><tbody><tr><td><a href="mailto:dev@answer.apache.org" target="_blank" rel="noopener noreferrer">dev@answer.apache.org</a></td><td>社区讨论</td><td><a href="mailto:dev-subscribe@answer.apache.org" target="_blank" rel="noopener noreferrer">订阅</a></td><td><a href="mailto:dev-subscribe@answer.apache.org" target="_blank" rel="noopener noreferrer">取消订阅</a></td><td><a href="https://lists.apache.org/lis [...]
<!-- --><p>温馨提示,如果你没有订阅邮件列表,你将不会收到该组群的任何回复。</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="其他">其他<!-- --><a href="#其他" class="hash-link" aria-label="其他的直接链接" title="其他的直接链接"></a></h2>
-<!-- --><p>关于 Apache Answer 的最新消息,请在公众号上关注 Answer Dev 和<!-- --><a href="/zh-CN/blog">官方博客</a>。你也可以通过 <!-- --><a href="https://discord.gg/a6PZZbfnFx" target="_blank" rel="noopener noreferrer">Discord</a> 和我们联系,但是由于团队规模限制,我们不能确保回复的即时性,感谢你的理解。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit- [...]
+<!-- --><p>关于 Apache Answer 的最新消息,请在公众号上关注 Answer Dev 和<!-- --><a href="/zh-CN/blog">官方博客</a>。你也可以通过 <!-- --><a href="https://discord.gg/a6PZZbfnFx" target="_blank" rel="noopener noreferrer">Discord</a> 和我们联系,但是由于团队规模限制,我们不能确保回复的即时性,感谢你的理解。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/team/index.html b/zh-CN/community/team/index.html
index 53b9729be..5e06951d7 100644
--- a/zh-CN/community/team/index.html
+++ b/zh-CN/community/team/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache Answer 团队负责核心功能、插件以及文档网站的开发维护。团队的当前成员按字母顺序排列如下。</p>
<!-- -->
<!-- -->
@@ -27,7 +27,7 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="贡献者">贡献者<!-- --><a href="#贡献者" class="hash-link" aria-label="贡献者的直接链接" title="贡献者的直接链接"></a></h2>
<!-- --><p>成为贡献者 (Contributor) 可不仅仅意味着编写代码,而是指你对项目的兴趣和贡献。Apache Answer 提供了多种贡献方式,你可以在<!-- --><a href="/zh-CN/community/contributing">这里</a>找到更多信息。只要你为 Apache Answer 项目做出贡献,你就是一名 Apache Answer 贡献者。如果你成为该项目的宝贵贡献者,项目管理委员会(PMC)可能会邀请你成为提交者(Committer)。<!-- --></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="代码贡献者-1">代码贡献者<!-- --><a href="#代码贡献者-1" class="hash-link" aria-label="代码贡献者的直接链接" title="代码贡献者的直接链接"></a></h3>
-<!-- --><div class="row mb-3"><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/alrs" target="_blank" rel="noopener noreferrer">alrs</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/Anan1225" target="_blank" rel="noopener noreferrer">Anan1225</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/axisofentropy" target="_blank" rel="noopen [...]
+<!-- --><div class="row mb-3"><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/alrs" target="_blank" rel="noopener noreferrer">alrs</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/Anan1225" target="_blank" rel="noopener noreferrer">Anan1225</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://github.com/axisofentropy" target="_blank" rel="noopen [...]
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="翻译贡献者">翻译贡献者<!-- --><a href="#翻译贡献者" class="hash-link" aria-label="翻译贡献者的直接链接" title="翻译贡献者的直接链接"></a></h3>
<!-- --><div class="row mb-3"><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://crowdin.com/profile/acidtmn" target="_blank" rel="noopener noreferrer">acidtmn</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://crowdin.com/profile/aichy" target="_blank" rel="noopener noreferrer">aichy</a></div><div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-12 d-flex mb-1"><a href="https://crowdin.com/profile/ajvjunior" targ [...]
<!-- --><p>你可以在下列页面找到所有代码和翻译贡献者:</p>
@@ -42,6 +42,6 @@
<!-- --><li><a href="https://community.apache.org/contributors" target="_blank" rel="noopener noreferrer">https://community.apache.org/contributors</a></li>
<!-- --><li><a href="https://community.apache.org/contributors/becomingacommitter.html" target="_blank" rel="noopener noreferrer">https://community.apache.org/contributors/becomingacommitter.html</a></li>
<!-- --><li><a href="https://www.apache.org/dev/pmc.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/dev/pmc.html</a></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/translation/index.html b/zh-CN/community/translation/index.html
index 0c4339127..226fe7ada 100644
--- a/zh-CN/community/translation/index.html
+++ b/zh-CN/community/translation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>我们的项目使用<!-- --><a href="https://crowdin.com/" target="_blank" rel="noopener noreferrer">Crowdin</a>进行翻译;我们建议通过 Crowdin 贡献翻译。<!-- --></p>
<!-- --><p>翻译项目列表:</p>
<!-- --><ul>
@@ -25,6 +25,6 @@
<!-- --><ol>
<!-- --><li>通过 Crowdin ,翻译人员只需要专注于翻译本身, Crowdin 会提供友好的提示和界面;</li>
<!-- --><li>不需要额外的操作,例如 git 命令。我们使用 YAML 格式管理项目语言文件。一些贡献者可能会误操作导致格式化缩进错误,Crowdin 平台也可以帮助避免此类问题;</li>
-<!-- --></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/data/stars.json b/zh-CN/data/stars.json
index cd4a344b3..ab70cd28a 100644
--- a/zh-CN/data/stars.json
+++ b/zh-CN/data/stars.json
@@ -1,3 +1,3 @@
{
- "stars": 13962
+ "stars": 13973
}
\ No newline at end of file
diff --git a/zh-CN/data/team.json b/zh-CN/data/team.json
index e2c14d30e..ae7b91fdf 100644
--- a/zh-CN/data/team.json
+++ b/zh-CN/data/team.json
@@ -122,7 +122,7 @@
{
"title": "Contributor",
"type": "contributor",
- "count": 78,
+ "count": 79,
"users": [
{
"name": "alrs",
@@ -439,6 +439,11 @@
"github": "https://github.com/PurseChicken",
"avatar": "https://avatars.githubusercontent.com/u/29956166?v=4"
},
+ {
+ "name": "raboof",
+ "github": "https://github.com/raboof",
+ "avatar": "https://avatars.githubusercontent.com/u/131856?v=4"
+ },
{
"name": "ready4god2513",
"github": "https://github.com/ready4god2513",
diff --git a/zh-CN/docs/api/index.html b/zh-CN/docs/api/index.html
index f467c4e06..8d00371d2 100644
--- a/zh-CN/docs/api/index.html
+++ b/zh-CN/docs/api/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="where-is-the-api-document">Where is the API document?<!-- --><a href="#where-is-the-api-document" class="hash-link" aria-label="Where is the API document?的直接链接" title="Where is the API document?的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="quick-look">Quick Look<!-- --><a href="#quick-look" class="hash-link" aria-label="Quick Look的直接链接" title="Quick Look的直接链接"></a></h3>
@@ -27,6 +27,6 @@
<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">/data/conf/config.yaml</div><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-yaml codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">swaggerui</span><span class="token punctua [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="generate-api-document">Generate API document<!-- --><a href="#generate-api-document" class="hash-link" aria-label="Generate API document的直接链接" title="Generate API document的直接链接"></a></h2>
<!-- --><p>Apache Answer using <!-- --><a href="https://github.com/swaggo/swag" target="_blank" rel="noopener noreferrer">swag</a> to generate API document json/yaml file automatically according to the comments in the code. You can use the following steps to generate API document.<!-- --></p>
-<!-- --><div class="language-bash codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-bash codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># install swag cli</span><span class="token plain"></span><br></span><span class="token- [...]
+<!-- --><div class="language-bash codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-bash codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># install swag cli</span><span class="token plain"></span><br></span><span class="token- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/command-line/index.html b/zh-CN/docs/command-line/index.html
index 1a36a9e38..84986e055 100644
--- a/zh-CN/docs/command-line/index.html
+++ b/zh-CN/docs/command-line/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="用法">用法<!-- --><a href="#用法" class="hash-link" aria-label="用法的直接链接" title="用法的直接链接"></a></h2>
<!-- --><p><code>answer command [命令或全局选项] [参数...]</code></p>
@@ -141,6 +141,6 @@
<!-- --><li><code>answer config -C ./data/ --with allow_password_login</code></li>
<!-- --></ul>
<!-- --></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/configfile/index.html b/zh-CN/docs/configfile/index.html
index aeec10840..4bbad334e 100644
--- a/zh-CN/docs/configfile/index.html
+++ b/zh-CN/docs/configfile/index.html
@@ -10,13 +10,13 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="configyaml-描述">config.yaml 描述<!-- --><a href="#configyaml-描述" class="hash-link" aria-label="config.yaml 描述的直接链接" title="config.yaml 描述的直接链接"></a></h2>
-<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">/data/conf/config.yaml</div><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-yaml codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">server</span><span class="token punctuatio [...]
+<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">/data/conf/config.yaml</div><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-yaml codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">server</span><span class="token punctuatio [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/contributing/notice/index.html b/zh-CN/docs/contributing/notice/index.html
index 34082078f..36db320f8 100644
--- a/zh-CN/docs/contributing/notice/index.html
+++ b/zh-CN/docs/contributing/notice/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>该项目建立在以下开源项目的基础上并得到其帮助。我们向这些项目致以敬意。</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="apache-20">Apache-2.0<!-- --><a href="#apache-20" class="hash-link" aria-label="Apache-2.0的直接链接" title="Apache-2.0的直接链接"></a></h2>
<!-- --><ul>
@@ -105,6 +105,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="mpl-20">MPL-2.0<!-- --><a href="#mpl-20" class="hash-link" aria-label="MPL-2.0的直接链接" title="MPL-2.0的直接链接"></a></h2>
<!-- --><ul>
<!-- --><li><a href="https://github.com/go-sql-driver/mysql" target="_blank" rel="noopener noreferrer">https://github.com/go-sql-driver/mysql</a></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/database/index.html b/zh-CN/docs/database/index.html
index 68cd7fc00..dd0a25725 100644
--- a/zh-CN/docs/database/index.html
+++ b/zh-CN/docs/database/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-note admonition_inHR alert alert--secondary"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.1 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="activity">activity<!-- --><a href="#activity" class="hash-link" aria-label="activity的直接链接" title="activity的直接链接"></a></h2>
<!-- --><blockquote>
@@ -117,6 +117,6 @@
<!-- --><blockquote>
<!-- --><p>The version of the current answer is recorded in version table for upgrade.</p>
<!-- --></blockquote>
-<!-- --><table><thead><tr><th>COLUMN</th><th>DATA TYPE</th><th>NULLABLE</th><th>KEY</th><th>DEFAULT</th><th>COMMENT</th></tr></thead><tbody><tr><td>id</td><td>int(11)</td><td>NO</td><td>PRI</td><td></td><td>id</td></tr><tr><td>version_number</td><td>int(11)</td><td>NO</td><td></td><td>0</td><td>version_number</td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/projec [...]
+<!-- --><table><thead><tr><th>COLUMN</th><th>DATA TYPE</th><th>NULLABLE</th><th>KEY</th><th>DEFAULT</th><th>COMMENT</th></tr></thead><tbody><tr><td>id</td><td>int(11)</td><td>NO</td><td>PRI</td><td></td><td>id</td></tr><tr><td>version_number</td><td>int(11)</td><td>NO</td><td></td><td>0</td><td>version_number</td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/projec [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/deploy-subdirectory/index.html b/zh-CN/docs/deploy-subdirectory/index.html
index ce7aa7be7..3bbd24e60 100644
--- a/zh-CN/docs/deploy-subdirectory/index.html
+++ b/zh-CN/docs/deploy-subdirectory/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>This function is implemented based on react-router's <!-- --><a href="https://reactrouter.com/en/main/router-components/memory-router#basename" target="_blank" rel="noopener noreferrer">basename</a>, so it is not applicable to subdirectories implemented through <!-- --><code>nginx</code> configuration deploy.<!-- --></p>
<!-- --><p>Apache Answer supports subdirectory deployment as of version 1.3.5. This configuration allows you to set a route prefix for your application, e.g., if you have routes <!-- --><code>/</code> and <!-- --><code>/questions</code>, and you set <!-- --><code>base_url</code> to /foo, you can access the previous routes via <!-- --><code>/foo</code> and <!-- --><code>/foo/questions</code>.<!-- --></p>
<!-- --><div class="theme-admonition theme-admonition-warning admonition_inHR alert alert--warning"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>注 [...]
@@ -36,6 +36,6 @@
<!-- --><p>The path of static resources. The default value is <!-- --><code>'/'</code>. If the website uses CDN to host static resources, this value can be set to the URL of CDN. If <!-- --><code>base_url</code> is modified and CDN is not used, then this value also needs to be Same value as <!-- --><code>base_url</code>.<!-- --></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="api_url">api_url<!-- --><a href="#api_url" class="hash-link" aria-label="api_url的直接链接" title="api_url的直接链接"></a></h3>
<!-- --><p>The default value is <!-- --><code>''</code>, which is normally not adjusted. However, if your project uses nginx to proxy subpaths, you need to match the value of <!-- --><code>base_url</code>.<!-- --></p>
-<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
+<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/development/index.html b/zh-CN/docs/development/index.html
index 3102994e4..a5165df98 100644
--- a/zh-CN/docs/development/index.html
+++ b/zh-CN/docs/development/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>This guide will help you get started with the development of the project.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="frontend">Frontend<!-- --><a href="#frontend" class="hash-link" aria-label="Frontend的直接链接" title="Frontend的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="installation">Installation<!-- --><a href="#installation" class="hash-link" aria-label="Installation的直接链接" title="Installation的直接链接"></a></h3>
@@ -60,6 +60,6 @@
<!-- --></ol>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="code-conventions-1">Code conventions<!-- --><a href="#code-conventions-1" class="hash-link" aria-label="Code conventions的直接链接" title="Code conventions的直接链接"></a></h3>
<!-- --><p>We recommend that you follow <!-- --><a href="https://github.com/uber-go/guide" target="_blank" rel="noopener noreferrer">uber's Golang Guidelines</a> code style.<!-- --></p>
-<!-- --><details class="details_k1Sz alert alert--info details_mWBx" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_g7eR"><div><div class="codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A [...]
+<!-- --><details class="details_k1Sz alert alert--info details_mWBx" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_g7eR"><div><div class="codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/development/plugins/index.html b/zh-CN/docs/development/plugins/index.html
index 2cb6219e1..706923bc5 100644
--- a/zh-CN/docs/development/plugins/index.html
+++ b/zh-CN/docs/development/plugins/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Plugins are a way to extend the functionality of the Answer project. You can create your own plugins to meet your own needs.</p>
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="introduction">Introduction<!-- --><a href="#introduction" class="hash-link" aria-label="Introduction的直接链接" title="Introduction的直接链接"></a></h2>
@@ -138,6 +138,6 @@
<!-- --><div class="language-ts codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-ts codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token operator" style="color:#393A34"><</span><span class="token plain">PluginRender</span><br></span><span c [...]
<!-- --><ol start="4">
<!-- --><li><strong>Publish plugin</strong>: initiate the PR process normally and describe the plugin function and scope of influence in detail.<!-- --></li>
-<!-- --></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/development/plugins/plugin-config/index.html b/zh-CN/docs/development/plugins/plugin-config/index.html
index d6ceb512a..b3a959f25 100644
--- a/zh-CN/docs/development/plugins/plugin-config/index.html
+++ b/zh-CN/docs/development/plugins/plugin-config/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="feature">Feature<!-- --><a href="#feature" class="hash-link" aria-label="Feature的直接链接" title="Feature的直接链接"></a></h2>
<!-- --><p>For plugins, we often need some configuration items to record the information necessary for the plugin.</p>
<!-- --><p>For example, OAuth plugins require secret key configuration. These configurations need to be described by the developer and used by the user. So, the following is about how to describe the configuration required for a plugin.</p>
@@ -57,6 +57,6 @@
<!-- --><li>time</li>
<!-- --><li>url</li>
<!-- --><li>week</li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/development/plugins/plugin-translation/index.html b/zh-CN/docs/development/plugins/plugin-translation/index.html
index 59b0fb9e8..0bcf47a8a 100644
--- a/zh-CN/docs/development/plugins/plugin-translation/index.html
+++ b/zh-CN/docs/development/plugins/plugin-translation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Since answer supports multiple languages, the plugin also needs to support multiple languages.
The following is an example of how to make your plugin support multiple languages.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="translator-structure">Translator structure<!-- --><a href="#translator-structure" class="hash-link" aria-label="Translator structure的直接链接" title="Translator structure的直接链接"></a></h2>
@@ -45,6 +45,6 @@ The following is an example of how to make your plugin support multiple language
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="backend-translation">Backend translation<!-- --><a href="#backend-translation" class="hash-link" aria-label="Backend translation的直接链接" title="Backend translation的直接链接"></a></h2>
<!-- --><p>You just need to return <!-- --><code>Translator</code> structure with the key of the translation file.<!-- --></p>
<!-- --><div class="language-go codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-go codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">func</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><sp [...]
-<!-- --><p>The <!-- --><code>Answer</code> will automatically translate the key of the translation file into the corresponding language.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" ari [...]
+<!-- --><p>The <!-- --><code>Answer</code> will automatically translate the key of the translation file into the corresponding language.<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" ari [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/env/index.html b/zh-CN/docs/env/index.html
index bc3437eb9..6337310a9 100644
--- a/zh-CN/docs/env/index.html
+++ b/zh-CN/docs/env/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="安装">安装<!-- --><a href="#安装" class="hash-link" aria-label="安装的直接链接" title="安装的直接链接"></a></h2>
<!-- --><ul>
<!-- --><li><code>INSTALL_PORT</code>: 指定安装时启动的端口,默认为 <!-- --><code>80</code>。<!-- --></li>
@@ -40,6 +40,6 @@
<!-- --><ul>
<!-- --><li><code>LOG_LEVEL</code>: 日志级别,支持 [<!-- --><code>DEBUG</code> <!-- --><code>INFO</code> <!-- --><code>WARN</code> <!-- --><code>ERROR</code>]<!-- --></li>
<!-- --><li><code>LOG_PATH</code>: 日志存储位置<!-- --></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/faq/index.html b/zh-CN/docs/faq/index.html
index 7b2a107ce..9574af0ab 100644
--- a/zh-CN/docs/faq/index.html
+++ b/zh-CN/docs/faq/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="如何访问安装页面">如何访问安装页面?<!-- --><a href="#如何访问安装页面" class="hash-link" aria-label="如何访问安装页面?的直接链接" title="如何访问安装页面?的直接链接"></a></h2>
<!-- --><p>请前往 <!-- --><a href="http://localhost:9080/install" target="_blank" rel="noopener noreferrer">http://localhost:9080/install</a> 访问安装页面。<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="为什么我无法收到注册邮件">为什么我无法收到注册邮件?<!-- --><a href="#为什么我无法收到注册邮件" class="hash-link" aria-label="为什么我无法收到注册邮件?的直接链接" title="为什么我无法收到注册邮件?的直接链接"></a></h2>
@@ -25,6 +25,6 @@
<!-- --><li>用户可以在自己的 <!-- --><code>设置 -> 界面</code> 中切换语言。<!-- --></li>
<!-- --></ul>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="目前支持哪些数据库类型是否支持迁移">目前支持哪些数据库类型?是否支持迁移?<!-- --><a href="#目前支持哪些数据库类型是否支持迁移" class="hash-link" aria-label="目前支持哪些数据库类型?是否支持迁移?的直接链接" title="目前支持哪些数据库类型?是否支持迁移?的直接链接"></a></h2>
-<!-- --><p>我们支持 MySQL、PostgreSQL 和 SQLite3 数据库。不幸的是,我们目前<!-- --><strong>不支持</strong>数据迁移。因此,我们建议仅使用 SQLite3 来<!-- --><strong>体验</strong>,而实际使用时应选择 MySQL。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="i [...]
+<!-- --><p>我们支持 MySQL、PostgreSQL 和 SQLite3 数据库。不幸的是,我们目前<!-- --><strong>不支持</strong>数据迁移。因此,我们建议仅使用 SQLite3 来<!-- --><strong>体验</strong>,而实际使用时应选择 MySQL。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="i [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/flags/index.html b/zh-CN/docs/flags/index.html
index 8585fb84a..9aead3369 100644
--- a/zh-CN/docs/flags/index.html
+++ b/zh-CN/docs/flags/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>User can flag the spam post.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>User can flag the spam post.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/index.html b/zh-CN/docs/index.html
index 5fbfb27c2..2c4923360 100644
--- a/zh-CN/docs/index.html
+++ b/zh-CN/docs/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Apache Answer 可帮助你在用户或团队之间建立问答社区。你可以在这里分享知识并帮助用户解决问题。</p>
<!-- --><p><img decoding="async" loading="lazy" alt="screenshot" src="/zh-CN/assets/images/screenshot-c118d2fcfb1faaf1d9df2e8b5e8bc1a8.png" width="1298" height="824" class="img_RAU7"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="功能一览">功能一览<!-- --><a href="#功能一览" class="hash-link" aria-label="功能一览的直接链接" title="功能一览的直接链接"></a></h2>
@@ -58,6 +58,6 @@
<!-- --><li><strong>响应式布局</strong>:在任何设备上,随时加入社区讨论中。<!-- --></li>
<!-- --><li><strong>夜间模式</strong>:个性化社区体验以保持专注。<!-- --></li>
<!-- --><li><strong>前端和后端分离</strong>:Apache Answer 是一个单体库,包含前端和后端。<!-- --></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/installation/index.html b/zh-CN/docs/installation/index.html
index 57adcb48a..826fc4ce3 100644
--- a/zh-CN/docs/installation/index.html
+++ b/zh-CN/docs/installation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="启动-apache-answer">启动 Apache Answer<!-- --><a href="#启动-apache-answer" class="hash-link" aria-label="启动 Apache Answer的直接链接" title="启动 Apache Answer的直接链接"></a></h2>
<!-- -->
<!-- -->
@@ -48,6 +48,6 @@
<!-- --><p><img decoding="async" loading="lazy" alt="install-site-info" src="/zh-CN/assets/images/install-site-info-dd11f933444917d34aa90ae18166d00b.png" width="2400" height="1818" class="img_RAU7"></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="步骤-5-完成">步骤 5: 完成<!-- --><a href="#步骤-5-完成" class="hash-link" aria-label="步骤 5: 完成的直接链接" title="步骤 5: 完成的直接链接"></a></h3>
<!-- --><p>恭喜你!点击完成按钮,开始你的 Apache Answer 之旅吧!</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="install-complete" src="/zh-CN/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_RAU7"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width [...]
+<!-- --><p><img decoding="async" loading="lazy" alt="install-complete" src="/zh-CN/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_RAU7"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/moderation/index.html b/zh-CN/docs/moderation/index.html
index 0c145887a..c3f03fd69 100644
--- a/zh-CN/docs/moderation/index.html
+++ b/zh-CN/docs/moderation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/permission/index.html b/zh-CN/docs/permission/index.html
index a7d4bfb31..d94afb719 100644
--- a/zh-CN/docs/permission/index.html
+++ b/zh-CN/docs/permission/index.html
@@ -10,15 +10,15 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="privileges">Privileges<!-- --><a href="#privileges" class="hash-link" aria-label="Privileges的直接链接" title="Privileges的直接链接"></a></h2>
<!-- --><p>The number is the minimum reputation required for a privilege. There are three options available for your community. You can change this in Admin settings.</p>
<!-- --><table><thead><tr><th>Privileges</th><th>Level 1</th><th>Level 2 (default)</th><th>Level 3</th></tr></thead><tbody><tr><td>Description</td><td>Less reputation required for private team, group.</td><td>Low reputation required for startup community.</td><td>High reputation required for mature community.</td></tr><tr><td>Ask question</td><td>1</td><td>1</td><td>1</td></tr><tr><td>Write answer</td><td>1</td><td>1</td><td>1</td></tr><tr><td>Write comment</td><td>1</td><td>1</td><td>1< [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="user-roles">User roles<!-- --><a href="#user-roles" class="hash-link" aria-label="User roles的直接链接" title="User roles的直接链接"></a></h2>
-<!-- --><table><thead><tr><th>Permission \ Roles</th><th>User</th><th>Moderator</th><th>Admin</th></tr></thead><tbody><tr><td>Default with no special access</td><td>✓</td><td>✓</td><td>✓</td></tr><tr><td>Has access to all posts except site admin</td><td>-</td><td>✓</td><td>✓</td></tr><tr><td>Have the full power to access the site</td><td>-</td><td>-</td><td>✓</td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row">< [...]
+<!-- --><table><thead><tr><th>Permission \ Roles</th><th>User</th><th>Moderator</th><th>Admin</th></tr></thead><tbody><tr><td>Default with no special access</td><td>✓</td><td>✓</td><td>✓</td></tr><tr><td>Has access to all posts except site admin</td><td>-</td><td>✓</td><td>✓</td></tr><tr><td>Have the full power to access the site</td><td>-</td><td>-</td><td>✓</td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row">< [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/plugins/index.html b/zh-CN/docs/plugins/index.html
index 4525ff764..4686f85d7 100644
--- a/zh-CN/docs/plugins/index.html
+++ b/zh-CN/docs/plugins/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="介绍">介绍<!-- --><a href="#介绍" class="hash-link" aria-label="介绍的直接链接" title="介绍的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="官方插件">官方插件<!-- --><a href="#官方插件" class="hash-link" aria-label="官方插件的直接链接" title="官方插件的直接链接"></a></h3>
@@ -81,6 +81,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="开发与贡献">开发与贡献<!-- --><a href="#开发与贡献" class="hash-link" aria-label="开发与贡献的直接链接" title="开发与贡献的直接链接"></a></h2>
<!-- --><p>请参考<!-- --><a href="/zh-CN/docs/development">文档</a>获取详细信息。<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="设计与原理">设计与原理<!-- --><a href="#设计与原理" class="hash-link" aria-label="设计与原理的直接链接" title="设计与原理的直接链接"></a></h2>
-<!-- --><p>由于 Go 是静态语言,没有友好的插件机制。我们采用重新编译的方式来进行部署,而非动态方式。详情请参考<!-- --><a href="/zh-CN/blog/why-the-answer-plugin-system-was-designed-this-way">博客</a>。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="icon [...]
+<!-- --><p>由于 Go 是静态语言,没有友好的插件机制。我们采用重新编译的方式来进行部署,而非动态方式。详情请参考<!-- --><a href="/zh-CN/blog/why-the-answer-plugin-system-was-designed-this-way">博客</a>。<!-- --></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="icon [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/questions/index.html b/zh-CN/docs/questions/index.html
index e7efc6eb6..4a92fe2fa 100644
--- a/zh-CN/docs/questions/index.html
+++ b/zh-CN/docs/questions/index.html
@@ -10,14 +10,14 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="question-status">Question status<!-- --><a href="#question-status" class="hash-link" aria-label="Question status的直接链接" title="Question status的直接链接"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="Question state diagram" src="/zh-CN/assets/images/questions-question-status.drawio-ba8e6f72b87ff5452bcc4dd8cbdc7dea.svg" width="397" height="422" class="img_RAU7"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="apache-answer-status">Apache Answer status<!-- --><a href="#apache-answer-status" class="hash-link" aria-label="Apache Answer status的直接链接" title="Apache Answer status的直接链接"></a></h2>
-<!-- --><p><img decoding="async" loading="lazy" alt="Apache Answer state diagram" src="/zh-CN/assets/images/questions-answer-status.drawio-c037079cbbf31ac37fdb578bb32a35c7.svg" width="187" height="422" class="img_RAU7"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="current [...]
+<!-- --><p><img decoding="async" loading="lazy" alt="Apache Answer state diagram" src="/zh-CN/assets/images/questions-answer-status.drawio-c037079cbbf31ac37fdb578bb32a35c7.svg" width="187" height="422" class="img_RAU7"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="current [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/reputation/index.html b/zh-CN/docs/reputation/index.html
index d0ffef8cb..f6692dcff 100644
--- a/zh-CN/docs/reputation/index.html
+++ b/zh-CN/docs/reputation/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><p>Reputation used to automate the management of community ecology.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="reputation-change-rules">Reputation change rules<!-- --><a href="#reputation-change-rules" class="hash-link" aria-label="Reputation change rules的直接链接" title="Reputation change rules的直接链接"></a></h2>
<!-- --><table><thead><tr><th>Condition</th><th>Change</th></tr></thead><tbody><tr><td>Someone upvote your question</td><td>+10</td></tr><tr><td>Someone upvote your answer</td><td>+10</td></tr><tr><td>Someone accept your answer</td><td>+15</td></tr><tr><td>You accept someone's answer</td><td>+2</td></tr><tr><td>Your proposed was accepted</td><td>+2</td></tr><tr><td>You downvote someone's answer</td><td>-1</td></tr><tr><td>Your question was downvoted</td><td>-2</td></tr><tr><td> [...]
@@ -26,6 +26,6 @@
<!-- --><li>If an action results in a user gaining <!-- --><code>> 200</code> reputation for the day, any subsequent actions that increase reputation will not increase the user's reputation.<!-- --></li>
<!-- --><li>The reputation gained from accepted answers is not limited by the <!-- --><code>200</code> cap<!-- --></li>
<!-- --><li>No reputation gained for accepting your own answer</li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/review/index.html b/zh-CN/docs/review/index.html
index b5ee7a262..38d6e58e3 100644
--- a/zh-CN/docs/review/index.html
+++ b/zh-CN/docs/review/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/settings/index.html b/zh-CN/docs/settings/index.html
index 338ee1fd7..28378060c 100644
--- a/zh-CN/docs/settings/index.html
+++ b/zh-CN/docs/settings/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/tags/index.html b/zh-CN/docs/tags/index.html
index c7c98bd0d..cc58e1649 100644
--- a/zh-CN/docs/tags/index.html
+++ b/zh-CN/docs/tags/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/upgrade/index.html b/zh-CN/docs/upgrade/index.html
index 5daaa4bf3..5e83f172b 100644
--- a/zh-CN/docs/upgrade/index.html
+++ b/zh-CN/docs/upgrade/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- -->
<!-- -->
<!-- --><div class="theme-admonition theme-admonition-caution admonition_inHR alert alert--warning"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>警 [...]
@@ -24,6 +24,6 @@
<!-- --><li>执行升级命令<!-- --><code>./answer upgrade -C ./answer-data/</code>。<!-- --></li>
<!-- --><li>运行最新版本<!-- --><code>./answer run -C ./answer-data/</code>。<!-- --></li>
<!-- --></ol></div></div></div>
-<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
+<!-- --><div class="theme-admonition theme-admonition-tip admonition_inHR alert alert--success"><div class="admonitionHeading_piGE"><span class="admonitionIcon_ROqA"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.3 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/users/index.html b/zh-CN/docs/users/index.html
index bcb8d6292..e0cb1ca7e 100644
--- a/zh-CN/docs/users/index.html
+++ b/zh-CN/docs/users/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="user-status">User status<!-- --><a href="#user-status" class="hash-link" aria-label="User status的直接链接" title="User status的直接链接"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="User state diagram" src="/zh-CN/assets/images/users-user-status.drawio-205ba145e81e04f5af6c654d44a3f437.svg" width="539" height="286" class="img_RAU7"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="top-users">Top users<!-- --><a href="#top-users" class="hash-link" aria-label="Top users的直接链接" title="Top users的直接链接"></a></h2>
@@ -91,6 +91,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_loeA" id="settings">Settings<!-- --><a href="#settings" class="hash-link" aria-label="Settings的直接链接" title="Settings的直接链接"></a></h2>
<!-- --><p>TODO</p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_loeA" id="unsubscribe-email">Unsubscribe email<!-- --><a href="#unsubscribe-email" class="hash-link" aria-label="Unsubscribe email的直接链接" title="Unsubscribe email的直接链接"></a></h3>
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/download/index.html b/zh-CN/download/index.html
index ec25040a8..0572e2bdd 100644
--- a/zh-CN/download/index.html
+++ b/zh-CN/download/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/index.html b/zh-CN/index.html
index 2ded9d2f7..e058b21a7 100644
--- a/zh-CN/index.html
+++ b/zh-CN/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/latest/index.html b/zh-CN/latest/index.html
index b7faf385d..cd3953f2b 100644
--- a/zh-CN/latest/index.html
+++ b/zh-CN/latest/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/plugins/index.html b/zh-CN/plugins/index.html
index e3a6c5332..14ff9f1e3 100644
--- a/zh-CN/plugins/index.html
+++ b/zh-CN/plugins/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/search/index.html b/zh-CN/search/index.html
index ced4e05ea..aae043d87 100644
--- a/zh-CN/search/index.html
+++ b/zh-CN/search/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.3122614c.css">
-<script src="/zh-CN/assets/js/runtime~main.41541fa1.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.421555dd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.1fbbecb4.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.313926be.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
</body>
</html>
\ No newline at end of file