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 2024/01/26 07:11:11 UTC
(incubator-answer-website) branch dist-pages updated: deploy: 80aace46355a2e19524f1a1be6e8a0ac6bf926c3
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/incubator-answer-website.git
The following commit(s) were added to refs/heads/dist-pages by this push:
new da7018ca deploy: 80aace46355a2e19524f1a1be6e8a0ac6bf926c3
da7018ca is described below
commit da7018cad7c0f02308cc33aeb186e5d09e7073bb
Author: LinkinStars <Li...@users.noreply.github.com>
AuthorDate: Fri Jan 26 07:11:06 2024 +0000
deploy: 80aace46355a2e19524f1a1be6e8a0ac6bf926c3
---
404.html | 4 +-
...6-cover@2x-b293ad01983bae921e80d778c4d82c4a.png | Bin 0 -> 12230 bytes
...6-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png | Bin 0 -> 26287 bytes
assets/js/0480b142.2d4fc948.js | 1 +
assets/js/0480b142.bc01bf2c.js | 1 -
.../js/0da7f6a0.1dc23cd5.js | 2 +-
assets/js/1620c6a0.7206faa1.js | 1 +
assets/js/1620c6a0.92af5ce5.js | 1 -
assets/js/1a8837ce.2d1ceb11.js | 1 +
assets/js/1a8837ce.dd7f53e7.js | 1 -
assets/js/2a510483.3f0022e4.js | 2 -
assets/js/2a510483.a7a1a58e.js | 2 +
...ICENSE.txt => 2a510483.a7a1a58e.js.LICENSE.txt} | 0
.../{2c22be1c.c4ee8e2d.js => 2c22be1c.d9bf7068.js} | 4 +-
...ICENSE.txt => 2c22be1c.d9bf7068.js.LICENSE.txt} | 0
assets/js/3728301f.4df898f0.js | 1 -
assets/js/3728301f.7278a84c.js | 1 +
assets/js/3a3fadac.1df7f6a8.js | 1 +
assets/js/3a3fadac.5f378faa.js | 1 -
.../js/3a86a8c5.fc2cf162.js | 4 +-
...ICENSE.txt => 3a86a8c5.fc2cf162.js.LICENSE.txt} | 0
assets/js/3b8aa308.3c23a984.js | 1 +
assets/js/415707e9.006d36da.js | 1 -
assets/js/415707e9.844f2f80.js | 1 +
assets/js/51168d66.27770829.js | 1 -
assets/js/51168d66.3d006ce4.js | 1 +
assets/js/52dfb191.9de9a13b.js | 1 +
assets/js/52dfb191.d336a07c.js | 1 -
assets/js/54f44165.7aa31886.js | 1 -
assets/js/54f44165.bba37a50.js | 1 +
assets/js/5771c448.8dd3e8be.js | 1 +
assets/js/5771c448.e70033c8.js | 1 -
assets/js/5ac42693.646d051f.js | 1 +
assets/js/5ac42693.64fd6dd1.js | 1 -
assets/js/5b5f4945.41bfe639.js | 1 +
assets/js/5b5f4945.dcd56625.js | 1 -
assets/js/68eaa3f5.4b37ff0d.js | 1 +
assets/js/68eaa3f5.7e95894d.js | 1 -
assets/js/692c6f9f.0a964824.js | 1 -
assets/js/692c6f9f.6c092877.js | 1 +
assets/js/6f494215.33892f3d.js | 1 -
assets/js/6f494215.38f0e619.js | 1 +
assets/js/6fd9b8bb.f2b3cdb5.js | 1 +
assets/js/6fd9b8bb.f3171296.js | 1 -
assets/js/70fd4878.36024f50.js | 1 +
assets/js/70fd4878.a6d57c07.js | 1 -
assets/js/72a4391e.e0f381c1.js | 1 +
assets/js/72a4391e.fec0d59a.js | 1 -
assets/js/87260873.286c7658.js | 1 +
assets/js/87260873.7a7bbf82.js | 1 -
assets/js/872d4ab4.34fba9cf.js | 1 +
assets/js/872d4ab4.dac55a8a.js | 1 -
.../{8eb4e46b.09d1d1b0.js => 8eb4e46b.6bd1bdf1.js} | 2 +-
assets/js/92f4b28c.67ee68fb.js | 1 +
assets/js/977e6cb2.9ab14a03.js | 1 +
assets/js/977e6cb2.f88076e3.js | 1 -
assets/js/9e348dd4.43df9b87.js | 1 +
assets/js/9e348dd4.d4f96181.js | 1 -
assets/js/a09c2993.8d6cdc06.js | 1 -
assets/js/a09c2993.f2dfa353.js | 1 +
assets/js/a4adfb7f.84f12c93.js | 1 -
assets/js/a4adfb7f.b311f187.js | 1 +
assets/js/a5eff934.531d3e52.js | 1 +
assets/js/a5eff934.d6965d3f.js | 1 -
assets/js/a7021a0a.d60525c8.js | 1 +
.../js/a72448b0.2fd2f76e.js | 4 +-
...ICENSE.txt => a72448b0.2fd2f76e.js.LICENSE.txt} | 0
assets/js/a98c1148.32cef3b0.js | 1 -
assets/js/a98c1148.43586732.js | 1 +
assets/js/b2b494f3.522867c8.js | 1 +
assets/js/b2b494f3.f7eb93c8.js | 1 -
.../{b2b675dd.65def3f3.js => b2b675dd.5fc0b84e.js} | 2 +-
assets/js/b2f554cd.6d840a75.js | 1 +
assets/js/b2f554cd.d437f720.js | 1 -
assets/js/b75fbcf3.d1d02e26.js | 1 +
assets/js/b7a6a582.369873ae.js | 1 +
assets/js/b7a6a582.cef3d5e5.js | 1 -
assets/js/bb350c59.93977b3b.js | 1 +
assets/js/bb350c59.b1733093.js | 1 -
assets/js/c1cb8fca.64db4306.js | 1 -
assets/js/c1cb8fca.8b9dc554.js | 1 +
assets/js/d7ef3cd8.481aec01.js | 1 +
assets/js/d7ef3cd8.ffc546ca.js | 1 -
assets/js/da6654f2.5c945187.js | 1 -
assets/js/da6654f2.90fc2666.js | 1 +
assets/js/dc8b965f.1e97a98e.js | 1 -
assets/js/dc8b965f.9df3d1b7.js | 1 +
assets/js/e438ab2a.ab6f1e1e.js | 1 +
assets/js/e438ab2a.e80fa2d8.js | 1 -
assets/js/e4ae456e.41ccaaf8.js | 1 +
assets/js/e4ae456e.c7b875b8.js | 1 -
assets/js/eafd45de.5262c136.js | 1 +
assets/js/eafd45de.5a962745.js | 1 -
assets/js/f493f8eb.b451097a.js | 1 -
assets/js/f493f8eb.ebf7094b.js | 1 +
assets/js/f8a2828b.dbad9855.js | 1 -
assets/js/f8a2828b.ee44ad13.js | 1 +
assets/js/main.8a439e86.js | 2 +
...js.LICENSE.txt => main.8a439e86.js.LICENSE.txt} | 0
assets/js/main.d78c7a30.js | 2 -
assets/js/runtime~main.5923477a.js | 1 -
assets/js/runtime~main.89f418fb.js | 1 +
blog/2023/05/11/answer-1.0.9-release/index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
blog/2023/06/15/answer-1.1.0-release/index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../24/answer-enters-apache-incubator/index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../answer-1.2.1-ask-better-find-better/index.html | 4 +-
.../first-contribution-come-to-answer/index.html | 4 +-
blog/2024/01/26/deploy-answer-https/index.html | 66 ++++++
blog/archive/index.html | 6 +-
blog/atom.xml | 163 +++++---------
blog/category/best-practice/index.html | 6 +-
blog/category/community/index.html | 6 +-
blog/category/insights/index.html | 6 +-
blog/category/release/index.html | 6 +-
blog/category/tech/index.html | 6 +-
blog/category/tutorials/index.html | 6 +-
blog/index.html | 6 +-
blog/page/2/index.html | 249 +--------------------
blog/rss.xml | 155 +++++--------
blog/tags/index.html | 4 +-
blog/tags/tutorials/index.html | 4 +-
community/about/index.html | 6 +-
community/blog-post/index.html | 6 +-
community/contributing/index.html | 6 +-
community/development/index.html | 6 +-
community/how-to-release/index.html | 6 +-
community/index.html | 6 +-
community/issues/index.html | 6 +-
community/plugins/index.html | 6 +-
community/plugins/plugin-config/index.html | 6 +-
community/plugins/plugin-translation/index.html | 6 +-
community/pull-request/index.html | 6 +-
community/security/index.html | 6 +-
community/translation/index.html | 6 +-
contact/index.html | 4 +-
docs/api/index.html | 6 +-
docs/command-line/index.html | 6 +-
docs/configfile/index.html | 6 +-
docs/database/index.html | 6 +-
docs/env/index.html | 6 +-
docs/faq/index.html | 6 +-
docs/flags/index.html | 6 +-
docs/index.html | 6 +-
docs/installation/index.html | 6 +-
docs/moderation/index.html | 6 +-
docs/notice/index.html | 6 +-
docs/permission/index.html | 6 +-
docs/plugins/index.html | 6 +-
docs/questions/index.html | 6 +-
docs/reputation/index.html | 6 +-
docs/review/index.html | 6 +-
docs/settings/index.html | 6 +-
docs/tags/index.html | 6 +-
docs/upgrade/index.html | 6 +-
docs/users/index.html | 6 +-
img/blog/2024-01-26-cover@2x.png | Bin 0 -> 12230 bytes
img/blog/2024-01-26-cover@4x.png | Bin 0 -> 26287 bytes
index.html | 4 +-
plugins/index.html | 4 +-
search/index.html | 4 +-
sitemap.xml | 2 +-
zh-CN/404.html | 4 +-
...6-cover@2x-b293ad01983bae921e80d778c4d82c4a.png | Bin 0 -> 12230 bytes
...6-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png | Bin 0 -> 26287 bytes
zh-CN/assets/js/0bbd7524.99f6f8fc.js | 1 -
zh-CN/assets/js/0bbd7524.b8eb1879.js | 1 +
.../assets/js/0da7f6a0.1dc23cd5.js | 2 +-
zh-CN/assets/js/1620c6a0.312a8a77.js | 1 -
zh-CN/assets/js/1620c6a0.77c3ed2a.js | 1 +
zh-CN/assets/js/1a8837ce.76ad47d4.js | 1 -
zh-CN/assets/js/1a8837ce.79eb88ca.js | 1 +
zh-CN/assets/js/283536cd.059f3fb9.js | 1 -
zh-CN/assets/js/283536cd.153b1dcb.js | 1 +
zh-CN/assets/js/2a510483.6b333cd1.js | 2 -
zh-CN/assets/js/2a510483.7e80cf99.js | 2 +
...ICENSE.txt => 2a510483.7e80cf99.js.LICENSE.txt} | 0
.../{2c22be1c.c4ee8e2d.js => 2c22be1c.d9bf7068.js} | 4 +-
...ICENSE.txt => 2c22be1c.d9bf7068.js.LICENSE.txt} | 0
zh-CN/assets/js/3728301f.4df898f0.js | 1 -
zh-CN/assets/js/3728301f.7278a84c.js | 1 +
zh-CN/assets/js/3a0bfb32.affb71ef.js | 1 -
zh-CN/assets/js/3a0bfb32.ebf60478.js | 1 +
zh-CN/assets/js/3a3fadac.1df7f6a8.js | 1 +
zh-CN/assets/js/3a3fadac.5f378faa.js | 1 -
.../assets/js/3a86a8c5.fc2cf162.js | 4 +-
...ICENSE.txt => 3a86a8c5.fc2cf162.js.LICENSE.txt} | 0
zh-CN/assets/js/3b8aa308.3818a186.js | 1 +
zh-CN/assets/js/415707e9.bcec5090.js | 1 -
zh-CN/assets/js/415707e9.e84829ae.js | 1 +
zh-CN/assets/js/4958df33.8bb9ee6b.js | 1 -
zh-CN/assets/js/4958df33.fba37f80.js | 1 +
zh-CN/assets/js/50bc71d4.06de9844.js | 1 -
zh-CN/assets/js/50bc71d4.38342880.js | 1 +
zh-CN/assets/js/565f0463.6074d78d.js | 1 -
zh-CN/assets/js/565f0463.86fbe313.js | 1 +
zh-CN/assets/js/57264e0e.7546a45f.js | 1 -
zh-CN/assets/js/57264e0e.c777ae6d.js | 1 +
zh-CN/assets/js/5771c448.20618f8b.js | 1 -
zh-CN/assets/js/5771c448.99cfab30.js | 1 +
.../{589616dd.d8bccc6e.js => 589616dd.266c5123.js} | 2 +-
zh-CN/assets/js/5ac42693.4d17d480.js | 1 -
zh-CN/assets/js/5ac42693.a1d3cc95.js | 1 +
zh-CN/assets/js/5b5253e0.7682f771.js | 1 -
zh-CN/assets/js/5b5253e0.c6b73add.js | 1 +
zh-CN/assets/js/5b5f4945.2a8e5341.js | 1 -
zh-CN/assets/js/5b5f4945.89c1d245.js | 1 +
zh-CN/assets/js/692c6f9f.020d3e3f.js | 1 +
zh-CN/assets/js/692c6f9f.ef703cf7.js | 1 -
zh-CN/assets/js/6b66dba1.5c827910.js | 1 -
zh-CN/assets/js/6b66dba1.d48b53e8.js | 1 +
zh-CN/assets/js/6f494215.a036519a.js | 1 -
zh-CN/assets/js/6f494215.b1e564a5.js | 1 +
zh-CN/assets/js/6fd9b8bb.3b8e13ac.js | 1 -
zh-CN/assets/js/6fd9b8bb.cd00dd8e.js | 1 +
zh-CN/assets/js/70fd4878.1d94f012.js | 1 -
zh-CN/assets/js/70fd4878.2f8160cd.js | 1 +
zh-CN/assets/js/719ef308.ab63705d.js | 1 +
zh-CN/assets/js/719ef308.f5cbcf9b.js | 1 -
zh-CN/assets/js/731fb1ee.70cd17a1.js | 1 -
zh-CN/assets/js/731fb1ee.9fd2be05.js | 1 +
zh-CN/assets/js/7f220a89.21f4c4dc.js | 1 +
zh-CN/assets/js/7f220a89.eccf20e2.js | 1 -
zh-CN/assets/js/87260873.286c7658.js | 1 +
zh-CN/assets/js/87260873.7a7bbf82.js | 1 -
zh-CN/assets/js/872d4ab4.6ad205c0.js | 1 -
zh-CN/assets/js/872d4ab4.c86af8d3.js | 1 +
.../{8d998be3.788e1cfc.js => 8d998be3.f42e86ff.js} | 2 +-
zh-CN/assets/js/92f4b28c.63dcfbb1.js | 1 +
zh-CN/assets/js/9e348dd4.ce1886af.js | 1 -
zh-CN/assets/js/9e348dd4.ce66dd20.js | 1 +
zh-CN/assets/js/a4adfb7f.2fa436fb.js | 1 +
zh-CN/assets/js/a4adfb7f.4caff65c.js | 1 -
zh-CN/assets/js/a5b0ceb9.1e58c5a7.js | 1 +
zh-CN/assets/js/a5b0ceb9.423a8d67.js | 1 -
zh-CN/assets/js/a7021a0a.d60525c8.js | 1 +
.../assets/js/a72448b0.2fd2f76e.js | 4 +-
...ICENSE.txt => a72448b0.2fd2f76e.js.LICENSE.txt} | 0
zh-CN/assets/js/b75fbcf3.d1d02e26.js | 1 +
zh-CN/assets/js/bb350c59.4f50689f.js | 1 -
zh-CN/assets/js/bb350c59.7a28ee19.js | 1 +
zh-CN/assets/js/c8c000df.99833add.js | 1 -
zh-CN/assets/js/c8c000df.d83b099f.js | 1 +
zh-CN/assets/js/ca3ced4f.a7070ec0.js | 1 -
zh-CN/assets/js/ca3ced4f.c98d20a0.js | 1 +
zh-CN/assets/js/cb37bc33.20d68804.js | 1 +
zh-CN/assets/js/cb37bc33.a4f8a766.js | 1 -
zh-CN/assets/js/d7ef3cd8.4d72f9c5.js | 1 -
zh-CN/assets/js/d7ef3cd8.f5923a08.js | 1 +
zh-CN/assets/js/da6654f2.33079b3c.js | 1 -
zh-CN/assets/js/da6654f2.6b2bf69b.js | 1 +
zh-CN/assets/js/dc8b965f.81f5ed14.js | 1 -
zh-CN/assets/js/dc8b965f.a03cd587.js | 1 +
zh-CN/assets/js/e4ae456e.2f071481.js | 1 -
zh-CN/assets/js/e4ae456e.5008a8ed.js | 1 +
zh-CN/assets/js/eafd45de.a4ff709c.js | 1 +
zh-CN/assets/js/eafd45de.fbae6147.js | 1 -
zh-CN/assets/js/f8a2828b.727200b7.js | 1 -
zh-CN/assets/js/f8a2828b.edc1d578.js | 1 +
zh-CN/assets/js/main.2cb62c0d.js | 2 +
...js.LICENSE.txt => main.2cb62c0d.js.LICENSE.txt} | 0
zh-CN/assets/js/main.d642980b.js | 2 -
zh-CN/assets/js/runtime~main.c84225d3.js | 1 +
zh-CN/assets/js/runtime~main.cdcd9199.js | 1 -
.../2023/05/11/answer-1.0.9-release/index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../2023/06/15/answer-1.1.0-release/index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../24/answer-enters-apache-incubator/index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../answer-1.2.1-ask-better-find-better/index.html | 4 +-
.../first-contribution-come-to-answer/index.html | 4 +-
.../blog/2024/01/26/deploy-answer-https/index.html | 66 ++++++
zh-CN/blog/archive/index.html | 6 +-
zh-CN/blog/atom.xml | 163 +++++---------
zh-CN/blog/category/best-practice/index.html | 6 +-
zh-CN/blog/category/community/index.html | 6 +-
zh-CN/blog/category/insights/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 +-
zh-CN/blog/index.html | 6 +-
zh-CN/blog/page/2/index.html | 249 +--------------------
zh-CN/blog/rss.xml | 155 +++++--------
zh-CN/blog/tags/index.html | 4 +-
zh-CN/blog/tags/tutorials/index.html | 4 +-
zh-CN/community/about/index.html | 6 +-
zh-CN/community/blog-post/index.html | 6 +-
zh-CN/community/contributing/index.html | 6 +-
zh-CN/community/development/index.html | 6 +-
zh-CN/community/how-to-release/index.html | 6 +-
zh-CN/community/index.html | 6 +-
zh-CN/community/issues/index.html | 6 +-
zh-CN/community/plugins/index.html | 6 +-
zh-CN/community/plugins/plugin-config/index.html | 6 +-
.../plugins/plugin-translation/index.html | 6 +-
zh-CN/community/pull-request/index.html | 6 +-
zh-CN/community/security/index.html | 6 +-
zh-CN/community/translation/index.html | 6 +-
zh-CN/contact/index.html | 4 +-
zh-CN/docs/api/index.html | 6 +-
zh-CN/docs/command-line/index.html | 6 +-
zh-CN/docs/configfile/index.html | 6 +-
zh-CN/docs/contributing/notice/index.html | 6 +-
zh-CN/docs/database/index.html | 6 +-
zh-CN/docs/env/index.html | 6 +-
zh-CN/docs/faq/index.html | 6 +-
zh-CN/docs/flags/index.html | 6 +-
zh-CN/docs/index.html | 6 +-
zh-CN/docs/installation/index.html | 6 +-
zh-CN/docs/moderation/index.html | 6 +-
zh-CN/docs/permission/index.html | 6 +-
zh-CN/docs/plugins/index.html | 6 +-
zh-CN/docs/questions/index.html | 6 +-
zh-CN/docs/reputation/index.html | 6 +-
zh-CN/docs/review/index.html | 6 +-
zh-CN/docs/settings/index.html | 6 +-
zh-CN/docs/tags/index.html | 6 +-
zh-CN/docs/upgrade/index.html | 6 +-
zh-CN/docs/users/index.html | 6 +-
zh-CN/img/blog/2024-01-26-cover@2x.png | Bin 0 -> 12230 bytes
zh-CN/img/blog/2024-01-26-cover@4x.png | Bin 0 -> 26287 bytes
zh-CN/index.html | 4 +-
zh-CN/plugins/index.html | 4 +-
zh-CN/search/index.html | 4 +-
zh-CN/sitemap.xml | 2 +-
354 files changed, 846 insertions(+), 1360 deletions(-)
diff --git a/404.html b/404.html
index 2e220b7d..839be56c 100644
--- a/404.html
+++ b/404.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/assets/images/2024-01-26-cover@2x-b293ad01983bae921e80d778c4d82c4a.png b/assets/images/2024-01-26-cover@2x-b293ad01983bae921e80d778c4d82c4a.png
new file mode 100644
index 00000000..c83682ca
Binary files /dev/null and b/assets/images/2024-01-26-cover@2x-b293ad01983bae921e80d778c4d82c4a.png differ
diff --git a/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png b/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png
new file mode 100644
index 00000000..54868f14
Binary files /dev/null and b/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png differ
diff --git a/assets/js/0480b142.2d4fc948.js b/assets/js/0480b142.2d4fc948.js
new file mode 100644
index 00000000..084fdf5f
--- /dev/null
+++ b/assets/js/0480b142.2d4fc948.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[836],{4398:(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/incubator-answer-website [...]
\ No newline at end of file
diff --git a/assets/js/0480b142.bc01bf2c.js b/assets/js/0480b142.bc01bf2c.js
deleted file mode 100644
index 85c96d7e..00000000
--- a/assets/js/0480b142.bc01bf2c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[836],{4398:(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/incubator-answer-website [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/0da7f6a0.675e88c1.js b/assets/js/0da7f6a0.1dc23cd5.js
similarity index 72%
rename from zh-CN/assets/js/0da7f6a0.675e88c1.js
rename to assets/js/0da7f6a0.1dc23cd5.js
index 7b3a1514..23fe0398 100644
--- a/zh-CN/assets/js/0da7f6a0.675e88c1.js
+++ b/assets/js/0da7f6a0.1dc23cd5.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2997],{78960:e=>{e.exports=JSON.parse('{"permalink":"/blog/category/tech","page":1,"postsPerPage":16,"totalPages":1,"totalCount":1,"previousPage":"","nextPage":"","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2997],{78960:e=>{e.exports=JSON.parse('{"permalink":"/blog/category/tech","page":1,"postsPerPage":16,"totalPages":1,"totalCount":2,"previousPage":"","nextPage":"","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/1620c6a0.7206faa1.js b/assets/js/1620c6a0.7206faa1.js
new file mode 100644
index 00000000..892eab11
--- /dev/null
+++ b/assets/js/1620c6a0.7206faa1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4945],{20533:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var t=i(43010),r=i(90887);const o={slug:"/plugins"},s="Contribute for Plugins",l={id:"contributing/plugins",title:"Contribute for Plugins",description:"Viewing the official plugin code will make you to quickly understand and learn plugin development.",source:"@site/community/contributing/p [...]
\ No newline at end of file
diff --git a/assets/js/1620c6a0.92af5ce5.js b/assets/js/1620c6a0.92af5ce5.js
deleted file mode 100644
index 644f34a4..00000000
--- a/assets/js/1620c6a0.92af5ce5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4945],{20533:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var t=i(43010),r=i(90887);const o={slug:"/plugins"},s="Contribute for Plugins",l={id:"contributing/plugins",title:"Contribute for Plugins",description:"Viewing the official plugin code will make you to quickly understand and learn plugin development.",source:"@site/community/contributing/p [...]
\ No newline at end of file
diff --git a/assets/js/1a8837ce.2d1ceb11.js b/assets/js/1a8837ce.2d1ceb11.js
new file mode 100644
index 00000000..f48d50cb
--- /dev/null
+++ b/assets/js/1a8837ce.2d1ceb11.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{1073:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>u,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/communit [...]
\ No newline at end of file
diff --git a/assets/js/1a8837ce.dd7f53e7.js b/assets/js/1a8837ce.dd7f53e7.js
deleted file mode 100644
index 492cab99..00000000
--- a/assets/js/1a8837ce.dd7f53e7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{1073:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>u,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/communit [...]
\ No newline at end of file
diff --git a/assets/js/2a510483.3f0022e4.js b/assets/js/2a510483.3f0022e4.js
deleted file mode 100644
index bf2e2089..00000000
--- a/assets/js/2a510483.3f0022e4.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see 2a510483.3f0022e4.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{90410:(e,t,n)=>{"use strict";n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>u,default:()=>m,frontMatter:()=>c,metadata:()=>d,toc:()=>p});var r=n(43010),s=n(90887),i=n(82829),o=n.n(i),a=n(36426),l=n(98372);const c={slug:"/"},u="Support",d={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 [...]
\ No newline at end of file
diff --git a/assets/js/2a510483.a7a1a58e.js b/assets/js/2a510483.a7a1a58e.js
new file mode 100644
index 00000000..325a56e8
--- /dev/null
+++ b/assets/js/2a510483.a7a1a58e.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2a510483.a7a1a58e.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{90410:(e,t,n)=>{"use strict";n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>u,default:()=>m,frontMatter:()=>c,metadata:()=>d,toc:()=>p});var r=n(43010),s=n(90887),i=n(82829),o=n.n(i),a=n(36426),l=n(98372);const c={slug:"/"},u="Support",d={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 [...]
\ No newline at end of file
diff --git a/assets/js/2a510483.3f0022e4.js.LICENSE.txt b/assets/js/2a510483.a7a1a58e.js.LICENSE.txt
similarity index 100%
rename from assets/js/2a510483.3f0022e4.js.LICENSE.txt
rename to assets/js/2a510483.a7a1a58e.js.LICENSE.txt
diff --git a/assets/js/2c22be1c.c4ee8e2d.js b/assets/js/2c22be1c.d9bf7068.js
similarity index 63%
rename from assets/js/2c22be1c.c4ee8e2d.js
rename to assets/js/2c22be1c.d9bf7068.js
index 52ed7c6e..47694064 100644
--- a/assets/js/2c22be1c.c4ee8e2d.js
+++ b/assets/js/2c22be1c.d9bf7068.js
@@ -1,2 +1,2 @@
-/*! For license information please see 2c22be1c.c4ee8e2d.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9870],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
+/*! For license information please see 2c22be1c.d9bf7068.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9870],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var d=t(43010);const o={blog:{title:(0,d.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,d.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,d.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,d.jsx [...]
\ No newline at end of file
diff --git a/assets/js/2c22be1c.c4ee8e2d.js.LICENSE.txt b/assets/js/2c22be1c.d9bf7068.js.LICENSE.txt
similarity index 100%
rename from assets/js/2c22be1c.c4ee8e2d.js.LICENSE.txt
rename to assets/js/2c22be1c.d9bf7068.js.LICENSE.txt
diff --git a/assets/js/3728301f.4df898f0.js b/assets/js/3728301f.4df898f0.js
deleted file mode 100644
index bb4287b6..00000000
--- a/assets/js/3728301f.4df898f0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1558],{41036:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":1,"totalCount":16,"previousPage":"","nextPage":"","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/3728301f.7278a84c.js b/assets/js/3728301f.7278a84c.js
new file mode 100644
index 00000000..6aaece07
--- /dev/null
+++ b/assets/js/3728301f.7278a84c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1558],{41036:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":17,"previousPage":"","nextPage":"/blog/page/2","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/3a3fadac.1df7f6a8.js b/assets/js/3a3fadac.1df7f6a8.js
new file mode 100644
index 00000000..19ec2b92
--- /dev/null
+++ b/assets/js/3a3fadac.1df7f6a8.js
@@ -0,0 +1 @@
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9504],{34246:(e,s,t)=>{"use strict";t.d(s,{Z:()=>n});t(85170);var c=t(45924),a=t(43010);const n=e=>{let{type:s="br",name:t,className:n,size:o,onClick:r,title:i=""}=e;return(0,a.jsx)("i",{className:(0,c.Z)(s,`bi-${t}`,n),style:{...o&&{fontSize:o}},onClick:r,onKeyDown:r,title:i})}},12306:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>q});var c=t(85170),a=t(43810),n=t(96933),o=t(71712),r=t(45924),i=t(2049),d=t(71771),l=t(44129), [...]
\ No newline at end of file
diff --git a/assets/js/3a3fadac.5f378faa.js b/assets/js/3a3fadac.5f378faa.js
deleted file mode 100644
index ce674399..00000000
--- a/assets/js/3a3fadac.5f378faa.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9504],{34246:(e,s,t)=>{"use strict";t.d(s,{Z:()=>n});t(85170);var a=t(45924),c=t(43010);const n=e=>{let{type:s="br",name:t,className:n,size:o,onClick:r,title:i=""}=e;return(0,c.jsx)("i",{className:(0,a.Z)(s,`bi-${t}`,n),style:{...o&&{fontSize:o}},onClick:r,onKeyDown:r,title:i})}},12306:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>q});var a=t(85170),c=t(43810),n=t(96933),o=t(71712),r=t(45924),i=t(2049),l=t(71771),d=t(44129), [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3a86a8c5.6abb3285.js b/assets/js/3a86a8c5.fc2cf162.js
similarity index 83%
rename from zh-CN/assets/js/3a86a8c5.6abb3285.js
rename to assets/js/3a86a8c5.fc2cf162.js
index df31d015..9c104fc6 100644
--- a/zh-CN/assets/js/3a86a8c5.6abb3285.js
+++ b/assets/js/3a86a8c5.fc2cf162.js
@@ -1,2 +1,2 @@
-/*! For license information please see 3a86a8c5.6abb3285.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2355],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
+/*! For license information please see 3a86a8c5.fc2cf162.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2355],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
diff --git a/assets/js/3a86a8c5.6abb3285.js.LICENSE.txt b/assets/js/3a86a8c5.fc2cf162.js.LICENSE.txt
similarity index 100%
rename from assets/js/3a86a8c5.6abb3285.js.LICENSE.txt
rename to assets/js/3a86a8c5.fc2cf162.js.LICENSE.txt
diff --git a/assets/js/3b8aa308.3c23a984.js b/assets/js/3b8aa308.3c23a984.js
new file mode 100644
index 00000000..c7c9a9cc
--- /dev/null
+++ b/assets/js/3b8aa308.3c23a984.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9130],{440:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>d});var s=t(43010),o=t(90887);const a={title:"How to Access Answer Using HTTPS",authors:["LinkinStar"],category:"Tech",featured:!0,image:"2024-01-26-cover@4x.png",description:"Got your Answer server up and running? Now, let's take it to the next level with HTTPS with the tutorials."},i=void 0,r= [...]
\ No newline at end of file
diff --git a/assets/js/415707e9.006d36da.js b/assets/js/415707e9.006d36da.js
deleted file mode 100644
index caf39cce..00000000
--- a/assets/js/415707e9.006d36da.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{41114:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>d,toc:()=>o});var i=s(43010),t=s(90887);const r={slug:"/users"},l="Users",d={id:"guides/users",title:"Users",description:"Top users",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/docs/users",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/incubator-answer-w [...]
\ No newline at end of file
diff --git a/assets/js/415707e9.844f2f80.js b/assets/js/415707e9.844f2f80.js
new file mode 100644
index 00000000..87ee7371
--- /dev/null
+++ b/assets/js/415707e9.844f2f80.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{41114:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>d,toc:()=>a});var i=s(43010),t=s(90887);const r={slug:"/users"},l="Users",d={id:"guides/users",title:"Users",description:"Top users",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/docs/users",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/incubator-answer-w [...]
\ No newline at end of file
diff --git a/assets/js/51168d66.27770829.js b/assets/js/51168d66.27770829.js
deleted file mode 100644
index 413194ed..00000000
--- a/assets/js/51168d66.27770829.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8414],{59745:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>o});var i=s(43010),l=s(90887);const t={slug:"/env"},d="Environment Variables",c={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.3d006ce4.js b/assets/js/51168d66.3d006ce4.js
new file mode 100644
index 00000000..734061b6
--- /dev/null
+++ b/assets/js/51168d66.3d006ce4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8414],{59745:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>o});var i=s(43010),l=s(90887);const t={slug:"/env"},d="Environment Variables",c={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/52dfb191.9de9a13b.js b/assets/js/52dfb191.9de9a13b.js
new file mode 100644
index 00000000..81bb9073
--- /dev/null
+++ b/assets/js/52dfb191.9de9a13b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1447],{52718:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>h});var o=n(43010),s=n(90887);const r={title:"First Contribution? Come to Answer.",authors:["Anne"],category:"Community",featured:!0,image:"2024-01-25-cover@4x.png",description:"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!"},a=void 0,i={pe [...]
\ No newline at end of file
diff --git a/assets/js/52dfb191.d336a07c.js b/assets/js/52dfb191.d336a07c.js
deleted file mode 100644
index 71c6f81b..00000000
--- a/assets/js/52dfb191.d336a07c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1447],{52718:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>h});var o=n(43010),s=n(90887);const r={title:"First Contribution? Come to Answer.",authors:["Anne"],category:"Community",featured:!0,image:"2024-01-25-cover@4x.png",description:"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!"},a=void 0,i={pe [...]
\ No newline at end of file
diff --git a/assets/js/54f44165.7aa31886.js b/assets/js/54f44165.7aa31886.js
deleted file mode 100644
index 9628ee3b..00000000
--- a/assets/js/54f44165.7aa31886.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[152],{3736:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>c,toc:()=>d});var a=n(43010),s=n(90887),r=n(32294),i=n(71401);const l={slug:"/installation"},o="Installation",c={id:"getting-started/installation",title:"Installation",description:"Start Answer",source:"@site/docs/getting-started/installation.md",sourceDirName:"getting-started",slug:"/installation",permal [...]
\ No newline at end of file
diff --git a/assets/js/54f44165.bba37a50.js b/assets/js/54f44165.bba37a50.js
new file mode 100644
index 00000000..ffc28522
--- /dev/null
+++ b/assets/js/54f44165.bba37a50.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[152],{3736:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>c,toc:()=>d});var a=n(43010),s=n(90887),r=n(32294),i=n(71401);const l={slug:"/installation"},o="Installation",c={id:"getting-started/installation",title:"Installation",description:"Start Answer",source:"@site/docs/getting-started/installation.md",sourceDirName:"getting-started",slug:"/installation",permal [...]
\ No newline at end of file
diff --git a/assets/js/5771c448.8dd3e8be.js b/assets/js/5771c448.8dd3e8be.js
new file mode 100644
index 00000000..9d73b1cd
--- /dev/null
+++ b/assets/js/5771c448.8dd3e8be.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{29771:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var n=i(43010),s=i(90887);const o={slug:"/security"},r="Security",c={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.e70033c8.js b/assets/js/5771c448.e70033c8.js
deleted file mode 100644
index 4235e113..00000000
--- a/assets/js/5771c448.e70033c8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{29771:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var n=i(43010),s=i(90887);const o={slug:"/security"},r="Security",c={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/5ac42693.646d051f.js b/assets/js/5ac42693.646d051f.js
new file mode 100644
index 00000000..0b618e39
--- /dev/null
+++ b/assets/js/5ac42693.646d051f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{76513:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var a=s(43010),r=s(90887);const n={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.64fd6dd1.js b/assets/js/5ac42693.64fd6dd1.js
deleted file mode 100644
index 354c5bff..00000000
--- a/assets/js/5ac42693.64fd6dd1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{76513:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var a=s(43010),r=s(90887);const n={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.41bfe639.js b/assets/js/5b5f4945.41bfe639.js
new file mode 100644
index 00000000..a845f31a
--- /dev/null
+++ b/assets/js/5b5f4945.41bfe639.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{76715:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var s=n(43010),o=n(90887);const i={slug:"/questions"},r="Questions",a={id:"guides/questions",title:"Questions",description:"TODO",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/docs/questions",draft:!1,unlisted:!1,editUrl:"https://github.com/ap [...]
\ No newline at end of file
diff --git a/assets/js/5b5f4945.dcd56625.js b/assets/js/5b5f4945.dcd56625.js
deleted file mode 100644
index d8934837..00000000
--- a/assets/js/5b5f4945.dcd56625.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{76715:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var s=n(43010),o=n(90887);const i={slug:"/questions"},r="Questions",a={id:"guides/questions",title:"Questions",description:"TODO",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/docs/questions",draft:!1,unlisted:!1,editUrl:"https://github.com/ap [...]
\ No newline at end of file
diff --git a/assets/js/68eaa3f5.4b37ff0d.js b/assets/js/68eaa3f5.4b37ff0d.js
new file mode 100644
index 00000000..a00060cc
--- /dev/null
+++ b/assets/js/68eaa3f5.4b37ff0d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3362],{34455:(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(32294),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.7e95894d.js b/assets/js/68eaa3f5.7e95894d.js
deleted file mode 100644
index bf60577c..00000000
--- a/assets/js/68eaa3f5.7e95894d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3362],{34455:(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(32294),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/692c6f9f.0a964824.js b/assets/js/692c6f9f.0a964824.js
deleted file mode 100644
index 150040f0..00000000
--- a/assets/js/692c6f9f.0a964824.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3483],{2496:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var o=t(43010),r=t(90887);const l={slug:"/development"},s="Development",i={id:"contributing/development",title:"Development",description:"Frontend",source:"@site/community/contributing/development.md",sourceDirName:"contributing",slug:"/development",permalink:"/community/development",draft: [...]
\ No newline at end of file
diff --git a/assets/js/692c6f9f.6c092877.js b/assets/js/692c6f9f.6c092877.js
new file mode 100644
index 00000000..a3dd7da9
--- /dev/null
+++ b/assets/js/692c6f9f.6c092877.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3483],{2496:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=t(43010),r=t(90887);const s={slug:"/development"},l="Development",i={id:"contributing/development",title:"Development",description:"Frontend",source:"@site/community/contributing/development.md",sourceDirName:"contributing",slug:"/development",permalink:"/community/development",draft: [...]
\ No newline at end of file
diff --git a/assets/js/6f494215.33892f3d.js b/assets/js/6f494215.33892f3d.js
deleted file mode 100644
index 98572af2..00000000
--- a/assets/js/6f494215.33892f3d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{79032:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var a=t(43010),o=t(90887);const i={slug:"/api"},s="API Document",c={id:"development/api",title:"API Document",description:"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 test the [...]
\ No newline at end of file
diff --git a/assets/js/6f494215.38f0e619.js b/assets/js/6f494215.38f0e619.js
new file mode 100644
index 00000000..efab489c
--- /dev/null
+++ b/assets/js/6f494215.38f0e619.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{79032:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var a=t(43010),o=t(90887);const i={slug:"/api"},s="API Document",c={id:"development/api",title:"API Document",description:"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 test the [...]
\ No newline at end of file
diff --git a/assets/js/6fd9b8bb.f2b3cdb5.js b/assets/js/6fd9b8bb.f2b3cdb5.js
new file mode 100644
index 00000000..8841821b
--- /dev/null
+++ b/assets/js/6fd9b8bb.f2b3cdb5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{73125:(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/docs/development/database.md",sourceDi [...]
\ No newline at end of file
diff --git a/assets/js/6fd9b8bb.f3171296.js b/assets/js/6fd9b8bb.f3171296.js
deleted file mode 100644
index 1e687d23..00000000
--- a/assets/js/6fd9b8bb.f3171296.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{73125:(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/docs/development/database.md",sourceDi [...]
\ No newline at end of file
diff --git a/assets/js/70fd4878.36024f50.js b/assets/js/70fd4878.36024f50.js
new file mode 100644
index 00000000..c2e094d5
--- /dev/null
+++ b/assets/js/70fd4878.36024f50.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3789],{43184:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>h});var n=o(43010),r=o(90887);const i={slug:"/about"},a="About",c={id:"about",title:"About",description:"As a Q&A platform software, we are committed to creating great product that let more people experience the fun and efficiency of Q&A communities, unleash the collective wisdom. As an open-s [...]
\ No newline at end of file
diff --git a/assets/js/70fd4878.a6d57c07.js b/assets/js/70fd4878.a6d57c07.js
deleted file mode 100644
index d1741aca..00000000
--- a/assets/js/70fd4878.a6d57c07.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3789],{43184:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>h});var n=o(43010),r=o(90887);const i={slug:"/about"},a="About",c={id:"about",title:"About",description:"As a Q&A platform software, we are committed to creating great product that let more people experience the fun and efficiency of Q&A communities, unleash the collective wisdom. As an open-s [...]
\ No newline at end of file
diff --git a/assets/js/72a4391e.e0f381c1.js b/assets/js/72a4391e.e0f381c1.js
new file mode 100644
index 00000000..5ebf9e69
--- /dev/null
+++ b/assets/js/72a4391e.e0f381c1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5527],{36181:(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:"Answer binary support some command-line options",source:"@site/docs/getting-started/command-line.md",sourceDirName:"getting-started",slug:"/comma [...]
\ No newline at end of file
diff --git a/assets/js/72a4391e.fec0d59a.js b/assets/js/72a4391e.fec0d59a.js
deleted file mode 100644
index d21f7289..00000000
--- a/assets/js/72a4391e.fec0d59a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5527],{36181:(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:"Answer binary support some command-line options",source:"@site/docs/getting-started/command-line.md",sourceDirName:"getting-started",slug:"/comma [...]
\ No newline at end of file
diff --git a/assets/js/87260873.286c7658.js b/assets/js/87260873.286c7658.js
new file mode 100644
index 00000000..9e989607
--- /dev/null
+++ b/assets/js/87260873.286c7658.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6424],{19893:e=>{e.exports=JSON.parse('[{"label":"Tech","permalink":"/blog/category/tech","count":2},{"label":"Community","permalink":"/blog/category/community","count":7},{"label":"Release","permalink":"/blog/category/release","count":4},{"label":"Best Practice","permalink":"/blog/category/best-practice","count":2},{"label":"Tutorials","permalink":"/blog/category/tutorials","count":5},{"label":"Insights","permalin [...]
\ No newline at end of file
diff --git a/assets/js/87260873.7a7bbf82.js b/assets/js/87260873.7a7bbf82.js
deleted file mode 100644
index 7695adf7..00000000
--- a/assets/js/87260873.7a7bbf82.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6424],{19893:e=>{e.exports=JSON.parse('[{"label":"Community","permalink":"/blog/category/community","count":7},{"label":"Release","permalink":"/blog/category/release","count":4},{"label":"Best Practice","permalink":"/blog/category/best-practice","count":2},{"label":"Tutorials","permalink":"/blog/category/tutorials","count":5},{"label":"Tech","permalink":"/blog/category/tech","count":1},{"label":"Insights","permalin [...]
\ No newline at end of file
diff --git a/assets/js/872d4ab4.34fba9cf.js b/assets/js/872d4ab4.34fba9cf.js
new file mode 100644
index 00000000..79664b4b
--- /dev/null
+++ b/assets/js/872d4ab4.34fba9cf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{9668:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>d,default:()=>u,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 Answer project, you can raise your issue for different repos.",source:"@site/community/contributing/issues.md",sourceDirName:"contributing",slug: [...]
\ No newline at end of file
diff --git a/assets/js/872d4ab4.dac55a8a.js b/assets/js/872d4ab4.dac55a8a.js
deleted file mode 100644
index 785d52ff..00000000
--- a/assets/js/872d4ab4.dac55a8a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{9668:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>d,default:()=>u,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 Answer project, you can raise your issue for different repos.",source:"@site/community/contributing/issues.md",sourceDirName:"contributing",slug: [...]
\ No newline at end of file
diff --git a/assets/js/8eb4e46b.09d1d1b0.js b/assets/js/8eb4e46b.6bd1bdf1.js
similarity index 76%
rename from assets/js/8eb4e46b.09d1d1b0.js
rename to assets/js/8eb4e46b.6bd1bdf1.js
index 76365b1a..7736f933 100644
--- a/assets/js/8eb4e46b.09d1d1b0.js
+++ b/assets/js/8eb4e46b.6bd1bdf1.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1],{82638:e=>{e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":16,"totalPages":2,"totalCount":21,"previousPage":"/blog","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1],{82638:e=>{e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":16,"totalPages":2,"totalCount":22,"previousPage":"/blog","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/92f4b28c.67ee68fb.js b/assets/js/92f4b28c.67ee68fb.js
new file mode 100644
index 00000000..54230660
--- /dev/null
+++ b/assets/js/92f4b28c.67ee68fb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3474],{90093:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>d});var s=t(43010),o=t(90887);const a={title:"How to Access Answer Using HTTPS",authors:["LinkinStar"],category:"Tech",featured:!0,image:"2024-01-26-cover@4x.png",description:"Got your Answer server up and running? Now, let's take it to the next level with HTTPS with the tutorials."},i=void 0, [...]
\ No newline at end of file
diff --git a/assets/js/977e6cb2.9ab14a03.js b/assets/js/977e6cb2.9ab14a03.js
new file mode 100644
index 00000000..ade77ece
--- /dev/null
+++ b/assets/js/977e6cb2.9ab14a03.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3412],{4330:(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/inc [...]
\ No newline at end of file
diff --git a/assets/js/977e6cb2.f88076e3.js b/assets/js/977e6cb2.f88076e3.js
deleted file mode 100644
index 9f5951fc..00000000
--- a/assets/js/977e6cb2.f88076e3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3412],{4330:(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/inc [...]
\ No newline at end of file
diff --git a/assets/js/9e348dd4.43df9b87.js b/assets/js/9e348dd4.43df9b87.js
new file mode 100644
index 00000000..de06f92a
--- /dev/null
+++ b/assets/js/9e348dd4.43df9b87.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7945],{75801:e=>{e.exports=JSON.parse('[{"title":"How to Access Answer Using HTTPS","authors":["LinkinStar"],"category":"Tech","featured":true,"image":"2024-01-26-cover@4x.png","description":"Got your Answer server up and running? Now, let\'s take it to the next level with HTTPS with the tutorials.","tags":[],"permalink":"/blog/2024/01/26/deploy-answer-https"},{"title":"First Contribution? Come to Answer.","authors [...]
\ No newline at end of file
diff --git a/assets/js/9e348dd4.d4f96181.js b/assets/js/9e348dd4.d4f96181.js
deleted file mode 100644
index 8bdd4f3a..00000000
--- a/assets/js/9e348dd4.d4f96181.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7945],{75801:e=>{e.exports=JSON.parse('[{"title":"First Contribution? Come to Answer.","authors":["Anne"],"category":"Community","featured":true,"image":"2024-01-25-cover@4x.png","description":"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!","tags":[],"permalink":"/blog/2024/01/25/first-contribution-come-to-answer"},{"title":"Answer 1.2.1: Ask Better. Find Better [...]
\ No newline at end of file
diff --git a/assets/js/a09c2993.8d6cdc06.js b/assets/js/a09c2993.8d6cdc06.js
deleted file mode 100644
index aaaabcc2..00000000
--- a/assets/js/a09c2993.8d6cdc06.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4128],{69145:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var s=t(43010),r=t(90887);const o={slug:"/"},i="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.f2dfa353.js b/assets/js/a09c2993.f2dfa353.js
new file mode 100644
index 00000000..7232bbfe
--- /dev/null
+++ b/assets/js/a09c2993.f2dfa353.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4128],{69145:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var s=t(43010),r=t(90887);const o={slug:"/"},i="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/a4adfb7f.84f12c93.js b/assets/js/a4adfb7f.84f12c93.js
deleted file mode 100644
index 62d63bcc..00000000
--- a/assets/js/a4adfb7f.84f12c93.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1508],{68266:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var t=i(43010),o=i(90887);const l={sidebar_label:"Plugin Configuration Schema",slug:"/plugins/plugin-config"},r="Plugin Configuration Schema",s={id:"contributing/plugins/plugin-config",title:"Plugin Configuration Schema",description:"Feature",source:"@site/community/contributing/plugins/pl [...]
\ No newline at end of file
diff --git a/assets/js/a4adfb7f.b311f187.js b/assets/js/a4adfb7f.b311f187.js
new file mode 100644
index 00000000..5ee552f5
--- /dev/null
+++ b/assets/js/a4adfb7f.b311f187.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1508],{68266:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var t=i(43010),o=i(90887);const l={sidebar_label:"Plugin Configuration Schema",slug:"/plugins/plugin-config"},r="Plugin Configuration Schema",s={id:"contributing/plugins/plugin-config",title:"Plugin Configuration Schema",description:"Feature",source:"@site/community/contributing/plugins/pl [...]
\ No newline at end of file
diff --git a/assets/js/a5eff934.531d3e52.js b/assets/js/a5eff934.531d3e52.js
new file mode 100644
index 00000000..e4efb6fa
--- /dev/null
+++ b/assets/js/a5eff934.531d3e52.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1134],{49066:(t,e,s)=>{s.r(e),s.d(e,{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.d6965d3f.js b/assets/js/a5eff934.d6965d3f.js
deleted file mode 100644
index 97284548..00000000
--- a/assets/js/a5eff934.d6965d3f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1134],{49066:(t,e,s)=>{s.r(e),s.d(e,{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/a7021a0a.d60525c8.js b/assets/js/a7021a0a.d60525c8.js
new file mode 100644
index 00000000..060db5ae
--- /dev/null
+++ b/assets/js/a7021a0a.d60525c8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[176],{26408:e=>{e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":16,"totalPages":2,"totalCount":17,"previousPage":"/blog","nextPage":"","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/a72448b0.23032b3f.js b/assets/js/a72448b0.2fd2f76e.js
similarity index 84%
rename from zh-CN/assets/js/a72448b0.23032b3f.js
rename to assets/js/a72448b0.2fd2f76e.js
index 9294367e..66edc799 100644
--- a/zh-CN/assets/js/a72448b0.23032b3f.js
+++ b/assets/js/a72448b0.2fd2f76e.js
@@ -1,2 +1,2 @@
-/*! For license information please see a72448b0.23032b3f.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7636],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
+/*! For license information please see a72448b0.2fd2f76e.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7636],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
diff --git a/assets/js/a72448b0.23032b3f.js.LICENSE.txt b/assets/js/a72448b0.2fd2f76e.js.LICENSE.txt
similarity index 100%
rename from assets/js/a72448b0.23032b3f.js.LICENSE.txt
rename to assets/js/a72448b0.2fd2f76e.js.LICENSE.txt
diff --git a/assets/js/a98c1148.32cef3b0.js b/assets/js/a98c1148.32cef3b0.js
deleted file mode 100644
index cfa5bc3d..00000000
--- a/assets/js/a98c1148.32cef3b0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3610],{55954:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var o=n(43010),r=n(90887);const a={slug:"/moderation"},s="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.43586732.js b/assets/js/a98c1148.43586732.js
new file mode 100644
index 00000000..01f0f1e5
--- /dev/null
+++ b/assets/js/a98c1148.43586732.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3610],{55954:(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.522867c8.js b/assets/js/b2b494f3.522867c8.js
new file mode 100644
index 00000000..c8a65b60
--- /dev/null
+++ b/assets/js/b2b494f3.522867c8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6109],{19671:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>o});var h=s(43010),i=s(90887);const n={slug:"/notice",sidebar_label:"Notice"},c="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.f7eb93c8.js b/assets/js/b2b494f3.f7eb93c8.js
deleted file mode 100644
index 6d059d2f..00000000
--- a/assets/js/b2b494f3.f7eb93c8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6109],{19671:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>o});var h=s(43010),i=s(90887);const n={slug:"/notice",sidebar_label:"Notice"},c="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/b2b675dd.65def3f3.js b/assets/js/b2b675dd.5fc0b84e.js
similarity index 76%
rename from assets/js/b2b675dd.65def3f3.js
rename to assets/js/b2b675dd.5fc0b84e.js
index 15389f21..74f6aba9 100644
--- a/assets/js/b2b675dd.65def3f3.js
+++ b/assets/js/b2b675dd.5fc0b84e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[533],{28017:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":21,"nextPage":"/blog/page/2","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[533],{28017:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":22,"nextPage":"/blog/page/2","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2f554cd.6d840a75.js b/assets/js/b2f554cd.6d840a75.js
new file mode 100644
index 00000000..a06404c4
--- /dev/null
+++ b/assets/js/b2f554cd.6d840a75.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1477],{30010:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2024/01/26/deploy-answer-https","metadata":{"permalink":"/blog/2024/01/26/deploy-answer-https","editUrl":"https://github.com/apache/incubator-answer-website/edit/main/blog/2024-01-26-deploy-answer-https/index.md","source":"@site/blog/2024-01-26-deploy-answer-https/index.md","title":"How to Access Answer Using HTTPS","description":"Got your Answer server u [...]
\ No newline at end of file
diff --git a/assets/js/b2f554cd.d437f720.js b/assets/js/b2f554cd.d437f720.js
deleted file mode 100644
index d6187647..00000000
--- a/assets/js/b2f554cd.d437f720.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1477],{30010:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2024/01/25/first-contribution-come-to-answer","metadata":{"permalink":"/blog/2024/01/25/first-contribution-come-to-answer","editUrl":"https://github.com/apache/incubator-answer-website/edit/main/blog/2024-01-25-first-contribution-come-to-answer/index.md","source":"@site/blog/2024-01-25-first-contribution-come-to-answer/index.md","title":"First Contributio [...]
\ No newline at end of file
diff --git a/assets/js/b75fbcf3.d1d02e26.js b/assets/js/b75fbcf3.d1d02e26.js
new file mode 100644
index 00000000..db926336
--- /dev/null
+++ b/assets/js/b75fbcf3.d1d02e26.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6993],{65327:e=>{e.exports=[]}}]);
\ No newline at end of file
diff --git a/assets/js/b7a6a582.369873ae.js b/assets/js/b7a6a582.369873ae.js
new file mode 100644
index 00000000..a3bea5f5
--- /dev/null
+++ b/assets/js/b7a6a582.369873ae.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3835],{28563:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>h});var o=n(43010),s=n(90887);const r={title:"First Contribution? Come to Answer.",authors:["Anne"],category:"Community",featured:!0,image:"2024-01-25-cover@4x.png",description:"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!"},a=void 0,i={pe [...]
\ No newline at end of file
diff --git a/assets/js/b7a6a582.cef3d5e5.js b/assets/js/b7a6a582.cef3d5e5.js
deleted file mode 100644
index 04cd5615..00000000
--- a/assets/js/b7a6a582.cef3d5e5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3835],{28563:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>h});var o=n(43010),s=n(90887);const r={title:"First Contribution? Come to Answer.",authors:["Anne"],category:"Community",featured:!0,image:"2024-01-25-cover@4x.png",description:"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!"},a=void 0,i={pe [...]
\ No newline at end of file
diff --git a/assets/js/bb350c59.93977b3b.js b/assets/js/bb350c59.93977b3b.js
new file mode 100644
index 00000000..e9c4a8a4
--- /dev/null
+++ b/assets/js/bb350c59.93977b3b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4517],{84261:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var t=i(43010),s=i(90887);const r={slug:"/plugins"},a="Using Plugins",l={id:"guides/plugins",title:"Using Plugins",description:"When we need to do some extensions to Answer's functionality, for example, OAuth login, we design a way to use plugins to implement these functions.",source:"@sit [...]
\ No newline at end of file
diff --git a/assets/js/bb350c59.b1733093.js b/assets/js/bb350c59.b1733093.js
deleted file mode 100644
index 1e2556f1..00000000
--- a/assets/js/bb350c59.b1733093.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4517],{84261:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var t=i(43010),s=i(90887);const r={slug:"/plugins"},a="Using Plugins",l={id:"guides/plugins",title:"Using Plugins",description:"When we need to do some extensions to Answer's functionality, for example, OAuth login, we design a way to use plugins to implement these functions.",source:"@sit [...]
\ No newline at end of file
diff --git a/assets/js/c1cb8fca.64db4306.js b/assets/js/c1cb8fca.64db4306.js
deleted file mode 100644
index 80360ab5..00000000
--- a/assets/js/c1cb8fca.64db4306.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7630],{7882:(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://g [...]
\ No newline at end of file
diff --git a/assets/js/c1cb8fca.8b9dc554.js b/assets/js/c1cb8fca.8b9dc554.js
new file mode 100644
index 00000000..cbff46fb
--- /dev/null
+++ b/assets/js/c1cb8fca.8b9dc554.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7630],{7882:(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://g [...]
\ No newline at end of file
diff --git a/assets/js/d7ef3cd8.481aec01.js b/assets/js/d7ef3cd8.481aec01.js
new file mode 100644
index 00000000..43ccb65f
--- /dev/null
+++ b/assets/js/d7ef3cd8.481aec01.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{66994:(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.ffc546ca.js b/assets/js/d7ef3cd8.ffc546ca.js
deleted file mode 100644
index d6f947ff..00000000
--- a/assets/js/d7ef3cd8.ffc546ca.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{66994:(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.5c945187.js b/assets/js/da6654f2.5c945187.js
deleted file mode 100644
index 2b772956..00000000
--- a/assets/js/da6654f2.5c945187.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{77277:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,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.90fc2666.js b/assets/js/da6654f2.90fc2666.js
new file mode 100644
index 00000000..d07f0659
--- /dev/null
+++ b/assets/js/da6654f2.90fc2666.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{77277:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,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.1e97a98e.js b/assets/js/dc8b965f.1e97a98e.js
deleted file mode 100644
index ef556fd3..00000000
--- a/assets/js/dc8b965f.1e97a98e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{54881:(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/incubator-answer [...]
\ No newline at end of file
diff --git a/assets/js/dc8b965f.9df3d1b7.js b/assets/js/dc8b965f.9df3d1b7.js
new file mode 100644
index 00000000..1428c9c7
--- /dev/null
+++ b/assets/js/dc8b965f.9df3d1b7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{54881:(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/incubator-answer [...]
\ No newline at end of file
diff --git a/assets/js/e438ab2a.ab6f1e1e.js b/assets/js/e438ab2a.ab6f1e1e.js
new file mode 100644
index 00000000..507b0448
--- /dev/null
+++ b/assets/js/e438ab2a.ab6f1e1e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9617],{4978:(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:"/do [...]
\ No newline at end of file
diff --git a/assets/js/e438ab2a.e80fa2d8.js b/assets/js/e438ab2a.e80fa2d8.js
deleted file mode 100644
index ca69b463..00000000
--- a/assets/js/e438ab2a.e80fa2d8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9617],{4978:(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:"/do [...]
\ No newline at end of file
diff --git a/assets/js/e4ae456e.41ccaaf8.js b/assets/js/e4ae456e.41ccaaf8.js
new file mode 100644
index 00000000..80996151
--- /dev/null
+++ b/assets/js/e4ae456e.41ccaaf8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7073],{9602:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var i=t(43010),o=t(90887);const l={slug:"/plugins/plugin-translation"},r="Plugin Translation",s={id:"contributing/plugins/plugin-translation",title:"Plugin Translation",description:"Since answer supports multiple languages, the plugin also needs to support multiple languages.",source:"@site [...]
\ No newline at end of file
diff --git a/assets/js/e4ae456e.c7b875b8.js b/assets/js/e4ae456e.c7b875b8.js
deleted file mode 100644
index de489ef9..00000000
--- a/assets/js/e4ae456e.c7b875b8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7073],{9602:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var i=t(43010),o=t(90887);const l={slug:"/plugins/plugin-translation"},r="Plugin Translation",s={id:"contributing/plugins/plugin-translation",title:"Plugin Translation",description:"Since answer supports multiple languages, the plugin also needs to support multiple languages.",source:"@site [...]
\ No newline at end of file
diff --git a/assets/js/eafd45de.5262c136.js b/assets/js/eafd45de.5262c136.js
new file mode 100644
index 00000000..f7532601
--- /dev/null
+++ b/assets/js/eafd45de.5262c136.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{29222:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var r=e(43010),o=e(90887);const i={slug:"/translation"},a="Translation",s={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.5a962745.js b/assets/js/eafd45de.5a962745.js
deleted file mode 100644
index ff3ca04c..00000000
--- a/assets/js/eafd45de.5a962745.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{29222:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var r=e(43010),o=e(90887);const i={slug:"/translation"},a="Translation",s={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.b451097a.js b/assets/js/f493f8eb.b451097a.js
deleted file mode 100644
index b3295ec9..00000000
--- a/assets/js/f493f8eb.b451097a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3600],{25094:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>f,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var a=t(43010),i=t(90887);const o={slug:"/configfile"},r="Config File",c={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.ebf7094b.js b/assets/js/f493f8eb.ebf7094b.js
new file mode 100644
index 00000000..81912cee
--- /dev/null
+++ b/assets/js/f493f8eb.ebf7094b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3600],{25094:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>f,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var a=t(43010),i=t(90887);const o={slug:"/configfile"},r="Config File",c={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.dbad9855.js b/assets/js/f8a2828b.dbad9855.js
deleted file mode 100644
index 4310dba8..00000000
--- a/assets/js/f8a2828b.dbad9855.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{76606:(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/incubator-answer-website/edit/ [...]
\ No newline at end of file
diff --git a/assets/js/f8a2828b.ee44ad13.js b/assets/js/f8a2828b.ee44ad13.js
new file mode 100644
index 00000000..664888cf
--- /dev/null
+++ b/assets/js/f8a2828b.ee44ad13.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{76606:(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/incubator-answer-website/edit/ [...]
\ No newline at end of file
diff --git a/assets/js/main.8a439e86.js b/assets/js/main.8a439e86.js
new file mode 100644
index 00000000..8bb13359
--- /dev/null
+++ b/assets/js/main.8a439e86.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.8a439e86.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{22643:(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=22643},55679:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r,o,a,i,s=n(85170);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<argu [...]
\ No newline at end of file
diff --git a/assets/js/main.d78c7a30.js.LICENSE.txt b/assets/js/main.8a439e86.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.d78c7a30.js.LICENSE.txt
rename to assets/js/main.8a439e86.js.LICENSE.txt
diff --git a/assets/js/main.d78c7a30.js b/assets/js/main.d78c7a30.js
deleted file mode 100644
index fcec8771..00000000
--- a/assets/js/main.d78c7a30.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.d78c7a30.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{22643:(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=22643},55679:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r,o,a,i,s=n(85170);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<argu [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.5923477a.js b/assets/js/runtime~main.5923477a.js
deleted file mode 100644
index 4c655377..00000000
--- a/assets/js/runtime~main.5923477a.js
+++ /dev/null
@@ -1 +0,0 @@
-(()=>{"use strict";var e,a,d,f,b,c={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return c[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=c,r.c=t,e=[],r.O=(a,d,f,b)=>{if(!d){var c=1/0;for(i=0;i<e.length;i++){d=e[i][0],f=e[i][1],b=e[i][2];for(var t=!0,o=0;o<d.length;o++)(!1&b||c>=b)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,b<c&&(c=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
diff --git a/assets/js/runtime~main.89f418fb.js b/assets/js/runtime~main.89f418fb.js
new file mode 100644
index 00000000..8c3a92ef
--- /dev/null
+++ b/assets/js/runtime~main.89f418fb.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,a,d,f,b,c={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return c[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=c,r.c=t,e=[],r.O=(a,d,f,b)=>{if(!d){var c=1/0;for(i=0;i<e.length;i++){d=e[i][0],f=e[i][1],b=e[i][2];for(var t=!0,o=0;o<d.length;o++)(!1&b||c>=b)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,b<c&&(c=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
diff --git a/blog/2023/05/11/answer-1.0.9-release/index.html b/blog/2023/05/11/answer-1.0.9-release/index.html
index d7562a17..dce237c3 100644
--- a/blog/2023/05/11/answer-1.0.9-release/index.html
+++ b/blog/2023/05/11/answer-1.0.9-release/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it/index.html b/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it/index.html
index 3d936d9e..0b62f24b 100644
--- a/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it/index.html
+++ b/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/05/16/how-to-use-answer-for-effective-knowledge-retention/index.html b/blog/2023/05/16/how-to-use-answer-for-effective-knowledge-retention/index.html
index 66346c53..75be4e3e 100644
--- a/blog/2023/05/16/how-to-use-answer-for-effective-knowledge-retention/index.html
+++ b/blog/2023/05/16/how-to-use-answer-for-effective-knowledge-retention/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/05/23/why-open-source-is-the-essence-of-answer/index.html b/blog/2023/05/23/why-open-source-is-the-essence-of-answer/index.html
index 53298c4f..60553842 100644
--- a/blog/2023/05/23/why-open-source-is-the-essence-of-answer/index.html
+++ b/blog/2023/05/23/why-open-source-is-the-essence-of-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/05/30/everything-you-need-to-know-about-knowledge-base/index.html b/blog/2023/05/30/everything-you-need-to-know-about-knowledge-base/index.html
index c54299d0..a58f5fdd 100644
--- a/blog/2023/05/30/everything-you-need-to-know-about-knowledge-base/index.html
+++ b/blog/2023/05/30/everything-you-need-to-know-about-knowledge-base/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/06/15/answer-1.1.0-release/index.html b/blog/2023/06/15/answer-1.1.0-release/index.html
index 7a1d9ddf..6b153270 100644
--- a/blog/2023/06/15/answer-1.1.0-release/index.html
+++ b/blog/2023/06/15/answer-1.1.0-release/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/06/20/how-to-improve-knowledge-sharing-with-answer/index.html b/blog/2023/06/20/how-to-improve-knowledge-sharing-with-answer/index.html
index 2b5d957c..4308741c 100644
--- a/blog/2023/06/20/how-to-improve-knowledge-sharing-with-answer/index.html
+++ b/blog/2023/06/20/how-to-improve-knowledge-sharing-with-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/06/29/everything-you-need-to-know-about-answer/index.html b/blog/2023/06/29/everything-you-need-to-know-about-answer/index.html
index 3099fc31..e445c682 100644
--- a/blog/2023/06/29/everything-you-need-to-know-about-answer/index.html
+++ b/blog/2023/06/29/everything-you-need-to-know-about-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer/index.html b/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer/index.html
index 762342e3..5bb8becc 100644
--- a/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer/index.html
+++ b/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/07/11/the-what-why-using-tags-for-online-community/index.html b/blog/2023/07/11/the-what-why-using-tags-for-online-community/index.html
index a98a6aa9..912d29d1 100644
--- a/blog/2023/07/11/the-what-why-using-tags-for-online-community/index.html
+++ b/blog/2023/07/11/the-what-why-using-tags-for-online-community/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community/index.html b/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community/index.html
index f6064586..575258cc 100644
--- a/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community/index.html
+++ b/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/07/22/why-the-answer-plugin-system-was-designed-this-way/index.html b/blog/2023/07/22/why-the-answer-plugin-system-was-designed-this-way/index.html
index 1ff60dca..f5969650 100644
--- a/blog/2023/07/22/why-the-answer-plugin-system-was-designed-this-way/index.html
+++ b/blog/2023/07/22/why-the-answer-plugin-system-was-designed-this-way/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/08/09/how-to-manage-content-system-efficiently-with-answer/index.html b/blog/2023/08/09/how-to-manage-content-system-efficiently-with-answer/index.html
index 9a22bb7d..217d2eea 100644
--- a/blog/2023/08/09/how-to-manage-content-system-efficiently-with-answer/index.html
+++ b/blog/2023/08/09/how-to-manage-content-system-efficiently-with-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/09/14/build-your-online-community-like-the-pros-with-answer/index.html b/blog/2023/09/14/build-your-online-community-like-the-pros-with-answer/index.html
index d4b56153..89dc5102 100644
--- a/blog/2023/09/14/build-your-online-community-like-the-pros-with-answer/index.html
+++ b/blog/2023/09/14/build-your-online-community-like-the-pros-with-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/09/27/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html b/blog/2023/09/27/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
index 67545187..2e1a8ff2 100644
--- a/blog/2023/09/27/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
+++ b/blog/2023/09/27/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/10/24/answer-enters-apache-incubator/index.html b/blog/2023/10/24/answer-enters-apache-incubator/index.html
index c2b98d76..86b5d9c3 100644
--- a/blog/2023/10/24/answer-enters-apache-incubator/index.html
+++ b/blog/2023/10/24/answer-enters-apache-incubator/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/10/31/answer-turns-one-and-is-now-apache-answer/index.html b/blog/2023/10/31/answer-turns-one-and-is-now-apache-answer/index.html
index 6aef0039..9d159c7a 100644
--- a/blog/2023/10/31/answer-turns-one-and-is-now-apache-answer/index.html
+++ b/blog/2023/10/31/answer-turns-one-and-is-now-apache-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/12/07/a-new-chapter-begins-answer-first-apache-release-launches/index.html b/blog/2023/12/07/a-new-chapter-begins-answer-first-apache-release-launches/index.html
index 10fa41ab..41de3cac 100644
--- a/blog/2023/12/07/a-new-chapter-begins-answer-first-apache-release-launches/index.html
+++ b/blog/2023/12/07/a-new-chapter-begins-answer-first-apache-release-launches/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2023/12/13/behind-the-scene-how-we-launched-the-first-apache-release/index.html b/blog/2023/12/13/behind-the-scene-how-we-launched-the-first-apache-release/index.html
index 2f3405c8..50e113ce 100644
--- a/blog/2023/12/13/behind-the-scene-how-we-launched-the-first-apache-release/index.html
+++ b/blog/2023/12/13/behind-the-scene-how-we-launched-the-first-apache-release/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2024/01/08/answer-1.2.1-ask-better-find-better/index.html b/blog/2024/01/08/answer-1.2.1-ask-better-find-better/index.html
index 43a516d6..9084fd03 100644
--- a/blog/2024/01/08/answer-1.2.1-ask-better-find-better/index.html
+++ b/blog/2024/01/08/answer-1.2.1-ask-better-find-better/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2024/01/25/first-contribution-come-to-answer/index.html b/blog/2024/01/25/first-contribution-come-to-answer/index.html
index f05fd93a..f29c284c 100644
--- a/blog/2024/01/25/first-contribution-come-to-answer/index.html
+++ b/blog/2024/01/25/first-contribution-come-to-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/2024/01/26/deploy-answer-https/index.html b/blog/2024/01/26/deploy-answer-https/index.html
new file mode 100644
index 00000000..45d4f4f4
--- /dev/null
+++ b/blog/2024/01/26/deploy-answer-https/index.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.0.0">
+<title data-rh="true">How to Access Answer Using HTTPS | 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:url" content="https://answer.apache.org/blog/2024/01/26/deploy-answer-https"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" property="og:locale:alternate" content="zh_CN"><meta data-rh="true" name="docusau [...]
+<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.2252c3e0.css">
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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>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_O1Gl" id="background">Background<!-- --><a href="#background" class="hash-link" aria-label="Direct link to Background" title="Direct link to Background"></a></h2>
+<!-- --><p>When you already have a server, you may want to deploy Answer on it. After deploying Answer, you will realize that you can only access it using HTTP. However, you may want to access it using HTTPS. So how can you do that?</p>
+<!-- --><p>Some questions:</p>
+<!-- --><ul>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1G3/how-to-configure-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1G3/how-to-configure-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1wh/how-to-enable-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1wh/how-to-enable-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https</a></li>
+<!-- --><li>...</li>
+<!-- --></ul>
+<!-- --><p>I found that many people have this question. Deploying Answer is easy, but deploying it with HTTPS is a bit difficult. So I decided to write this article to help you deploy Answer with HTTPS.</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="easy-way">Easy way<!-- --><a href="#easy-way" class="hash-link" aria-label="Direct link to Easy way" title="Direct link to Easy way"></a></h2>
+<!-- --><p>This blog aims to introduce the easiest way to deploy Answer with HTTPS. You can use <!-- --><a href="https://caddyserver.com/" target="_blank" rel="noopener noreferrer">Caddy</a> to deploy Answer with HTTPS. Caddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go. Of course, you can use other tools to deploy Answer with HTTPS, such as Nginx, etc.<!-- --></p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="preparation">Preparation<!-- --><a href="#preparation" class="hash-link" aria-label="Direct link to Preparation" title="Direct link to Preparation"></a></h2>
+<!-- --><ol>
+<!-- --><li>
+<!-- --><p>You can follow the <!-- --><a href="/blog/2024/01/26/docs/installation">installation guide</a> to install Answer. After installing Answer, you can access it using HTTP. The default port for Answer is 9080. You can access it at <!-- --><a href="http://localhost:9080" target="_blank" rel="noopener noreferrer">http://localhost:9080</a>. In the following steps, we will use 9080 as the default port for Answer.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>You need a domain that <!-- --><strong>DNS resolution is already configured to point to your server</strong>.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>In this blog we will use docker-compose to install Caddy. So we need docker and docker-compose. You can follow the <!-- --><a href="https://docs.docker.com/engine/install/" target="_blank" rel="noopener noreferrer">official guide</a> to install docker and docker-compose.<!-- --></p>
+<!-- --></li>
+<!-- --></ol>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="deploy">Deploy<!-- --><a href="#deploy" class="hash-link" aria-label="Direct link to Deploy" title="Direct link to Deploy"></a></h2>
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-1">Step 1<!-- --><a href="#step-1" class="hash-link" aria-label="Direct link to Step 1" title="Direct link to Step 1"></a></h3>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> caddy-docker</span><br></span [...]
+<!-- --><p>You can create a <!-- --><code>docker-compose.yml</code> file in the new directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">docker-compose.yml</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">version</span><span class="token punctuation" [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-2">Step 2<!-- --><a href="#step-2" class="hash-link" aria-label="Direct link to Step 2" title="Direct link to Step 2"></a></h3>
+<!-- --><p>The <!-- --><code>Caddyfile</code> is the configuration file for Caddy. It is used to configure how Caddy should serve your site. This file will be mounted into the container at <!-- --><code>/etc/caddy/Caddyfile</code>.<!-- --></p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">vim</span><span class="token plain"> Caddyfile</span><br></span></co [...]
+<!-- --><p>Create <!-- --><code>Caddyfile</code> file in the same directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-3">Step 3<!-- --><a href="#step-3" class="hash-link" aria-label="Direct link to Step 3" title="Direct link to Step 3"></a></h3>
+<!-- --><p>Run the following command to start Caddy. Wait a few seconds, and then you can access Answer using HTTPS.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> up -d</span><br></sp [...]
+<!-- --><p>If you can't access it, you can check the logs of Caddy.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> logs</span><br></spa [...]
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="advanced">Advanced<!-- --><a href="#advanced" class="hash-link" aria-label="Direct link to Advanced" title="Direct link to Advanced"></a></h2>
+<!-- --><p>If you don't want to use <!-- --><code>network_mode: host</code> in <!-- --><code>docker-compose.yml</code>, you can put Answer and Caddy in the same docker compose. Then Caddy and Answer can use the same network. So you can configure Caddy like this:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><p>Of course, you can also install Caddy using other methods, such as using the binary file, etc. All in all, I wish you can follow this blog to deploy Answer with HTTPS successfully. If you have any questions, please feel free to leave a question on <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Meta</a>. We will try our best to help you.<!-- --></p></div><div class="mt-3"><div class="d-flex align-items-center text-secondary"><span>Share to< [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index d7a2b3aa..ef876f73 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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/atom.xml b/blog/atom.xml
index 6dee3a11..ac909fcd 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -2,11 +2,70 @@
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://answer.apache.org/blog</id>
<title>Apache Answer Blog</title>
- <updated>2024-01-25T00:00:00.000Z</updated>
+ <updated>2024-01-26T00:00:00.000Z</updated>
<generator>https://github.com/jpmonette/feed</generator>
<link rel="alternate" href="https://answer.apache.org/blog"/>
<subtitle>Apache Answer Blog</subtitle>
<icon>https://answer.apache.org/img/favicon.ico</icon>
+ <entry>
+ <title type="html"><![CDATA[How to Access Answer Using HTTPS]]></title>
+ <id>https://answer.apache.org/blog/2024/01/26/deploy-answer-https</id>
+ <link href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https"/>
+ <updated>2024-01-26T00:00:00.000Z</updated>
+ <summary type="html"><![CDATA[Got your Answer server up and running? Now, let's take it to the next level with HTTPS with the tutorials.]]></summary>
+ <content type="html"><![CDATA[<div class="mb-4"><img loading="lazy" src="https://answer.apache.org/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png" class="rounded img_dDce" width="1280px" height="720px"></div><blockquote>
+<!-- --><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_O1Gl" id="background">Background<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#background" class="hash-link" aria-label="Direct link to Background" title="Direct link to Background"></a></h2>
+<!-- --><p>When you already have a server, you may want to deploy Answer on it. After deploying Answer, you will realize that you can only access it using HTTP. However, you may want to access it using HTTPS. So how can you do that?</p>
+<!-- --><p>Some questions:</p>
+<!-- --><ul>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1G3/how-to-configure-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1G3/how-to-configure-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1wh/how-to-enable-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1wh/how-to-enable-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https</a></li>
+<!-- --><li>...</li>
+<!-- --></ul>
+<!-- --><p>I found that many people have this question. Deploying Answer is easy, but deploying it with HTTPS is a bit difficult. So I decided to write this article to help you deploy Answer with HTTPS.</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="easy-way">Easy way<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#easy-way" class="hash-link" aria-label="Direct link to Easy way" title="Direct link to Easy way"></a></h2>
+<!-- --><p>This blog aims to introduce the easiest way to deploy Answer with HTTPS. You can use <!-- --><a href="https://caddyserver.com/" target="_blank" rel="noopener noreferrer">Caddy</a> to deploy Answer with HTTPS. Caddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go. Of course, you can use other tools to deploy Answer with HTTPS, such as Nginx, etc.<!-- --></p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="preparation">Preparation<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#preparation" class="hash-link" aria-label="Direct link to Preparation" title="Direct link to Preparation"></a></h2>
+<!-- --><ol>
+<!-- --><li>
+<!-- --><p>You can follow the <!-- --><a href="https://answer.apache.org/blog/2024/01/26/docs/installation">installation guide</a> to install Answer. After installing Answer, you can access it using HTTP. The default port for Answer is 9080. You can access it at <!-- --><a href="http://localhost:9080/" target="_blank" rel="noopener noreferrer">http://localhost:9080</a>. In the following steps, we will use 9080 as the default port for Answer.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>You need a domain that <!-- --><strong>DNS resolution is already configured to point to your server</strong>.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>In this blog we will use docker-compose to install Caddy. So we need docker and docker-compose. You can follow the <!-- --><a href="https://docs.docker.com/engine/install/" target="_blank" rel="noopener noreferrer">official guide</a> to install docker and docker-compose.<!-- --></p>
+<!-- --></li>
+<!-- --></ol>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="deploy">Deploy<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#deploy" class="hash-link" aria-label="Direct link to Deploy" title="Direct link to Deploy"></a></h2>
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-1">Step 1<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#step-1" class="hash-link" aria-label="Direct link to Step 1" title="Direct link to Step 1"></a></h3>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> caddy-docker</span><br></span [...]
+<!-- --><p>You can create a <!-- --><code>docker-compose.yml</code> file in the new directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">docker-compose.yml</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">version</span><span class="token punctuation" [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-2">Step 2<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#step-2" class="hash-link" aria-label="Direct link to Step 2" title="Direct link to Step 2"></a></h3>
+<!-- --><p>The <!-- --><code>Caddyfile</code> is the configuration file for Caddy. It is used to configure how Caddy should serve your site. This file will be mounted into the container at <!-- --><code>/etc/caddy/Caddyfile</code>.<!-- --></p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">vim</span><span class="token plain"> Caddyfile</span><br></span></co [...]
+<!-- --><p>Create <!-- --><code>Caddyfile</code> file in the same directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-3">Step 3<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#step-3" class="hash-link" aria-label="Direct link to Step 3" title="Direct link to Step 3"></a></h3>
+<!-- --><p>Run the following command to start Caddy. Wait a few seconds, and then you can access Answer using HTTPS.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> up -d</span><br></sp [...]
+<!-- --><p>If you can't access it, you can check the logs of Caddy.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> logs</span><br></spa [...]
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="advanced">Advanced<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#advanced" class="hash-link" aria-label="Direct link to Advanced" title="Direct link to Advanced"></a></h2>
+<!-- --><p>If you don't want to use <!-- --><code>network_mode: host</code> in <!-- --><code>docker-compose.yml</code>, you can put Answer and Caddy in the same docker compose. Then Caddy and Answer can use the same network. So you can configure Caddy like this:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><p>Of course, you can also install Caddy using other methods, such as using the binary file, etc. All in all, I wish you can follow this blog to deploy Answer with HTTPS successfully. If you have any questions, please feel free to leave a question on <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Meta</a>. We will try our best to help you.<!-- --></p>]]></content>
+ <author>
+ <name>LinkinStar</name>
+ <uri>https://github.com/LinkinStars/</uri>
+ </author>
+ </entry>
<entry>
<title type="html"><![CDATA[First Contribution? Come to Answer.]]></title>
<id>https://answer.apache.org/blog/2024/01/25/first-contribution-come-to-answer</id>
@@ -1113,106 +1172,4 @@ Photo by <!-- --><a href="https://unsplash.com/@anniespratt?utm_source=unsplash&
<uri>https://github.com/PrimmaAnna</uri>
</author>
</entry>
- <entry>
- <title type="html"><![CDATA[What is Q&A Platform and How to Use it]]></title>
- <id>https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it</id>
- <link href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it"/>
- <updated>2023-05-12T00:00:00.000Z</updated>
- <summary type="html"><![CDATA[Learn Q&A platform, explore poplular Q&A platforms, and find out how to get the most out of it.]]></summary>
- <content type="html"><![CDATA[<div class="mb-4"><img loading="lazy" src="https://answer.apache.org/assets/images/2023-05-12-cover@4x-2fdc6c379746eaa7f045582e04fc2801.png" class="rounded img_dDce" width="1280px" height="720px"></div><p>We all have question and need answer in this fast-paced world. Whether it's for work or personal purposes, having a reliable source of information can be crucial. That's where Q&A (Question and Answer) platforms come in.</p>
-<!-- --><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_O1Gl" id="what-is-qa-platform">What is Q&A Platform<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#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>
-<!-- --><p>A Q&A platform is a website or application where users can ask and answer questions on various topics with other users or experts.</p>
-<!-- --><p>In the late 1990s, a free online service called <!-- --><a href="https://www.ask.com/" target="_blank" rel="noopener noreferrer">Answer Point</a> provided by <!-- --><a href="https://en.wikipedia.org/wiki/Ask_Jeeves" target="_blank" rel="noopener noreferrer">Ask Jeeves</a>, was launched, allowing users to ask questions and with the help of other people, have them answered. It inspired the creation of later Q&A sites. The last archived version of the Ask Point was from late [...]
-<!-- --><p>It is designed to facilitate the exchange of information and knowledge centered around a specific topic or area of interest, such as programming, technology, health, or education. The community-driven approach to knowledge sharing enables users with expertise in different areas can provide helpful answers to others.</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="types-of-qa-platform">Types of Q&A Platform<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#types-of-qa-platform" class="hash-link" aria-label="Direct link to Types of Q&A Platform" title="Direct link to Types of Q&A Platform"></a></h3>
-<!-- --><p>There are numerous examples of Q&A platform in both open source and SaaS formats.</p>
-<!-- --><p>Open source Q&A platforms opens source code to the public, and users can modify and distribute it. It can be customized to meet specific needs and can be more affordable. Closed source Q&A platforms have proprietary source code and are owned by a particular company or organization. Here are some of the most popular Q&A platforms:</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p><a href="https://www.quora.com/" target="_blank" rel="noopener noreferrer">Quora</a> - Quora is one of the most popular Q&A platforms, with millions of users from around the world. It covers a wide range of topics, from general knowledge questions to more specific ones like technical issues or medical advice.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://stackexchange.com/" target="_blank" rel="noopener noreferrer">Stack Exchange</a> - Stack Exchange is a network of Q&A sites, with each site dedicated to a specific topic. For example, Stack Overflow is dedicated to programming-related questions, while Server Fault is focused on server-related questions.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://www.reddit.com/r/AMA/" target="_blank" rel="noopener noreferrer">Reddit AMA</a> - Reddit AMA (Ask Me Anything) is a popular Q&A format where users can ask questions of people with interesting or unusual experiences. Celebrities, politicians, and experts in various fields often participate in AMAs.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-we-love-qa-platform">Why We Love Q&A Platform<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#why-we-love-qa-platform" class="hash-link" aria-label="Direct link to Why We Love Q&A Platform" title="Direct link to Why We Love Q&A Platform"></a></h2>
-<!-- --><p>Q&A platforms have become increasingly popular over the years . Not only they provide a valuable resource for people who want to learn about a topic or get help with a problem, but also you can always contribute to a question of your expertise, and connect with other like-minded individuals.</p>
-<!-- --><p>Here are some practical use cases of Q&A platforms:</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="individuals">Individuals<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#individuals" class="hash-link" aria-label="Direct link to Individuals" title="Direct link to Individuals"></a></h3>
-<!-- --><ol>
-<!-- --><li>Solve a problem or issue that you're facing</li>
-<!-- --><li>Learn more about a particular topic or subject</li>
-<!-- --><li>Find recommendations for products or services</li>
-<!-- --><li>Connect with other like-minded individuals</li>
-<!-- --></ol>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="businesses-and-organizations">Businesses and Organizations<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#businesses-and-organizations" class="hash-link" aria-label="Direct link to Businesses and Organizations" title="Direct link to Businesses and Organizations"></a></h3>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Customer Support<!-- --><br>
-<!-- -->One of the most popular use cases for Q&A platforms is providing customer support. Many businesses use Q&A platforms to answer customer questions, troubleshoot issues, and provide support on a variety of products and services.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Knowledge Sharing<!-- --><br>
-<!-- -->Q&A platforms are also great for sharing knowledge and expertise. They can be used to ask and answer questions on a variety of topics, from technical questions to academic discussions. This can be especially valuable for individuals seeking information on specific topics or for businesses looking to share their expertise with a wider audience.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Employee Training<!-- --><br>
-<!-- -->Q&A platforms can also be used for employee training and development. They can be used to create a knowledge base for employees, allowing them to ask and answer questions about company policies, procedures, and best practices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Recruitment<!-- --><br>
-<!-- -->Q&A platforms can be a valuable tool for recruitment. They can be used to answer questions about job openings, company culture, and career opportunities, giving potential candidates a better understanding of the organization they may be joining.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Research<!-- --><br>
-<!-- -->Last but not least, Q&A platforms can also be used for research purposes. They can be used to ask and answer questions on a variety of topics, helping individuals and organizations gather information and insights on specific subjects.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="what-makes-a-great-qa-platform">What Makes a Great Q&A Platform<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#what-makes-a-great-qa-platform" class="hash-link" aria-label="Direct link to What Makes a Great Q&A Platform" title="Direct link to What Makes a Great Q&A Platform"></a></h2>
-<!-- --><p>These are some key factors that not only makes a great Q&A platform for both question askers and answers, and find out how we apply them in <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">meta.answer</a>, a community built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="image" src="https://answer.apache.org/assets/images/qaplatform1-a75eec5bef64ce851056e2ca428b630f.png" width="1078" height="684" class="img_dDce"></p>
-<!-- --><ul>
-<!-- --><li><strong>Expertise:</strong> A great Q&A platform should attract a wide range of experts who can provide knowledgeable and helpful answers. The platform should also make it easy for users to identify these experts and trust their responses.<!-- --></li>
-<!-- --><li><strong>Diversity:</strong> A great Q&A platform attracts a diverse group of users who have expertise and knowledge in different areas. This diversity of expertise can provide valuable insights and perspectives, and can help to foster a collaborative and supportive community.<!-- --></li>
-<!-- --><li><strong>Community:</strong> A great Q&A platform has an active and engaged community of users who are willing to share their knowledge and help others. The platform should encourage users to participate by providing incentives such as badges or points, and by creating a welcoming and supportive environment.<!-- --></li>
-<!-- --><li><strong>Easy of Use:</strong> A great Q&A platform should be easy to use and navigate. Users should be able to ask questions and find answers quickly and easily. The platform should also be responsive and work well on different devices.<!-- --></li>
-<!-- --><li><strong>Moderation:</strong> A great Q&A platform has effective moderation to ensure that users are following the rules and guidelines of the community. Moderation can help to prevent spam, trolling, and other negative behaviors that can detract from the quality of the platform.<!-- --></li>
-<!-- --></ul>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="build-a-qa-platform-in-3-steps">Build a Q&A Platform in 3 Steps<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#build-a-qa-platform-in-3-steps" class="hash-link" aria-label="Direct link to Build a Q&A Platform in 3 Steps" title="Direct link to Build a Q&A Platform in 3 Steps"></a></h2>
-<!-- --><p>Follow the guide to build a basic Q&A platform, easy-peasy.</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Choose a Platform<!-- --><br>
-<!-- -->Choose a platform that aligns with your needs and budget. There are open-source Q&A platforms available that offer a good starting point (you know, <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a> is open-source). Alternatively, you can use a hosted platform.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Customize the Design<!-- --><br>
-<!-- -->Once you have chosen a platform, customize the design to match your branding and user interface requirements. Don’t forget to make the design responsive and optimized for different devices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Add Questions and Answers<!-- --><br>
-<!-- -->Create a few test questions and answers to give users an idea of what types of questions are appropriate and how to answer them. Encourage users to ask and answer questions, and here’s <!-- --><a href="https://meta.answer.dev/questions/D1L1/how-to-ask-a-good-question" target="_blank" rel="noopener noreferrer">a quick tip to kick-start a good question</a>. Later on, moderate the content to ensure quality and adherence to community guidelines.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="start-and-manage-qa-platform-with-answer">Start and Manage Q&A Platform with Answer<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#start-and-manage-qa-platform-with-answer" class="hash-link" aria-label="Direct link to Start and Manage Q&A Platform with Answer" title="Direct link to Start and Manage Q&A Platform with Answer"></a></h2>
-<!-- --><p>Answer is knowledge-based community software, offering a smooth set-up for your Q&A platform. Its nature of open source lets you customize a Q&A platform for a big take-off. Take a glimpse at the <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Answer community</a> built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="img" src="https://answer.apache.org/assets/images/qaplatform2-f86caaa34a34371abcf03f1259f73f06.png" width="1600" height="900" class="img_dDce"></p>
-<!-- --><p>No matter what your Q&A platform is about, it’s always great to collect valuable insights and perspectives, and keep up-to-date answers. We’ve also packed up these resources that help you kick-start a joyful Answer journey:</p>
-<!-- --><p>💻 <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>: Keep an eye on what we are up to lately on GitHub.
-📄<!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Documents</a>: Everything you need to build your Answer Community from zero to hero.
-🐞 <!-- --><a href="https://github.com/apache/incubator-answer/issues" target="_blank" rel="noopener noreferrer">Bug Report</a>: Hunt a bug? Simply report it for us to track efficiently.
-🚩<!-- --><a href="https://github.com/apache/incubator-answer/projects" target="_blank" rel="noopener noreferrer">Public Roadmap</a>: Feel free to drop a comment here and be a part of our roadmap!<!-- --></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="conclusion">Conclusion<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion"></a></h2>
-<!-- --><p>We always have a question or an answer sometimes in our lives, so it is natural to have a Q&A platform. With <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a>, you and your team will be able to solve problems, participate in discussions, and contribute fresh ideas to keep your business growing.<!-- --></p>]]></content>
- <author>
- <name>Anne Zhu</name>
- <uri>https://github.com/PrimmaAnna</uri>
- </author>
- <category label="tutorials" term="tutorials"/>
- </entry>
</feed>
\ No newline at end of file
diff --git a/blog/category/best-practice/index.html b/blog/category/best-practice/index.html
index bf8e0575..633ad3b6 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 c7928df4..1dbc3b28 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 13abfbc1..bb98910f 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 a21c45c8..2bd5368c 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 119c07d2..cb132cdf 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 527f7ea4..e34209f8 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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/index.html b/blog/index.html
index 5601ef2d..22a4122b 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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/2/index.html b/blog/page/2/index.html
index 7bde5547..d43f6cec 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -3,258 +3,17 @@
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.0.0">
-<title data-rh="true">Answer Blog | 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:url" content="https://answer.apache.org/blog/page/2"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" property="og:locale:alternate" content="zh_CN"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh [...]
+<title data-rh="true">Blog | 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:url" content="https://answer.apache.org/blog/page/2"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" property="og:locale:alternate" content="zh_CN"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name=" [...]
<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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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>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_O1Gl" 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>
-<!-- --><p>Sounds big, right? In fact, you must use one of them for sure since a knowledge base takes various forms, such as databases, wikis, documents, articles, FAQs (Frequently Asked Questions), manuals, tutorials, or any other structured or unstructured format.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-you-need-it">Why You Need it<!-- --><a href="#why-you-need-it" class="hash-link" aria-label="Direct link to Why You Need it" title="Direct link to Why You Need it"></a></h2>
-<!-- --><p>We expect to retrieve the right information at the moment, and the process must be quick. That’s why we need a knowledge base that contains a wide range of information and easy-to-search, and check the benefits.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="benefits">Benefits<!-- --><a href="#benefits" class="hash-link" aria-label="Direct link to Benefits" title="Direct link to Benefits"></a></h2>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Easy Access to Information
-A knowledge base provides a structured and organized system for storing information, making it easily accessible to users. It allows quick retrieval of relevant data, reducing the time and effort required to search for information.</p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Improved Productivity and Efficiency
-By having a knowledge base in place, employees can find the information they require without relying on others or spending excessive time searching for it. This increases productivity and efficiency in performing tasks by empowering users to find information independently.</p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Knowledge Retention and Sharing
-A knowledge base serves as a repository for capturing and preserving institutional knowledge within an organization. It helps to retain critical information even when employees leave or change roles.</p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Consistency and Accuracy
-With a knowledge base, organizations can ensure consistency and accuracy in the information. It minimizes errors and conflicts, allowing for standardized procedures, guidelines, and documentation, reducing the risk of errors or inconsistencies caused by outdated or conflicting information.</p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Customer Self-service and Support
-Knowledge bases are commonly used in <!-- --><a href="/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer">customer support</a> to provide self-service options. By offering a comprehensive collection of FAQs, troubleshooting guides, and instructional materials, customers can find solutions to their problems without the need to contact support, reducing support costs and improving customer satisfaction.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="build-knowledge-base-with-answer">Build Knowledge Base with Answer<!-- --><a href="#build-knowledge-base-with-answer" class="hash-link" aria-label="Direct link to Build Knowledge Base with Answer" title="Direct link to Build Knowledge Base with Answer"></a></h2>
-<!-- --><p>Make sure you have the right tools for hosting and managing your knowledge base. Answer is the tool you can give it a go, it’s open-source and for free. Here are some delighted features in Answer that help you to build an efficient knowledge base at ease.</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Get Started with the Useful Docs
-We’ve prepared <!-- --><a href="https://answer.apache.org/docs" target="_blank" rel="noopener noreferrer">Docs</a> for you to kick-start your knowledge base smoothly, and if you need help, you can always post a question in our <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Community</a>.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Real-time Preview for Each Post
-Always make sure your knowledge is accurate and shinning before it goes live. In Answer, you can instantly view the layout of the post before hitting the post button.</p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><p><img loading="lazy" alt="Post Real-time Preview in Answer" src="/assets/images/knowledgebase1-5f94d72904128e72e004b8dbdf82baea.png" width="2800" height="1930" class="img_dDce"></p>
-<!-- --><ol start="3">
-<!-- --><li>Use Tags to Categorize the Content
-Add new tags to set up your knowledge management system in Answer right away, no need to add questions beforehand. Users can follow content they are interested by following tags, while admins can always edit tags description.</li>
-<!-- --></ol>
-<!-- --><p><img loading="lazy" alt="Manage Tags in Answer is Easy" src="/assets/images/knowledgebase2-b7265447aed6afac2e34288393df6af4.png" width="2800" height="904" class="img_dDce"></p>
-<!-- --><ol start="4">
-<!-- --><li>
-<!-- --><p>Pin a Post
-Pin an important or frequently asked question for your knowledge base, so that it always stays on the top of your knowledge base.
-<!-- --><img loading="lazy" alt="Pin a Post in Answer" src="/assets/images/knowledgebase3-b10a9df59c50ef5d5c9f979408944d6d.gif" width="786" height="674" class="img_dDce"></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Search and Find What You Need
-Answer provides advanced search, including tag, author, question, etc. so that you can always access to the knowledge you require at present quickly.</p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><p><img loading="lazy" alt="Search Post in Answer" src="/assets/images/knowledgebase4-a5b1c0b70de0c3554da8dd4005f92162.png" width="2800" height="1390" class="img_dDce"></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="dont-take-our-words-for-answer-take-his">Don’t Take Our Words for Answer. Take His<!-- --><a href="#dont-take-our-words-for-answer-take-his" class="hash-link" aria-label="Direct link to Don’t Take Our Words for Answer. Take His" title="Direct link to Don’t Take Our Words for Answer. Take His"></a></h2>
-<!-- --><p>One of our users, <!-- --><a href="https://blog.safewebbox.com/author/david/" target="_blank" rel="noopener noreferrer">David Filed</a> have built a self-hosted knowledge base with Answer. He also shared a <!-- --><a href="https://blog.safewebbox.com/a-self-hosted-knowledgebase-which-feels-much-like-stackoverflow/" target="_blank" rel="noopener noreferrer">blog</a> about why he chose Answer, and a step-by-step tutorial of installing and running Answer.
-<!-- --><img loading="lazy" alt="Screenshot of Davids Knowledgebase" src="/assets/images/knowledgebase5-5892b03e1eeb72af2916ba0a2602c277.png" width="1391" height="374" class="img_dDce">
-Follow his tutorial or our <!-- --><a href="https://answer.apache.org/docs" target="_blank" rel="noopener noreferrer">Docs</a> to build a knowledge base of your own now, and embrace the power of knowledge base today.<!-- --></p></div><footer class="row docusaurus-mt-lg"></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Take a nibble on open source, examples, and why it [...]
-<!-- --><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_O1Gl" 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>
-<!-- --><p><a href="https://opensource.com/article/18/2/coining-term-open-source-software" target="_blank" rel="noopener noreferrer">Open source</a> refers to a type of software or technology that comes with its source code which is accessible to the public for free. This means that anyone can view, modify, and distribute the code, following the guidelines outlined in the open-source license. For example, programmers can add features or fix a bug with the access to the source code.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="code" src="/assets/images/opensource1-33e96ecc672d2bd874dd10b757a81dcd.jpg" width="5760" height="3840" class="img_dDce">
-Photo by <!-- --><a href="https://unsplash.com/@markusspiske?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Markus Spiske</a> on <!-- --><a href="https://unsplash.com/s/photos/open-source-software?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Unsplash</a></p>
-<!-- --><p>It promotes collaboration, transparency, and community-driven development, often maintained by volunteers working together to create reliable and innovative solutions.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="open-source-software">Open-source Software<!-- --><a href="#open-source-software" class="hash-link" aria-label="Direct link to Open-source Software" title="Direct link to Open-source Software"></a></h2>
-<!-- --><p>We might have already met or used open-source software before, and here are them.</p>
-<!-- --><ol>
-<!-- --><li><a href="https://www.linux.org/" target="_blank" rel="noopener noreferrer">Linux</a>: an operating system that powers many servers, smartphones, and other devices.<!-- --></li>
-<!-- --><li><a href="https://www.python.org/" target="_blank" rel="noopener noreferrer">Python</a>: a high-level programming language that is used for web development, data analysis, artificial intelligence, and more.<!-- --></li>
-<!-- --><li><a href="https://www.mozilla.org/en-US/firefox/new/" target="_blank" rel="noopener noreferrer">Firefox</a>: a web browser developed by the Mozilla Foundation.<!-- --></li>
-<!-- --><li><a href="https://www.libreoffice.org/" target="_blank" rel="noopener noreferrer">LibreOffice</a>: an open-source office suite that includes word processing, spreadsheet, and presentation software.<!-- --></li>
-<!-- --><li><a href="https://httpd.apache.org/" target="_blank" rel="noopener noreferrer">Apache HTTP web server</a>: a web server software that powers many websites on the internet<!-- --></li>
-<!-- --><li><a href="https://opencv.org/" target="_blank" rel="noopener noreferrer">OpenCV</a>: a computer vision library used for image and video analysis.<!-- --></li>
-<!-- --><li><a href="https://www.videolan.org/" target="_blank" rel="noopener noreferrer">VLC</a>: a media player that can play a wide range of video and audio formats.<!-- --></li>
-<!-- --><li><a href="https://wordpress.com/" target="_blank" rel="noopener noreferrer">WordPress</a>: a content management system (CMS) for creating websites and blogs.<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="answer-open-source-is-in-essence">Answer: Open-source is in Essence<!-- --><a href="#answer-open-source-is-in-essence" class="hash-link" aria-label="Direct link to Answer: Open-source is in Essence" title="Direct link to Answer: Open-source is in Essence"></a></h2>
-<!-- --><p>Lately, B2B enterprises have been looking for solutions on building their own Q&A community or a corporate community. A dedicated section or subsection cannot meet their needs because they wish to customize content, have control of data, rather than “being a guest” in a public community.</p>
-<!-- --><p><img loading="lazy" alt="Answer Interface" src="/assets/images/opensource2-ba40e7a6f56ef96c831fdef19654070c.png" width="1400" height="930" class="img_dDce"></p>
-<!-- --><p>That’s the moment we decided to build Answer.</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="we-wish-answer-to-be-">We Wish Answer to be …<!-- --><a href="#we-wish-answer-to-be-" class="hash-link" aria-label="Direct link to We Wish Answer to be …" title="Direct link to We Wish Answer to be …"></a></h3>
-<!-- --><p><strong>Easy to use</strong><br>
-<!-- -->We hope everyone can set up and run Answer at ease — well, maybe with a little guidance and documentation from us :)<!-- --></p>
-<!-- --><p><strong>Built for Everyone</strong>
-Currently, running community software or open-source products in the market still requires professional knowledge, such as understanding technical terms. We want Answer to have a bigger stage and to embrace a bigger world. Thus, in the initial design of Answer, we always considered the user as a novice, and how can they get started with Answer smoothly.<!-- --></p>
-<!-- --><p><strong>Open-source</strong>
-You can find all the source code of Answer in <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>, free for everybody. We love the spirit of how open source encourages collaboration and transparency, and we always welcome contributions ;)<!-- --></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="where-can-i-find-more-about-answer">Where Can I Find More about Answer<!-- --><a href="#where-can-i-find-more-about-answer" class="hash-link" aria-label="Direct link to Where Can I Find More about Answer" title="Direct link to Where Can I Find More about Answer"></a></h2>
-<!-- --><p>No matter you are a Q&A lover, self-host expert, or want-to-give-it-try person, you can always get connected with us, share new ideas, or simply for chatting.</p>
-<!-- --><ol>
-<!-- --><li><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Website</a>: Welcome to the home of Answer. We know there are plenty of things that need to be improved. We are working on it, we promise.<!-- --></li>
-<!-- --><li><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>: Enjoy your stay in the garden of Answer.<!-- --></li>
-<!-- --><li><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Meta.Answer</a>: The one and only official community built with Answer, meet new friends here.<!-- --></li>
-<!-- --><li><a href="https://twitter.com/answerdev" target="_blank" rel="noopener noreferrer">Twitter</a>: What we’ve been up to, tutorials, and tips. Follow us to keep updated.<!-- --></li>
-<!-- --><li><a href="https://discord.gg/a6PZZbfnFx" target="_blank" rel="noopener noreferrer">Discord</a>: Want to talk to our dev team in real time? Join our Discord Server!<!-- --></li>
-<!-- --></ol></div><footer class="row docusaurus-mt-lg"></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Dive into knowledge retention, and find out how Answer empowers your internal knowledge base."><link itemprop="image" href="https://answer.apache.org/2023-05-16-cover@4x.png"><header><h2 class="title_wWhR" itemprop="headline"><a itemprop="url" href="/blog/2023/05/16/ho [...]
-<!-- --><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_O1Gl" 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>
-<!-- --><p><a href="https://bokcenter.harvard.edu/how-memory-works" target="_blank" rel="noopener noreferrer">Memory is an ongoing process of information retention over time</a>, so for individuals, knowledge retention is to capture, remember and retrieve critical information. As for business, knowledge retention involves capturing, storing, preserving, and sharing knowledge within an organization.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="what is knowledge retention" src="/assets/images/knowledgeretention1-730e7089d78092b7af1f7e55a648e34b.jpg" width="7360" height="4912" class="img_dDce">
-Photo by <!-- --><a href="https://unsplash.com/@homajob?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Scott Graham</a> on <!-- --><a href="https://unsplash.com/photos/5fNmWej4tAA?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Unsplash</a></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-it-is-important">Why it is Important<!-- --><a href="#why-it-is-important" class="hash-link" aria-label="Direct link to Why it is Important" title="Direct link to Why it is Important"></a></h2>
-<!-- --><p>For individuals, knowledge retention reflects one’s learning ability because you’ve retained the knowledge in your long-term memory. The ability to retrieve information is essential for one’s continued personal growth, career advancement, and professional success, etc.</p>
-<!-- --><p>When it comes to business, knowledge isn’t merely about internal data or information, <!-- --><strong>it’s the experience or expertise of an employee or a team</strong>, such as, best practice, customer data, operation procedure, etc. In this case, knowledge retention refers to:<!-- --></p>
-<!-- --><ol>
-<!-- --><li>Core knowledge stays in the organization</li>
-<!-- --><li>Employee can always access the right knowledge</li>
-<!-- --><li>Retain and transfer for the future</li>
-<!-- --></ol>
-<!-- --><p>Knowledge retention is crucial to helping companies run efficiently and maintain a competitive edge, and it has become a core to maintain sustain growth.</p>
-<!-- --><p><img loading="lazy" alt="knowledge rention is crucial for companies" src="/assets/images/knowledgeretention2-4a57dddbe84fe6fa7fbeb026dec565b4.jpg" width="1920" height="1281" class="img_dDce">
-Photo by <!-- --><a href="https://unsplash.com/@anniespratt?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Annie Spratt</a> on <!-- --><a href="https://unsplash.com/photos/QckxruozjRg?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Unsplash</a></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="effective-knowledge-retention-strategies">Effective Knowledge Retention Strategies<!-- --><a href="#effective-knowledge-retention-strategies" class="hash-link" aria-label="Direct link to Effective Knowledge Retention Strategies" title="Direct link to Effective Knowledge Retention Strategies"></a></h2>
-<!-- --><p>With the significance of knowledge retention in mind, how can companies and teams make effective knowledge retention?</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="build-a-knowledge-sharing-platforms">Build a Knowledge Sharing Platforms<!-- --><a href="#build-a-knowledge-sharing-platforms" class="hash-link" aria-label="Direct link to Build a Knowledge Sharing Platforms" title="Direct link to Build a Knowledge Sharing Platforms"></a></h3>
-<!-- --><p>To make knowledge sharing and access easier within the organization, set up platforms and tools that facilitate the process. This can be achieved through the use of intranets, collaboration software, or knowledge management systems.</p>
-<!-- --><p>Answer is an <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">open-source Q&A platform</a>, which gives companies freedom to build a knowledge-based community in the way they need. No matter it’s for products, customer support, or the team, Answer is capable of making it happen on different devices.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="Interface of Answer" src="/assets/images/knowledgeretention3-107528b324fbeceb79891a1f1f5fd867.png" width="1134" height="717" class="img_dDce"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="identify-and-prioritize-the-knowledge">Identify and Prioritize the Knowledge<!-- --><a href="#identify-and-prioritize-the-knowledge" class="hash-link" aria-label="Direct link to Identify and Prioritize the Knowledge" title="Direct link to Identify and Prioritize the Knowledge"></a></h3>
-<!-- --><p>Obviously, it’s impossible to retain all the information, since there are different roles and departments in a company, and each plays a different role in the business.</p>
-<!-- --><p>Identify the secret weapon for your business, and prioritize the key information, skills, and expertise that are most critical to the success of your business.</p>
-<!-- --><p>Tags help users identify the knowledge they require at the moment. In <!-- --><a href="https://meta.answer.dev/questions/D1V8/how-to-create-some-tags-without-add-question" target="_blank" rel="noopener noreferrer">Answer</a>, admins can create a new tag without adding a question. This is helpful to preparing the foundation of a knowledge base.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="Create New Tag in Answer" src="/assets/images/knowledgeretention4-c4e589620c83cb3f2d6cc1b422c3820c.png" width="1102" height="644" class="img_dDce"></p>
-<!-- --><p>You can also Pin the most important knowledge to make sure everyone can access it in the first place.</p>
-<!-- --><p><img loading="lazy" alt="Pin a Question in Answer" src="/assets/images/knowledgeretention5-b10a9df59c50ef5d5c9f979408944d6d.gif" width="786" height="674" class="img_dDce"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="encourage-knowledge-sharing-with-award">Encourage Knowledge Sharing with Award<!-- --><a href="#encourage-knowledge-sharing-with-award" class="hash-link" aria-label="Direct link to Encourage Knowledge Sharing with Award" title="Direct link to Encourage Knowledge Sharing with Award"></a></h3>
-<!-- --><p>Create a pleasant, easy-to-share process for everyone and keep sharing going with awards. Encourage employees with expertise to contribute with an internal reward system, which is similar to the achievement system of games. It adds a sense of competition as well as fun, which makes sharing more engaging.</p>
-<!-- --><p>Stay tuned for Answer’s coming reward system, we promise it will make knowledge sharing exciting.</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="keep-knowledge-staying-alive">Keep Knowledge Staying Alive<!-- --><a href="#keep-knowledge-staying-alive" class="hash-link" aria-label="Direct link to Keep Knowledge Staying Alive" title="Direct link to Keep Knowledge Staying Alive"></a></h3>
-<!-- --><p>The core knowledge is ready, and the award system for enthusiasms with expertise is on board, now what? Keep the documents always up-to-date.</p>
-<!-- --><p>Knowledge sharing is not a one-time event, it’s a sustainable process. Like a company, it develops into different phrases, and so is the knowledge. Regular reviews and modifications ensure the documents or information is up-to-date, relevant, and effective.</p>
-<!-- --><p>In Answer, you can use Unlist to prevent temporary access to a question. This allows admins or moderators to review, edit, or remove out-dated resources regularly.</p>
-<!-- --><p><img loading="lazy" alt="Unlist a Question in Answer" src="/assets/images/knowledgeretention6-9e2138d07f1e0af6b87a7a014349d08b.gif" width="800" height="510" class="img_dDce"></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="ready-to-grow-your-business-with-answer">Ready to Grow Your Business with Answer?<!-- --><a href="#ready-to-grow-your-business-with-answer" class="hash-link" aria-label="Direct link to Ready to Grow Your Business with Answer?" title="Direct link to Ready to Grow Your Business with Answer?"></a></h2>
-<!-- --><p>After reading the post, you must be aware of the significance of knowledge retention for both individuals and businesses. Let Answer be your company so that you can kick-start building a smooth knowledge sharing process for everyone, and every scenario.</p>
-<!-- --><p>Join <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">our community</a> where you can ask and get assistance easily, follow our social media for the latest updates and up-to-date tips and tricks, even better, become a contributor and ignite knowledge sharing for the world.<!-- --></p></div><footer class="row docusaurus-mt-lg"></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/B [...]
-<!-- --><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_O1Gl" 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>
-<!-- --><p>A Q&A platform is a website or application where users can ask and answer questions on various topics with other users or experts.</p>
-<!-- --><p>In the late 1990s, a free online service called <!-- --><a href="https://www.ask.com/" target="_blank" rel="noopener noreferrer">Answer Point</a> provided by <!-- --><a href="https://en.wikipedia.org/wiki/Ask_Jeeves" target="_blank" rel="noopener noreferrer">Ask Jeeves</a>, was launched, allowing users to ask questions and with the help of other people, have them answered. It inspired the creation of later Q&A sites. The last archived version of the Ask Point was from late [...]
-<!-- --><p>It is designed to facilitate the exchange of information and knowledge centered around a specific topic or area of interest, such as programming, technology, health, or education. The community-driven approach to knowledge sharing enables users with expertise in different areas can provide helpful answers to others.</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="types-of-qa-platform">Types of Q&A Platform<!-- --><a href="#types-of-qa-platform" class="hash-link" aria-label="Direct link to Types of Q&A Platform" title="Direct link to Types of Q&A Platform"></a></h3>
-<!-- --><p>There are numerous examples of Q&A platform in both open source and SaaS formats.</p>
-<!-- --><p>Open source Q&A platforms opens source code to the public, and users can modify and distribute it. It can be customized to meet specific needs and can be more affordable. Closed source Q&A platforms have proprietary source code and are owned by a particular company or organization. Here are some of the most popular Q&A platforms:</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p><a href="https://www.quora.com/" target="_blank" rel="noopener noreferrer">Quora</a> - Quora is one of the most popular Q&A platforms, with millions of users from around the world. It covers a wide range of topics, from general knowledge questions to more specific ones like technical issues or medical advice.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://stackexchange.com/" target="_blank" rel="noopener noreferrer">Stack Exchange</a> - Stack Exchange is a network of Q&A sites, with each site dedicated to a specific topic. For example, Stack Overflow is dedicated to programming-related questions, while Server Fault is focused on server-related questions.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://www.reddit.com/r/AMA/" target="_blank" rel="noopener noreferrer">Reddit AMA</a> - Reddit AMA (Ask Me Anything) is a popular Q&A format where users can ask questions of people with interesting or unusual experiences. Celebrities, politicians, and experts in various fields often participate in AMAs.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-we-love-qa-platform">Why We Love Q&A Platform<!-- --><a href="#why-we-love-qa-platform" class="hash-link" aria-label="Direct link to Why We Love Q&A Platform" title="Direct link to Why We Love Q&A Platform"></a></h2>
-<!-- --><p>Q&A platforms have become increasingly popular over the years . Not only they provide a valuable resource for people who want to learn about a topic or get help with a problem, but also you can always contribute to a question of your expertise, and connect with other like-minded individuals.</p>
-<!-- --><p>Here are some practical use cases of Q&A platforms:</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="individuals">Individuals<!-- --><a href="#individuals" class="hash-link" aria-label="Direct link to Individuals" title="Direct link to Individuals"></a></h3>
-<!-- --><ol>
-<!-- --><li>Solve a problem or issue that you're facing</li>
-<!-- --><li>Learn more about a particular topic or subject</li>
-<!-- --><li>Find recommendations for products or services</li>
-<!-- --><li>Connect with other like-minded individuals</li>
-<!-- --></ol>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="businesses-and-organizations">Businesses and Organizations<!-- --><a href="#businesses-and-organizations" class="hash-link" aria-label="Direct link to Businesses and Organizations" title="Direct link to Businesses and Organizations"></a></h3>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Customer Support<!-- --><br>
-<!-- -->One of the most popular use cases for Q&A platforms is providing customer support. Many businesses use Q&A platforms to answer customer questions, troubleshoot issues, and provide support on a variety of products and services.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Knowledge Sharing<!-- --><br>
-<!-- -->Q&A platforms are also great for sharing knowledge and expertise. They can be used to ask and answer questions on a variety of topics, from technical questions to academic discussions. This can be especially valuable for individuals seeking information on specific topics or for businesses looking to share their expertise with a wider audience.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Employee Training<!-- --><br>
-<!-- -->Q&A platforms can also be used for employee training and development. They can be used to create a knowledge base for employees, allowing them to ask and answer questions about company policies, procedures, and best practices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Recruitment<!-- --><br>
-<!-- -->Q&A platforms can be a valuable tool for recruitment. They can be used to answer questions about job openings, company culture, and career opportunities, giving potential candidates a better understanding of the organization they may be joining.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Research<!-- --><br>
-<!-- -->Last but not least, Q&A platforms can also be used for research purposes. They can be used to ask and answer questions on a variety of topics, helping individuals and organizations gather information and insights on specific subjects.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="what-makes-a-great-qa-platform">What Makes a Great Q&A Platform<!-- --><a href="#what-makes-a-great-qa-platform" class="hash-link" aria-label="Direct link to What Makes a Great Q&A Platform" title="Direct link to What Makes a Great Q&A Platform"></a></h2>
-<!-- --><p>These are some key factors that not only makes a great Q&A platform for both question askers and answers, and find out how we apply them in <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">meta.answer</a>, a community built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="image" src="/assets/images/qaplatform1-a75eec5bef64ce851056e2ca428b630f.png" width="1078" height="684" class="img_dDce"></p>
-<!-- --><ul>
-<!-- --><li><strong>Expertise:</strong> A great Q&A platform should attract a wide range of experts who can provide knowledgeable and helpful answers. The platform should also make it easy for users to identify these experts and trust their responses.<!-- --></li>
-<!-- --><li><strong>Diversity:</strong> A great Q&A platform attracts a diverse group of users who have expertise and knowledge in different areas. This diversity of expertise can provide valuable insights and perspectives, and can help to foster a collaborative and supportive community.<!-- --></li>
-<!-- --><li><strong>Community:</strong> A great Q&A platform has an active and engaged community of users who are willing to share their knowledge and help others. The platform should encourage users to participate by providing incentives such as badges or points, and by creating a welcoming and supportive environment.<!-- --></li>
-<!-- --><li><strong>Easy of Use:</strong> A great Q&A platform should be easy to use and navigate. Users should be able to ask questions and find answers quickly and easily. The platform should also be responsive and work well on different devices.<!-- --></li>
-<!-- --><li><strong>Moderation:</strong> A great Q&A platform has effective moderation to ensure that users are following the rules and guidelines of the community. Moderation can help to prevent spam, trolling, and other negative behaviors that can detract from the quality of the platform.<!-- --></li>
-<!-- --></ul>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="build-a-qa-platform-in-3-steps">Build a Q&A Platform in 3 Steps<!-- --><a href="#build-a-qa-platform-in-3-steps" class="hash-link" aria-label="Direct link to Build a Q&A Platform in 3 Steps" title="Direct link to Build a Q&A Platform in 3 Steps"></a></h2>
-<!-- --><p>Follow the guide to build a basic Q&A platform, easy-peasy.</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Choose a Platform<!-- --><br>
-<!-- -->Choose a platform that aligns with your needs and budget. There are open-source Q&A platforms available that offer a good starting point (you know, <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a> is open-source). Alternatively, you can use a hosted platform.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Customize the Design<!-- --><br>
-<!-- -->Once you have chosen a platform, customize the design to match your branding and user interface requirements. Don’t forget to make the design responsive and optimized for different devices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Add Questions and Answers<!-- --><br>
-<!-- -->Create a few test questions and answers to give users an idea of what types of questions are appropriate and how to answer them. Encourage users to ask and answer questions, and here’s <!-- --><a href="https://meta.answer.dev/questions/D1L1/how-to-ask-a-good-question" target="_blank" rel="noopener noreferrer">a quick tip to kick-start a good question</a>. Later on, moderate the content to ensure quality and adherence to community guidelines.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="start-and-manage-qa-platform-with-answer">Start and Manage Q&A Platform with Answer<!-- --><a href="#start-and-manage-qa-platform-with-answer" class="hash-link" aria-label="Direct link to Start and Manage Q&A Platform with Answer" title="Direct link to Start and Manage Q&A Platform with Answer"></a></h2>
-<!-- --><p>Answer is knowledge-based community software, offering a smooth set-up for your Q&A platform. Its nature of open source lets you customize a Q&A platform for a big take-off. Take a glimpse at the <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Answer community</a> built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="img" src="/assets/images/qaplatform2-f86caaa34a34371abcf03f1259f73f06.png" width="1600" height="900" class="img_dDce"></p>
-<!-- --><p>No matter what your Q&A platform is about, it’s always great to collect valuable insights and perspectives, and keep up-to-date answers. We’ve also packed up these resources that help you kick-start a joyful Answer journey:</p>
-<!-- --><p>💻 <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>: Keep an eye on what we are up to lately on GitHub.
-📄<!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Documents</a>: Everything you need to build your Answer Community from zero to hero.
-🐞 <!-- --><a href="https://github.com/apache/incubator-answer/issues" target="_blank" rel="noopener noreferrer">Bug Report</a>: Hunt a bug? Simply report it for us to track efficiently.
-🚩<!-- --><a href="https://github.com/apache/incubator-answer/projects" target="_blank" rel="noopener noreferrer">Public Roadmap</a>: Feel free to drop a comment here and be a part of our roadmap!<!-- --></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="conclusion">Conclusion<!-- --><a href="#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion"></a></h2>
-<!-- --><p>We always have a question or an answer sometimes in our lives, so it is natural to have a Q&A platform. With <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a>, you and your team will be able to solve problems, participate in discussions, and contribute fresh ideas to keep your business growing.<!-- --></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:<!-- --></b><ul class="tags_tSRq padding--none margin- [...]
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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 loading="lazy" alt="Pin a Question in Answer" src="/assets/images/1.0.9release1-b10a9df59c50ef5d5c9f979408944d6d.gif" width="786" height="674" class="img_dDce"></p>
-<!-- --><p>Unlist a question to make it invisible for temporary modification, or further review. Admin can list question again in Admin>Contents>Questions.
-<!-- --><img loading="lazy" alt="Unlist a Question" src="/assets/images/1.0.9release2-9e2138d07f1e0af6b87a7a014349d08b.gif" width="800" height="510" class="img_dDce"></p>
-<!-- --><p>Pin and Unlist help to tailor a knowledge-based community of your own, while maintain and organize the knowledge system can be easy.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="bug-fixes--optimization">Bug Fixes & Optimization<!-- --><a href="#bug-fixes--optimization" class="hash-link" aria-label="Direct link to Bug Fixes & Optimization" title="Direct link to Bug Fixes & Optimization"></a></h2>
-<!-- --><p>We’ve also made some tweaks to fix the display issues of tags, comments form, and stubborn deleted questions. We’ve also removed context ambiguity with optimized translation.</p>
-<!-- --><p>We strongly recommend you to build and manage a Q&A platform <!-- --><a href="https://github.com/apache/incubator-answer/releases/tag/v1.0.9" target="_blank" rel="noopener noreferrer">Answer v1.0.9</a>. You are always welcome to contribute your ideas (feature requests, or hunt a but) in <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/</a>. So what will you pin first?<!-- --></p></div><footer class="row docusaurus [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/rss.xml b/blog/rss.xml
index 82b9e38e..bcf86f82 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -4,10 +4,65 @@
<title>Apache Answer Blog</title>
<link>https://answer.apache.org/blog</link>
<description>Apache Answer Blog</description>
- <lastBuildDate>Thu, 25 Jan 2024 00:00:00 GMT</lastBuildDate>
+ <lastBuildDate>Fri, 26 Jan 2024 00:00:00 GMT</lastBuildDate>
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
<generator>https://github.com/jpmonette/feed</generator>
<language>en</language>
+ <item>
+ <title><![CDATA[How to Access Answer Using HTTPS]]></title>
+ <link>https://answer.apache.org/blog/2024/01/26/deploy-answer-https</link>
+ <guid>https://answer.apache.org/blog/2024/01/26/deploy-answer-https</guid>
+ <pubDate>Fri, 26 Jan 2024 00:00:00 GMT</pubDate>
+ <description><![CDATA[Got your Answer server up and running? Now, let's take it to the next level with HTTPS with the tutorials.]]></description>
+ <content:encoded><![CDATA[<div class="mb-4"><img loading="lazy" src="https://answer.apache.org/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png" class="rounded img_dDce" width="1280px" height="720px"></div><blockquote>
+<!-- --><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_O1Gl" id="background">Background<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#background" class="hash-link" aria-label="Direct link to Background" title="Direct link to Background"></a></h2>
+<!-- --><p>When you already have a server, you may want to deploy Answer on it. After deploying Answer, you will realize that you can only access it using HTTP. However, you may want to access it using HTTPS. So how can you do that?</p>
+<!-- --><p>Some questions:</p>
+<!-- --><ul>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1G3/how-to-configure-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1G3/how-to-configure-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1wh/how-to-enable-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1wh/how-to-enable-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https</a></li>
+<!-- --><li>...</li>
+<!-- --></ul>
+<!-- --><p>I found that many people have this question. Deploying Answer is easy, but deploying it with HTTPS is a bit difficult. So I decided to write this article to help you deploy Answer with HTTPS.</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="easy-way">Easy way<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#easy-way" class="hash-link" aria-label="Direct link to Easy way" title="Direct link to Easy way"></a></h2>
+<!-- --><p>This blog aims to introduce the easiest way to deploy Answer with HTTPS. You can use <!-- --><a href="https://caddyserver.com/" target="_blank" rel="noopener noreferrer">Caddy</a> to deploy Answer with HTTPS. Caddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go. Of course, you can use other tools to deploy Answer with HTTPS, such as Nginx, etc.<!-- --></p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="preparation">Preparation<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#preparation" class="hash-link" aria-label="Direct link to Preparation" title="Direct link to Preparation"></a></h2>
+<!-- --><ol>
+<!-- --><li>
+<!-- --><p>You can follow the <!-- --><a href="https://answer.apache.org/blog/2024/01/26/docs/installation">installation guide</a> to install Answer. After installing Answer, you can access it using HTTP. The default port for Answer is 9080. You can access it at <!-- --><a href="http://localhost:9080/" target="_blank" rel="noopener noreferrer">http://localhost:9080</a>. In the following steps, we will use 9080 as the default port for Answer.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>You need a domain that <!-- --><strong>DNS resolution is already configured to point to your server</strong>.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>In this blog we will use docker-compose to install Caddy. So we need docker and docker-compose. You can follow the <!-- --><a href="https://docs.docker.com/engine/install/" target="_blank" rel="noopener noreferrer">official guide</a> to install docker and docker-compose.<!-- --></p>
+<!-- --></li>
+<!-- --></ol>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="deploy">Deploy<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#deploy" class="hash-link" aria-label="Direct link to Deploy" title="Direct link to Deploy"></a></h2>
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-1">Step 1<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#step-1" class="hash-link" aria-label="Direct link to Step 1" title="Direct link to Step 1"></a></h3>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> caddy-docker</span><br></span [...]
+<!-- --><p>You can create a <!-- --><code>docker-compose.yml</code> file in the new directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">docker-compose.yml</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">version</span><span class="token punctuation" [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-2">Step 2<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#step-2" class="hash-link" aria-label="Direct link to Step 2" title="Direct link to Step 2"></a></h3>
+<!-- --><p>The <!-- --><code>Caddyfile</code> is the configuration file for Caddy. It is used to configure how Caddy should serve your site. This file will be mounted into the container at <!-- --><code>/etc/caddy/Caddyfile</code>.<!-- --></p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">vim</span><span class="token plain"> Caddyfile</span><br></span></co [...]
+<!-- --><p>Create <!-- --><code>Caddyfile</code> file in the same directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-3">Step 3<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#step-3" class="hash-link" aria-label="Direct link to Step 3" title="Direct link to Step 3"></a></h3>
+<!-- --><p>Run the following command to start Caddy. Wait a few seconds, and then you can access Answer using HTTPS.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> up -d</span><br></sp [...]
+<!-- --><p>If you can't access it, you can check the logs of Caddy.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> logs</span><br></spa [...]
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="advanced">Advanced<!-- --><a href="https://answer.apache.org/blog/2024/01/26/deploy-answer-https#advanced" class="hash-link" aria-label="Direct link to Advanced" title="Direct link to Advanced"></a></h2>
+<!-- --><p>If you don't want to use <!-- --><code>network_mode: host</code> in <!-- --><code>docker-compose.yml</code>, you can put Answer and Caddy in the same docker compose. Then Caddy and Answer can use the same network. So you can configure Caddy like this:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><p>Of course, you can also install Caddy using other methods, such as using the binary file, etc. All in all, I wish you can follow this blog to deploy Answer with HTTPS successfully. If you have any questions, please feel free to leave a question on <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Meta</a>. We will try our best to help you.<!-- --></p>]]></content:encoded>
+ </item>
<item>
<title><![CDATA[First Contribution? Come to Answer.]]></title>
<link>https://answer.apache.org/blog/2024/01/25/first-contribution-come-to-answer</link>
@@ -1038,103 +1093,5 @@ Photo by <!-- --><a href="https://unsplash.com/@anniespratt?utm_source=unsplash&
<!-- --><p>After reading the post, you must be aware of the significance of knowledge retention for both individuals and businesses. Let Answer be your company so that you can kick-start building a smooth knowledge sharing process for everyone, and every scenario.</p>
<!-- --><p>Join <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">our community</a> where you can ask and get assistance easily, follow our social media for the latest updates and up-to-date tips and tricks, even better, become a contributor and ignite knowledge sharing for the world.<!-- --></p>]]></content:encoded>
</item>
- <item>
- <title><![CDATA[What is Q&A Platform and How to Use it]]></title>
- <link>https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it</link>
- <guid>https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it</guid>
- <pubDate>Fri, 12 May 2023 00:00:00 GMT</pubDate>
- <description><![CDATA[Learn Q&A platform, explore poplular Q&A platforms, and find out how to get the most out of it.]]></description>
- <content:encoded><![CDATA[<div class="mb-4"><img loading="lazy" src="https://answer.apache.org/assets/images/2023-05-12-cover@4x-2fdc6c379746eaa7f045582e04fc2801.png" class="rounded img_dDce" width="1280px" height="720px"></div><p>We all have question and need answer in this fast-paced world. Whether it's for work or personal purposes, having a reliable source of information can be crucial. That's where Q&A (Question and Answer) platforms come in.</p>
-<!-- --><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_O1Gl" id="what-is-qa-platform">What is Q&A Platform<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#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>
-<!-- --><p>A Q&A platform is a website or application where users can ask and answer questions on various topics with other users or experts.</p>
-<!-- --><p>In the late 1990s, a free online service called <!-- --><a href="https://www.ask.com/" target="_blank" rel="noopener noreferrer">Answer Point</a> provided by <!-- --><a href="https://en.wikipedia.org/wiki/Ask_Jeeves" target="_blank" rel="noopener noreferrer">Ask Jeeves</a>, was launched, allowing users to ask questions and with the help of other people, have them answered. It inspired the creation of later Q&A sites. The last archived version of the Ask Point was from late [...]
-<!-- --><p>It is designed to facilitate the exchange of information and knowledge centered around a specific topic or area of interest, such as programming, technology, health, or education. The community-driven approach to knowledge sharing enables users with expertise in different areas can provide helpful answers to others.</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="types-of-qa-platform">Types of Q&A Platform<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#types-of-qa-platform" class="hash-link" aria-label="Direct link to Types of Q&A Platform" title="Direct link to Types of Q&A Platform"></a></h3>
-<!-- --><p>There are numerous examples of Q&A platform in both open source and SaaS formats.</p>
-<!-- --><p>Open source Q&A platforms opens source code to the public, and users can modify and distribute it. It can be customized to meet specific needs and can be more affordable. Closed source Q&A platforms have proprietary source code and are owned by a particular company or organization. Here are some of the most popular Q&A platforms:</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p><a href="https://www.quora.com/" target="_blank" rel="noopener noreferrer">Quora</a> - Quora is one of the most popular Q&A platforms, with millions of users from around the world. It covers a wide range of topics, from general knowledge questions to more specific ones like technical issues or medical advice.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://stackexchange.com/" target="_blank" rel="noopener noreferrer">Stack Exchange</a> - Stack Exchange is a network of Q&A sites, with each site dedicated to a specific topic. For example, Stack Overflow is dedicated to programming-related questions, while Server Fault is focused on server-related questions.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://www.reddit.com/r/AMA/" target="_blank" rel="noopener noreferrer">Reddit AMA</a> - Reddit AMA (Ask Me Anything) is a popular Q&A format where users can ask questions of people with interesting or unusual experiences. Celebrities, politicians, and experts in various fields often participate in AMAs.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-we-love-qa-platform">Why We Love Q&A Platform<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#why-we-love-qa-platform" class="hash-link" aria-label="Direct link to Why We Love Q&A Platform" title="Direct link to Why We Love Q&A Platform"></a></h2>
-<!-- --><p>Q&A platforms have become increasingly popular over the years . Not only they provide a valuable resource for people who want to learn about a topic or get help with a problem, but also you can always contribute to a question of your expertise, and connect with other like-minded individuals.</p>
-<!-- --><p>Here are some practical use cases of Q&A platforms:</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="individuals">Individuals<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#individuals" class="hash-link" aria-label="Direct link to Individuals" title="Direct link to Individuals"></a></h3>
-<!-- --><ol>
-<!-- --><li>Solve a problem or issue that you're facing</li>
-<!-- --><li>Learn more about a particular topic or subject</li>
-<!-- --><li>Find recommendations for products or services</li>
-<!-- --><li>Connect with other like-minded individuals</li>
-<!-- --></ol>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="businesses-and-organizations">Businesses and Organizations<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#businesses-and-organizations" class="hash-link" aria-label="Direct link to Businesses and Organizations" title="Direct link to Businesses and Organizations"></a></h3>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Customer Support<!-- --><br>
-<!-- -->One of the most popular use cases for Q&A platforms is providing customer support. Many businesses use Q&A platforms to answer customer questions, troubleshoot issues, and provide support on a variety of products and services.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Knowledge Sharing<!-- --><br>
-<!-- -->Q&A platforms are also great for sharing knowledge and expertise. They can be used to ask and answer questions on a variety of topics, from technical questions to academic discussions. This can be especially valuable for individuals seeking information on specific topics or for businesses looking to share their expertise with a wider audience.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Employee Training<!-- --><br>
-<!-- -->Q&A platforms can also be used for employee training and development. They can be used to create a knowledge base for employees, allowing them to ask and answer questions about company policies, procedures, and best practices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Recruitment<!-- --><br>
-<!-- -->Q&A platforms can be a valuable tool for recruitment. They can be used to answer questions about job openings, company culture, and career opportunities, giving potential candidates a better understanding of the organization they may be joining.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Research<!-- --><br>
-<!-- -->Last but not least, Q&A platforms can also be used for research purposes. They can be used to ask and answer questions on a variety of topics, helping individuals and organizations gather information and insights on specific subjects.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="what-makes-a-great-qa-platform">What Makes a Great Q&A Platform<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#what-makes-a-great-qa-platform" class="hash-link" aria-label="Direct link to What Makes a Great Q&A Platform" title="Direct link to What Makes a Great Q&A Platform"></a></h2>
-<!-- --><p>These are some key factors that not only makes a great Q&A platform for both question askers and answers, and find out how we apply them in <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">meta.answer</a>, a community built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="image" src="https://answer.apache.org/assets/images/qaplatform1-a75eec5bef64ce851056e2ca428b630f.png" width="1078" height="684" class="img_dDce"></p>
-<!-- --><ul>
-<!-- --><li><strong>Expertise:</strong> A great Q&A platform should attract a wide range of experts who can provide knowledgeable and helpful answers. The platform should also make it easy for users to identify these experts and trust their responses.<!-- --></li>
-<!-- --><li><strong>Diversity:</strong> A great Q&A platform attracts a diverse group of users who have expertise and knowledge in different areas. This diversity of expertise can provide valuable insights and perspectives, and can help to foster a collaborative and supportive community.<!-- --></li>
-<!-- --><li><strong>Community:</strong> A great Q&A platform has an active and engaged community of users who are willing to share their knowledge and help others. The platform should encourage users to participate by providing incentives such as badges or points, and by creating a welcoming and supportive environment.<!-- --></li>
-<!-- --><li><strong>Easy of Use:</strong> A great Q&A platform should be easy to use and navigate. Users should be able to ask questions and find answers quickly and easily. The platform should also be responsive and work well on different devices.<!-- --></li>
-<!-- --><li><strong>Moderation:</strong> A great Q&A platform has effective moderation to ensure that users are following the rules and guidelines of the community. Moderation can help to prevent spam, trolling, and other negative behaviors that can detract from the quality of the platform.<!-- --></li>
-<!-- --></ul>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="build-a-qa-platform-in-3-steps">Build a Q&A Platform in 3 Steps<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#build-a-qa-platform-in-3-steps" class="hash-link" aria-label="Direct link to Build a Q&A Platform in 3 Steps" title="Direct link to Build a Q&A Platform in 3 Steps"></a></h2>
-<!-- --><p>Follow the guide to build a basic Q&A platform, easy-peasy.</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Choose a Platform<!-- --><br>
-<!-- -->Choose a platform that aligns with your needs and budget. There are open-source Q&A platforms available that offer a good starting point (you know, <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a> is open-source). Alternatively, you can use a hosted platform.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Customize the Design<!-- --><br>
-<!-- -->Once you have chosen a platform, customize the design to match your branding and user interface requirements. Don’t forget to make the design responsive and optimized for different devices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Add Questions and Answers<!-- --><br>
-<!-- -->Create a few test questions and answers to give users an idea of what types of questions are appropriate and how to answer them. Encourage users to ask and answer questions, and here’s <!-- --><a href="https://meta.answer.dev/questions/D1L1/how-to-ask-a-good-question" target="_blank" rel="noopener noreferrer">a quick tip to kick-start a good question</a>. Later on, moderate the content to ensure quality and adherence to community guidelines.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="start-and-manage-qa-platform-with-answer">Start and Manage Q&A Platform with Answer<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#start-and-manage-qa-platform-with-answer" class="hash-link" aria-label="Direct link to Start and Manage Q&A Platform with Answer" title="Direct link to Start and Manage Q&A Platform with Answer"></a></h2>
-<!-- --><p>Answer is knowledge-based community software, offering a smooth set-up for your Q&A platform. Its nature of open source lets you customize a Q&A platform for a big take-off. Take a glimpse at the <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Answer community</a> built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="img" src="https://answer.apache.org/assets/images/qaplatform2-f86caaa34a34371abcf03f1259f73f06.png" width="1600" height="900" class="img_dDce"></p>
-<!-- --><p>No matter what your Q&A platform is about, it’s always great to collect valuable insights and perspectives, and keep up-to-date answers. We’ve also packed up these resources that help you kick-start a joyful Answer journey:</p>
-<!-- --><p>💻 <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>: Keep an eye on what we are up to lately on GitHub.
-📄<!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Documents</a>: Everything you need to build your Answer Community from zero to hero.
-🐞 <!-- --><a href="https://github.com/apache/incubator-answer/issues" target="_blank" rel="noopener noreferrer">Bug Report</a>: Hunt a bug? Simply report it for us to track efficiently.
-🚩<!-- --><a href="https://github.com/apache/incubator-answer/projects" target="_blank" rel="noopener noreferrer">Public Roadmap</a>: Feel free to drop a comment here and be a part of our roadmap!<!-- --></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="conclusion">Conclusion<!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion"></a></h2>
-<!-- --><p>We always have a question or an answer sometimes in our lives, so it is natural to have a Q&A platform. With <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a>, you and your team will be able to solve problems, participate in discussions, and contribute fresh ideas to keep your business growing.<!-- --></p>]]></content:encoded>
- <category>tutorials</category>
- </item>
</channel>
</rss>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 4b613092..fc7973cf 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/blog/tags/tutorials/index.html b/blog/tags/tutorials/index.html
index e0d88a50..09519f68 100644
--- a/blog/tags/tutorials/index.html
+++ b/blog/tags/tutorials/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/community/about/index.html b/community/about/index.html
index 536bd9af..bcfbd433 100644
--- a/community/about/index.html
+++ b/community/about/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -34,6 +34,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/incubator-answer-website/edit/main/community/about.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 [...]
+<!-- --></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/incubator-answer-website/edit/main/community/about.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/community/blog-post/index.html b/community/blog-post/index.html
index 368ae9ff..a9b45aff 100644
--- a/community/blog-post/index.html
+++ b/community/blog-post/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -96,6 +96,6 @@
<!-- --></li>
<!-- --></ol>
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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 233e8079..9bae4453 100644
--- a/community/contributing/index.html
+++ b/community/contributing/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -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/incubator-answer-website/edit/main/community/contributing/contributing.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page [...]
+<!-- --><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/incubator-answer-website/edit/main/community/contributing/contributing.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/development/index.html b/community/development/index.html
index 78e22492..cae32b5f 100644
--- a/community/development/index.html
+++ b/community/development/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -51,6 +51,6 @@
<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">go run cmd/answer/main.go run -C ./answer-data</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" [...]
<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" 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_j9gX alert alert--info details_aT4p" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_jiAH"><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_j9gX alert alert--info details_aT4p" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_jiAH"><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/community/how-to-release/index.html b/community/how-to-release/index.html
index 3b3584ac..dd5c0956 100644
--- a/community/how-to-release/index.html
+++ b/community/how-to-release/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -74,6 +74,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="note">Note<!-- --><a href="#note" class="hash-link" aria-label="Direct link to Note" title="Direct link to Note"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="rc-tag">RC Tag<!-- --><a href="#rc-tag" class="hash-link" aria-label="Direct link to RC Tag" title="Direct link to RC Tag"></a></h3>
<!-- --><p>When you want to release a new version, you need to create a new RC tag in the git repository firstly. The tag name should be <!-- --><code>v{release-version}-rc{rc-version}</code>. This has the advantage of avoiding tag deletion.<!-- --></p>
-<!-- --><p>For example, if you want to release version <!-- --><code>1.2.0</code>, you need to create a tag named <!-- --><code>v1.2.0-RC1</code>. RC means Release Candidate. After the release vote is passed, you need to create a new tag named <!-- --><code>v1.2.0</code> based on the RC tag. However, if the vote is not passed, you can fix the problems and create a new RC tag such as <!-- --><code>v1.2.0-RC2</code> and start a new vote.<!-- --></p></div><footer class="theme-doc-footer doc [...]
+<!-- --><p>For example, if you want to release version <!-- --><code>1.2.0</code>, you need to create a tag named <!-- --><code>v1.2.0-RC1</code>. RC means Release Candidate. After the release vote is passed, you need to create a new tag named <!-- --><code>v1.2.0</code> based on the RC tag. However, if the vote is not passed, you can fix the problems and create a new RC tag such as <!-- --><code>v1.2.0-RC2</code> and start a new vote.<!-- --></p></div><footer class="theme-doc-footer doc [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index b5e7be6a..4907cf59 100644
--- a/community/index.html
+++ b/community/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -30,6 +30,6 @@
<!-- --><p>If you don't find what you're looking for, please use the form below to submit your request. We'll try and get back to you as soon as possible.</p>
<!-- -->
<!-- -->
-<!-- --><div><div id="reactHubspotForm1" style="display:none"></div><div class="text-center"><div role="status" class="spinner-border text-secondary"><span class="visually-hidden">Loading...<!-- --></span></div></div></div></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/incubator-answer-website/edit/main/community/support.mdx" target="_blank" rel="noopener noreferrer" class="theme- [...]
+<!-- --><div><div id="reactHubspotForm1" style="display:none"></div><div class="text-center"><div role="status" class="spinner-border text-secondary"><span class="visually-hidden">Loading...<!-- --></span></div></div></div></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/incubator-answer-website/edit/main/community/support.mdx" target="_blank" rel="noopener noreferrer" class="theme- [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/issues/index.html b/community/issues/index.html
index 16fc501f..34e88919 100644
--- a/community/issues/index.html
+++ b/community/issues/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -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_O1Gl" 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>feature</code></td><td>Indicates new feature requests</td></tr><tr><td><code>enha [...]
+<!-- --><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>feature</code></td><td>Indicates new feature requests</td></tr><tr><td><code>enha [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/plugins/index.html b/community/plugins/index.html
index ac519f96..88cb68cf 100644
--- a/community/plugins/index.html
+++ b/community/plugins/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -94,6 +94,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 keyword" style="color:#00009f">import</span><span class="token plain"> PluginKit </span><span class="token keyword" style="color:#00009f">fro [...]
<!-- --><ol start="4">
<!-- --><li><strong>Publish plugin</strong>: after the function is developed, copy your entire plug-in folder to <!-- --><a href="https://github.com/apache/incubator-answer-plugins" target="_blank" rel="noopener noreferrer">incubator-answer-plugins</a>, <!-- --><strong>and add <!-- --><code>go.mod</code> <!-- --><code>[plugin_name].go</code> <!-- --><code>go.sum</code> these three files<!-- --></strong>; then initiate a PR and wait for review by relevant personnel; if incubator-answer I [...]
-<!-- --></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/incubator-answer-website/edit/main/community/contributing/plugins.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 [...]
+<!-- --></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/incubator-answer-website/edit/main/community/contributing/plugins.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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/plugins/plugin-config/index.html b/community/plugins/plugin-config/index.html
index bdd9ccaa..759789cd 100644
--- a/community/plugins/plugin-config/index.html
+++ b/community/plugins/plugin-config/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -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/incubator-answer-website/edit/main/community/contributing/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.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/incubator-answer-website/edit/main/community/contributing/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.5 [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/plugins/plugin-translation/index.html b/community/plugins/plugin-translation/index.html
index 8afa7f2d..44ee5ebc 100644
--- a/community/plugins/plugin-translation/index.html
+++ b/community/plugins/plugin-translation/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -45,6 +45,6 @@ The following is an example of how to make your plugin support multiple language
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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/incubator-answer-website/edit/main/community/contributing/plugins/plugin-translation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" hei [...]
+<!-- --><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/incubator-answer-website/edit/main/community/contributing/plugins/plugin-translation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" hei [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/pull-request/index.html b/community/pull-request/index.html
index 5e24baab..176b3d66 100644
--- a/community/pull-request/index.html
+++ b/community/pull-request/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -58,6 +58,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="contributor-license-agreement-cla">Contributor license agreement (CLA)<!-- --><a href="#contributor-license-agreement-cla" class="hash-link" aria-label="Direct link to Contributor license agreement (CLA)" title="Direct link to Contributor license agreement (CLA)"></a></h2>
<!-- --><p>Apache CLA short for Apache Contributor License Agreement, the purpose of this agreement is to clearly define the terms under which intellectual property has been contributed to the ASF and thereby allow us to defend the project should there be a legal dispute regarding the software at some future time. A signed ICLA is required to be on file before an individual is given commit rights to any ASF project.</p>
<!-- --><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></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/incubator-answer-website/edit/main/community/contrib [...]
+<!-- --><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></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/incubator-answer-website/edit/main/community/contrib [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/security/index.html b/community/security/index.html
index 8b0ee535..366c1b55 100644
--- a/community/security/index.html
+++ b/community/security/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -20,6 +20,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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_O1Gl" 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/incubator-answer-website/edit/main/community/security.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" widt [...]
+<!-- --><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/incubator-answer-website/edit/main/community/security.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" widt [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/translation/index.html b/community/translation/index.html
index 4d7b8a2d..2e80d99f 100644
--- a/community/translation/index.html
+++ b/community/translation/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -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/incubator-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 [...]
+<!-- --></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/incubator-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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/contact/index.html b/contact/index.html
index 9a5718a1..91c72513 100644
--- a/contact/index.html
+++ b/contact/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/docs/api/index.html b/docs/api/index.html
index 9940b2f8..83347142 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -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_O1Gl" 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>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 8bc5a477..c558a732 100644
--- a/docs/command-line/index.html
+++ b/docs/command-line/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -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/incubator-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. [...]
+<!-- --></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/incubator-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. [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/configfile/index.html b/docs/configfile/index.html
index e63b2397..7c399539 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_lS9W alert alert--success"><div class="admonitionHeading_Vz3D"><span class="admonitionIcon_dSPU"><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_O1Gl" 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 34af10ae..85cd5a32 100644
--- a/docs/database/index.html
+++ b/docs/database/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -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/env/index.html b/docs/env/index.html
index 2ea33711..c40e7b70 100644
--- a/docs/env/index.html
+++ b/docs/env/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -40,6 +40,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/incubator-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 [...]
+<!-- --></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/incubator-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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/faq/index.html b/docs/faq/index.html
index af6b6b3e..e3479e41 100644
--- a/docs/faq/index.html
+++ b/docs/faq/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -26,6 +26,6 @@
<!-- --></ul>
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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/incubator-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 [...]
+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/incubator-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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/flags/index.html b/docs/flags/index.html
index bdd439d5..25978e5d 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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/incubator-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- [...]
+<!-- --><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/incubator-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- [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 57f87e30..8bbfa833 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -29,6 +29,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="architecture">Architecture<!-- --><a href="#architecture" class="hash-link" aria-label="Direct link to Architecture" title="Direct link to Architecture"></a></h2>
<!-- --><p>Separating the frontend and backend. Answer is a monorepo that contains both the frontend and the backend.</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="screenshot">Screenshot<!-- --><a href="#screenshot" class="hash-link" aria-label="Direct link to Screenshot" title="Direct link to Screenshot"></a></h2>
-<!-- --><p><img loading="lazy" alt="screenshot" src="/assets/images/screenshot-74a5a4658de6431b7c42f3bd3de532f9.png" width="1078" height="684" class="img_dDce"></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/incubator-answer-website/edit/main/docs/introduction.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width=" [...]
+<!-- --><p><img loading="lazy" alt="screenshot" src="/assets/images/screenshot-74a5a4658de6431b7c42f3bd3de532f9.png" width="1078" height="684" class="img_dDce"></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/incubator-answer-website/edit/main/docs/introduction.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/installation/index.html b/docs/installation/index.html
index 105617ca..56ba83e4 100644
--- a/docs/installation/index.html
+++ b/docs/installation/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -38,6 +38,6 @@
<!-- --><p><img loading="lazy" alt="install-site-info" src="/assets/images/install-site-info-dd11f933444917d34aa90ae18166d00b.png" width="2400" height="1818" class="img_dDce"></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" 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 loading="lazy" alt="install-complete" src="/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_dDce"></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/incubator-answer-website/edit/main/docs/getting-started/installation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="curre [...]
+<!-- --><p><img loading="lazy" alt="install-complete" src="/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_dDce"></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/incubator-answer-website/edit/main/docs/getting-started/installation.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="curre [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/moderation/index.html b/docs/moderation/index.html
index 42df387b..b99c4210 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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/incubator-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.9 [...]
+<!-- --><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/incubator-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.9 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/notice/index.html b/docs/notice/index.html
index 2e252281..5e16d277 100644
--- a/docs/notice/index.html
+++ b/docs/notice/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -100,6 +100,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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/incubator-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 [...]
+<!-- --></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/incubator-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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/permission/index.html b/docs/permission/index.html
index 601041f0..c7d3e383 100644
--- a/docs/permission/index.html
+++ b/docs/permission/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -19,6 +19,6 @@
<!-- --><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_O1Gl" 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 2d80f1bd..2aec5927 100644
--- a/docs/plugins/index.html
+++ b/docs/plugins/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -68,6 +68,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="develop-and-contributing">Develop and contributing<!-- --><a href="#develop-and-contributing" class="hash-link" aria-label="Direct link to Develop and contributing" title="Direct link to Develop and contributing"></a></h2>
<!-- --><p>Please refer to <!-- --><a href="/community/plugins">the documentation</a> for details.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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 Golang is a static language, there is no friendly plugin mechanism. So instead of a dynamic approach, we use recompilation for deployment. Please refer to <!-- --><a href="/blog/2023/07/22/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/incubator-answer-website/edit/main/docs/g [...]
+<!-- --><p>Since Golang is a static language, there is no friendly plugin mechanism. So instead of a dynamic approach, we use recompilation for deployment. Please refer to <!-- --><a href="/blog/2023/07/22/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/incubator-answer-website/edit/main/docs/g [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/questions/index.html b/docs/questions/index.html
index 003f35e9..42b383ec 100644
--- a/docs/questions/index.html
+++ b/docs/questions/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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/incubator-answer-website/edit/main/docs/guides/questions.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.9q [...]
+<!-- --><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/incubator-answer-website/edit/main/docs/guides/questions.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.9q [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/reputation/index.html b/docs/reputation/index.html
index 55c7762e..b528cda2 100644
--- a/docs/reputation/index.html
+++ b/docs/reputation/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -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/incubator-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 [...]
+<!-- --></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/incubator-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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/review/index.html b/docs/review/index.html
index 3df60644..f8fc32c3 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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/incubator-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 [...]
+<!-- --><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/incubator-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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/settings/index.html b/docs/settings/index.html
index e84ea1f7..d61d7f84 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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/incubator-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 [...]
+<!-- --><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/incubator-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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/tags/index.html b/docs/tags/index.html
index 09b564cd..a68829fa 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.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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/incubator-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 [...]
+<!-- --><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/incubator-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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/upgrade/index.html b/docs/upgrade/index.html
index 2cc8c898..0239b557 100644
--- a/docs/upgrade/index.html
+++ b/docs/upgrade/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -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_lS9W alert alert--success"><div class="admonitionHeading_Vz3D"><span class="admonitionIcon_dSPU"><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_lS9W alert alert--success"><div class="admonitionHeading_Vz3D"><span class="admonitionIcon_dSPU"><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 fadf39bd..6a73ba04 100644
--- a/docs/users/index.html
+++ b/docs/users/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
@@ -89,6 +89,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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_O1Gl" 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/incubator-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 [...]
+<!-- --><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/incubator-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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/img/blog/2024-01-26-cover@2x.png b/img/blog/2024-01-26-cover@2x.png
new file mode 100644
index 00000000..c83682ca
Binary files /dev/null and b/img/blog/2024-01-26-cover@2x.png differ
diff --git a/img/blog/2024-01-26-cover@4x.png b/img/blog/2024-01-26-cover@4x.png
new file mode 100644
index 00000000..54868f14
Binary files /dev/null and b/img/blog/2024-01-26-cover@4x.png differ
diff --git a/index.html b/index.html
index 80aa7bf7..4c1747a4 100644
--- a/index.html
+++ b/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/plugins/index.html b/plugins/index.html
index 9c389762..69daaad9 100644
--- a/plugins/index.html
+++ b/plugins/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/search/index.html b/search/index.html
index 10c19a2c..d3e5b036 100644
--- a/search/index.html
+++ b/search/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.2252c3e0.css">
-<script src="/assets/js/runtime~main.5923477a.js" defer="defer"></script>
-<script src="/assets/js/main.d78c7a30.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.89f418fb.js" defer="defer"></script>
+<script src="/assets/js/main.8a439e86.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 [...]
diff --git a/sitemap.xml b/sitemap.xml
index 27355d1b..d9aff3e1 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://answer.apache.org/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://answer.apache.org/blog</loc><changefreq>we [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://answer.apache.org/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://answer.apache.org/blog</loc><changefreq>we [...]
\ No newline at end of file
diff --git a/zh-CN/404.html b/zh-CN/404.html
index 557e5561..5f580c4e 100644
--- a/zh-CN/404.html
+++ b/zh-CN/404.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/assets/images/2024-01-26-cover@2x-b293ad01983bae921e80d778c4d82c4a.png b/zh-CN/assets/images/2024-01-26-cover@2x-b293ad01983bae921e80d778c4d82c4a.png
new file mode 100644
index 00000000..c83682ca
Binary files /dev/null and b/zh-CN/assets/images/2024-01-26-cover@2x-b293ad01983bae921e80d778c4d82c4a.png differ
diff --git a/zh-CN/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png b/zh-CN/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png
new file mode 100644
index 00000000..54868f14
Binary files /dev/null and b/zh-CN/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png differ
diff --git a/zh-CN/assets/js/0bbd7524.99f6f8fc.js b/zh-CN/assets/js/0bbd7524.99f6f8fc.js
deleted file mode 100644
index ea375c57..00000000
--- a/zh-CN/assets/js/0bbd7524.99f6f8fc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1068],{20030:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>a,frontMatter:()=>d,metadata:()=>c,toc:()=>h});var s=n(43010),r=n(90887);const d={slug:"/reputation"},i="\u58f0\u671b",c={id:"guides/reputation",title:"\u58f0\u671b",description:"\u58f0\u671b\u7528\u4e8e\u81ea\u52a8\u5316\u793e\u533a\u751f\u6001\u7ba1\u7406\u3002",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/r [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/0bbd7524.b8eb1879.js b/zh-CN/assets/js/0bbd7524.b8eb1879.js
new file mode 100644
index 00000000..27c94635
--- /dev/null
+++ b/zh-CN/assets/js/0bbd7524.b8eb1879.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1068],{20030:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>a,frontMatter:()=>d,metadata:()=>c,toc:()=>h});var s=n(43010),r=n(90887);const d={slug:"/reputation"},i="\u58f0\u671b",c={id:"guides/reputation",title:"\u58f0\u671b",description:"\u58f0\u671b\u7528\u4e8e\u81ea\u52a8\u5316\u793e\u533a\u751f\u6001\u7ba1\u7406\u3002",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/r [...]
\ No newline at end of file
diff --git a/assets/js/0da7f6a0.675e88c1.js b/zh-CN/assets/js/0da7f6a0.1dc23cd5.js
similarity index 72%
rename from assets/js/0da7f6a0.675e88c1.js
rename to zh-CN/assets/js/0da7f6a0.1dc23cd5.js
index 7b3a1514..23fe0398 100644
--- a/assets/js/0da7f6a0.675e88c1.js
+++ b/zh-CN/assets/js/0da7f6a0.1dc23cd5.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2997],{78960:e=>{e.exports=JSON.parse('{"permalink":"/blog/category/tech","page":1,"postsPerPage":16,"totalPages":1,"totalCount":1,"previousPage":"","nextPage":"","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2997],{78960:e=>{e.exports=JSON.parse('{"permalink":"/blog/category/tech","page":1,"postsPerPage":16,"totalPages":1,"totalCount":2,"previousPage":"","nextPage":"","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/1620c6a0.312a8a77.js b/zh-CN/assets/js/1620c6a0.312a8a77.js
deleted file mode 100644
index 072d8510..00000000
--- a/zh-CN/assets/js/1620c6a0.312a8a77.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4945],{20533:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var t=i(43010),r=i(90887);const o={slug:"/plugins"},s="Contribute for Plugins",l={id:"contributing/plugins",title:"Contribute for Plugins",description:"Viewing the official plugin code will make you to quickly understand and learn plugin development.",source:"@site/community/contributing/p [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/1620c6a0.77c3ed2a.js b/zh-CN/assets/js/1620c6a0.77c3ed2a.js
new file mode 100644
index 00000000..825646c3
--- /dev/null
+++ b/zh-CN/assets/js/1620c6a0.77c3ed2a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4945],{20533:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var t=i(43010),r=i(90887);const o={slug:"/plugins"},s="Contribute for Plugins",l={id:"contributing/plugins",title:"Contribute for Plugins",description:"Viewing the official plugin code will make you to quickly understand and learn plugin development.",source:"@site/community/contributing/p [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/1a8837ce.76ad47d4.js b/zh-CN/assets/js/1a8837ce.76ad47d4.js
deleted file mode 100644
index 58f763d8..00000000
--- a/zh-CN/assets/js/1a8837ce.76ad47d4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{1073:(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/communit [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/1a8837ce.79eb88ca.js b/zh-CN/assets/js/1a8837ce.79eb88ca.js
new file mode 100644
index 00000000..4cdb3a96
--- /dev/null
+++ b/zh-CN/assets/js/1a8837ce.79eb88ca.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{1073:(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/communit [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/283536cd.059f3fb9.js b/zh-CN/assets/js/283536cd.059f3fb9.js
deleted file mode 100644
index f430fe0b..00000000
--- a/zh-CN/assets/js/283536cd.059f3fb9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[391],{98349:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var t=s(43010),r=s(90887);const i={slug:"/"},c="\u4ecb\u7ecd",l={id:"introduction",title:"\u4ecb\u7ecd",description:"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\u4eab\u77e [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/283536cd.153b1dcb.js b/zh-CN/assets/js/283536cd.153b1dcb.js
new file mode 100644
index 00000000..74d6f1db
--- /dev/null
+++ b/zh-CN/assets/js/283536cd.153b1dcb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[391],{98349:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var t=s(43010),r=s(90887);const i={slug:"/"},c="\u4ecb\u7ecd",l={id:"introduction",title:"\u4ecb\u7ecd",description:"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\u4eab\u77e [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2a510483.6b333cd1.js b/zh-CN/assets/js/2a510483.6b333cd1.js
deleted file mode 100644
index 8e2495ae..00000000
--- a/zh-CN/assets/js/2a510483.6b333cd1.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see 2a510483.6b333cd1.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{90410:(e,t,n)=>{"use strict";n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>u,default:()=>m,frontMatter:()=>c,metadata:()=>d,toc:()=>p});var r=n(43010),s=n(90887),i=n(82829),o=n.n(i),a=n(36426),l=n(98372);const c={slug:"/"},u="Support",d={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 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2a510483.7e80cf99.js b/zh-CN/assets/js/2a510483.7e80cf99.js
new file mode 100644
index 00000000..ebc2f686
--- /dev/null
+++ b/zh-CN/assets/js/2a510483.7e80cf99.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2a510483.7e80cf99.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{90410:(e,t,n)=>{"use strict";n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>u,default:()=>m,frontMatter:()=>c,metadata:()=>d,toc:()=>p});var r=n(43010),s=n(90887),i=n(82829),o=n.n(i),a=n(36426),l=n(98372);const c={slug:"/"},u="Support",d={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 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2a510483.6b333cd1.js.LICENSE.txt b/zh-CN/assets/js/2a510483.7e80cf99.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/2a510483.6b333cd1.js.LICENSE.txt
rename to zh-CN/assets/js/2a510483.7e80cf99.js.LICENSE.txt
diff --git a/zh-CN/assets/js/2c22be1c.c4ee8e2d.js b/zh-CN/assets/js/2c22be1c.d9bf7068.js
similarity index 63%
rename from zh-CN/assets/js/2c22be1c.c4ee8e2d.js
rename to zh-CN/assets/js/2c22be1c.d9bf7068.js
index 52ed7c6e..47694064 100644
--- a/zh-CN/assets/js/2c22be1c.c4ee8e2d.js
+++ b/zh-CN/assets/js/2c22be1c.d9bf7068.js
@@ -1,2 +1,2 @@
-/*! For license information please see 2c22be1c.c4ee8e2d.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9870],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
+/*! For license information please see 2c22be1c.d9bf7068.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9870],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var d=t(43010);const o={blog:{title:(0,d.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,d.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,d.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,d.jsx [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2c22be1c.c4ee8e2d.js.LICENSE.txt b/zh-CN/assets/js/2c22be1c.d9bf7068.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/2c22be1c.c4ee8e2d.js.LICENSE.txt
rename to zh-CN/assets/js/2c22be1c.d9bf7068.js.LICENSE.txt
diff --git a/zh-CN/assets/js/3728301f.4df898f0.js b/zh-CN/assets/js/3728301f.4df898f0.js
deleted file mode 100644
index bb4287b6..00000000
--- a/zh-CN/assets/js/3728301f.4df898f0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1558],{41036:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":1,"totalCount":16,"previousPage":"","nextPage":"","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/3728301f.7278a84c.js b/zh-CN/assets/js/3728301f.7278a84c.js
new file mode 100644
index 00000000..6aaece07
--- /dev/null
+++ b/zh-CN/assets/js/3728301f.7278a84c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1558],{41036:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":17,"previousPage":"","nextPage":"/blog/page/2","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/3a0bfb32.affb71ef.js b/zh-CN/assets/js/3a0bfb32.affb71ef.js
deleted file mode 100644
index 7b740fdc..00000000
--- a/zh-CN/assets/js/3a0bfb32.affb71ef.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1511],{30825:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>h});var o=n(43010),s=n(90887);const r={title:"First Contribution? Come to Answer.",authors:["Anne"],category:"Community",featured:!0,image:"2024-01-25-cover@4x.png",description:"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!"},a=void 0,i={pe [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3a0bfb32.ebf60478.js b/zh-CN/assets/js/3a0bfb32.ebf60478.js
new file mode 100644
index 00000000..76628065
--- /dev/null
+++ b/zh-CN/assets/js/3a0bfb32.ebf60478.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1511],{30825:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>h});var o=n(43010),s=n(90887);const r={title:"First Contribution? Come to Answer.",authors:["Anne"],category:"Community",featured:!0,image:"2024-01-25-cover@4x.png",description:"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!"},a=void 0,i={pe [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3a3fadac.1df7f6a8.js b/zh-CN/assets/js/3a3fadac.1df7f6a8.js
new file mode 100644
index 00000000..19ec2b92
--- /dev/null
+++ b/zh-CN/assets/js/3a3fadac.1df7f6a8.js
@@ -0,0 +1 @@
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9504],{34246:(e,s,t)=>{"use strict";t.d(s,{Z:()=>n});t(85170);var c=t(45924),a=t(43010);const n=e=>{let{type:s="br",name:t,className:n,size:o,onClick:r,title:i=""}=e;return(0,a.jsx)("i",{className:(0,c.Z)(s,`bi-${t}`,n),style:{...o&&{fontSize:o}},onClick:r,onKeyDown:r,title:i})}},12306:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>q});var c=t(85170),a=t(43810),n=t(96933),o=t(71712),r=t(45924),i=t(2049),d=t(71771),l=t(44129), [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3a3fadac.5f378faa.js b/zh-CN/assets/js/3a3fadac.5f378faa.js
deleted file mode 100644
index ce674399..00000000
--- a/zh-CN/assets/js/3a3fadac.5f378faa.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9504],{34246:(e,s,t)=>{"use strict";t.d(s,{Z:()=>n});t(85170);var a=t(45924),c=t(43010);const n=e=>{let{type:s="br",name:t,className:n,size:o,onClick:r,title:i=""}=e;return(0,c.jsx)("i",{className:(0,a.Z)(s,`bi-${t}`,n),style:{...o&&{fontSize:o}},onClick:r,onKeyDown:r,title:i})}},12306:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>q});var a=t(85170),c=t(43810),n=t(96933),o=t(71712),r=t(45924),i=t(2049),l=t(71771),d=t(44129), [...]
\ No newline at end of file
diff --git a/assets/js/3a86a8c5.6abb3285.js b/zh-CN/assets/js/3a86a8c5.fc2cf162.js
similarity index 83%
rename from assets/js/3a86a8c5.6abb3285.js
rename to zh-CN/assets/js/3a86a8c5.fc2cf162.js
index df31d015..9c104fc6 100644
--- a/assets/js/3a86a8c5.6abb3285.js
+++ b/zh-CN/assets/js/3a86a8c5.fc2cf162.js
@@ -1,2 +1,2 @@
-/*! For license information please see 3a86a8c5.6abb3285.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2355],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
+/*! For license information please see 3a86a8c5.fc2cf162.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2355],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3a86a8c5.6abb3285.js.LICENSE.txt b/zh-CN/assets/js/3a86a8c5.fc2cf162.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/3a86a8c5.6abb3285.js.LICENSE.txt
rename to zh-CN/assets/js/3a86a8c5.fc2cf162.js.LICENSE.txt
diff --git a/zh-CN/assets/js/3b8aa308.3818a186.js b/zh-CN/assets/js/3b8aa308.3818a186.js
new file mode 100644
index 00000000..e4760e11
--- /dev/null
+++ b/zh-CN/assets/js/3b8aa308.3818a186.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9130],{440:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var s=t(43010),o=t(90887);const i={title:"How to Access Answer Using HTTPS",authors:["LinkinStar"],category:"Tech",featured:!0,image:"2024-01-26-cover@4x.png",description:"Got your Answer server up and running? Now, let's take it to the next level with HTTPS with the tutorials."},a=void 0,r= [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/415707e9.bcec5090.js b/zh-CN/assets/js/415707e9.bcec5090.js
deleted file mode 100644
index 3f59d98b..00000000
--- a/zh-CN/assets/js/415707e9.bcec5090.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{41114:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>d,toc:()=>a});var i=s(43010),t=s(90887);const r={slug:"/users"},l="Users",d={id:"guides/users",title:"Users",description:"Top users",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/zh-CN/docs/users",draft:!1,unlisted:!1,editUrl:"https://crowdin.com/project/answer-web [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/415707e9.e84829ae.js b/zh-CN/assets/js/415707e9.e84829ae.js
new file mode 100644
index 00000000..27c060ff
--- /dev/null
+++ b/zh-CN/assets/js/415707e9.e84829ae.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{41114:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>d,toc:()=>a});var i=s(43010),t=s(90887);const r={slug:"/users"},l="Users",d={id:"guides/users",title:"Users",description:"Top users",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/zh-CN/docs/users",draft:!1,unlisted:!1,editUrl:"https://crowdin.com/project/answer-web [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/4958df33.8bb9ee6b.js b/zh-CN/assets/js/4958df33.8bb9ee6b.js
deleted file mode 100644
index b9305fa4..00000000
--- a/zh-CN/assets/js/4958df33.8bb9ee6b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[291],{10473:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>i,contentTitle:()=>c,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var s=n(43010),o=n(90887);const r={slug:"/flags"},c="\u4e3e\u62a5",a={id:"guides/flags",title:"\u4e3e\u62a5",description:"\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u4e3e\u62a5\u6765\u4e3e\u62a5\u975e\u6cd5\u5185\u5bb9\u3002",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/ [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/4958df33.fba37f80.js b/zh-CN/assets/js/4958df33.fba37f80.js
new file mode 100644
index 00000000..3e7b1768
--- /dev/null
+++ b/zh-CN/assets/js/4958df33.fba37f80.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[291],{10473:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>u});var s=n(43010),o=n(90887);const r={slug:"/flags"},c="\u4e3e\u62a5",i={id:"guides/flags",title:"\u4e3e\u62a5",description:"\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u4e3e\u62a5\u6765\u4e3e\u62a5\u975e\u6cd5\u5185\u5bb9\u3002",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/ [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/50bc71d4.06de9844.js b/zh-CN/assets/js/50bc71d4.06de9844.js
deleted file mode 100644
index e2c43d1b..00000000
--- a/zh-CN/assets/js/50bc71d4.06de9844.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6406],{32885:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2024/01/25/first-contribution-come-to-answer","metadata":{"permalink":"/zh-CN/blog/2024/01/25/first-contribution-come-to-answer","editUrl":"https://crowdin.com/project/answer-website/zh-CN","source":"@site/i18n/zh-CN/docusaurus-plugin-content-blog/2024-01-25-first-contribution-come-to-answer/index.md","title":"First Contribution? Come to Answer.","descrip [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/50bc71d4.38342880.js b/zh-CN/assets/js/50bc71d4.38342880.js
new file mode 100644
index 00000000..ef50c486
--- /dev/null
+++ b/zh-CN/assets/js/50bc71d4.38342880.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6406],{32885:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2024/01/26/deploy-answer-https","metadata":{"permalink":"/zh-CN/blog/2024/01/26/deploy-answer-https","editUrl":"https://crowdin.com/project/answer-website/zh-CN","source":"@site/blog/2024-01-26-deploy-answer-https/index.md","title":"How to Access Answer Using HTTPS","description":"Got your Answer server up and running? Now, let\'s take it to the next leve [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/565f0463.6074d78d.js b/zh-CN/assets/js/565f0463.6074d78d.js
deleted file mode 100644
index 1b4e0adb..00000000
--- a/zh-CN/assets/js/565f0463.6074d78d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5360],{8678:(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:"/faq [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/565f0463.86fbe313.js b/zh-CN/assets/js/565f0463.86fbe313.js
new file mode 100644
index 00000000..be0db09a
--- /dev/null
+++ b/zh-CN/assets/js/565f0463.86fbe313.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5360],{8678:(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:"/faq [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/57264e0e.7546a45f.js b/zh-CN/assets/js/57264e0e.7546a45f.js
deleted file mode 100644
index 9a76b785..00000000
--- a/zh-CN/assets/js/57264e0e.7546a45f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1425],{84110:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>h});var o=n(43010),s=n(90887);const r={title:"First Contribution? Come to Answer.",authors:["Anne"],category:"Community",featured:!0,image:"2024-01-25-cover@4x.png",description:"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!"},a=void 0,i={pe [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/57264e0e.c777ae6d.js b/zh-CN/assets/js/57264e0e.c777ae6d.js
new file mode 100644
index 00000000..ae9c6859
--- /dev/null
+++ b/zh-CN/assets/js/57264e0e.c777ae6d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1425],{84110:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>h});var o=n(43010),s=n(90887);const r={title:"First Contribution? Come to Answer.",authors:["Anne"],category:"Community",featured:!0,image:"2024-01-25-cover@4x.png",description:"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!"},a=void 0,i={pe [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5771c448.20618f8b.js b/zh-CN/assets/js/5771c448.20618f8b.js
deleted file mode 100644
index f2d443df..00000000
--- a/zh-CN/assets/js/5771c448.20618f8b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{29771:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var n=i(43010),s=i(90887);const o={slug:"/security"},r="Security",c={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/zh-CN/assets/js/5771c448.99cfab30.js b/zh-CN/assets/js/5771c448.99cfab30.js
new file mode 100644
index 00000000..be7d2466
--- /dev/null
+++ b/zh-CN/assets/js/5771c448.99cfab30.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{29771:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var n=i(43010),s=i(90887);const o={slug:"/security"},r="Security",c={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/zh-CN/assets/js/589616dd.d8bccc6e.js b/zh-CN/assets/js/589616dd.266c5123.js
similarity index 73%
rename from zh-CN/assets/js/589616dd.d8bccc6e.js
rename to zh-CN/assets/js/589616dd.266c5123.js
index 8d668e02..dffc814f 100644
--- a/zh-CN/assets/js/589616dd.d8bccc6e.js
+++ b/zh-CN/assets/js/589616dd.266c5123.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3430],{92048:e=>{e.exports=JSON.parse('{"permalink":"/zh-CN/blog/page/2","page":2,"postsPerPage":16,"totalPages":2,"totalCount":21,"previousPage":"/zh-CN/blog","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3430],{92048:e=>{e.exports=JSON.parse('{"permalink":"/zh-CN/blog/page/2","page":2,"postsPerPage":16,"totalPages":2,"totalCount":22,"previousPage":"/zh-CN/blog","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/5ac42693.4d17d480.js b/zh-CN/assets/js/5ac42693.4d17d480.js
deleted file mode 100644
index 03725e4a..00000000
--- a/zh-CN/assets/js/5ac42693.4d17d480.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{76513:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var a=s(43010),r=s(90887);const n={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/zh-CN/assets/js/5ac42693.a1d3cc95.js b/zh-CN/assets/js/5ac42693.a1d3cc95.js
new file mode 100644
index 00000000..e15ce9ea
--- /dev/null
+++ b/zh-CN/assets/js/5ac42693.a1d3cc95.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{76513:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var a=s(43010),r=s(90887);const n={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/zh-CN/assets/js/5b5253e0.7682f771.js b/zh-CN/assets/js/5b5253e0.7682f771.js
deleted file mode 100644
index 865407db..00000000
--- a/zh-CN/assets/js/5b5253e0.7682f771.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7734],{16144:(t,s,e)=>{e.r(s),e.d(s,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var h=e(43010),n=e(90887);const i={sidebar_label:"\u6240\u4f9d\u8d56\u7684\u5f00\u6e90\u9879\u76ee",slug:"/contributing/notice"},c="\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.c6b73add.js b/zh-CN/assets/js/5b5253e0.c6b73add.js
new file mode 100644
index 00000000..98444d68
--- /dev/null
+++ b/zh-CN/assets/js/5b5253e0.c6b73add.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7734],{16144:(t,s,e)=>{e.r(s),e.d(s,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var h=e(43010),n=e(90887);const i={sidebar_label:"\u6240\u4f9d\u8d56\u7684\u5f00\u6e90\u9879\u76ee",slug:"/contributing/notice"},c="\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/5b5f4945.2a8e5341.js b/zh-CN/assets/js/5b5f4945.2a8e5341.js
deleted file mode 100644
index d9fd7ca6..00000000
--- a/zh-CN/assets/js/5b5f4945.2a8e5341.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{76715:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var s=n(43010),o=n(90887);const r={slug:"/questions"},i="Questions",a={id:"guides/questions",title:"Questions",description:"TODO",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/zh-CN/docs/questions",draft:!1,unlisted:!1,editUrl:"https://crowdin [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5b5f4945.89c1d245.js b/zh-CN/assets/js/5b5f4945.89c1d245.js
new file mode 100644
index 00000000..21b97610
--- /dev/null
+++ b/zh-CN/assets/js/5b5f4945.89c1d245.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{76715:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>c,toc:()=>u});var s=n(43010),o=n(90887);const r={slug:"/questions"},i="Questions",c={id:"guides/questions",title:"Questions",description:"TODO",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/zh-CN/docs/questions",draft:!1,unlisted:!1,editUrl:"https://crowdin [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/692c6f9f.020d3e3f.js b/zh-CN/assets/js/692c6f9f.020d3e3f.js
new file mode 100644
index 00000000..664de7ff
--- /dev/null
+++ b/zh-CN/assets/js/692c6f9f.020d3e3f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3483],{2496:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=t(43010),r=t(90887);const s={slug:"/development"},l="Development",i={id:"contributing/development",title:"Development",description:"Frontend",source:"@site/community/contributing/development.md",sourceDirName:"contributing",slug:"/development",permalink:"/zh-CN/community/development", [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/692c6f9f.ef703cf7.js b/zh-CN/assets/js/692c6f9f.ef703cf7.js
deleted file mode 100644
index 79539b0a..00000000
--- a/zh-CN/assets/js/692c6f9f.ef703cf7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3483],{2496:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=t(43010),r=t(90887);const s={slug:"/development"},l="Development",i={id:"contributing/development",title:"Development",description:"Frontend",source:"@site/community/contributing/development.md",sourceDirName:"contributing",slug:"/development",permalink:"/zh-CN/community/development", [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6b66dba1.5c827910.js b/zh-CN/assets/js/6b66dba1.5c827910.js
deleted file mode 100644
index b9004a9e..00000000
--- a/zh-CN/assets/js/6b66dba1.5c827910.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7250],{57006:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var o=n(43010),r=n(90887);const s={slug:"/moderation"},a=void 0,i={id:"guides/moderation",title:"moderation",description:"",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/moderation.md",sourceDirName:"guides",slug:"/moderation",permalink:"/zh-CN/docs/moderation",dra [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6b66dba1.d48b53e8.js b/zh-CN/assets/js/6b66dba1.d48b53e8.js
new file mode 100644
index 00000000..1d2d7f88
--- /dev/null
+++ b/zh-CN/assets/js/6b66dba1.d48b53e8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7250],{57006:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var o=n(43010),r=n(90887);const s={slug:"/moderation"},a=void 0,i={id:"guides/moderation",title:"moderation",description:"",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/moderation.md",sourceDirName:"guides",slug:"/moderation",permalink:"/zh-CN/docs/moderation",dra [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6f494215.a036519a.js b/zh-CN/assets/js/6f494215.a036519a.js
deleted file mode 100644
index 2eeb2352..00000000
--- a/zh-CN/assets/js/6f494215.a036519a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{79032:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=t(43010),a=t(90887);const i={slug:"/api"},s="API Document",c={id:"development/api",title:"API Document",description:"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 test the [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6f494215.b1e564a5.js b/zh-CN/assets/js/6f494215.b1e564a5.js
new file mode 100644
index 00000000..ffb388d3
--- /dev/null
+++ b/zh-CN/assets/js/6f494215.b1e564a5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{79032:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=t(43010),a=t(90887);const i={slug:"/api"},s="API Document",c={id:"development/api",title:"API Document",description:"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 test the [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6fd9b8bb.3b8e13ac.js b/zh-CN/assets/js/6fd9b8bb.3b8e13ac.js
deleted file mode 100644
index d63c2acd..00000000
--- a/zh-CN/assets/js/6fd9b8bb.3b8e13ac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{73125:(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/docs/development/database.md",sourceDi [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6fd9b8bb.cd00dd8e.js b/zh-CN/assets/js/6fd9b8bb.cd00dd8e.js
new file mode 100644
index 00000000..d0b503b3
--- /dev/null
+++ b/zh-CN/assets/js/6fd9b8bb.cd00dd8e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{73125:(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/docs/development/database.md",sourceDi [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/70fd4878.1d94f012.js b/zh-CN/assets/js/70fd4878.1d94f012.js
deleted file mode 100644
index cf407f43..00000000
--- a/zh-CN/assets/js/70fd4878.1d94f012.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3789],{43184:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>h});var n=o(43010),r=o(90887);const i={slug:"/about"},a="About",c={id:"about",title:"About",description:"As a Q&A platform software, we are committed to creating great product that let more people experience the fun and efficiency of Q&A communities, unleash the collective wisdom. As an open-s [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/70fd4878.2f8160cd.js b/zh-CN/assets/js/70fd4878.2f8160cd.js
new file mode 100644
index 00000000..7593e94a
--- /dev/null
+++ b/zh-CN/assets/js/70fd4878.2f8160cd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3789],{43184:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>h});var n=o(43010),r=o(90887);const i={slug:"/about"},a="About",c={id:"about",title:"About",description:"As a Q&A platform software, we are committed to creating great product that let more people experience the fun and efficiency of Q&A communities, unleash the collective wisdom. As an open-s [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/719ef308.ab63705d.js b/zh-CN/assets/js/719ef308.ab63705d.js
new file mode 100644
index 00000000..f61ddce3
--- /dev/null
+++ b/zh-CN/assets/js/719ef308.ab63705d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6606],{47950:(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(32294),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.f5cbcf9b.js b/zh-CN/assets/js/719ef308.f5cbcf9b.js
deleted file mode 100644
index d1950019..00000000
--- a/zh-CN/assets/js/719ef308.f5cbcf9b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6606],{47950:(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(32294),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/731fb1ee.70cd17a1.js b/zh-CN/assets/js/731fb1ee.70cd17a1.js
deleted file mode 100644
index e881ede4..00000000
--- a/zh-CN/assets/js/731fb1ee.70cd17a1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2542],{92069:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>l,metadata:()=>c,toc:()=>o});var i=s(43010),t=s(90887);const l={slug:"/env"},r="\u73af\u5883\u53d8\u91cf",c={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.9fd2be05.js b/zh-CN/assets/js/731fb1ee.9fd2be05.js
new file mode 100644
index 00000000..1d6bb1d3
--- /dev/null
+++ b/zh-CN/assets/js/731fb1ee.9fd2be05.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2542],{92069:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>l,metadata:()=>c,toc:()=>o});var i=s(43010),t=s(90887);const l={slug:"/env"},r="\u73af\u5883\u53d8\u91cf",c={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/7f220a89.21f4c4dc.js b/zh-CN/assets/js/7f220a89.21f4c4dc.js
new file mode 100644
index 00000000..e6babebb
--- /dev/null
+++ b/zh-CN/assets/js/7f220a89.21f4c4dc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5757],{74346:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var s=t(43010),r=t(90887),a=t(32294),l=t(71401);const i={slug:"/installation"},o="\u5b89\u88c5\u6d41\u7a0b",c={id:"getting-started/installation",title:"\u5b89\u88c5\u6d41\u7a0b",description:"\ud83d\ude80 \u542f\u52a8 Answer",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/g [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/7f220a89.eccf20e2.js b/zh-CN/assets/js/7f220a89.eccf20e2.js
deleted file mode 100644
index 9deb44b0..00000000
--- a/zh-CN/assets/js/7f220a89.eccf20e2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5757],{74346:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var s=t(43010),r=t(90887),a=t(32294),l=t(71401);const i={slug:"/installation"},o="\u5b89\u88c5\u6d41\u7a0b",c={id:"getting-started/installation",title:"\u5b89\u88c5\u6d41\u7a0b",description:"\ud83d\ude80 \u542f\u52a8 Answer",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/g [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/87260873.286c7658.js b/zh-CN/assets/js/87260873.286c7658.js
new file mode 100644
index 00000000..9e989607
--- /dev/null
+++ b/zh-CN/assets/js/87260873.286c7658.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6424],{19893:e=>{e.exports=JSON.parse('[{"label":"Tech","permalink":"/blog/category/tech","count":2},{"label":"Community","permalink":"/blog/category/community","count":7},{"label":"Release","permalink":"/blog/category/release","count":4},{"label":"Best Practice","permalink":"/blog/category/best-practice","count":2},{"label":"Tutorials","permalink":"/blog/category/tutorials","count":5},{"label":"Insights","permalin [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/87260873.7a7bbf82.js b/zh-CN/assets/js/87260873.7a7bbf82.js
deleted file mode 100644
index 7695adf7..00000000
--- a/zh-CN/assets/js/87260873.7a7bbf82.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6424],{19893:e=>{e.exports=JSON.parse('[{"label":"Community","permalink":"/blog/category/community","count":7},{"label":"Release","permalink":"/blog/category/release","count":4},{"label":"Best Practice","permalink":"/blog/category/best-practice","count":2},{"label":"Tutorials","permalink":"/blog/category/tutorials","count":5},{"label":"Tech","permalink":"/blog/category/tech","count":1},{"label":"Insights","permalin [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/872d4ab4.6ad205c0.js b/zh-CN/assets/js/872d4ab4.6ad205c0.js
deleted file mode 100644
index aedd14bf..00000000
--- a/zh-CN/assets/js/872d4ab4.6ad205c0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{9668:(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 Answer project, you can raise your issue for different repos.",source:"@site/community/contributing/issues.md",sourceDirName:"contributing",slug: [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/872d4ab4.c86af8d3.js b/zh-CN/assets/js/872d4ab4.c86af8d3.js
new file mode 100644
index 00000000..868a4574
--- /dev/null
+++ b/zh-CN/assets/js/872d4ab4.c86af8d3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{9668:(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 Answer project, you can raise your issue for different repos.",source:"@site/community/contributing/issues.md",sourceDirName:"contributing",slug: [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/8d998be3.788e1cfc.js b/zh-CN/assets/js/8d998be3.f42e86ff.js
similarity index 73%
rename from zh-CN/assets/js/8d998be3.788e1cfc.js
rename to zh-CN/assets/js/8d998be3.f42e86ff.js
index a3043262..9925dc07 100644
--- a/zh-CN/assets/js/8d998be3.788e1cfc.js
+++ b/zh-CN/assets/js/8d998be3.f42e86ff.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5197],{83755:e=>{e.exports=JSON.parse('{"permalink":"/zh-CN/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":21,"nextPage":"/zh-CN/blog/page/2","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5197],{83755:e=>{e.exports=JSON.parse('{"permalink":"/zh-CN/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":22,"nextPage":"/zh-CN/blog/page/2","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/92f4b28c.63dcfbb1.js b/zh-CN/assets/js/92f4b28c.63dcfbb1.js
new file mode 100644
index 00000000..ab133841
--- /dev/null
+++ b/zh-CN/assets/js/92f4b28c.63dcfbb1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3474],{90093:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var s=t(43010),o=t(90887);const i={title:"How to Access Answer Using HTTPS",authors:["LinkinStar"],category:"Tech",featured:!0,image:"2024-01-26-cover@4x.png",description:"Got your Answer server up and running? Now, let's take it to the next level with HTTPS with the tutorials."},a=void 0, [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/9e348dd4.ce1886af.js b/zh-CN/assets/js/9e348dd4.ce1886af.js
deleted file mode 100644
index e395b250..00000000
--- a/zh-CN/assets/js/9e348dd4.ce1886af.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7945],{75801:e=>{e.exports=JSON.parse('[{"title":"First Contribution? Come to Answer.","authors":["Anne"],"category":"Community","featured":true,"image":"2024-01-25-cover@4x.png","description":"Ready to leave your mark on the open-source world? Come join the welcoming Apache Answer community!","tags":[],"permalink":"/zh-CN/blog/2024/01/25/first-contribution-come-to-answer"},{"title":"Answer 1.2.1: Ask Better. Find [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/9e348dd4.ce66dd20.js b/zh-CN/assets/js/9e348dd4.ce66dd20.js
new file mode 100644
index 00000000..de07d201
--- /dev/null
+++ b/zh-CN/assets/js/9e348dd4.ce66dd20.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7945],{75801:e=>{e.exports=JSON.parse('[{"title":"How to Access Answer Using HTTPS","authors":["LinkinStar"],"category":"Tech","featured":true,"image":"2024-01-26-cover@4x.png","description":"Got your Answer server up and running? Now, let\'s take it to the next level with HTTPS with the tutorials.","tags":[],"permalink":"/zh-CN/blog/2024/01/26/deploy-answer-https"},{"title":"First Contribution? Come to Answer.","a [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a4adfb7f.2fa436fb.js b/zh-CN/assets/js/a4adfb7f.2fa436fb.js
new file mode 100644
index 00000000..daa2fd34
--- /dev/null
+++ b/zh-CN/assets/js/a4adfb7f.2fa436fb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1508],{68266:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>a,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var t=i(43010),o=i(90887);const l={sidebar_label:"Plugin Configuration Schema",slug:"/plugins/plugin-config"},r="Plugin Configuration Schema",s={id:"contributing/plugins/plugin-config",title:"Plugin Configuration Schema",description:"Feature",source:"@site/community/contributing/plugins/pl [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a4adfb7f.4caff65c.js b/zh-CN/assets/js/a4adfb7f.4caff65c.js
deleted file mode 100644
index 68a690d7..00000000
--- a/zh-CN/assets/js/a4adfb7f.4caff65c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1508],{68266:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>a,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var t=i(43010),o=i(90887);const l={sidebar_label:"Plugin Configuration Schema",slug:"/plugins/plugin-config"},r="Plugin Configuration Schema",s={id:"contributing/plugins/plugin-config",title:"Plugin Configuration Schema",description:"Feature",source:"@site/community/contributing/plugins/pl [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a5b0ceb9.1e58c5a7.js b/zh-CN/assets/js/a5b0ceb9.1e58c5a7.js
new file mode 100644
index 00000000..e8786015
--- /dev/null
+++ b/zh-CN/assets/js/a5b0ceb9.1e58c5a7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6431],{26518:(d,s,e)=>{e.r(s),e.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>j,frontMatter:()=>n,metadata:()=>c,toc:()=>h});var t=e(43010),r=e(90887);const n={slug:"/permission"},i="\u6743\u9650",c={id:"guides/permission",title:"\u6743\u9650",description:"\u6743\u9650",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/permission.md",sourceDirName:"guides",slug:"/permission",permalink:"/zh-C [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a5b0ceb9.423a8d67.js b/zh-CN/assets/js/a5b0ceb9.423a8d67.js
deleted file mode 100644
index ec966e52..00000000
--- a/zh-CN/assets/js/a5b0ceb9.423a8d67.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6431],{26518:(d,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>j,frontMatter:()=>n,metadata:()=>c,toc:()=>h});var t=s(43010),r=s(90887);const n={slug:"/permission"},i="\u6743\u9650",c={id:"guides/permission",title:"\u6743\u9650",description:"\u6743\u9650",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/permission.md",sourceDirName:"guides",slug:"/permission",permalink:"/zh-C [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a7021a0a.d60525c8.js b/zh-CN/assets/js/a7021a0a.d60525c8.js
new file mode 100644
index 00000000..060db5ae
--- /dev/null
+++ b/zh-CN/assets/js/a7021a0a.d60525c8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[176],{26408:e=>{e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":16,"totalPages":2,"totalCount":17,"previousPage":"/blog","nextPage":"","blogDescription":"Learn everything about Answer and leverage your Q&A community.","blogTitle":"Answer Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/a72448b0.23032b3f.js b/zh-CN/assets/js/a72448b0.2fd2f76e.js
similarity index 84%
rename from assets/js/a72448b0.23032b3f.js
rename to zh-CN/assets/js/a72448b0.2fd2f76e.js
index 9294367e..66edc799 100644
--- a/assets/js/a72448b0.23032b3f.js
+++ b/zh-CN/assets/js/a72448b0.2fd2f76e.js
@@ -1,2 +1,2 @@
-/*! For license information please see a72448b0.23032b3f.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7636],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
+/*! For license information please see a72448b0.2fd2f76e.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7636],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>l});var a=t(85170),c=t(45924),r=t(36426);const n="header_briT";var o=t(43010);const d={blog:{title:(0,o.jsx)(r.Z,{id:"blogHeader.title",children:"Blog"}),slogan:(0,o.jsx)(r.Z,{id:"blogHeader.slogan",children:"Learn everything about Answer and leverage your Q&A community to the next level."})},contact:{title:(0,o.jsx)(r.Z,{id:"contact.title",children:"Contact us"}),slogan:(0,o.jsx [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a72448b0.23032b3f.js.LICENSE.txt b/zh-CN/assets/js/a72448b0.2fd2f76e.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/a72448b0.23032b3f.js.LICENSE.txt
rename to zh-CN/assets/js/a72448b0.2fd2f76e.js.LICENSE.txt
diff --git a/zh-CN/assets/js/b75fbcf3.d1d02e26.js b/zh-CN/assets/js/b75fbcf3.d1d02e26.js
new file mode 100644
index 00000000..db926336
--- /dev/null
+++ b/zh-CN/assets/js/b75fbcf3.d1d02e26.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6993],{65327:e=>{e.exports=[]}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/bb350c59.4f50689f.js b/zh-CN/assets/js/bb350c59.4f50689f.js
deleted file mode 100644
index dc651139..00000000
--- a/zh-CN/assets/js/bb350c59.4f50689f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4517],{84261:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var t=i(43010),s=i(90887);const r={slug:"/plugins"},a="Using Plugins",l={id:"guides/plugins",title:"Using Plugins",description:"When we need to do some extensions to Answer's functionality, for example, OAuth login, we design a way to use plugins to implement these functions.",source:"@sit [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/bb350c59.7a28ee19.js b/zh-CN/assets/js/bb350c59.7a28ee19.js
new file mode 100644
index 00000000..e428ebaa
--- /dev/null
+++ b/zh-CN/assets/js/bb350c59.7a28ee19.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4517],{84261:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var t=i(43010),s=i(90887);const r={slug:"/plugins"},a="Using Plugins",l={id:"guides/plugins",title:"Using Plugins",description:"When we need to do some extensions to Answer's functionality, for example, OAuth login, we design a way to use plugins to implement these functions.",source:"@sit [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/c8c000df.99833add.js b/zh-CN/assets/js/c8c000df.99833add.js
deleted file mode 100644
index 1b014dae..00000000
--- a/zh-CN/assets/js/c8c000df.99833add.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9185],{49569:(n,e,l)=>{l.r(e),l.d(e,{assets:()=>h,contentTitle:()=>r,default:()=>o,frontMatter:()=>d,metadata:()=>c,toc:()=>t});var i=l(43010),s=l(90887);const d={slug:"/command-line"},r="\u547d\u4ee4\u884c",c={id:"getting-started/command-line",title:"\u547d\u4ee4\u884c",description:"Answer \u4e8c\u8fdb\u5236\u6587\u4ef6\u652f\u6301\u4e00\u4e9b\u547d\u4ee4\u884c\u9009\u9879",source:"@site/i18n/zh-CN/docusaurus-plug [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/c8c000df.d83b099f.js b/zh-CN/assets/js/c8c000df.d83b099f.js
new file mode 100644
index 00000000..1b00ad0d
--- /dev/null
+++ b/zh-CN/assets/js/c8c000df.d83b099f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9185],{49569:(n,e,l)=>{l.r(e),l.d(e,{assets:()=>h,contentTitle:()=>r,default:()=>o,frontMatter:()=>d,metadata:()=>c,toc:()=>t});var i=l(43010),s=l(90887);const d={slug:"/command-line"},r="\u547d\u4ee4\u884c",c={id:"getting-started/command-line",title:"\u547d\u4ee4\u884c",description:"Answer \u4e8c\u8fdb\u5236\u6587\u4ef6\u652f\u6301\u4e00\u4e9b\u547d\u4ee4\u884c\u9009\u9879",source:"@site/i18n/zh-CN/docusaurus-plug [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/ca3ced4f.a7070ec0.js b/zh-CN/assets/js/ca3ced4f.a7070ec0.js
deleted file mode 100644
index bedfdae2..00000000
--- a/zh-CN/assets/js/ca3ced4f.a7070ec0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6161],{2897:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>a,toc:()=>u});var s=n(43010),r=n(90887);const o={slug:"/settings"},i=void 0,a={id:"guides/settings",title:"settings",description:"",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/settings.md",sourceDirName:"guides",slug:"/settings",permalink:"/zh-CN/docs/settings",draft:!1,unliste [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/ca3ced4f.c98d20a0.js b/zh-CN/assets/js/ca3ced4f.c98d20a0.js
new file mode 100644
index 00000000..6739184f
--- /dev/null
+++ b/zh-CN/assets/js/ca3ced4f.c98d20a0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6161],{2897:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>a,toc:()=>u});var s=n(43010),r=n(90887);const o={slug:"/settings"},i=void 0,a={id:"guides/settings",title:"settings",description:"",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/guides/settings.md",sourceDirName:"guides",slug:"/settings",permalink:"/zh-CN/docs/settings",draft:!1,unliste [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/cb37bc33.20d68804.js b/zh-CN/assets/js/cb37bc33.20d68804.js
new file mode 100644
index 00000000..9a051e28
--- /dev/null
+++ b/zh-CN/assets/js/cb37bc33.20d68804.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9835],{85014:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var a=t(43010),i=t(90887);const o={slug:"/configfile"},r="\u914d\u7f6e\u6587\u4ef6",s={id:"getting-started/configfile",title:"\u914d\u7f6e\u6587\u4ef6",description:"\u6211\u4eec\u4f7f\u7528 yaml \u914d\u7f6e\u6587\u4ef6\u3002\u5b83\u5c06\u5728\u6267\u884c answer init \u547d\u4ee4\u540e\u81 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/cb37bc33.a4f8a766.js b/zh-CN/assets/js/cb37bc33.a4f8a766.js
deleted file mode 100644
index fc93ae61..00000000
--- a/zh-CN/assets/js/cb37bc33.a4f8a766.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9835],{85014:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>s,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var a=t(43010),o=t(90887);const i={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\u5c06\u5728\u6267\u884c answer init \u547d\u4ee4\u540e\u81 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/d7ef3cd8.4d72f9c5.js b/zh-CN/assets/js/d7ef3cd8.4d72f9c5.js
deleted file mode 100644
index b248ed34..00000000
--- a/zh-CN/assets/js/d7ef3cd8.4d72f9c5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{66994:(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/zh-CN/assets/js/d7ef3cd8.f5923a08.js b/zh-CN/assets/js/d7ef3cd8.f5923a08.js
new file mode 100644
index 00000000..b877446b
--- /dev/null
+++ b/zh-CN/assets/js/d7ef3cd8.f5923a08.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{66994:(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/zh-CN/assets/js/da6654f2.33079b3c.js b/zh-CN/assets/js/da6654f2.33079b3c.js
deleted file mode 100644
index 49a3302c..00000000
--- a/zh-CN/assets/js/da6654f2.33079b3c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{77277:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,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/zh-CN/assets/js/da6654f2.6b2bf69b.js b/zh-CN/assets/js/da6654f2.6b2bf69b.js
new file mode 100644
index 00000000..c60d88ba
--- /dev/null
+++ b/zh-CN/assets/js/da6654f2.6b2bf69b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{77277:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,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/zh-CN/assets/js/dc8b965f.81f5ed14.js b/zh-CN/assets/js/dc8b965f.81f5ed14.js
deleted file mode 100644
index cc19f6c7..00000000
--- a/zh-CN/assets/js/dc8b965f.81f5ed14.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{54881:(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:"/zh-CN/docs/review",draft:!1,unlisted:!1,editUrl:"https://crowdin.com/project/answer-w [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/dc8b965f.a03cd587.js b/zh-CN/assets/js/dc8b965f.a03cd587.js
new file mode 100644
index 00000000..8d59e0cf
--- /dev/null
+++ b/zh-CN/assets/js/dc8b965f.a03cd587.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{54881:(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:"/zh-CN/docs/review",draft:!1,unlisted:!1,editUrl:"https://crowdin.com/project/answer-w [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/e4ae456e.2f071481.js b/zh-CN/assets/js/e4ae456e.2f071481.js
deleted file mode 100644
index 9e8e7fbd..00000000
--- a/zh-CN/assets/js/e4ae456e.2f071481.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7073],{9602:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var i=t(43010),o=t(90887);const l={slug:"/plugins/plugin-translation"},r="Plugin Translation",s={id:"contributing/plugins/plugin-translation",title:"Plugin Translation",description:"Since answer supports multiple languages, the plugin also needs to support multiple languages.",source:"@site [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/e4ae456e.5008a8ed.js b/zh-CN/assets/js/e4ae456e.5008a8ed.js
new file mode 100644
index 00000000..0ce208d3
--- /dev/null
+++ b/zh-CN/assets/js/e4ae456e.5008a8ed.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7073],{9602:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var i=t(43010),o=t(90887);const l={slug:"/plugins/plugin-translation"},r="Plugin Translation",s={id:"contributing/plugins/plugin-translation",title:"Plugin Translation",description:"Since answer supports multiple languages, the plugin also needs to support multiple languages.",source:"@site [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/eafd45de.a4ff709c.js b/zh-CN/assets/js/eafd45de.a4ff709c.js
new file mode 100644
index 00000000..33fc0f68
--- /dev/null
+++ b/zh-CN/assets/js/eafd45de.a4ff709c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{29222:(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/zh-CN/assets/js/eafd45de.fbae6147.js b/zh-CN/assets/js/eafd45de.fbae6147.js
deleted file mode 100644
index 20c013de..00000000
--- a/zh-CN/assets/js/eafd45de.fbae6147.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{29222:(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/zh-CN/assets/js/f8a2828b.727200b7.js b/zh-CN/assets/js/f8a2828b.727200b7.js
deleted file mode 100644
index ec6cc921..00000000
--- a/zh-CN/assets/js/f8a2828b.727200b7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{76606:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>i,contentTitle:()=>a,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var n=s(43010),r=s(90887);const o={slug:"/tags"},a="Tags",c={id:"guides/tags",title:"Tags",description:"TODO",source:"@site/docs/guides/tags.md",sourceDirName:"guides",slug:"/tags",permalink:"/zh-CN/docs/tags",draft:!1,unlisted:!1,editUrl:"https://crowdin.com/project/answer-website/zh-CN", [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/f8a2828b.edc1d578.js b/zh-CN/assets/js/f8a2828b.edc1d578.js
new file mode 100644
index 00000000..d039533a
--- /dev/null
+++ b/zh-CN/assets/js/f8a2828b.edc1d578.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{76606:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>i,contentTitle:()=>a,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var n=s(43010),r=s(90887);const o={slug:"/tags"},a="Tags",c={id:"guides/tags",title:"Tags",description:"TODO",source:"@site/docs/guides/tags.md",sourceDirName:"guides",slug:"/tags",permalink:"/zh-CN/docs/tags",draft:!1,unlisted:!1,editUrl:"https://crowdin.com/project/answer-website/zh-CN", [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/main.2cb62c0d.js b/zh-CN/assets/js/main.2cb62c0d.js
new file mode 100644
index 00000000..93fef4d8
--- /dev/null
+++ b/zh-CN/assets/js/main.2cb62c0d.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.2cb62c0d.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{22643:(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=22643},55679:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r,o,a,i,s=n(85170);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<argu [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/main.d642980b.js.LICENSE.txt b/zh-CN/assets/js/main.2cb62c0d.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/main.d642980b.js.LICENSE.txt
rename to zh-CN/assets/js/main.2cb62c0d.js.LICENSE.txt
diff --git a/zh-CN/assets/js/main.d642980b.js b/zh-CN/assets/js/main.d642980b.js
deleted file mode 100644
index a3aa2753..00000000
--- a/zh-CN/assets/js/main.d642980b.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.d642980b.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{22643:(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=22643},55679:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r,o,a,i,s=n(85170);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<argu [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/runtime~main.c84225d3.js b/zh-CN/assets/js/runtime~main.c84225d3.js
new file mode 100644
index 00000000..769aacf0
--- /dev/null
+++ b/zh-CN/assets/js/runtime~main.c84225d3.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,a,f,d,b,c={},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 c[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=c,r.c=t,e=[],r.O=(a,f,d,b)=>{if(!f){var c=1/0;for(i=0;i<e.length;i++){f=e[i][0],d=e[i][1],b=e[i][2];for(var t=!0,o=0;o<f.length;o++)(!1&b||c>=b)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,b<c&&(c=b));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}b=b| [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/runtime~main.cdcd9199.js b/zh-CN/assets/js/runtime~main.cdcd9199.js
deleted file mode 100644
index 7f9a6d9d..00000000
--- a/zh-CN/assets/js/runtime~main.cdcd9199.js
+++ /dev/null
@@ -1 +0,0 @@
-(()=>{"use strict";var e,a,f,b,d,c={},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 c[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=c,r.c=t,e=[],r.O=(a,f,b,d)=>{if(!f){var c=1/0;for(i=0;i<e.length;i++){f=e[i][0],b=e[i][1],d=e[i][2];for(var t=!0,o=0;o<f.length;o++)(!1&d||c>=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d<c&&(c=d));if(t){e.splice(i--,1);var n=b();void 0!==n&&(a=n)}}return a}d=d| [...]
\ No newline at end of file
diff --git a/zh-CN/blog/2023/05/11/answer-1.0.9-release/index.html b/zh-CN/blog/2023/05/11/answer-1.0.9-release/index.html
index 96dd7fa0..33d693c2 100644
--- a/zh-CN/blog/2023/05/11/answer-1.0.9-release/index.html
+++ b/zh-CN/blog/2023/05/11/answer-1.0.9-release/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it/index.html b/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it/index.html
index 41b5ebd9..dba3241b 100644
--- a/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it/index.html
+++ b/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/05/16/how-to-use-answer-for-effective-knowledge-retention/index.html b/zh-CN/blog/2023/05/16/how-to-use-answer-for-effective-knowledge-retention/index.html
index 7327c08e..84c0cb68 100644
--- a/zh-CN/blog/2023/05/16/how-to-use-answer-for-effective-knowledge-retention/index.html
+++ b/zh-CN/blog/2023/05/16/how-to-use-answer-for-effective-knowledge-retention/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/05/23/why-open-source-is-the-essence-of-answer/index.html b/zh-CN/blog/2023/05/23/why-open-source-is-the-essence-of-answer/index.html
index cf4e6e78..b8e63a9f 100644
--- a/zh-CN/blog/2023/05/23/why-open-source-is-the-essence-of-answer/index.html
+++ b/zh-CN/blog/2023/05/23/why-open-source-is-the-essence-of-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/05/30/everything-you-need-to-know-about-knowledge-base/index.html b/zh-CN/blog/2023/05/30/everything-you-need-to-know-about-knowledge-base/index.html
index fbca172d..ec9acae9 100644
--- a/zh-CN/blog/2023/05/30/everything-you-need-to-know-about-knowledge-base/index.html
+++ b/zh-CN/blog/2023/05/30/everything-you-need-to-know-about-knowledge-base/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/06/15/answer-1.1.0-release/index.html b/zh-CN/blog/2023/06/15/answer-1.1.0-release/index.html
index 9bc7b7af..3d2eca06 100644
--- a/zh-CN/blog/2023/06/15/answer-1.1.0-release/index.html
+++ b/zh-CN/blog/2023/06/15/answer-1.1.0-release/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/06/20/how-to-improve-knowledge-sharing-with-answer/index.html b/zh-CN/blog/2023/06/20/how-to-improve-knowledge-sharing-with-answer/index.html
index 8f138708..5d9e1c02 100644
--- a/zh-CN/blog/2023/06/20/how-to-improve-knowledge-sharing-with-answer/index.html
+++ b/zh-CN/blog/2023/06/20/how-to-improve-knowledge-sharing-with-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/06/29/everything-you-need-to-know-about-answer/index.html b/zh-CN/blog/2023/06/29/everything-you-need-to-know-about-answer/index.html
index 82b4ed6f..f4c5ea2e 100644
--- a/zh-CN/blog/2023/06/29/everything-you-need-to-know-about-answer/index.html
+++ b/zh-CN/blog/2023/06/29/everything-you-need-to-know-about-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer/index.html b/zh-CN/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer/index.html
index 79fce480..1084c688 100644
--- a/zh-CN/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer/index.html
+++ b/zh-CN/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/07/11/the-what-why-using-tags-for-online-community/index.html b/zh-CN/blog/2023/07/11/the-what-why-using-tags-for-online-community/index.html
index aa9c41f3..2bc39dde 100644
--- a/zh-CN/blog/2023/07/11/the-what-why-using-tags-for-online-community/index.html
+++ b/zh-CN/blog/2023/07/11/the-what-why-using-tags-for-online-community/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community/index.html b/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community/index.html
index 0f0eef74..23054a90 100644
--- a/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community/index.html
+++ b/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/07/22/why-the-answer-plugin-system-was-designed-this-way/index.html b/zh-CN/blog/2023/07/22/why-the-answer-plugin-system-was-designed-this-way/index.html
index b011a94c..9c8b0bb1 100644
--- a/zh-CN/blog/2023/07/22/why-the-answer-plugin-system-was-designed-this-way/index.html
+++ b/zh-CN/blog/2023/07/22/why-the-answer-plugin-system-was-designed-this-way/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/08/09/how-to-manage-content-system-efficiently-with-answer/index.html b/zh-CN/blog/2023/08/09/how-to-manage-content-system-efficiently-with-answer/index.html
index b79ef73f..0b6bc92b 100644
--- a/zh-CN/blog/2023/08/09/how-to-manage-content-system-efficiently-with-answer/index.html
+++ b/zh-CN/blog/2023/08/09/how-to-manage-content-system-efficiently-with-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/09/14/build-your-online-community-like-the-pros-with-answer/index.html b/zh-CN/blog/2023/09/14/build-your-online-community-like-the-pros-with-answer/index.html
index 96dd97b8..51fb0f52 100644
--- a/zh-CN/blog/2023/09/14/build-your-online-community-like-the-pros-with-answer/index.html
+++ b/zh-CN/blog/2023/09/14/build-your-online-community-like-the-pros-with-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/09/27/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html b/zh-CN/blog/2023/09/27/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
index 2e6a580b..35fa3589 100644
--- a/zh-CN/blog/2023/09/27/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
+++ b/zh-CN/blog/2023/09/27/celebrate-answer-first-anniversary-with-hacktoberfest-2023/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/10/24/answer-enters-apache-incubator/index.html b/zh-CN/blog/2023/10/24/answer-enters-apache-incubator/index.html
index 76153c96..370ef967 100644
--- a/zh-CN/blog/2023/10/24/answer-enters-apache-incubator/index.html
+++ b/zh-CN/blog/2023/10/24/answer-enters-apache-incubator/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/10/31/answer-turns-one-and-is-now-apache-answer/index.html b/zh-CN/blog/2023/10/31/answer-turns-one-and-is-now-apache-answer/index.html
index 6ef52a08..6e14d710 100644
--- a/zh-CN/blog/2023/10/31/answer-turns-one-and-is-now-apache-answer/index.html
+++ b/zh-CN/blog/2023/10/31/answer-turns-one-and-is-now-apache-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/12/07/a-new-chapter-begins-answer-first-apache-release-launches/index.html b/zh-CN/blog/2023/12/07/a-new-chapter-begins-answer-first-apache-release-launches/index.html
index d1c7535f..25a54673 100644
--- a/zh-CN/blog/2023/12/07/a-new-chapter-begins-answer-first-apache-release-launches/index.html
+++ b/zh-CN/blog/2023/12/07/a-new-chapter-begins-answer-first-apache-release-launches/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2023/12/13/behind-the-scene-how-we-launched-the-first-apache-release/index.html b/zh-CN/blog/2023/12/13/behind-the-scene-how-we-launched-the-first-apache-release/index.html
index 7005ed33..f3337c0b 100644
--- a/zh-CN/blog/2023/12/13/behind-the-scene-how-we-launched-the-first-apache-release/index.html
+++ b/zh-CN/blog/2023/12/13/behind-the-scene-how-we-launched-the-first-apache-release/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2024/01/08/answer-1.2.1-ask-better-find-better/index.html b/zh-CN/blog/2024/01/08/answer-1.2.1-ask-better-find-better/index.html
index 0ceda95d..717692e8 100644
--- a/zh-CN/blog/2024/01/08/answer-1.2.1-ask-better-find-better/index.html
+++ b/zh-CN/blog/2024/01/08/answer-1.2.1-ask-better-find-better/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2024/01/25/first-contribution-come-to-answer/index.html b/zh-CN/blog/2024/01/25/first-contribution-come-to-answer/index.html
index 88371587..ecce806d 100644
--- a/zh-CN/blog/2024/01/25/first-contribution-come-to-answer/index.html
+++ b/zh-CN/blog/2024/01/25/first-contribution-come-to-answer/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/2024/01/26/deploy-answer-https/index.html b/zh-CN/blog/2024/01/26/deploy-answer-https/index.html
new file mode 100644
index 00000000..25819d1a
--- /dev/null
+++ b/zh-CN/blog/2024/01/26/deploy-answer-https/index.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.0.0">
+<title data-rh="true">How to Access Answer Using HTTPS | 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:url" content="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https"><meta data-rh="true" property="og:locale" content="zh_CN"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" name="d [...]
+<link rel="alternate" type="application/rss+xml" href="/zh-CN/blog/rss.xml" title="Apache Answer RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Answer Atom Feed">
+
+
+
+<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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>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_O1Gl" id="background">Background<!-- --><a href="#background" class="hash-link" aria-label="Background的直接链接" title="Background的直接链接"></a></h2>
+<!-- --><p>When you already have a server, you may want to deploy Answer on it. After deploying Answer, you will realize that you can only access it using HTTP. However, you may want to access it using HTTPS. So how can you do that?</p>
+<!-- --><p>Some questions:</p>
+<!-- --><ul>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1G3/how-to-configure-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1G3/how-to-configure-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1wh/how-to-enable-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1wh/how-to-enable-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https</a></li>
+<!-- --><li>...</li>
+<!-- --></ul>
+<!-- --><p>I found that many people have this question. Deploying Answer is easy, but deploying it with HTTPS is a bit difficult. So I decided to write this article to help you deploy Answer with HTTPS.</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="easy-way">Easy way<!-- --><a href="#easy-way" class="hash-link" aria-label="Easy way的直接链接" title="Easy way的直接链接"></a></h2>
+<!-- --><p>This blog aims to introduce the easiest way to deploy Answer with HTTPS. You can use <!-- --><a href="https://caddyserver.com/" target="_blank" rel="noopener noreferrer">Caddy</a> to deploy Answer with HTTPS. Caddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go. Of course, you can use other tools to deploy Answer with HTTPS, such as Nginx, etc.<!-- --></p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="preparation">Preparation<!-- --><a href="#preparation" class="hash-link" aria-label="Preparation的直接链接" title="Preparation的直接链接"></a></h2>
+<!-- --><ol>
+<!-- --><li>
+<!-- --><p>You can follow the <!-- --><a href="/zh-CN/blog/2024/01/26/docs/installation">installation guide</a> to install Answer. After installing Answer, you can access it using HTTP. The default port for Answer is 9080. You can access it at <!-- --><a href="http://localhost:9080" target="_blank" rel="noopener noreferrer">http://localhost:9080</a>. In the following steps, we will use 9080 as the default port for Answer.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>You need a domain that <!-- --><strong>DNS resolution is already configured to point to your server</strong>.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>In this blog we will use docker-compose to install Caddy. So we need docker and docker-compose. You can follow the <!-- --><a href="https://docs.docker.com/engine/install/" target="_blank" rel="noopener noreferrer">official guide</a> to install docker and docker-compose.<!-- --></p>
+<!-- --></li>
+<!-- --></ol>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="deploy">Deploy<!-- --><a href="#deploy" class="hash-link" aria-label="Deploy的直接链接" title="Deploy的直接链接"></a></h2>
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-1">Step 1<!-- --><a href="#step-1" class="hash-link" aria-label="Step 1的直接链接" title="Step 1的直接链接"></a></h3>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> caddy-docker</span><br></span [...]
+<!-- --><p>You can create a <!-- --><code>docker-compose.yml</code> file in the new directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">docker-compose.yml</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">version</span><span class="token punctuation" [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-2">Step 2<!-- --><a href="#step-2" class="hash-link" aria-label="Step 2的直接链接" title="Step 2的直接链接"></a></h3>
+<!-- --><p>The <!-- --><code>Caddyfile</code> is the configuration file for Caddy. It is used to configure how Caddy should serve your site. This file will be mounted into the container at <!-- --><code>/etc/caddy/Caddyfile</code>.<!-- --></p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">vim</span><span class="token plain"> Caddyfile</span><br></span></co [...]
+<!-- --><p>Create <!-- --><code>Caddyfile</code> file in the same directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-3">Step 3<!-- --><a href="#step-3" class="hash-link" aria-label="Step 3的直接链接" title="Step 3的直接链接"></a></h3>
+<!-- --><p>Run the following command to start Caddy. Wait a few seconds, and then you can access Answer using HTTPS.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> up -d</span><br></sp [...]
+<!-- --><p>If you can't access it, you can check the logs of Caddy.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> logs</span><br></spa [...]
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="advanced">Advanced<!-- --><a href="#advanced" class="hash-link" aria-label="Advanced的直接链接" title="Advanced的直接链接"></a></h2>
+<!-- --><p>If you don't want to use <!-- --><code>network_mode: host</code> in <!-- --><code>docker-compose.yml</code>, you can put Answer and Caddy in the same docker compose. Then Caddy and Answer can use the same network. So you can configure Caddy like this:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><p>Of course, you can also install Caddy using other methods, such as using the binary file, etc. All in all, I wish you can follow this blog to deploy Answer with HTTPS successfully. If you have any questions, please feel free to leave a question on <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Meta</a>. We will try our best to help you.<!-- --></p></div><div class="mt-3"><div class="d-flex align-items-center text-secondary"><span>分享到<!-- - [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/blog/archive/index.html b/zh-CN/blog/archive/index.html
index 43de6575..dc97b7e2 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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/atom.xml b/zh-CN/blog/atom.xml
index 01771595..efc91892 100644
--- a/zh-CN/blog/atom.xml
+++ b/zh-CN/blog/atom.xml
@@ -2,11 +2,70 @@
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://answer.apache.org/zh-CN/blog</id>
<title>Apache Answer Blog</title>
- <updated>2024-01-25T00:00:00.000Z</updated>
+ <updated>2024-01-26T00:00:00.000Z</updated>
<generator>https://github.com/jpmonette/feed</generator>
<link rel="alternate" href="https://answer.apache.org/zh-CN/blog"/>
<subtitle>Apache Answer Blog</subtitle>
<icon>https://answer.apache.org/zh-CN/img/favicon.ico</icon>
+ <entry>
+ <title type="html"><![CDATA[How to Access Answer Using HTTPS]]></title>
+ <id>https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https</id>
+ <link href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https"/>
+ <updated>2024-01-26T00:00:00.000Z</updated>
+ <summary type="html"><![CDATA[Got your Answer server up and running? Now, let's take it to the next level with HTTPS with the tutorials.]]></summary>
+ <content type="html"><![CDATA[<div class="mb-4"><img loading="lazy" src="https://answer.apache.org/zh-CN/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png" class="rounded img_dDce" width="1280px" height="720px"></div><blockquote>
+<!-- --><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_O1Gl" id="background">Background<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#background" class="hash-link" aria-label="Background的直接链接" title="Background的直接链接"></a></h2>
+<!-- --><p>When you already have a server, you may want to deploy Answer on it. After deploying Answer, you will realize that you can only access it using HTTP. However, you may want to access it using HTTPS. So how can you do that?</p>
+<!-- --><p>Some questions:</p>
+<!-- --><ul>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1G3/how-to-configure-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1G3/how-to-configure-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1wh/how-to-enable-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1wh/how-to-enable-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https</a></li>
+<!-- --><li>...</li>
+<!-- --></ul>
+<!-- --><p>I found that many people have this question. Deploying Answer is easy, but deploying it with HTTPS is a bit difficult. So I decided to write this article to help you deploy Answer with HTTPS.</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="easy-way">Easy way<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#easy-way" class="hash-link" aria-label="Easy way的直接链接" title="Easy way的直接链接"></a></h2>
+<!-- --><p>This blog aims to introduce the easiest way to deploy Answer with HTTPS. You can use <!-- --><a href="https://caddyserver.com/" target="_blank" rel="noopener noreferrer">Caddy</a> to deploy Answer with HTTPS. Caddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go. Of course, you can use other tools to deploy Answer with HTTPS, such as Nginx, etc.<!-- --></p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="preparation">Preparation<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#preparation" class="hash-link" aria-label="Preparation的直接链接" title="Preparation的直接链接"></a></h2>
+<!-- --><ol>
+<!-- --><li>
+<!-- --><p>You can follow the <!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/docs/installation">installation guide</a> to install Answer. After installing Answer, you can access it using HTTP. The default port for Answer is 9080. You can access it at <!-- --><a href="http://localhost:9080/" target="_blank" rel="noopener noreferrer">http://localhost:9080</a>. In the following steps, we will use 9080 as the default port for Answer.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>You need a domain that <!-- --><strong>DNS resolution is already configured to point to your server</strong>.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>In this blog we will use docker-compose to install Caddy. So we need docker and docker-compose. You can follow the <!-- --><a href="https://docs.docker.com/engine/install/" target="_blank" rel="noopener noreferrer">official guide</a> to install docker and docker-compose.<!-- --></p>
+<!-- --></li>
+<!-- --></ol>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="deploy">Deploy<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#deploy" class="hash-link" aria-label="Deploy的直接链接" title="Deploy的直接链接"></a></h2>
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-1">Step 1<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#step-1" class="hash-link" aria-label="Step 1的直接链接" title="Step 1的直接链接"></a></h3>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> caddy-docker</span><br></span [...]
+<!-- --><p>You can create a <!-- --><code>docker-compose.yml</code> file in the new directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">docker-compose.yml</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">version</span><span class="token punctuation" [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-2">Step 2<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#step-2" class="hash-link" aria-label="Step 2的直接链接" title="Step 2的直接链接"></a></h3>
+<!-- --><p>The <!-- --><code>Caddyfile</code> is the configuration file for Caddy. It is used to configure how Caddy should serve your site. This file will be mounted into the container at <!-- --><code>/etc/caddy/Caddyfile</code>.<!-- --></p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">vim</span><span class="token plain"> Caddyfile</span><br></span></co [...]
+<!-- --><p>Create <!-- --><code>Caddyfile</code> file in the same directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-3">Step 3<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#step-3" class="hash-link" aria-label="Step 3的直接链接" title="Step 3的直接链接"></a></h3>
+<!-- --><p>Run the following command to start Caddy. Wait a few seconds, and then you can access Answer using HTTPS.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> up -d</span><br></sp [...]
+<!-- --><p>If you can't access it, you can check the logs of Caddy.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> logs</span><br></spa [...]
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="advanced">Advanced<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#advanced" class="hash-link" aria-label="Advanced的直接链接" title="Advanced的直接链接"></a></h2>
+<!-- --><p>If you don't want to use <!-- --><code>network_mode: host</code> in <!-- --><code>docker-compose.yml</code>, you can put Answer and Caddy in the same docker compose. Then Caddy and Answer can use the same network. So you can configure Caddy like this:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><p>Of course, you can also install Caddy using other methods, such as using the binary file, etc. All in all, I wish you can follow this blog to deploy Answer with HTTPS successfully. If you have any questions, please feel free to leave a question on <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Meta</a>. We will try our best to help you.<!-- --></p>]]></content>
+ <author>
+ <name>LinkinStar</name>
+ <uri>https://github.com/LinkinStars/</uri>
+ </author>
+ </entry>
<entry>
<title type="html"><![CDATA[First Contribution? Come to Answer.]]></title>
<id>https://answer.apache.org/zh-CN/blog/2024/01/25/first-contribution-come-to-answer</id>
@@ -1113,106 +1172,4 @@ Photo by <!-- --><a href="https://unsplash.com/@anniespratt?utm_source=unsplash&
<uri>https://github.com/PrimmaAnna</uri>
</author>
</entry>
- <entry>
- <title type="html"><![CDATA[What is Q&A Platform and How to Use it]]></title>
- <id>https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it</id>
- <link href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it"/>
- <updated>2023-05-12T00:00:00.000Z</updated>
- <summary type="html"><![CDATA[Learn Q&A platform, explore poplular Q&A platforms, and find out how to get the most out of it.]]></summary>
- <content type="html"><![CDATA[<div class="mb-4"><img loading="lazy" src="https://answer.apache.org/zh-CN/assets/images/2023-05-12-cover@4x-2fdc6c379746eaa7f045582e04fc2801.png" class="rounded img_dDce" width="1280px" height="720px"></div><p>We all have question and need answer in this fast-paced world. Whether it's for work or personal purposes, having a reliable source of information can be crucial. That's where Q&A (Question and Answer) platforms come in.</p>
-<!-- --><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_O1Gl" id="what-is-qa-platform">What is Q&A Platform<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#what-is-qa-platform" class="hash-link" aria-label="What is Q&A Platform的直接链接" title="What is Q&A Platform的直接链接"></a></h2>
-<!-- --><p>A Q&A platform is a website or application where users can ask and answer questions on various topics with other users or experts.</p>
-<!-- --><p>In the late 1990s, a free online service called <!-- --><a href="https://www.ask.com/" target="_blank" rel="noopener noreferrer">Answer Point</a> provided by <!-- --><a href="https://en.wikipedia.org/wiki/Ask_Jeeves" target="_blank" rel="noopener noreferrer">Ask Jeeves</a>, was launched, allowing users to ask questions and with the help of other people, have them answered. It inspired the creation of later Q&A sites. The last archived version of the Ask Point was from late [...]
-<!-- --><p>It is designed to facilitate the exchange of information and knowledge centered around a specific topic or area of interest, such as programming, technology, health, or education. The community-driven approach to knowledge sharing enables users with expertise in different areas can provide helpful answers to others.</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="types-of-qa-platform">Types of Q&A Platform<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#types-of-qa-platform" class="hash-link" aria-label="Types of Q&A Platform的直接链接" title="Types of Q&A Platform的直接链接"></a></h3>
-<!-- --><p>There are numerous examples of Q&A platform in both open source and SaaS formats.</p>
-<!-- --><p>Open source Q&A platforms opens source code to the public, and users can modify and distribute it. It can be customized to meet specific needs and can be more affordable. Closed source Q&A platforms have proprietary source code and are owned by a particular company or organization. Here are some of the most popular Q&A platforms:</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p><a href="https://www.quora.com/" target="_blank" rel="noopener noreferrer">Quora</a> - Quora is one of the most popular Q&A platforms, with millions of users from around the world. It covers a wide range of topics, from general knowledge questions to more specific ones like technical issues or medical advice.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://stackexchange.com/" target="_blank" rel="noopener noreferrer">Stack Exchange</a> - Stack Exchange is a network of Q&A sites, with each site dedicated to a specific topic. For example, Stack Overflow is dedicated to programming-related questions, while Server Fault is focused on server-related questions.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://www.reddit.com/r/AMA/" target="_blank" rel="noopener noreferrer">Reddit AMA</a> - Reddit AMA (Ask Me Anything) is a popular Q&A format where users can ask questions of people with interesting or unusual experiences. Celebrities, politicians, and experts in various fields often participate in AMAs.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-we-love-qa-platform">Why We Love Q&A Platform<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#why-we-love-qa-platform" class="hash-link" aria-label="Why We Love Q&A Platform的直接链接" title="Why We Love Q&A Platform的直接链接"></a></h2>
-<!-- --><p>Q&A platforms have become increasingly popular over the years . Not only they provide a valuable resource for people who want to learn about a topic or get help with a problem, but also you can always contribute to a question of your expertise, and connect with other like-minded individuals.</p>
-<!-- --><p>Here are some practical use cases of Q&A platforms:</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="individuals">Individuals<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#individuals" class="hash-link" aria-label="Individuals的直接链接" title="Individuals的直接链接"></a></h3>
-<!-- --><ol>
-<!-- --><li>Solve a problem or issue that you're facing</li>
-<!-- --><li>Learn more about a particular topic or subject</li>
-<!-- --><li>Find recommendations for products or services</li>
-<!-- --><li>Connect with other like-minded individuals</li>
-<!-- --></ol>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="businesses-and-organizations">Businesses and Organizations<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#businesses-and-organizations" class="hash-link" aria-label="Businesses and Organizations的直接链接" title="Businesses and Organizations的直接链接"></a></h3>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Customer Support<!-- --><br>
-<!-- -->One of the most popular use cases for Q&A platforms is providing customer support. Many businesses use Q&A platforms to answer customer questions, troubleshoot issues, and provide support on a variety of products and services.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Knowledge Sharing<!-- --><br>
-<!-- -->Q&A platforms are also great for sharing knowledge and expertise. They can be used to ask and answer questions on a variety of topics, from technical questions to academic discussions. This can be especially valuable for individuals seeking information on specific topics or for businesses looking to share their expertise with a wider audience.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Employee Training<!-- --><br>
-<!-- -->Q&A platforms can also be used for employee training and development. They can be used to create a knowledge base for employees, allowing them to ask and answer questions about company policies, procedures, and best practices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Recruitment<!-- --><br>
-<!-- -->Q&A platforms can be a valuable tool for recruitment. They can be used to answer questions about job openings, company culture, and career opportunities, giving potential candidates a better understanding of the organization they may be joining.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Research<!-- --><br>
-<!-- -->Last but not least, Q&A platforms can also be used for research purposes. They can be used to ask and answer questions on a variety of topics, helping individuals and organizations gather information and insights on specific subjects.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="what-makes-a-great-qa-platform">What Makes a Great Q&A Platform<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#what-makes-a-great-qa-platform" class="hash-link" aria-label="What Makes a Great Q&A Platform的直接链接" title="What Makes a Great Q&A Platform的直接链接"></a></h2>
-<!-- --><p>These are some key factors that not only makes a great Q&A platform for both question askers and answers, and find out how we apply them in <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">meta.answer</a>, a community built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="image" src="https://answer.apache.org/zh-CN/assets/images/qaplatform1-a75eec5bef64ce851056e2ca428b630f.png" width="1078" height="684" class="img_dDce"></p>
-<!-- --><ul>
-<!-- --><li><strong>Expertise:</strong> A great Q&A platform should attract a wide range of experts who can provide knowledgeable and helpful answers. The platform should also make it easy for users to identify these experts and trust their responses.<!-- --></li>
-<!-- --><li><strong>Diversity:</strong> A great Q&A platform attracts a diverse group of users who have expertise and knowledge in different areas. This diversity of expertise can provide valuable insights and perspectives, and can help to foster a collaborative and supportive community.<!-- --></li>
-<!-- --><li><strong>Community:</strong> A great Q&A platform has an active and engaged community of users who are willing to share their knowledge and help others. The platform should encourage users to participate by providing incentives such as badges or points, and by creating a welcoming and supportive environment.<!-- --></li>
-<!-- --><li><strong>Easy of Use:</strong> A great Q&A platform should be easy to use and navigate. Users should be able to ask questions and find answers quickly and easily. The platform should also be responsive and work well on different devices.<!-- --></li>
-<!-- --><li><strong>Moderation:</strong> A great Q&A platform has effective moderation to ensure that users are following the rules and guidelines of the community. Moderation can help to prevent spam, trolling, and other negative behaviors that can detract from the quality of the platform.<!-- --></li>
-<!-- --></ul>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="build-a-qa-platform-in-3-steps">Build a Q&A Platform in 3 Steps<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#build-a-qa-platform-in-3-steps" class="hash-link" aria-label="Build a Q&A Platform in 3 Steps的直接链接" title="Build a Q&A Platform in 3 Steps的直接链接"></a></h2>
-<!-- --><p>Follow the guide to build a basic Q&A platform, easy-peasy.</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Choose a Platform<!-- --><br>
-<!-- -->Choose a platform that aligns with your needs and budget. There are open-source Q&A platforms available that offer a good starting point (you know, <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a> is open-source). Alternatively, you can use a hosted platform.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Customize the Design<!-- --><br>
-<!-- -->Once you have chosen a platform, customize the design to match your branding and user interface requirements. Don’t forget to make the design responsive and optimized for different devices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Add Questions and Answers<!-- --><br>
-<!-- -->Create a few test questions and answers to give users an idea of what types of questions are appropriate and how to answer them. Encourage users to ask and answer questions, and here’s <!-- --><a href="https://meta.answer.dev/questions/D1L1/how-to-ask-a-good-question" target="_blank" rel="noopener noreferrer">a quick tip to kick-start a good question</a>. Later on, moderate the content to ensure quality and adherence to community guidelines.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="start-and-manage-qa-platform-with-answer">Start and Manage Q&A Platform with Answer<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#start-and-manage-qa-platform-with-answer" class="hash-link" aria-label="Start and Manage Q&A Platform with Answer的直接链接" title="Start and Manage Q&A Platform with Answer的直接链接"></a></h2>
-<!-- --><p>Answer is knowledge-based community software, offering a smooth set-up for your Q&A platform. Its nature of open source lets you customize a Q&A platform for a big take-off. Take a glimpse at the <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Answer community</a> built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="img" src="https://answer.apache.org/zh-CN/assets/images/qaplatform2-f86caaa34a34371abcf03f1259f73f06.png" width="1600" height="900" class="img_dDce"></p>
-<!-- --><p>No matter what your Q&A platform is about, it’s always great to collect valuable insights and perspectives, and keep up-to-date answers. We’ve also packed up these resources that help you kick-start a joyful Answer journey:</p>
-<!-- --><p>💻 <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>: Keep an eye on what we are up to lately on GitHub.
-📄<!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Documents</a>: Everything you need to build your Answer Community from zero to hero.
-🐞 <!-- --><a href="https://github.com/apache/incubator-answer/issues" target="_blank" rel="noopener noreferrer">Bug Report</a>: Hunt a bug? Simply report it for us to track efficiently.
-🚩<!-- --><a href="https://github.com/apache/incubator-answer/projects" target="_blank" rel="noopener noreferrer">Public Roadmap</a>: Feel free to drop a comment here and be a part of our roadmap!<!-- --></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="conclusion">Conclusion<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#conclusion" class="hash-link" aria-label="Conclusion的直接链接" title="Conclusion的直接链接"></a></h2>
-<!-- --><p>We always have a question or an answer sometimes in our lives, so it is natural to have a Q&A platform. With <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a>, you and your team will be able to solve problems, participate in discussions, and contribute fresh ideas to keep your business growing.<!-- --></p>]]></content>
- <author>
- <name>Anne Zhu</name>
- <uri>https://github.com/PrimmaAnna</uri>
- </author>
- <category label="tutorials" term="tutorials"/>
- </entry>
</feed>
\ No newline at end of file
diff --git a/zh-CN/blog/category/best-practice/index.html b/zh-CN/blog/category/best-practice/index.html
index 56ba8501..bdb27433 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 bb206b83..8d496f87 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 abb2809b..ed8811cb 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 c9d71623..5ba1acb5 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 7a8e34e6..ae24c24f 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 3bda0b0c..02e8b69b 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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/index.html b/zh-CN/blog/index.html
index 570871a5..b5b1bd4c 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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/2/index.html b/zh-CN/blog/page/2/index.html
index 77c021e9..61c531bd 100644
--- a/zh-CN/blog/page/2/index.html
+++ b/zh-CN/blog/page/2/index.html
@@ -3,258 +3,17 @@
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.0.0">
-<title data-rh="true">Answer Blog | 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:url" content="https://answer.apache.org/zh-CN/blog/page/2"><meta data-rh="true" property="og:locale" content="zh_CN"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><met [...]
+<title data-rh="true">Blog | 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:url" content="https://answer.apache.org/zh-CN/blog/page/2"><meta data-rh="true" property="og:locale" content="zh_CN"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="tru [...]
<link rel="alternate" type="application/rss+xml" href="/zh-CN/blog/rss.xml" title="Apache Answer RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Answer Atom Feed">
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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>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_O1Gl" 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>
-<!-- --><p>Sounds big, right? In fact, you must use one of them for sure since a knowledge base takes various forms, such as databases, wikis, documents, articles, FAQs (Frequently Asked Questions), manuals, tutorials, or any other structured or unstructured format.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-you-need-it">Why You Need it<!-- --><a href="#why-you-need-it" class="hash-link" aria-label="Why You Need it的直接链接" title="Why You Need it的直接链接"></a></h2>
-<!-- --><p>We expect to retrieve the right information at the moment, and the process must be quick. That’s why we need a knowledge base that contains a wide range of information and easy-to-search, and check the benefits.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="benefits">Benefits<!-- --><a href="#benefits" class="hash-link" aria-label="Benefits的直接链接" title="Benefits的直接链接"></a></h2>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Easy Access to Information
-A knowledge base provides a structured and organized system for storing information, making it easily accessible to users. It allows quick retrieval of relevant data, reducing the time and effort required to search for information.</p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Improved Productivity and Efficiency
-By having a knowledge base in place, employees can find the information they require without relying on others or spending excessive time searching for it. This increases productivity and efficiency in performing tasks by empowering users to find information independently.</p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Knowledge Retention and Sharing
-A knowledge base serves as a repository for capturing and preserving institutional knowledge within an organization. It helps to retain critical information even when employees leave or change roles.</p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Consistency and Accuracy
-With a knowledge base, organizations can ensure consistency and accuracy in the information. It minimizes errors and conflicts, allowing for standardized procedures, guidelines, and documentation, reducing the risk of errors or inconsistencies caused by outdated or conflicting information.</p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Customer Self-service and Support
-Knowledge bases are commonly used in <!-- --><a href="/zh-CN/blog/2023/07/05/how-to-build-a-help-center-with-your-users-and-answer">customer support</a> to provide self-service options. By offering a comprehensive collection of FAQs, troubleshooting guides, and instructional materials, customers can find solutions to their problems without the need to contact support, reducing support costs and improving customer satisfaction.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="build-knowledge-base-with-answer">Build Knowledge Base with Answer<!-- --><a href="#build-knowledge-base-with-answer" class="hash-link" aria-label="Build Knowledge Base with Answer的直接链接" title="Build Knowledge Base with Answer的直接链接"></a></h2>
-<!-- --><p>Make sure you have the right tools for hosting and managing your knowledge base. Answer is the tool you can give it a go, it’s open-source and for free. Here are some delighted features in Answer that help you to build an efficient knowledge base at ease.</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Get Started with the Useful Docs
-We’ve prepared <!-- --><a href="https://answer.apache.org/docs" target="_blank" rel="noopener noreferrer">Docs</a> for you to kick-start your knowledge base smoothly, and if you need help, you can always post a question in our <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Community</a>.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Real-time Preview for Each Post
-Always make sure your knowledge is accurate and shinning before it goes live. In Answer, you can instantly view the layout of the post before hitting the post button.</p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><p><img loading="lazy" alt="Post Real-time Preview in Answer" src="/zh-CN/assets/images/knowledgebase1-5f94d72904128e72e004b8dbdf82baea.png" width="2800" height="1930" class="img_dDce"></p>
-<!-- --><ol start="3">
-<!-- --><li>Use Tags to Categorize the Content
-Add new tags to set up your knowledge management system in Answer right away, no need to add questions beforehand. Users can follow content they are interested by following tags, while admins can always edit tags description.</li>
-<!-- --></ol>
-<!-- --><p><img loading="lazy" alt="Manage Tags in Answer is Easy" src="/zh-CN/assets/images/knowledgebase2-b7265447aed6afac2e34288393df6af4.png" width="2800" height="904" class="img_dDce"></p>
-<!-- --><ol start="4">
-<!-- --><li>
-<!-- --><p>Pin a Post
-Pin an important or frequently asked question for your knowledge base, so that it always stays on the top of your knowledge base.
-<!-- --><img loading="lazy" alt="Pin a Post in Answer" src="/zh-CN/assets/images/knowledgebase3-b10a9df59c50ef5d5c9f979408944d6d.gif" width="786" height="674" class="img_dDce"></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Search and Find What You Need
-Answer provides advanced search, including tag, author, question, etc. so that you can always access to the knowledge you require at present quickly.</p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><p><img loading="lazy" alt="Search Post in Answer" src="/zh-CN/assets/images/knowledgebase4-a5b1c0b70de0c3554da8dd4005f92162.png" width="2800" height="1390" class="img_dDce"></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="dont-take-our-words-for-answer-take-his">Don’t Take Our Words for Answer. Take His<!-- --><a href="#dont-take-our-words-for-answer-take-his" class="hash-link" aria-label="Don’t Take Our Words for Answer. Take His的直接链接" title="Don’t Take Our Words for Answer. Take His的直接链接"></a></h2>
-<!-- --><p>One of our users, <!-- --><a href="https://blog.safewebbox.com/author/david/" target="_blank" rel="noopener noreferrer">David Filed</a> have built a self-hosted knowledge base with Answer. He also shared a <!-- --><a href="https://blog.safewebbox.com/a-self-hosted-knowledgebase-which-feels-much-like-stackoverflow/" target="_blank" rel="noopener noreferrer">blog</a> about why he chose Answer, and a step-by-step tutorial of installing and running Answer.
-<!-- --><img loading="lazy" alt="Screenshot of Davids Knowledgebase" src="/zh-CN/assets/images/knowledgebase5-5892b03e1eeb72af2916ba0a2602c277.png" width="1391" height="374" class="img_dDce">
-Follow his tutorial or our <!-- --><a href="https://answer.apache.org/docs" target="_blank" rel="noopener noreferrer">Docs</a> to build a knowledge base of your own now, and embrace the power of knowledge base today.<!-- --></p></div><footer class="row docusaurus-mt-lg"></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Take a nibble on open source, examples, and why it [...]
-<!-- --><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_O1Gl" 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>
-<!-- --><p><a href="https://opensource.com/article/18/2/coining-term-open-source-software" target="_blank" rel="noopener noreferrer">Open source</a> refers to a type of software or technology that comes with its source code which is accessible to the public for free. This means that anyone can view, modify, and distribute the code, following the guidelines outlined in the open-source license. For example, programmers can add features or fix a bug with the access to the source code.
-<!-- --><img loading="lazy" alt="code" src="/zh-CN/assets/images/opensource1-33e96ecc672d2bd874dd10b757a81dcd.jpg" width="5760" height="3840" class="img_dDce"></p>
-<!-- --><p>Photo by <!-- --><a href="https://unsplash.com/@markusspiske?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Markus Spiske</a> on <!-- --><a href="https://unsplash.com/s/photos/open-source-software?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Unsplash</a></p>
-<!-- --><p>It promotes collaboration, transparency, and community-driven development, often maintained by volunteers working together to create reliable and innovative solutions.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="open-source-software">Open-source Software<!-- --><a href="#open-source-software" class="hash-link" aria-label="Open-source Software的直接链接" title="Open-source Software的直接链接"></a></h2>
-<!-- --><p>We might have already met or used open-source software before, and here are them.</p>
-<!-- --><ol>
-<!-- --><li><a href="https://www.linux.org/" target="_blank" rel="noopener noreferrer">Linux</a>: an operating system that powers many servers, smartphones, and other devices.<!-- --></li>
-<!-- --><li><a href="https://www.python.org/" target="_blank" rel="noopener noreferrer">Python</a>: a high-level programming language that is used for web development, data analysis, artificial intelligence, and more.<!-- --></li>
-<!-- --><li><a href="https://www.mozilla.org/en-US/firefox/new/" target="_blank" rel="noopener noreferrer">Firefox</a>: a web browser developed by the Mozilla Foundation.<!-- --></li>
-<!-- --><li><a href="https://www.libreoffice.org/" target="_blank" rel="noopener noreferrer">LibreOffice</a>: an open-source office suite that includes word processing, spreadsheet, and presentation software.<!-- --></li>
-<!-- --><li><a href="https://httpd.apache.org/" target="_blank" rel="noopener noreferrer">Apache HTTP web server</a>: a web server software that powers many websites on the internet<!-- --></li>
-<!-- --><li><a href="https://opencv.org/" target="_blank" rel="noopener noreferrer">OpenCV</a>: a computer vision library used for image and video analysis.<!-- --></li>
-<!-- --><li><a href="https://www.videolan.org/" target="_blank" rel="noopener noreferrer">VLC</a>: a media player that can play a wide range of video and audio formats.<!-- --></li>
-<!-- --><li><a href="https://wordpress.com/" target="_blank" rel="noopener noreferrer">WordPress</a>: a content management system (CMS) for creating websites and blogs.<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="answer-open-source-is-in-essence">Answer: Open-source is in Essence<!-- --><a href="#answer-open-source-is-in-essence" class="hash-link" aria-label="Answer: Open-source is in Essence的直接链接" title="Answer: Open-source is in Essence的直接链接"></a></h2>
-<!-- --><p>Lately, B2B enterprises have been looking for solutions on building their own Q&A community or a corporate community. A dedicated section or subsection cannot meet their needs because they wish to customize content, have control of data, rather than “being a guest” in a public community.
-<!-- --><img loading="lazy" alt="Answer Interface" src="/zh-CN/assets/images/opensource2-ba40e7a6f56ef96c831fdef19654070c.png" width="1400" height="930" class="img_dDce">
-That’s the moment we decided to build Answer.<!-- --></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="we-wish-answer-to-be-">We Wish Answer to be …<!-- --><a href="#we-wish-answer-to-be-" class="hash-link" aria-label="We Wish Answer to be …的直接链接" title="We Wish Answer to be …的直接链接"></a></h3>
-<!-- --><p><strong>Easy to use</strong><br>
-<!-- -->We hope everyone can set up and run Answer at ease — well, maybe with a little guidance and documentation from us :)<!-- --></p>
-<!-- --><p><strong>Built for Everyone</strong>
-Currently, running community software or open-source products in the market still requires professional knowledge, such as understanding technical terms. We want Answer to have a bigger stage and to embrace a bigger world. Thus, in the initial design of Answer, we always considered the user as a novice, and how can they get started with Answer smoothly.<!-- --></p>
-<!-- --><p><strong>Open-source</strong>
-You can find all the source code of Answer in <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>, free for everybody. We love the spirit of how open source encourages collaboration and transparency, and we always welcome contributions ;)<!-- --></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="where-can-i-find-more-about-answer">Where Can I Find More about Answer<!-- --><a href="#where-can-i-find-more-about-answer" class="hash-link" aria-label="Where Can I Find More about Answer的直接链接" title="Where Can I Find More about Answer的直接链接"></a></h2>
-<!-- --><p>No matter you are a Q&A lover, self-host expert, or want-to-give-it-try person, you can always get connected with us, share new ideas, or simply for chatting.</p>
-<!-- --><ol>
-<!-- --><li><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Website</a>: Welcome to the home of Answer. We know there are plenty of things that need to be improved. We are working on it, we promise.<!-- --></li>
-<!-- --><li><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>: Enjoy your stay in the garden of Answer.<!-- --></li>
-<!-- --><li><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Meta.Answer</a>: The one and only official community built with Answer, meet new friends here.<!-- --></li>
-<!-- --><li><a href="https://twitter.com/answerdev" target="_blank" rel="noopener noreferrer">Twitter</a>: What we’ve been up to, tutorials, and tips. Follow us to keep updated.<!-- --></li>
-<!-- --><li><a href="https://discord.gg/a6PZZbfnFx" target="_blank" rel="noopener noreferrer">Discord</a>: Want to talk to our dev team in real time? Join our Discord Server!<!-- --></li>
-<!-- --></ol></div><footer class="row docusaurus-mt-lg"></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"><meta itemprop="description" content="Dive into knowledge retention, and find out how Answer empowers your internal knowledge base."><link itemprop="image" href="https://answer.apache.org/zh-CN/2023-05-16-cover@4x.png"><header><h2 class="title_wWhR" itemprop="headline"><a itemprop="url" href="/zh-CN/blog/2 [...]
-<!-- --><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_O1Gl" 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>
-<!-- --><p><a href="https://bokcenter.harvard.edu/how-memory-works" target="_blank" rel="noopener noreferrer">Memory is an ongoing process of information retention over time</a>, so for individuals, knowledge retention is to capture, remember and retrieve critical information. As for business, knowledge retention involves capturing, storing, preserving, and sharing knowledge within an organization.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="what is knowledge retention" src="/zh-CN/assets/images/knowledgeretention1-730e7089d78092b7af1f7e55a648e34b.jpg" width="7360" height="4912" class="img_dDce">
-Photo by <!-- --><a href="https://unsplash.com/@homajob?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Scott Graham</a> on <!-- --><a href="https://unsplash.com/photos/5fNmWej4tAA?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Unsplash</a></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-it-is-important">Why it is Important<!-- --><a href="#why-it-is-important" class="hash-link" aria-label="Why it is Important的直接链接" title="Why it is Important的直接链接"></a></h2>
-<!-- --><p>For individuals, knowledge retention reflects one’s learning ability because you’ve retained the knowledge in your long-term memory. The ability to retrieve information is essential for one’s continued personal growth, career advancement, and professional success, etc.</p>
-<!-- --><p>When it comes to business, knowledge isn’t merely about internal data or information, **it’s the experience or expertise of an employee or a team, **such as, best practice, customer data, operation procedure, etc. In this case, knowledge retention refers to:</p>
-<!-- --><ol>
-<!-- --><li>Core knowledge stays in the organization</li>
-<!-- --><li>Employee can always access the right knowledge</li>
-<!-- --><li>Retain and transfer for the future</li>
-<!-- --></ol>
-<!-- --><p>Knowledge retention is crucial to helping companies run efficiently and maintain a competitive edge, and it has become a core to maintain sustain growth.</p>
-<!-- --><p><img loading="lazy" alt="knowledge rention is crucial for companies" src="/zh-CN/assets/images/knowledgeretention2-4a57dddbe84fe6fa7fbeb026dec565b4.jpg" width="1920" height="1281" class="img_dDce">
-Photo by <!-- --><a href="https://unsplash.com/@anniespratt?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Annie Spratt</a> on <!-- --><a href="https://unsplash.com/photos/QckxruozjRg?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" target="_blank" rel="noopener noreferrer">Unsplash</a></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="effective-knowledge-retention-strategies">Effective Knowledge Retention Strategies<!-- --><a href="#effective-knowledge-retention-strategies" class="hash-link" aria-label="Effective Knowledge Retention Strategies的直接链接" title="Effective Knowledge Retention Strategies的直接链接"></a></h2>
-<!-- --><p>With the significance of knowledge retention in mind, how can companies and teams make effective knowledge retention?</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="build-a-knowledge-sharing-platforms">Build a Knowledge Sharing Platforms<!-- --><a href="#build-a-knowledge-sharing-platforms" class="hash-link" aria-label="Build a Knowledge Sharing Platforms的直接链接" title="Build a Knowledge Sharing Platforms的直接链接"></a></h3>
-<!-- --><p>To make knowledge sharing and access easier within the organization, set up platforms and tools that facilitate the process. This can be achieved through the use of intranets, collaboration software, or knowledge management systems.</p>
-<!-- --><p>Answer is an <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">open-source Q&A platform</a>, which gives companies freedom to build a knowledge-based community in the way they need. No matter it’s for products, customer support, or the team, Answer is capable of making it happen on different devices.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="Interface of Answer" src="/zh-CN/assets/images/knowledgeretention3-107528b324fbeceb79891a1f1f5fd867.png" width="1134" height="717" class="img_dDce"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="identify-and-prioritize-the-knowledge">Identify and Prioritize the Knowledge<!-- --><a href="#identify-and-prioritize-the-knowledge" class="hash-link" aria-label="Identify and Prioritize the Knowledge的直接链接" title="Identify and Prioritize the Knowledge的直接链接"></a></h3>
-<!-- --><p>Obviously, it’s impossible to retain all the information, since there are different roles and departments in a company, and each plays a different role in the business.</p>
-<!-- --><p>Identify the secret weapon for your business, and prioritize the key information, skills, and expertise that are most critical to the success of your business.</p>
-<!-- --><p>Tags help users identify the knowledge they require at the moment. In <!-- --><a href="https://meta.answer.dev/questions/D1V8/how-to-create-some-tags-without-add-question" target="_blank" rel="noopener noreferrer">Answer</a>, admins can create a new tag without adding a question. This is helpful to preparing the foundation of a knowledge base.
-<!-- --><img loading="lazy" alt="Create New Tag in Answer" src="/zh-CN/assets/images/knowledgeretention4-c4e589620c83cb3f2d6cc1b422c3820c.png" width="1102" height="644" class="img_dDce"></p>
-<!-- --><p>You can also Pin the most important knowledge to make sure everyone can access it in the first place.
-<!-- --><img loading="lazy" alt="Pin a Question in Answer" src="/zh-CN/assets/images/knowledgeretention5-b10a9df59c50ef5d5c9f979408944d6d.gif" width="786" height="674" class="img_dDce"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="encourage-knowledge-sharing-with-award">Encourage Knowledge Sharing with Award<!-- --><a href="#encourage-knowledge-sharing-with-award" class="hash-link" aria-label="Encourage Knowledge Sharing with Award的直接链接" title="Encourage Knowledge Sharing with Award的直接链接"></a></h3>
-<!-- --><p>Create a pleasant, easy-to-share process for everyone and keep sharing going with awards. Encourage employees with expertise to contribute with an internal reward system, which is similar to the achievement system of games. It adds a sense of competition as well as fun, which makes sharing more engaging.</p>
-<!-- --><p>Stay tuned for Answer’s coming reward system, we promise it will make knowledge sharing exciting.</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="keep-knowledge-staying-alive">Keep Knowledge Staying Alive<!-- --><a href="#keep-knowledge-staying-alive" class="hash-link" aria-label="Keep Knowledge Staying Alive的直接链接" title="Keep Knowledge Staying Alive的直接链接"></a></h3>
-<!-- --><p>The core knowledge is ready, and the award system for enthusiasms with expertise is on board, now what? Keep the documents always up-to-date.</p>
-<!-- --><p>Knowledge sharing is not a one-time event, it’s a sustainable process. Like a company, it develops into different phrases, and so is the knowledge. Regular reviews and modifications ensure the documents or information is up-to-date, relevant, and effective.</p>
-<!-- --><p>In Answer, you can use Unlist to prevent temporary access to a question. This allows admins or moderators to review, edit, or remove out-dated resources regularly.
-<!-- --><img loading="lazy" alt="Unlist a Question in Answer" src="/zh-CN/assets/images/knowledgeretention6-9e2138d07f1e0af6b87a7a014349d08b.gif" width="800" height="510" class="img_dDce"></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="ready-to-grow-your-business-with-answer">Ready to Grow Your Business with Answer?<!-- --><a href="#ready-to-grow-your-business-with-answer" class="hash-link" aria-label="Ready to Grow Your Business with Answer?的直接链接" title="Ready to Grow Your Business with Answer?的直接链接"></a></h2>
-<!-- --><p>After reading the post, you must be aware of the significance of knowledge retention for both individuals and businesses. Let Answer be your company so that you can kick-start building a smooth knowledge sharing process for everyone, and every scenario.</p>
-<!-- --><p>Join <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">our community</a> where you can ask and get assistance easily, follow our social media for the latest updates and up-to-date tips and tricks, even better, become a contributor and ignite knowledge sharing for the world.<!-- --></p></div><footer class="row docusaurus-mt-lg"></footer></article><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="https://schema.org/B [...]
-<!-- --><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_O1Gl" 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>
-<!-- --><p>A Q&A platform is a website or application where users can ask and answer questions on various topics with other users or experts.</p>
-<!-- --><p>In the late 1990s, a free online service called <!-- --><a href="https://www.ask.com/" target="_blank" rel="noopener noreferrer">Answer Point</a> provided by <!-- --><a href="https://en.wikipedia.org/wiki/Ask_Jeeves" target="_blank" rel="noopener noreferrer">Ask Jeeves</a>, was launched, allowing users to ask questions and with the help of other people, have them answered. It inspired the creation of later Q&A sites. The last archived version of the Ask Point was from late [...]
-<!-- --><p>It is designed to facilitate the exchange of information and knowledge centered around a specific topic or area of interest, such as programming, technology, health, or education. The community-driven approach to knowledge sharing enables users with expertise in different areas can provide helpful answers to others.</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="types-of-qa-platform">Types of Q&A Platform<!-- --><a href="#types-of-qa-platform" class="hash-link" aria-label="Types of Q&A Platform的直接链接" title="Types of Q&A Platform的直接链接"></a></h3>
-<!-- --><p>There are numerous examples of Q&A platform in both open source and SaaS formats.</p>
-<!-- --><p>Open source Q&A platforms opens source code to the public, and users can modify and distribute it. It can be customized to meet specific needs and can be more affordable. Closed source Q&A platforms have proprietary source code and are owned by a particular company or organization. Here are some of the most popular Q&A platforms:</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p><a href="https://www.quora.com/" target="_blank" rel="noopener noreferrer">Quora</a> - Quora is one of the most popular Q&A platforms, with millions of users from around the world. It covers a wide range of topics, from general knowledge questions to more specific ones like technical issues or medical advice.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://stackexchange.com/" target="_blank" rel="noopener noreferrer">Stack Exchange</a> - Stack Exchange is a network of Q&A sites, with each site dedicated to a specific topic. For example, Stack Overflow is dedicated to programming-related questions, while Server Fault is focused on server-related questions.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://www.reddit.com/r/AMA/" target="_blank" rel="noopener noreferrer">Reddit AMA</a> - Reddit AMA (Ask Me Anything) is a popular Q&A format where users can ask questions of people with interesting or unusual experiences. Celebrities, politicians, and experts in various fields often participate in AMAs.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-we-love-qa-platform">Why We Love Q&A Platform<!-- --><a href="#why-we-love-qa-platform" class="hash-link" aria-label="Why We Love Q&A Platform的直接链接" title="Why We Love Q&A Platform的直接链接"></a></h2>
-<!-- --><p>Q&A platforms have become increasingly popular over the years . Not only they provide a valuable resource for people who want to learn about a topic or get help with a problem, but also you can always contribute to a question of your expertise, and connect with other like-minded individuals.</p>
-<!-- --><p>Here are some practical use cases of Q&A platforms:</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="individuals">Individuals<!-- --><a href="#individuals" class="hash-link" aria-label="Individuals的直接链接" title="Individuals的直接链接"></a></h3>
-<!-- --><ol>
-<!-- --><li>Solve a problem or issue that you're facing</li>
-<!-- --><li>Learn more about a particular topic or subject</li>
-<!-- --><li>Find recommendations for products or services</li>
-<!-- --><li>Connect with other like-minded individuals</li>
-<!-- --></ol>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="businesses-and-organizations">Businesses and Organizations<!-- --><a href="#businesses-and-organizations" class="hash-link" aria-label="Businesses and Organizations的直接链接" title="Businesses and Organizations的直接链接"></a></h3>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Customer Support<!-- --><br>
-<!-- -->One of the most popular use cases for Q&A platforms is providing customer support. Many businesses use Q&A platforms to answer customer questions, troubleshoot issues, and provide support on a variety of products and services.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Knowledge Sharing<!-- --><br>
-<!-- -->Q&A platforms are also great for sharing knowledge and expertise. They can be used to ask and answer questions on a variety of topics, from technical questions to academic discussions. This can be especially valuable for individuals seeking information on specific topics or for businesses looking to share their expertise with a wider audience.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Employee Training<!-- --><br>
-<!-- -->Q&A platforms can also be used for employee training and development. They can be used to create a knowledge base for employees, allowing them to ask and answer questions about company policies, procedures, and best practices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Recruitment<!-- --><br>
-<!-- -->Q&A platforms can be a valuable tool for recruitment. They can be used to answer questions about job openings, company culture, and career opportunities, giving potential candidates a better understanding of the organization they may be joining.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Research<!-- --><br>
-<!-- -->Last but not least, Q&A platforms can also be used for research purposes. They can be used to ask and answer questions on a variety of topics, helping individuals and organizations gather information and insights on specific subjects.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="what-makes-a-great-qa-platform">What Makes a Great Q&A Platform<!-- --><a href="#what-makes-a-great-qa-platform" class="hash-link" aria-label="What Makes a Great Q&A Platform的直接链接" title="What Makes a Great Q&A Platform的直接链接"></a></h2>
-<!-- --><p>These are some key factors that not only makes a great Q&A platform for both question askers and answers, and find out how we apply them in <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">meta.answer</a>, a community built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="image" src="/zh-CN/assets/images/qaplatform1-a75eec5bef64ce851056e2ca428b630f.png" width="1078" height="684" class="img_dDce"></p>
-<!-- --><ul>
-<!-- --><li><strong>Expertise:</strong> A great Q&A platform should attract a wide range of experts who can provide knowledgeable and helpful answers. The platform should also make it easy for users to identify these experts and trust their responses.<!-- --></li>
-<!-- --><li><strong>Diversity:</strong> A great Q&A platform attracts a diverse group of users who have expertise and knowledge in different areas. This diversity of expertise can provide valuable insights and perspectives, and can help to foster a collaborative and supportive community.<!-- --></li>
-<!-- --><li><strong>Community:</strong> A great Q&A platform has an active and engaged community of users who are willing to share their knowledge and help others. The platform should encourage users to participate by providing incentives such as badges or points, and by creating a welcoming and supportive environment.<!-- --></li>
-<!-- --><li><strong>Easy of Use:</strong> A great Q&A platform should be easy to use and navigate. Users should be able to ask questions and find answers quickly and easily. The platform should also be responsive and work well on different devices.<!-- --></li>
-<!-- --><li><strong>Moderation:</strong> A great Q&A platform has effective moderation to ensure that users are following the rules and guidelines of the community. Moderation can help to prevent spam, trolling, and other negative behaviors that can detract from the quality of the platform.<!-- --></li>
-<!-- --></ul>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="build-a-qa-platform-in-3-steps">Build a Q&A Platform in 3 Steps<!-- --><a href="#build-a-qa-platform-in-3-steps" class="hash-link" aria-label="Build a Q&A Platform in 3 Steps的直接链接" title="Build a Q&A Platform in 3 Steps的直接链接"></a></h2>
-<!-- --><p>Follow the guide to build a basic Q&A platform, easy-peasy.</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Choose a Platform<!-- --><br>
-<!-- -->Choose a platform that aligns with your needs and budget. There are open-source Q&A platforms available that offer a good starting point (you know, <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a> is open-source). Alternatively, you can use a hosted platform.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Customize the Design<!-- --><br>
-<!-- -->Once you have chosen a platform, customize the design to match your branding and user interface requirements. Don’t forget to make the design responsive and optimized for different devices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Add Questions and Answers<!-- --><br>
-<!-- -->Create a few test questions and answers to give users an idea of what types of questions are appropriate and how to answer them. Encourage users to ask and answer questions, and here’s <!-- --><a href="https://meta.answer.dev/questions/D1L1/how-to-ask-a-good-question" target="_blank" rel="noopener noreferrer">a quick tip to kick-start a good question</a>. Later on, moderate the content to ensure quality and adherence to community guidelines.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="start-and-manage-qa-platform-with-answer">Start and Manage Q&A Platform with Answer<!-- --><a href="#start-and-manage-qa-platform-with-answer" class="hash-link" aria-label="Start and Manage Q&A Platform with Answer的直接链接" title="Start and Manage Q&A Platform with Answer的直接链接"></a></h2>
-<!-- --><p>Answer is knowledge-based community software, offering a smooth set-up for your Q&A platform. Its nature of open source lets you customize a Q&A platform for a big take-off. Take a glimpse at the <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Answer community</a> built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="img" src="/zh-CN/assets/images/qaplatform2-f86caaa34a34371abcf03f1259f73f06.png" width="1600" height="900" class="img_dDce"></p>
-<!-- --><p>No matter what your Q&A platform is about, it’s always great to collect valuable insights and perspectives, and keep up-to-date answers. We’ve also packed up these resources that help you kick-start a joyful Answer journey:</p>
-<!-- --><p>💻 <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>: Keep an eye on what we are up to lately on GitHub.
-📄<!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Documents</a>: Everything you need to build your Answer Community from zero to hero.
-🐞 <!-- --><a href="https://github.com/apache/incubator-answer/issues" target="_blank" rel="noopener noreferrer">Bug Report</a>: Hunt a bug? Simply report it for us to track efficiently.
-🚩<!-- --><a href="https://github.com/apache/incubator-answer/projects" target="_blank" rel="noopener noreferrer">Public Roadmap</a>: Feel free to drop a comment here and be a part of our roadmap!<!-- --></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="conclusion">Conclusion<!-- --><a href="#conclusion" class="hash-link" aria-label="Conclusion的直接链接" title="Conclusion的直接链接"></a></h2>
-<!-- --><p>We always have a question or an answer sometimes in our lives, so it is natural to have a Q&A platform. With <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a>, you and your team will be able to solve problems, participate in discussions, and contribute fresh ideas to keep your business growing.<!-- --></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>标签:<!-- --></b><ul class="tags_tSRq padding--none margin-le [...]
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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 loading="lazy" alt="Pin a Question in Answer" src="/zh-CN/assets/images/1.0.9release1-b10a9df59c50ef5d5c9f979408944d6d.gif" width="786" height="674" class="img_dDce"></p>
-<!-- --><p>Unlist a question to make it invisible for temporary modification, or further review. Admin can list question again in Admin>Contents>Questions.
-<!-- --><img loading="lazy" alt="Unlist a Question" src="/zh-CN/assets/images/1.0.9release2-9e2138d07f1e0af6b87a7a014349d08b.gif" width="800" height="510" class="img_dDce"></p>
-<!-- --><p>Pin and Unlist help to tailor a knowledge-based community of your own, while maintain and organize the knowledge system can be easy.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="bug-fixes--optimization">Bug Fixes & Optimization<!-- --><a href="#bug-fixes--optimization" class="hash-link" aria-label="Bug Fixes & Optimization的直接链接" title="Bug Fixes & Optimization的直接链接"></a></h2>
-<!-- --><p>We’ve also made some tweaks to fix the display issues of tags, comments form, and stubborn deleted questions. We’ve also removed context ambiguity with optimized translation.</p>
-<!-- --><p>We strongly recommend you to build and manage a Q&A platform <!-- --><a href="https://github.com/apache/incubator-answer/releases/tag/v1.0.9" target="_blank" rel="noopener noreferrer">Answer v1.0.9</a>. You are always welcome to contribute your ideas (feature requests, or hunt a but) in <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/</a>. So what will you pin first?<!-- --></p></div><footer class="row docusaurus [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/rss.xml b/zh-CN/blog/rss.xml
index 0523cf8f..f6d7bc38 100644
--- a/zh-CN/blog/rss.xml
+++ b/zh-CN/blog/rss.xml
@@ -4,10 +4,65 @@
<title>Apache Answer Blog</title>
<link>https://answer.apache.org/zh-CN/blog</link>
<description>Apache Answer Blog</description>
- <lastBuildDate>Thu, 25 Jan 2024 00:00:00 GMT</lastBuildDate>
+ <lastBuildDate>Fri, 26 Jan 2024 00:00:00 GMT</lastBuildDate>
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
<generator>https://github.com/jpmonette/feed</generator>
<language>zh-CN</language>
+ <item>
+ <title><![CDATA[How to Access Answer Using HTTPS]]></title>
+ <link>https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https</link>
+ <guid>https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https</guid>
+ <pubDate>Fri, 26 Jan 2024 00:00:00 GMT</pubDate>
+ <description><![CDATA[Got your Answer server up and running? Now, let's take it to the next level with HTTPS with the tutorials.]]></description>
+ <content:encoded><![CDATA[<div class="mb-4"><img loading="lazy" src="https://answer.apache.org/zh-CN/assets/images/2024-01-26-cover@4x-98b5a0c4083d0b68c192f8fd06548e1a.png" class="rounded img_dDce" width="1280px" height="720px"></div><blockquote>
+<!-- --><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_O1Gl" id="background">Background<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#background" class="hash-link" aria-label="Background的直接链接" title="Background的直接链接"></a></h2>
+<!-- --><p>When you already have a server, you may want to deploy Answer on it. After deploying Answer, you will realize that you can only access it using HTTP. However, you may want to access it using HTTPS. So how can you do that?</p>
+<!-- --><p>Some questions:</p>
+<!-- --><ul>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1G3/how-to-configure-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1G3/how-to-configure-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1wh/how-to-enable-ssl" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1wh/how-to-enable-ssl</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1XG2/how-to-deploy-answer-image-in-aws-in-docker-with-ssl-and-nginx</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D136/how-to-deploy-an-ssl-certificate-using-docker-and-how-to-access-it-without-using-a-port</a></li>
+<!-- --><li><a href="https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https" target="_blank" rel="noopener noreferrer">https://meta.answer.dev/questions/D1Oe/i-have-set-up-ssl-on-cloudflare-but-still-can-t-access-via-https</a></li>
+<!-- --><li>...</li>
+<!-- --></ul>
+<!-- --><p>I found that many people have this question. Deploying Answer is easy, but deploying it with HTTPS is a bit difficult. So I decided to write this article to help you deploy Answer with HTTPS.</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="easy-way">Easy way<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#easy-way" class="hash-link" aria-label="Easy way的直接链接" title="Easy way的直接链接"></a></h2>
+<!-- --><p>This blog aims to introduce the easiest way to deploy Answer with HTTPS. You can use <!-- --><a href="https://caddyserver.com/" target="_blank" rel="noopener noreferrer">Caddy</a> to deploy Answer with HTTPS. Caddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go. Of course, you can use other tools to deploy Answer with HTTPS, such as Nginx, etc.<!-- --></p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="preparation">Preparation<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#preparation" class="hash-link" aria-label="Preparation的直接链接" title="Preparation的直接链接"></a></h2>
+<!-- --><ol>
+<!-- --><li>
+<!-- --><p>You can follow the <!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/docs/installation">installation guide</a> to install Answer. After installing Answer, you can access it using HTTP. The default port for Answer is 9080. You can access it at <!-- --><a href="http://localhost:9080/" target="_blank" rel="noopener noreferrer">http://localhost:9080</a>. In the following steps, we will use 9080 as the default port for Answer.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>You need a domain that <!-- --><strong>DNS resolution is already configured to point to your server</strong>.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>In this blog we will use docker-compose to install Caddy. So we need docker and docker-compose. You can follow the <!-- --><a href="https://docs.docker.com/engine/install/" target="_blank" rel="noopener noreferrer">official guide</a> to install docker and docker-compose.<!-- --></p>
+<!-- --></li>
+<!-- --></ol>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="deploy">Deploy<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#deploy" class="hash-link" aria-label="Deploy的直接链接" title="Deploy的直接链接"></a></h2>
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-1">Step 1<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#step-1" class="hash-link" aria-label="Step 1的直接链接" title="Step 1的直接链接"></a></h3>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> caddy-docker</span><br></span [...]
+<!-- --><p>You can create a <!-- --><code>docker-compose.yml</code> file in the new directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">docker-compose.yml</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">version</span><span class="token punctuation" [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-2">Step 2<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#step-2" class="hash-link" aria-label="Step 2的直接链接" title="Step 2的直接链接"></a></h3>
+<!-- --><p>The <!-- --><code>Caddyfile</code> is the configuration file for Caddy. It is used to configure how Caddy should serve your site. This file will be mounted into the container at <!-- --><code>/etc/caddy/Caddyfile</code>.<!-- --></p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">vim</span><span class="token plain"> Caddyfile</span><br></span></co [...]
+<!-- --><p>Create <!-- --><code>Caddyfile</code> file in the same directory, and then add the following code:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="step-3">Step 3<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#step-3" class="hash-link" aria-label="Step 3的直接链接" title="Step 3的直接链接"></a></h3>
+<!-- --><p>Run the following command to start Caddy. Wait a few seconds, and then you can access Answer using HTTPS.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> up -d</span><br></sp [...]
+<!-- --><p>If you can't access it, you can check the logs of Caddy.</p>
+<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker-compose</span><span class="token plain"> logs</span><br></spa [...]
+<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="advanced">Advanced<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/01/26/deploy-answer-https#advanced" class="hash-link" aria-label="Advanced的直接链接" title="Advanced的直接链接"></a></h2>
+<!-- --><p>If you don't want to use <!-- --><code>network_mode: host</code> in <!-- --><code>docker-compose.yml</code>, you can put Answer and Caddy in the same docker compose. Then Caddy and Answer can use the same network. So you can configure Caddy like this:<!-- --></p>
+<!-- --><div class="language-text codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_P25_">Caddyfile</div><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">your.answer.domain {</span><br></span><span class="token-line" style="color:#393A3 [...]
+<!-- --><p>Of course, you can also install Caddy using other methods, such as using the binary file, etc. All in all, I wish you can follow this blog to deploy Answer with HTTPS successfully. If you have any questions, please feel free to leave a question on <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Meta</a>. We will try our best to help you.<!-- --></p>]]></content:encoded>
+ </item>
<item>
<title><![CDATA[First Contribution? Come to Answer.]]></title>
<link>https://answer.apache.org/zh-CN/blog/2024/01/25/first-contribution-come-to-answer</link>
@@ -1038,103 +1093,5 @@ Photo by <!-- --><a href="https://unsplash.com/@anniespratt?utm_source=unsplash&
<!-- --><p>After reading the post, you must be aware of the significance of knowledge retention for both individuals and businesses. Let Answer be your company so that you can kick-start building a smooth knowledge sharing process for everyone, and every scenario.</p>
<!-- --><p>Join <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">our community</a> where you can ask and get assistance easily, follow our social media for the latest updates and up-to-date tips and tricks, even better, become a contributor and ignite knowledge sharing for the world.<!-- --></p>]]></content:encoded>
</item>
- <item>
- <title><![CDATA[What is Q&A Platform and How to Use it]]></title>
- <link>https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it</link>
- <guid>https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it</guid>
- <pubDate>Fri, 12 May 2023 00:00:00 GMT</pubDate>
- <description><![CDATA[Learn Q&A platform, explore poplular Q&A platforms, and find out how to get the most out of it.]]></description>
- <content:encoded><![CDATA[<div class="mb-4"><img loading="lazy" src="https://answer.apache.org/zh-CN/assets/images/2023-05-12-cover@4x-2fdc6c379746eaa7f045582e04fc2801.png" class="rounded img_dDce" width="1280px" height="720px"></div><p>We all have question and need answer in this fast-paced world. Whether it's for work or personal purposes, having a reliable source of information can be crucial. That's where Q&A (Question and Answer) platforms come in.</p>
-<!-- --><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_O1Gl" id="what-is-qa-platform">What is Q&A Platform<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#what-is-qa-platform" class="hash-link" aria-label="What is Q&A Platform的直接链接" title="What is Q&A Platform的直接链接"></a></h2>
-<!-- --><p>A Q&A platform is a website or application where users can ask and answer questions on various topics with other users or experts.</p>
-<!-- --><p>In the late 1990s, a free online service called <!-- --><a href="https://www.ask.com/" target="_blank" rel="noopener noreferrer">Answer Point</a> provided by <!-- --><a href="https://en.wikipedia.org/wiki/Ask_Jeeves" target="_blank" rel="noopener noreferrer">Ask Jeeves</a>, was launched, allowing users to ask questions and with the help of other people, have them answered. It inspired the creation of later Q&A sites. The last archived version of the Ask Point was from late [...]
-<!-- --><p>It is designed to facilitate the exchange of information and knowledge centered around a specific topic or area of interest, such as programming, technology, health, or education. The community-driven approach to knowledge sharing enables users with expertise in different areas can provide helpful answers to others.</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="types-of-qa-platform">Types of Q&A Platform<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#types-of-qa-platform" class="hash-link" aria-label="Types of Q&A Platform的直接链接" title="Types of Q&A Platform的直接链接"></a></h3>
-<!-- --><p>There are numerous examples of Q&A platform in both open source and SaaS formats.</p>
-<!-- --><p>Open source Q&A platforms opens source code to the public, and users can modify and distribute it. It can be customized to meet specific needs and can be more affordable. Closed source Q&A platforms have proprietary source code and are owned by a particular company or organization. Here are some of the most popular Q&A platforms:</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p><a href="https://www.quora.com/" target="_blank" rel="noopener noreferrer">Quora</a> - Quora is one of the most popular Q&A platforms, with millions of users from around the world. It covers a wide range of topics, from general knowledge questions to more specific ones like technical issues or medical advice.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://stackexchange.com/" target="_blank" rel="noopener noreferrer">Stack Exchange</a> - Stack Exchange is a network of Q&A sites, with each site dedicated to a specific topic. For example, Stack Overflow is dedicated to programming-related questions, while Server Fault is focused on server-related questions.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p><a href="https://www.reddit.com/r/AMA/" target="_blank" rel="noopener noreferrer">Reddit AMA</a> - Reddit AMA (Ask Me Anything) is a popular Q&A format where users can ask questions of people with interesting or unusual experiences. Celebrities, politicians, and experts in various fields often participate in AMAs.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="why-we-love-qa-platform">Why We Love Q&A Platform<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#why-we-love-qa-platform" class="hash-link" aria-label="Why We Love Q&A Platform的直接链接" title="Why We Love Q&A Platform的直接链接"></a></h2>
-<!-- --><p>Q&A platforms have become increasingly popular over the years . Not only they provide a valuable resource for people who want to learn about a topic or get help with a problem, but also you can always contribute to a question of your expertise, and connect with other like-minded individuals.</p>
-<!-- --><p>Here are some practical use cases of Q&A platforms:</p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="individuals">Individuals<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#individuals" class="hash-link" aria-label="Individuals的直接链接" title="Individuals的直接链接"></a></h3>
-<!-- --><ol>
-<!-- --><li>Solve a problem or issue that you're facing</li>
-<!-- --><li>Learn more about a particular topic or subject</li>
-<!-- --><li>Find recommendations for products or services</li>
-<!-- --><li>Connect with other like-minded individuals</li>
-<!-- --></ol>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="businesses-and-organizations">Businesses and Organizations<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#businesses-and-organizations" class="hash-link" aria-label="Businesses and Organizations的直接链接" title="Businesses and Organizations的直接链接"></a></h3>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Customer Support<!-- --><br>
-<!-- -->One of the most popular use cases for Q&A platforms is providing customer support. Many businesses use Q&A platforms to answer customer questions, troubleshoot issues, and provide support on a variety of products and services.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Knowledge Sharing<!-- --><br>
-<!-- -->Q&A platforms are also great for sharing knowledge and expertise. They can be used to ask and answer questions on a variety of topics, from technical questions to academic discussions. This can be especially valuable for individuals seeking information on specific topics or for businesses looking to share their expertise with a wider audience.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Employee Training<!-- --><br>
-<!-- -->Q&A platforms can also be used for employee training and development. They can be used to create a knowledge base for employees, allowing them to ask and answer questions about company policies, procedures, and best practices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Recruitment<!-- --><br>
-<!-- -->Q&A platforms can be a valuable tool for recruitment. They can be used to answer questions about job openings, company culture, and career opportunities, giving potential candidates a better understanding of the organization they may be joining.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Research<!-- --><br>
-<!-- -->Last but not least, Q&A platforms can also be used for research purposes. They can be used to ask and answer questions on a variety of topics, helping individuals and organizations gather information and insights on specific subjects.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="what-makes-a-great-qa-platform">What Makes a Great Q&A Platform<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#what-makes-a-great-qa-platform" class="hash-link" aria-label="What Makes a Great Q&A Platform的直接链接" title="What Makes a Great Q&A Platform的直接链接"></a></h2>
-<!-- --><p>These are some key factors that not only makes a great Q&A platform for both question askers and answers, and find out how we apply them in <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">meta.answer</a>, a community built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="image" src="https://answer.apache.org/zh-CN/assets/images/qaplatform1-a75eec5bef64ce851056e2ca428b630f.png" width="1078" height="684" class="img_dDce"></p>
-<!-- --><ul>
-<!-- --><li><strong>Expertise:</strong> A great Q&A platform should attract a wide range of experts who can provide knowledgeable and helpful answers. The platform should also make it easy for users to identify these experts and trust their responses.<!-- --></li>
-<!-- --><li><strong>Diversity:</strong> A great Q&A platform attracts a diverse group of users who have expertise and knowledge in different areas. This diversity of expertise can provide valuable insights and perspectives, and can help to foster a collaborative and supportive community.<!-- --></li>
-<!-- --><li><strong>Community:</strong> A great Q&A platform has an active and engaged community of users who are willing to share their knowledge and help others. The platform should encourage users to participate by providing incentives such as badges or points, and by creating a welcoming and supportive environment.<!-- --></li>
-<!-- --><li><strong>Easy of Use:</strong> A great Q&A platform should be easy to use and navigate. Users should be able to ask questions and find answers quickly and easily. The platform should also be responsive and work well on different devices.<!-- --></li>
-<!-- --><li><strong>Moderation:</strong> A great Q&A platform has effective moderation to ensure that users are following the rules and guidelines of the community. Moderation can help to prevent spam, trolling, and other negative behaviors that can detract from the quality of the platform.<!-- --></li>
-<!-- --></ul>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="build-a-qa-platform-in-3-steps">Build a Q&A Platform in 3 Steps<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#build-a-qa-platform-in-3-steps" class="hash-link" aria-label="Build a Q&A Platform in 3 Steps的直接链接" title="Build a Q&A Platform in 3 Steps的直接链接"></a></h2>
-<!-- --><p>Follow the guide to build a basic Q&A platform, easy-peasy.</p>
-<!-- --><ol>
-<!-- --><li>
-<!-- --><p>Choose a Platform<!-- --><br>
-<!-- -->Choose a platform that aligns with your needs and budget. There are open-source Q&A platforms available that offer a good starting point (you know, <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a> is open-source). Alternatively, you can use a hosted platform.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Customize the Design<!-- --><br>
-<!-- -->Once you have chosen a platform, customize the design to match your branding and user interface requirements. Don’t forget to make the design responsive and optimized for different devices.<!-- --></p>
-<!-- --></li>
-<!-- --><li>
-<!-- --><p>Add Questions and Answers<!-- --><br>
-<!-- -->Create a few test questions and answers to give users an idea of what types of questions are appropriate and how to answer them. Encourage users to ask and answer questions, and here’s <!-- --><a href="https://meta.answer.dev/questions/D1L1/how-to-ask-a-good-question" target="_blank" rel="noopener noreferrer">a quick tip to kick-start a good question</a>. Later on, moderate the content to ensure quality and adherence to community guidelines.<!-- --></p>
-<!-- --></li>
-<!-- --></ol>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="start-and-manage-qa-platform-with-answer">Start and Manage Q&A Platform with Answer<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#start-and-manage-qa-platform-with-answer" class="hash-link" aria-label="Start and Manage Q&A Platform with Answer的直接链接" title="Start and Manage Q&A Platform with Answer的直接链接"></a></h2>
-<!-- --><p>Answer is knowledge-based community software, offering a smooth set-up for your Q&A platform. Its nature of open source lets you customize a Q&A platform for a big take-off. Take a glimpse at the <!-- --><a href="https://meta.answer.dev/" target="_blank" rel="noopener noreferrer">Answer community</a> built with Answer.<!-- --></p>
-<!-- --><p><img loading="lazy" alt="img" src="https://answer.apache.org/zh-CN/assets/images/qaplatform2-f86caaa34a34371abcf03f1259f73f06.png" width="1600" height="900" class="img_dDce"></p>
-<!-- --><p>No matter what your Q&A platform is about, it’s always great to collect valuable insights and perspectives, and keep up-to-date answers. We’ve also packed up these resources that help you kick-start a joyful Answer journey:</p>
-<!-- --><p>💻 <!-- --><a href="https://github.com/apache/incubator-answer" target="_blank" rel="noopener noreferrer">GitHub Repo</a>: Keep an eye on what we are up to lately on GitHub.
-📄<!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Documents</a>: Everything you need to build your Answer Community from zero to hero.
-🐞 <!-- --><a href="https://github.com/apache/incubator-answer/issues" target="_blank" rel="noopener noreferrer">Bug Report</a>: Hunt a bug? Simply report it for us to track efficiently.
-🚩<!-- --><a href="https://github.com/apache/incubator-answer/projects" target="_blank" rel="noopener noreferrer">Public Roadmap</a>: Feel free to drop a comment here and be a part of our roadmap!<!-- --></p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="conclusion">Conclusion<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it#conclusion" class="hash-link" aria-label="Conclusion的直接链接" title="Conclusion的直接链接"></a></h2>
-<!-- --><p>We always have a question or an answer sometimes in our lives, so it is natural to have a Q&A platform. With <!-- --><a href="https://answer.apache.org/" target="_blank" rel="noopener noreferrer">Answer</a>, you and your team will be able to solve problems, participate in discussions, and contribute fresh ideas to keep your business growing.<!-- --></p>]]></content:encoded>
- <category>tutorials</category>
- </item>
</channel>
</rss>
\ No newline at end of file
diff --git a/zh-CN/blog/tags/index.html b/zh-CN/blog/tags/index.html
index 43471b61..b18e4f4b 100644
--- a/zh-CN/blog/tags/index.html
+++ b/zh-CN/blog/tags/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/blog/tags/tutorials/index.html b/zh-CN/blog/tags/tutorials/index.html
index 2fcb5ee4..ef15c1fc 100644
--- a/zh-CN/blog/tags/tutorials/index.html
+++ b/zh-CN/blog/tags/tutorials/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/community/about/index.html b/zh-CN/community/about/index.html
index aa3a0534..c1d7ea5b 100644
--- a/zh-CN/community/about/index.html
+++ b/zh-CN/community/about/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -34,6 +34,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/blog-post/index.html b/zh-CN/community/blog-post/index.html
index 1150b293..7ee3b2cf 100644
--- a/zh-CN/community/blog-post/index.html
+++ b/zh-CN/community/blog-post/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -96,6 +96,6 @@
<!-- --></li>
<!-- --></ol>
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="others">Others<!-- --><a href="#others" class="hash-link" aria-label="Others的直接链接" title="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/zh-CN/community/contributing/index.html b/zh-CN/community/contributing/index.html
index 469a44b8..197ad66f 100644
--- a/zh-CN/community/contributing/index.html
+++ b/zh-CN/community/contributing/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -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://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" v [...]
+<!-- --><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://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" v [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/development/index.html b/zh-CN/community/development/index.html
index 1d6e405a..b1e080a6 100644
--- a/zh-CN/community/development/index.html
+++ b/zh-CN/community/development/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -51,6 +51,6 @@
<!-- --><div class="language-shell codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-shell codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#393A34"><span class="token plain">go run cmd/answer/main.go run -C ./answer-data</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" [...]
<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" 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_j9gX alert alert--info details_aT4p" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_jiAH"><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_j9gX alert alert--info details_aT4p" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_jiAH"><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/community/how-to-release/index.html b/zh-CN/community/how-to-release/index.html
index a894f54f..6bbd7f25 100644
--- a/zh-CN/community/how-to-release/index.html
+++ b/zh-CN/community/how-to-release/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -74,6 +74,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="note">Note<!-- --><a href="#note" class="hash-link" aria-label="Note的直接链接" title="Note的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="rc-tag">RC Tag<!-- --><a href="#rc-tag" class="hash-link" aria-label="RC Tag的直接链接" title="RC Tag的直接链接"></a></h3>
<!-- --><p>When you want to release a new version, you need to create a new RC tag in the git repository firstly. The tag name should be <!-- --><code>v{release-version}-rc{rc-version}</code>. This has the advantage of avoiding tag deletion.<!-- --></p>
-<!-- --><p>For example, if you want to release version <!-- --><code>1.2.0</code>, you need to create a tag named <!-- --><code>v1.2.0-RC1</code>. RC means Release Candidate. After the release vote is passed, you need to create a new tag named <!-- --><code>v1.2.0</code> based on the RC tag. However, if the vote is not passed, you can fix the problems and create a new RC tag such as <!-- --><code>v1.2.0-RC2</code> and start a new vote.<!-- --></p></div><footer class="theme-doc-footer doc [...]
+<!-- --><p>For example, if you want to release version <!-- --><code>1.2.0</code>, you need to create a tag named <!-- --><code>v1.2.0-RC1</code>. RC means Release Candidate. After the release vote is passed, you need to create a new tag named <!-- --><code>v1.2.0</code> based on the RC tag. However, if the vote is not passed, you can fix the problems and create a new RC tag such as <!-- --><code>v1.2.0-RC2</code> and start a new vote.<!-- --></p></div><footer class="theme-doc-footer doc [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/index.html b/zh-CN/community/index.html
index cef559bf..14d86aaf 100644
--- a/zh-CN/community/index.html
+++ b/zh-CN/community/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -30,6 +30,6 @@
<!-- --><p>If you don't find what you're looking for, please use the form below to submit your request. We'll try and get back to you as soon as possible.</p>
<!-- -->
<!-- -->
-<!-- --><div><div id="reactHubspotForm1" style="display:none"></div><div class="text-center"><div role="status" class="spinner-border text-secondary"><span class="visually-hidden">加载中...<!-- --></span></div></div></div></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="currentColo [...]
+<!-- --><div><div id="reactHubspotForm1" style="display:none"></div><div class="text-center"><div role="status" class="spinner-border text-secondary"><span class="visually-hidden">加载中...<!-- --></span></div></div></div></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="currentColo [...]
</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 d80c2a81..b00d46b5 100644
--- a/zh-CN/community/issues/index.html
+++ b/zh-CN/community/issues/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -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_O1Gl" id="issues-labels">Issues labels<!-- --><a href="#issues-labels" class="hash-link" aria-label="Issues labels的直接链接" title="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>feature</code></td><td>Indicates new feature requests</td></tr><tr><td><code>enha [...]
+<!-- --><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>feature</code></td><td>Indicates new feature requests</td></tr><tr><td><code>enha [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/plugins/index.html b/zh-CN/community/plugins/index.html
index baea32d4..404713b7 100644
--- a/zh-CN/community/plugins/index.html
+++ b/zh-CN/community/plugins/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -94,6 +94,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 keyword" style="color:#00009f">import</span><span class="token plain"> PluginKit </span><span class="token keyword" style="color:#00009f">fro [...]
<!-- --><ol start="4">
<!-- --><li><strong>Publish plugin</strong>: after the function is developed, copy your entire plug-in folder to <!-- --><a href="https://github.com/apache/incubator-answer-plugins" target="_blank" rel="noopener noreferrer">incubator-answer-plugins</a>, <!-- --><strong>and add <!-- --><code>go.mod</code> <!-- --><code>[plugin_name].go</code> <!-- --><code>go.sum</code> these three files<!-- --></strong>; then initiate a PR and wait for review by relevant personnel; if incubator-answer I [...]
-<!-- --></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/community/plugins/plugin-config/index.html b/zh-CN/community/plugins/plugin-config/index.html
index 14266857..f1025299 100644
--- a/zh-CN/community/plugins/plugin-config/index.html
+++ b/zh-CN/community/plugins/plugin-config/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -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/community/plugins/plugin-translation/index.html b/zh-CN/community/plugins/plugin-translation/index.html
index 1043a069..16e00403 100644
--- a/zh-CN/community/plugins/plugin-translation/index.html
+++ b/zh-CN/community/plugins/plugin-translation/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -45,6 +45,6 @@ The following is an example of how to make your plugin support multiple language
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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/community/pull-request/index.html b/zh-CN/community/pull-request/index.html
index 007c0070..d44354d9 100644
--- a/zh-CN/community/pull-request/index.html
+++ b/zh-CN/community/pull-request/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -58,6 +58,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="contributor-license-agreement-cla">Contributor license agreement (CLA)<!-- --><a href="#contributor-license-agreement-cla" class="hash-link" aria-label="Contributor license agreement (CLA)的直接链接" title="Contributor license agreement (CLA)的直接链接"></a></h2>
<!-- --><p>Apache CLA short for Apache Contributor License Agreement, the purpose of this agreement is to clearly define the terms under which intellectual property has been contributed to the ASF and thereby allow us to defend the project should there be a legal dispute regarding the software at some future time. A signed ICLA is required to be on file before an individual is given commit rights to any ASF project.</p>
<!-- --><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></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="noopene [...]
+<!-- --><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></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="noopene [...]
</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 c250d45a..9daea228 100644
--- a/zh-CN/community/security/index.html
+++ b/zh-CN/community/security/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -20,6 +20,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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_O1Gl" 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>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://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/translation/index.html b/zh-CN/community/translation/index.html
index b24e84ae..c541a3e3 100644
--- a/zh-CN/community/translation/index.html
+++ b/zh-CN/community/translation/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -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://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/contact/index.html b/zh-CN/contact/index.html
index 1b11d4c2..675d07da 100644
--- a/zh-CN/contact/index.html
+++ b/zh-CN/contact/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/docs/api/index.html b/zh-CN/docs/api/index.html
index 4f8a8438..c8f121ea 100644
--- a/zh-CN/docs/api/index.html
+++ b/zh-CN/docs/api/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -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_O1Gl" 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>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 d497ceeb..652fcd0e 100644
--- a/zh-CN/docs/command-line/index.html
+++ b/zh-CN/docs/command-line/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -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 76c804d6..79664b44 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
<!-- --><div class="theme-admonition theme-admonition-tip admonition_lS9W alert alert--success"><div class="admonitionHeading_Vz3D"><span class="admonitionIcon_dSPU"><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_O1Gl" 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="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 punctuation" style="color:#393A34">:</span><span class="token plain"></ [...]
+<!-- --><div class="language-yaml codeBlockContainer_APcc theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><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 punctuation" style="color:#393A34">:</span><span class="token plain"></ [...]
</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 2b88fec2..d78a3628 100644
--- a/zh-CN/docs/contributing/notice/index.html
+++ b/zh-CN/docs/contributing/notice/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -100,6 +100,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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 2c633be7..c6ad5f0f 100644
--- a/zh-CN/docs/database/index.html
+++ b/zh-CN/docs/database/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -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/env/index.html b/zh-CN/docs/env/index.html
index 8695f1c7..4421d0bc 100644
--- a/zh-CN/docs/env/index.html
+++ b/zh-CN/docs/env/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -40,6 +40,6 @@
<!-- --><ul>
<!-- --><li>LOG_LEVEL:日志级别,支持 [<!-- --><code>DEBUG</code> <!-- --><code>INFO</code> <!-- --><code>WARN</code> <!-- --><code>ERROR</code>]<!-- --></li>
<!-- --><li>LOG_PATH:日志存储位置。</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 fa8247e0..8987b8f2 100644
--- a/zh-CN/docs/faq/index.html
+++ b/zh-CN/docs/faq/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -25,6 +25,6 @@
<!-- --><li>用户可以在自己的 <!-- --><code>设置 -> 界面</code> 中切换语言。<!-- --></li>
<!-- --></ul>
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" 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 00b35b2a..b7513077 100644
--- a/zh-CN/docs/flags/index.html
+++ b/zh-CN/docs/flags/index.html
@@ -10,13 +10,13 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
<!-- --><blockquote>
<!-- --><p>用户可以通过举报来举报非法内容。</p>
-<!-- --></blockquote></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 [...]
+<!-- --></blockquote></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 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/docs/index.html b/zh-CN/docs/index.html
index ba5b69de..d28687ee 100644
--- a/zh-CN/docs/index.html
+++ b/zh-CN/docs/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -30,6 +30,6 @@
<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="前后端分离">前后端分离<!-- --><a href="#前后端分离" class="hash-link" aria-label="前后端分离的直接链接" title="前后端分离的直接链接"></a></h3>
<!-- --><p>Answer 是一个单体库,包含前端和后端。</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="用户界面预览">用户界面预览<!-- --><a href="#用户界面预览" class="hash-link" aria-label="用户界面预览的直接链接" title="用户界面预览的直接链接"></a></h2>
-<!-- --><p><img loading="lazy" alt="screenshot" src="/zh-CN/assets/images/screenshot-74a5a4658de6431b7c42f3bd3de532f9.png" width="1078" height="684" class="img_dDce"></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" cla [...]
+<!-- --><p><img loading="lazy" alt="screenshot" src="/zh-CN/assets/images/screenshot-74a5a4658de6431b7c42f3bd3de532f9.png" width="1078" height="684" class="img_dDce"></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" cla [...]
</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 ab8c91b1..72c2d704 100644
--- a/zh-CN/docs/installation/index.html
+++ b/zh-CN/docs/installation/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -38,6 +38,6 @@
<!-- --><p><img loading="lazy" alt="install-site-info" src="/zh-CN/assets/images/install-site-info-dd11f933444917d34aa90ae18166d00b.png" width="2400" height="1818" class="img_dDce"></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" id="第五步完成">第五步:完成<!-- --><a href="#第五步完成" class="hash-link" aria-label="第五步:完成的直接链接" title="第五步:完成的直接链接"></a></h3>
<!-- --><p>🎉 恭喜你,单击“完成”按钮即可开始 Answer 之旅!
-<!-- --><img loading="lazy" alt="install-complete" src="/zh-CN/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_dDce"></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 4 [...]
+<!-- --><img loading="lazy" alt="install-complete" src="/zh-CN/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_dDce"></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 4 [...]
</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 eb4dd5bc..69c65637 100644
--- a/zh-CN/docs/moderation/index.html
+++ b/zh-CN/docs/moderation/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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/docs/permission/index.html b/zh-CN/docs/permission/index.html
index d75b2089..60b0d5ca 100644
--- a/zh-CN/docs/permission/index.html
+++ b/zh-CN/docs/permission/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -19,6 +19,6 @@
<!-- --><p>数字表示所需的最低声望等级。社区中有三个选项可用。你可以在管理设置中更改此设置。</p>
<!-- --><table><thead><tr><th>权限</th><th>级别 1</th><th>级别 2(默认)</th><th>级别 3</th></tr></thead><tbody><tr><td>描述</td><td>个人团队、群组所需的较低声望。</td><td>创业社区所需的较低声望。</td><td>成熟社区所需的较高声望。</td></tr><tr><td>提问</td><td>1</td><td>1</td><td>1</td></tr><tr><td>写回答</td><td>1</td><td>1</td><td>1</td></tr><tr><td>写评论</td><td>1</td><td>1</td><td>1</td></tr><tr><td>举报</td><td>1</td><td>1</td><td>1</td></tr><tr><td>点赞评论</td><td>1</td><td>1</td><td>1</td></tr><tr><td>同时发布超过 2 个链接</td><td>1</td><td>10</td><td>10 [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="用户角色">用户角色<!-- --><a href="#用户角色" class="hash-link" aria-label="用户角色的直接链接" title="用户角色的直接链接"></a></h2>
-<!-- --><table><thead><tr><th>权限 \ 角色</th><th>用户</th><th>版主</th><th>管理员</th></tr></thead><tbody><tr><td>默认无特殊访问权限</td><td>✓</td><td>✓</td><td>✓</td></tr><tr><td>除站点管理界面外可以访问所有帖子</td><td>-</td><td>✓</td><td>✓</td></tr><tr><td>具有访问站点的全部权限</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"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel= [...]
+<!-- --><table><thead><tr><th>权限 \ 角色</th><th>用户</th><th>版主</th><th>管理员</th></tr></thead><tbody><tr><td>默认无特殊访问权限</td><td>✓</td><td>✓</td><td>✓</td></tr><tr><td>除站点管理界面外可以访问所有帖子</td><td>-</td><td>✓</td><td>✓</td></tr><tr><td>具有访问站点的全部权限</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"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel= [...]
</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 44125b16..9a1f0352 100644
--- a/zh-CN/docs/plugins/index.html
+++ b/zh-CN/docs/plugins/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -68,6 +68,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="develop-and-contributing">Develop and contributing<!-- --><a href="#develop-and-contributing" class="hash-link" aria-label="Develop and contributing的直接链接" title="Develop and contributing的直接链接"></a></h2>
<!-- --><p>Please refer to <!-- --><a href="/zh-CN/community/plugins">the documentation</a> for details.<!-- --></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="design--principle">Design & principle<!-- --><a href="#design--principle" class="hash-link" aria-label="Design & principle的直接链接" title="Design & principle的直接链接"></a></h2>
-<!-- --><p>Since Golang is a static language, there is no friendly plugin mechanism. So instead of a dynamic approach, we use recompilation for deployment. Please refer to <!-- --><a href="/zh-CN/blog/2023/07/22/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://crowdin.com/project/answer-website/zh-CN" target="_bl [...]
+<!-- --><p>Since Golang is a static language, there is no friendly plugin mechanism. So instead of a dynamic approach, we use recompilation for deployment. Please refer to <!-- --><a href="/zh-CN/blog/2023/07/22/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://crowdin.com/project/answer-website/zh-CN" target="_bl [...]
</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 d1dcdb7b..0ba9d687 100644
--- a/zh-CN/docs/questions/index.html
+++ b/zh-CN/docs/questions/index.html
@@ -10,11 +10,11 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
+<!-- --><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/reputation/index.html b/zh-CN/docs/reputation/index.html
index d926f0af..3ca7b122 100644
--- a/zh-CN/docs/reputation/index.html
+++ b/zh-CN/docs/reputation/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -26,6 +26,6 @@
<!-- --><li>如果某项操作导致用户一天内获得 <!-- --><code>> 200</code> 声望,那么任何后续增加声望的操作都不会增加用户的声望。<!-- --></li>
<!-- --><li>接受回答获得的声望不受 200 声望限制。</li>
<!-- --><li>自己接受的回答不会获得声望。</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 7a8f519a..792adc75 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
+<!-- --><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 f42f4e8a..1a13d8f2 100644
--- a/zh-CN/docs/settings/index.html
+++ b/zh-CN/docs/settings/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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/docs/tags/index.html b/zh-CN/docs/tags/index.html
index 7bb9aade..19e61684 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.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
+<!-- --><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 6a7e8ddf..8cb954b0 100644
--- a/zh-CN/docs/upgrade/index.html
+++ b/zh-CN/docs/upgrade/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -25,6 +25,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_lS9W alert alert--success"><div class="admonitionHeading_Vz3D"><span class="admonitionIcon_dSPU"><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_lS9W alert alert--success"><div class="admonitionHeading_Vz3D"><span class="admonitionIcon_dSPU"><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 a3fbea62..331f70df 100644
--- a/zh-CN/docs/users/index.html
+++ b/zh-CN/docs/users/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
@@ -89,6 +89,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_O1Gl" id="settings">Settings<!-- --><a href="#settings" class="hash-link" aria-label="Settings的直接链接" title="Settings的直接链接"></a></h2>
<!-- --><p>TODO</p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_O1Gl" 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/img/blog/2024-01-26-cover@2x.png b/zh-CN/img/blog/2024-01-26-cover@2x.png
new file mode 100644
index 00000000..c83682ca
Binary files /dev/null and b/zh-CN/img/blog/2024-01-26-cover@2x.png differ
diff --git a/zh-CN/img/blog/2024-01-26-cover@4x.png b/zh-CN/img/blog/2024-01-26-cover@4x.png
new file mode 100644
index 00000000..54868f14
Binary files /dev/null and b/zh-CN/img/blog/2024-01-26-cover@4x.png differ
diff --git a/zh-CN/index.html b/zh-CN/index.html
index e8a26de8..082a9bb4 100644
--- a/zh-CN/index.html
+++ b/zh-CN/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/plugins/index.html b/zh-CN/plugins/index.html
index ffaaaf0b..4e88f1a5 100644
--- a/zh-CN/plugins/index.html
+++ b/zh-CN/plugins/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/search/index.html b/zh-CN/search/index.html
index b24adad2..dc929265 100644
--- a/zh-CN/search/index.html
+++ b/zh-CN/search/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.5967b50a.css">
-<script src="/zh-CN/assets/js/runtime~main.cdcd9199.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.d642980b.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c84225d3.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.2cb62c0d.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 [...]
diff --git a/zh-CN/sitemap.xml b/zh-CN/sitemap.xml
index 9839f6f8..d30f189a 100644
--- a/zh-CN/sitemap.xml
+++ b/zh-CN/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://answer.apache.org/zh-CN/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://answer.apache.org/zh-CN/blog</loc><c [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://answer.apache.org/zh-CN/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://answer.apache.org/zh-CN/blog</loc><c [...]
\ No newline at end of file