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/06/05 09:02:15 UTC
(incubator-answer-website) branch dist-pages updated: deploy: 6f586b6505cb02ac0b3d305f6d0e47162def2cc3
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 790781d6 deploy: 6f586b6505cb02ac0b3d305f6d0e47162def2cc3
790781d6 is described below
commit 790781d677f21575d90cfabe8af32d0b5a814b1a
Author: LinkinStars <Li...@users.noreply.github.com>
AuthorDate: Wed Jun 5 09:02:11 2024 +0000
deploy: 6f586b6505cb02ac0b3d305f6d0e47162def2cc3
---
404.html | 4 +-
...5-cover@2x-8538278d8f428e2cfb43f7a647b8a53c.png | Bin 0 -> 13174 bytes
...5-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png | Bin 0 -> 28584 bytes
.../Fen-be222c5dc54ebdec295445bff4cc658e.jpeg | Bin 0 -> 100932 bytes
.../Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg | Bin 0 -> 75251 bytes
...n Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg | Bin 0 -> 90109 bytes
...iscussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg | Bin 0 -> 149619 bytes
assets/js/0480b142.074feb5e.js | 1 +
assets/js/0480b142.1c73ccfa.js | 1 -
assets/js/1620c6a0.3a251583.js | 1 +
assets/js/1620c6a0.e47cb384.js | 1 -
assets/js/1a8837ce.0243bef4.js | 1 +
assets/js/1a8837ce.eea8d34e.js | 1 -
.../{221cde73.8c2e9b8d.js => 221cde73.b42764c2.js} | 2 +-
assets/js/2a510483.07f17acb.js | 2 +
...ICENSE.txt => 2a510483.07f17acb.js.LICENSE.txt} | 0
assets/js/2a510483.2f9fee30.js | 2 -
.../js/2c22be1c.df88b389.js | 4 +-
...ICENSE.txt => 2c22be1c.df88b389.js.LICENSE.txt} | 0
.../{3728301f.0b081ccb.js => 3728301f.0d756856.js} | 2 +-
assets/js/39daf450.5afcdb0f.js | 1 +
.../js/3a3fadac.d6152a1c.js | 2 +-
.../{3a86a8c5.d4fd4bb3.js => 3a86a8c5.22f58366.js} | 4 +-
...ICENSE.txt => 3a86a8c5.22f58366.js.LICENSE.txt} | 0
assets/js/415707e9.b2fe50f9.js | 1 -
assets/js/415707e9.f10739bf.js | 1 +
assets/js/51168d66.1f3b693d.js | 1 -
assets/js/51168d66.94e2b81f.js | 1 +
assets/js/54f44165.7be0e9ea.js | 1 -
assets/js/54f44165.c9ba8752.js | 1 +
assets/js/5771c448.0c571c9c.js | 1 -
.../js/5771c448.ca16abc2.js | 2 +-
assets/js/5ac42693.72380d6f.js | 1 +
assets/js/5ac42693.91182050.js | 1 -
.../js/5b5f4945.63edb453.js | 2 +-
assets/js/5b5f4945.95659f7f.js | 1 -
assets/js/5e1512ae.e3314666.js | 1 +
assets/js/68eaa3f5.76860a07.js | 1 +
assets/js/68eaa3f5.83b6b9ad.js | 1 -
assets/js/692c6f9f.5191ce31.js | 1 -
assets/js/692c6f9f.ecefa8fa.js | 1 +
assets/js/6f494215.904f9af2.js | 1 -
assets/js/6f494215.f03fece2.js | 1 +
assets/js/6fd9b8bb.08b8e437.js | 1 +
assets/js/6fd9b8bb.49ed2d7e.js | 1 -
assets/js/72a4391e.3b1ccb44.js | 1 -
assets/js/72a4391e.bb58077c.js | 1 +
assets/js/7cc65417.b3923275.js | 1 +
assets/js/7cc65417.cf358777.js | 1 -
assets/js/87260873.74827c34.js | 1 +
assets/js/87260873.eb499745.js | 1 -
assets/js/872d4ab4.a033befc.js | 1 -
assets/js/872d4ab4.ddad2547.js | 1 +
.../{8eb4e46b.d74f2fb9.js => 8eb4e46b.fbe17335.js} | 2 +-
assets/js/977e6cb2.d08a5692.js | 1 -
assets/js/977e6cb2.d80d5ebd.js | 1 +
assets/js/a09c2993.4e126598.js | 1 +
assets/js/a09c2993.5c76b2db.js | 1 -
assets/js/a4adfb7f.d884a7c6.js | 1 +
assets/js/a4adfb7f.ee8c86a4.js | 1 -
assets/js/a5eff934.200bf26b.js | 1 +
assets/js/a5eff934.acec527d.js | 1 -
.../js/a7021a0a.8611da69.js | 2 +-
.../{a72448b0.e3b78898.js => a72448b0.8f7e3df3.js} | 4 +-
...ICENSE.txt => a72448b0.8f7e3df3.js.LICENSE.txt} | 0
assets/js/a98c1148.27481b4e.js | 1 +
assets/js/a98c1148.e8060be3.js | 1 -
assets/js/b2b494f3.334fa0f9.js | 1 -
assets/js/b2b494f3.c7106894.js | 1 +
.../{b2b675dd.5432a65a.js => b2b675dd.91b665c1.js} | 2 +-
assets/js/b2f554cd.7a1161c8.js | 1 -
assets/js/b2f554cd.b9c25ead.js | 1 +
assets/js/bb350c59.0c226c1b.js | 1 -
assets/js/bb350c59.73ffac57.js | 1 +
assets/js/c1cb8fca.747a331d.js | 1 -
assets/js/c1cb8fca.a8d4056a.js | 1 +
assets/js/d7ef3cd8.40d28d86.js | 1 +
assets/js/d7ef3cd8.8d52f014.js | 1 -
.../{d980d228.51ef410f.js => d980d228.87768975.js} | 2 +-
assets/js/d9d6ff59.fbe16f33.js | 1 +
assets/js/da6654f2.53858aef.js | 1 +
assets/js/da6654f2.bb5d5b33.js | 1 -
assets/js/dc8b965f.1e45d441.js | 1 -
.../js/dc8b965f.88fd3211.js | 2 +-
assets/js/e438ab2a.27fef727.js | 1 +
assets/js/e438ab2a.cb7f2e3a.js | 1 -
assets/js/e4ae456e.312ee1f5.js | 1 -
assets/js/e4ae456e.af5c75e7.js | 1 +
assets/js/eafd45de.3ac84592.js | 1 -
assets/js/eafd45de.8ac9f71f.js | 1 +
assets/js/f493f8eb.2e86875f.js | 1 -
assets/js/f493f8eb.c645580c.js | 1 +
assets/js/f8a2828b.2458066d.js | 1 +
assets/js/f8a2828b.86976028.js | 1 -
assets/js/fb24484d.01bb8a89.js | 1 -
assets/js/fb24484d.464b601a.js | 1 +
assets/js/main.b2041361.js | 2 +
...js.LICENSE.txt => main.b2041361.js.LICENSE.txt} | 0
assets/js/main.ca208ee9.js | 2 -
assets/js/runtime~main.7012a68c.js | 1 -
assets/js/runtime~main.fdee1cff.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 | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
blog/2024/02/20/answer-1.2.5-is-ready/index.html | 4 +-
.../index.html | 4 +-
.../what-is-new-in-apache-answer-1.3.0/index.html | 4 +-
blog/2024/05/09/answer-ospp-2024/index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 62 +++++++++++++
blog/archive/index.html | 6 +-
blog/atom.xml | 96 ++++++++++++---------
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 | 6 +-
blog/rss.xml | 88 +++++++++++--------
blog/tags/index.html | 4 +-
blog/tags/tutorials/index.html | 4 +-
community/blog-post/index.html | 6 +-
community/contributing/index.html | 6 +-
community/development/index.html | 6 +-
community/how-to-release/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/support/index.html | 6 +-
community/team/index.html | 6 +-
community/translation/index.html | 6 +-
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 +-
download/index.html | 4 +-
img/blog/2024-06-05-cover@2x.png | Bin 0 -> 13174 bytes
img/blog/2024-06-05-cover@4x.png | Bin 0 -> 28584 bytes
index.html | 4 +-
plugins/index.html | 4 +-
search/index.html | 4 +-
sitemap.xml | 2 +-
zh-CN/404.html | 4 +-
...5-cover@2x-8538278d8f428e2cfb43f7a647b8a53c.png | Bin 0 -> 13174 bytes
...5-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png | Bin 0 -> 28584 bytes
.../Fen-be222c5dc54ebdec295445bff4cc658e.jpeg | Bin 0 -> 100932 bytes
.../Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg | Bin 0 -> 75251 bytes
...n Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg | Bin 0 -> 90109 bytes
...iscussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg | Bin 0 -> 149619 bytes
zh-CN/assets/js/0bbd7524.3dfee656.js | 1 +
zh-CN/assets/js/0bbd7524.45c832ca.js | 1 -
zh-CN/assets/js/1620c6a0.3f84af01.js | 1 -
zh-CN/assets/js/1620c6a0.cc468bf9.js | 1 +
zh-CN/assets/js/1a8837ce.22b42407.js | 1 +
zh-CN/assets/js/1a8837ce.77934c3b.js | 1 -
.../{221cde73.63177b04.js => 221cde73.d619c2b7.js} | 2 +-
zh-CN/assets/js/2281c4fb.5087a5c5.js | 1 +
zh-CN/assets/js/283536cd.3b1ac58c.js | 1 +
zh-CN/assets/js/283536cd.f7fb2ca2.js | 1 -
zh-CN/assets/js/2a510483.4428c532.js | 2 -
zh-CN/assets/js/2a510483.c747a8ec.js | 2 +
...ICENSE.txt => 2a510483.c747a8ec.js.LICENSE.txt} | 0
.../assets/js/2c22be1c.df88b389.js | 4 +-
...ICENSE.txt => 2c22be1c.df88b389.js.LICENSE.txt} | 0
.../{3728301f.0b081ccb.js => 3728301f.0d756856.js} | 2 +-
.../assets/js/3a3fadac.d6152a1c.js | 2 +-
.../{3a86a8c5.d4fd4bb3.js => 3a86a8c5.22f58366.js} | 4 +-
...ICENSE.txt => 3a86a8c5.22f58366.js.LICENSE.txt} | 0
zh-CN/assets/js/415707e9.329bb904.js | 1 +
zh-CN/assets/js/415707e9.d4b88250.js | 1 -
zh-CN/assets/js/4958df33.856689cf.js | 1 -
zh-CN/assets/js/4958df33.d6d406f7.js | 1 +
zh-CN/assets/js/50bc71d4.1b1d8b07.js | 1 +
zh-CN/assets/js/50bc71d4.b7aa7540.js | 1 -
zh-CN/assets/js/565f0463.6b641be9.js | 1 -
zh-CN/assets/js/565f0463.a27e894f.js | 1 +
zh-CN/assets/js/5771c448.63ac1726.js | 1 +
.../{589616dd.e131b422.js => 589616dd.f130c372.js} | 2 +-
zh-CN/assets/js/5ac42693.9466352c.js | 1 +
zh-CN/assets/js/5ac42693.d384e073.js | 1 -
zh-CN/assets/js/5b5253e0.88f299e9.js | 1 +
zh-CN/assets/js/5b5253e0.e93e08e9.js | 1 -
zh-CN/assets/js/5b5f4945.a5ea54cb.js | 1 +
zh-CN/assets/js/692c6f9f.45c7c9da.js | 1 -
zh-CN/assets/js/692c6f9f.57309860.js | 1 +
zh-CN/assets/js/6b66dba1.7eee8830.js | 1 +
zh-CN/assets/js/6b66dba1.a20f05e6.js | 1 -
zh-CN/assets/js/6f494215.a6d9a117.js | 1 -
zh-CN/assets/js/6f494215.c0dad68d.js | 1 +
zh-CN/assets/js/6fd9b8bb.6eabcb76.js | 1 +
zh-CN/assets/js/6fd9b8bb.aca598c8.js | 1 -
zh-CN/assets/js/719ef308.33dabdb8.js | 1 +
zh-CN/assets/js/719ef308.70fc1cda.js | 1 -
zh-CN/assets/js/731fb1ee.a30f1ddb.js | 1 -
zh-CN/assets/js/731fb1ee.b23b852d.js | 1 +
zh-CN/assets/js/7cc65417.32fae55a.js | 1 +
zh-CN/assets/js/7cc65417.89913d54.js | 1 -
zh-CN/assets/js/7f220a89.65236ca4.js | 1 +
zh-CN/assets/js/7f220a89.d230fda6.js | 1 -
zh-CN/assets/js/87260873.74827c34.js | 1 +
zh-CN/assets/js/87260873.eb499745.js | 1 -
zh-CN/assets/js/872d4ab4.1f8bb6ac.js | 1 -
zh-CN/assets/js/872d4ab4.2b7ec917.js | 1 +
.../{8d998be3.79f61ed9.js => 8d998be3.91aae439.js} | 2 +-
zh-CN/assets/js/a4adfb7f.cb14a2ed.js | 1 +
zh-CN/assets/js/a4adfb7f.f8e35ecf.js | 1 -
zh-CN/assets/js/a5b0ceb9.06c3e522.js | 1 -
zh-CN/assets/js/a5b0ceb9.c5e76d9f.js | 1 +
.../assets/js/a7021a0a.8611da69.js | 2 +-
.../{a72448b0.e3b78898.js => a72448b0.8f7e3df3.js} | 4 +-
...ICENSE.txt => a72448b0.8f7e3df3.js.LICENSE.txt} | 0
zh-CN/assets/js/ab89225c.dffd0bd8.js | 1 +
zh-CN/assets/js/bb350c59.2009ada5.js | 1 -
zh-CN/assets/js/bb350c59.b85e469a.js | 1 +
zh-CN/assets/js/c8c000df.647ffca2.js | 1 -
zh-CN/assets/js/c8c000df.b0132235.js | 1 +
zh-CN/assets/js/ca3ced4f.0d7b3bed.js | 1 +
zh-CN/assets/js/ca3ced4f.661d1a8a.js | 1 -
zh-CN/assets/js/cb37bc33.03d41043.js | 1 -
zh-CN/assets/js/cb37bc33.e635a15a.js | 1 +
zh-CN/assets/js/d7ef3cd8.4498c4cf.js | 1 +
zh-CN/assets/js/d7ef3cd8.611859e9.js | 1 -
.../{d980d228.51ef410f.js => d980d228.87768975.js} | 2 +-
zh-CN/assets/js/d9d6ff59.fbe16f33.js | 1 +
zh-CN/assets/js/da6654f2.9e1c94f0.js | 1 -
zh-CN/assets/js/da6654f2.f9fcb1fd.js | 1 +
zh-CN/assets/js/dc8b965f.f003c3e1.js | 1 +
zh-CN/assets/js/e4ae456e.0081f404.js | 1 +
zh-CN/assets/js/e4ae456e.6efbca73.js | 1 -
zh-CN/assets/js/eafd45de.107e562e.js | 1 +
zh-CN/assets/js/eafd45de.6e3b842d.js | 1 -
zh-CN/assets/js/f8a2828b.10d7a272.js | 1 -
zh-CN/assets/js/f8a2828b.1b450664.js | 1 +
zh-CN/assets/js/fb24484d.62d15f40.js | 1 -
zh-CN/assets/js/fb24484d.b2817622.js | 1 +
zh-CN/assets/js/main.1a45c88f.js | 2 +
...js.LICENSE.txt => main.1a45c88f.js.LICENSE.txt} | 0
zh-CN/assets/js/main.23ebcbbd.js | 2 -
zh-CN/assets/js/runtime~main.c1eaa3c5.js | 1 +
zh-CN/assets/js/runtime~main.ca3a2888.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 | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../2024/02/20/answer-1.2.5-is-ready/index.html | 4 +-
.../index.html | 4 +-
.../what-is-new-in-apache-answer-1.3.0/index.html | 4 +-
zh-CN/blog/2024/05/09/answer-ospp-2024/index.html | 4 +-
.../index.html | 4 +-
.../index.html | 4 +-
.../index.html | 54 ++++++++++++
zh-CN/blog/archive/index.html | 6 +-
zh-CN/blog/atom.xml | 88 ++++++++++---------
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 | 6 +-
zh-CN/blog/rss.xml | 80 +++++++++--------
zh-CN/blog/tags/index.html | 4 +-
zh-CN/blog/tags/tutorials/index.html | 4 +-
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/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/support/index.html | 6 +-
zh-CN/community/team/index.html | 6 +-
zh-CN/community/translation/index.html | 6 +-
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/download/index.html | 4 +-
zh-CN/img/blog/2024-06-05-cover@2x.png | Bin 0 -> 13174 bytes
zh-CN/img/blog/2024-06-05-cover@4x.png | Bin 0 -> 28584 bytes
zh-CN/index.html | 4 +-
zh-CN/plugins/index.html | 4 +-
zh-CN/search/index.html | 4 +-
zh-CN/sitemap.xml | 2 +-
367 files changed, 830 insertions(+), 660 deletions(-)
diff --git a/404.html b/404.html
index 7459db81..8d7da526 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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-06-05-cover@2x-8538278d8f428e2cfb43f7a647b8a53c.png b/assets/images/2024-06-05-cover@2x-8538278d8f428e2cfb43f7a647b8a53c.png
new file mode 100644
index 00000000..6aebabec
Binary files /dev/null and b/assets/images/2024-06-05-cover@2x-8538278d8f428e2cfb43f7a647b8a53c.png differ
diff --git a/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png b/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png
new file mode 100644
index 00000000..e967adfa
Binary files /dev/null and b/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png differ
diff --git a/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg b/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg
new file mode 100644
index 00000000..883df2f2
Binary files /dev/null and b/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg differ
diff --git a/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg b/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg
new file mode 100644
index 00000000..e20677df
Binary files /dev/null and b/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg differ
diff --git a/assets/images/Nadia Open Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg b/assets/images/Nadia Open Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg
new file mode 100644
index 00000000..d5287b10
Binary files /dev/null and b/assets/images/Nadia Open Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg differ
diff --git a/assets/images/Open Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg b/assets/images/Open Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg
new file mode 100644
index 00000000..af3583d9
Binary files /dev/null and b/assets/images/Open Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg differ
diff --git a/assets/js/0480b142.074feb5e.js b/assets/js/0480b142.074feb5e.js
new file mode 100644
index 00000000..1349f9fd
--- /dev/null
+++ b/assets/js/0480b142.074feb5e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[836],{85218:(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-websit [...]
\ No newline at end of file
diff --git a/assets/js/0480b142.1c73ccfa.js b/assets/js/0480b142.1c73ccfa.js
deleted file mode 100644
index 02adec3c..00000000
--- a/assets/js/0480b142.1c73ccfa.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[836],{85218:(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-websit [...]
\ No newline at end of file
diff --git a/assets/js/1620c6a0.3a251583.js b/assets/js/1620c6a0.3a251583.js
new file mode 100644
index 00000000..d51e0298
--- /dev/null
+++ b/assets/js/1620c6a0.3a251583.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4945],{88084:(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.e47cb384.js b/assets/js/1620c6a0.e47cb384.js
deleted file mode 100644
index fba0bb9b..00000000
--- a/assets/js/1620c6a0.e47cb384.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4945],{88084:(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.0243bef4.js b/assets/js/1a8837ce.0243bef4.js
new file mode 100644
index 00000000..5638178a
--- /dev/null
+++ b/assets/js/1a8837ce.0243bef4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{95221:(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/communi [...]
\ No newline at end of file
diff --git a/assets/js/1a8837ce.eea8d34e.js b/assets/js/1a8837ce.eea8d34e.js
deleted file mode 100644
index 1b50bbcf..00000000
--- a/assets/js/1a8837ce.eea8d34e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{95221:(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/communi [...]
\ No newline at end of file
diff --git a/assets/js/221cde73.8c2e9b8d.js b/assets/js/221cde73.b42764c2.js
similarity index 82%
rename from assets/js/221cde73.8c2e9b8d.js
rename to assets/js/221cde73.b42764c2.js
index 8342b34f..045e1948 100644
--- a/assets/js/221cde73.8c2e9b8d.js
+++ b/assets/js/221cde73.b42764c2.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7187],{9072:(a,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>m});var e=o(43010),i=o(90887);const c=JSON.parse('[{"rC":[{"name":"chrisdutz","avatar":"https://avatars.githubusercontent.com/u/651105","github":"https://github.com/chrisdutz","role":"Mentor"},{"name":"fenbox","avatar":"https://avatars.githubusercontent.com/u/360618","github":"https://github.co [...]
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7187],{9072:(a,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>m});var e=o(43010),i=o(90887);const c=JSON.parse('[{"rC":[{"name":"chrisdutz","avatar":"https://avatars.githubusercontent.com/u/651105","github":"https://github.com/chrisdutz","role":"Mentor"},{"name":"fenbox","avatar":"https://avatars.githubusercontent.com/u/360618","github":"https://github.co [...]
\ No newline at end of file
diff --git a/assets/js/2a510483.07f17acb.js b/assets/js/2a510483.07f17acb.js
new file mode 100644
index 00000000..78fdc0d4
--- /dev/null
+++ b/assets/js/2a510483.07f17acb.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2a510483.07f17acb.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{82762:(e,t,n)=>{"use strict";n.r(t),n.d(t,{assets:()=>y,contentTitle:()=>m,default:()=>g,frontMatter:()=>f,metadata:()=>b,toc:()=>x});var r=n(43010),s=n(90887),i=n(82829),o=n.n(i),a=n(16567),l=n(84875),c=n.n(l),u=n(85170),d=n(53437);const h=u.forwardRef((({bsPrefix:e,variant:t,animation:n="border",size:s,as:i="div",className:o,...a},l)=>{const u=`${e=(0,d.vE)(e,"spinner")}-${n}`;return(0,r.jsx)(i,{ref:l,...a,className:c( [...]
\ No newline at end of file
diff --git a/assets/js/2a510483.2f9fee30.js.LICENSE.txt b/assets/js/2a510483.07f17acb.js.LICENSE.txt
similarity index 100%
rename from assets/js/2a510483.2f9fee30.js.LICENSE.txt
rename to assets/js/2a510483.07f17acb.js.LICENSE.txt
diff --git a/assets/js/2a510483.2f9fee30.js b/assets/js/2a510483.2f9fee30.js
deleted file mode 100644
index 23ddf825..00000000
--- a/assets/js/2a510483.2f9fee30.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see 2a510483.2f9fee30.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{82762:(e,t,r)=>{"use strict";r.r(t),r.d(t,{assets:()=>y,contentTitle:()=>m,default:()=>g,frontMatter:()=>f,metadata:()=>b,toc:()=>x});var n=r(43010),s=r(90887),i=r(82829),o=r.n(i),a=r(16567),l=r(84875),c=r.n(l),u=r(85170),d=r(53437);const h=u.forwardRef((({bsPrefix:e,variant:t,animation:r="border",size:s,as:i="div",className:o,...a},l)=>{const u=`${e=(0,d.vE)(e,"spinner")}-${r}`;return(0,n.jsx)(i,{ref:l,...a,className:c( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2c22be1c.15584ab8.js b/assets/js/2c22be1c.df88b389.js
similarity index 89%
rename from zh-CN/assets/js/2c22be1c.15584ab8.js
rename to assets/js/2c22be1c.df88b389.js
index d3c19741..029d5a0e 100644
--- a/zh-CN/assets/js/2c22be1c.15584ab8.js
+++ b/assets/js/2c22be1c.df88b389.js
@@ -1,2 +1,2 @@
-/*! For license information please see 2c22be1c.15584ab8.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(16567);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
+/*! For license information please see 2c22be1c.df88b389.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(16567);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.15584ab8.js.LICENSE.txt b/assets/js/2c22be1c.df88b389.js.LICENSE.txt
similarity index 100%
rename from assets/js/2c22be1c.15584ab8.js.LICENSE.txt
rename to assets/js/2c22be1c.df88b389.js.LICENSE.txt
diff --git a/assets/js/3728301f.0b081ccb.js b/assets/js/3728301f.0d756856.js
similarity index 72%
rename from assets/js/3728301f.0b081ccb.js
rename to assets/js/3728301f.0d756856.js
index ceeae91d..65bc5f45 100644
--- a/assets/js/3728301f.0b081ccb.js
+++ b/assets/js/3728301f.0d756856.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1558],{41036:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":25,"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
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1558],{41036:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":26,"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/39daf450.5afcdb0f.js b/assets/js/39daf450.5afcdb0f.js
new file mode 100644
index 00000000..98e8afbf
--- /dev/null
+++ b/assets/js/39daf450.5afcdb0f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9213],{89581:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>h});var a=o(43010),t=o(90887);const i={title:"Apache Answer Joined the First ALC Hangzhou Meetup",authors:["Anne"],category:"Community",featured:!1,image:"2024-06-05-cover@4x.png",description:"ALC Hangzhou offers a valuable platform for projects to learn, share, and exchange new ideas."},s=voi [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3a3fadac.2650e1dd.js b/assets/js/3a3fadac.d6152a1c.js
similarity index 75%
rename from zh-CN/assets/js/3a3fadac.2650e1dd.js
rename to assets/js/3a3fadac.d6152a1c.js
index 4d493b86..aed1b117 100644
--- a/zh-CN/assets/js/3a3fadac.2650e1dd.js
+++ b/assets/js/3a3fadac.d6152a1c.js
@@ -1 +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:r,onClick:o,title:d=""}=e;return(0,a.jsx)("i",{className:(0,c.Z)(s,`bi-${t}`,n),style:{...r&&{fontSize:r}},onClick:o,onKeyDown:o,title:d})}},12306:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>J});var c=t(85170),a=t(43810),n=t(96933),r=t(71712),o=t(45924),d=t(89388),i=t(89835),l=t(56852) [...]
\ No newline at end of file
+(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:r,onClick:o,title:d=""}=e;return(0,a.jsx)("i",{className:(0,c.Z)(s,`bi-${t}`,n),style:{...r&&{fontSize:r}},onClick:o,onKeyDown:o,title:d})}},12306:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>J});var c=t(85170),a=t(43810),n=t(96933),r=t(71712),o=t(45924),d=t(89388),i=t(89835),l=t(56852) [...]
\ No newline at end of file
diff --git a/assets/js/3a86a8c5.d4fd4bb3.js b/assets/js/3a86a8c5.22f58366.js
similarity index 86%
rename from assets/js/3a86a8c5.d4fd4bb3.js
rename to assets/js/3a86a8c5.22f58366.js
index fbfe1712..4bba7ca4 100644
--- a/assets/js/3a86a8c5.d4fd4bb3.js
+++ b/assets/js/3a86a8c5.22f58366.js
@@ -1,2 +1,2 @@
-/*! For license information please see 3a86a8c5.d4fd4bb3.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2355],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>g});var a=t(85170),c=t(45924),r=t(16567);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.22f58366.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2355],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>g});var a=t(85170),c=t(45924),r=t(16567);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.d4fd4bb3.js.LICENSE.txt b/assets/js/3a86a8c5.22f58366.js.LICENSE.txt
similarity index 100%
rename from assets/js/3a86a8c5.d4fd4bb3.js.LICENSE.txt
rename to assets/js/3a86a8c5.22f58366.js.LICENSE.txt
diff --git a/assets/js/415707e9.b2fe50f9.js b/assets/js/415707e9.b2fe50f9.js
deleted file mode 100644
index f633f7fd..00000000
--- a/assets/js/415707e9.b2fe50f9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{7603:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>c,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var i=n(43010),r=n(90887);const t={slug:"/users"},d="Users",l={id:"guides/users",title:"Users",description:"User status",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/docs/users",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/incubator-answer- [...]
\ No newline at end of file
diff --git a/assets/js/415707e9.f10739bf.js b/assets/js/415707e9.f10739bf.js
new file mode 100644
index 00000000..69659dc1
--- /dev/null
+++ b/assets/js/415707e9.f10739bf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{7603:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>c,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var i=n(43010),r=n(90887);const t={slug:"/users"},d="Users",l={id:"guides/users",title:"Users",description:"User status",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/docs/users",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/incubator-answer- [...]
\ No newline at end of file
diff --git a/assets/js/51168d66.1f3b693d.js b/assets/js/51168d66.1f3b693d.js
deleted file mode 100644
index 84fdb859..00000000
--- a/assets/js/51168d66.1f3b693d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8414],{1421:(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,ed [...]
\ No newline at end of file
diff --git a/assets/js/51168d66.94e2b81f.js b/assets/js/51168d66.94e2b81f.js
new file mode 100644
index 00000000..f5149756
--- /dev/null
+++ b/assets/js/51168d66.94e2b81f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8414],{1421:(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,ed [...]
\ No newline at end of file
diff --git a/assets/js/54f44165.7be0e9ea.js b/assets/js/54f44165.7be0e9ea.js
deleted file mode 100644
index 46e927d6..00000000
--- a/assets/js/54f44165.7be0e9ea.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[152],{89477:(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(71981),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",perma [...]
\ No newline at end of file
diff --git a/assets/js/54f44165.c9ba8752.js b/assets/js/54f44165.c9ba8752.js
new file mode 100644
index 00000000..d4f66df7
--- /dev/null
+++ b/assets/js/54f44165.c9ba8752.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[152],{89477:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var a=n(43010),s=n(90887),r=n(71981),l=n(71401);const i={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",perma [...]
\ No newline at end of file
diff --git a/assets/js/5771c448.0c571c9c.js b/assets/js/5771c448.0c571c9c.js
deleted file mode 100644
index 190a9251..00000000
--- a/assets/js/5771c448.0c571c9c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{76564:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>u});var n=i(43010),s=i(90887);const r={slug:"/security"},c="Security",o={id:"security",title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. If you find a security bug, with that in mind, please do not file [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5771c448.01aba942.js b/assets/js/5771c448.ca16abc2.js
similarity index 86%
rename from zh-CN/assets/js/5771c448.01aba942.js
rename to assets/js/5771c448.ca16abc2.js
index 0ff59751..4fac04df 100644
--- a/zh-CN/assets/js/5771c448.01aba942.js
+++ b/assets/js/5771c448.ca16abc2.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{76564:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var n=i(43010),s=i(90887);const r={slug:"/security"},c="Security",o={id:"security",title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. If you find a security bug, with that in mind, please do not file [...]
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{76564:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>u});var n=i(43010),s=i(90887);const r={slug:"/security"},c="Security",o={id:"security",title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. If you find a security bug, with that in mind, please do not file [...]
\ No newline at end of file
diff --git a/assets/js/5ac42693.72380d6f.js b/assets/js/5ac42693.72380d6f.js
new file mode 100644
index 00000000..6f96a598
--- /dev/null
+++ b/assets/js/5ac42693.72380d6f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{75821:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var a=s(43010),n=s(90887);const r={slug:"/how-to-release"},i="How to Release",o={id:"contributing/how-to-release",title:"How to Release",description:"All Apache projects are required to follow the Apache Release Policy. This guide is intended to help you understand the policy and how to re [...]
\ No newline at end of file
diff --git a/assets/js/5ac42693.91182050.js b/assets/js/5ac42693.91182050.js
deleted file mode 100644
index 157d0c39..00000000
--- a/assets/js/5ac42693.91182050.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{75821:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var a=s(43010),n=s(90887);const r={slug:"/how-to-release"},i="How to Release",o={id:"contributing/how-to-release",title:"How to Release",description:"All Apache projects are required to follow the Apache Release Policy. This guide is intended to help you understand the policy and how to re [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5b5f4945.ca970644.js b/assets/js/5b5f4945.63edb453.js
similarity index 61%
rename from zh-CN/assets/js/5b5f4945.ca970644.js
rename to assets/js/5b5f4945.63edb453.js
index 37b6130b..d39df9dd 100644
--- a/zh-CN/assets/js/5b5f4945.ca970644.js
+++ b/assets/js/5b5f4945.63edb453.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{13769:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var n=e(43010),i=e(90887);const a={slug:"/questions"},o="Questions",r={id:"guides/questions",title:"Questions",description:"Question status",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/zh-CN/docs/questions",draft:!1,unlisted:!1,editUrl:"http [...]
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{13769:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>u,toc:()=>c});var n=e(43010),i=e(90887);const a={slug:"/questions"},o="Questions",u={id:"guides/questions",title:"Questions",description:"Question status",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/docs/questions",draft:!1,unlisted:!1,editUrl:"https://gi [...]
\ No newline at end of file
diff --git a/assets/js/5b5f4945.95659f7f.js b/assets/js/5b5f4945.95659f7f.js
deleted file mode 100644
index 7c7e16f7..00000000
--- a/assets/js/5b5f4945.95659f7f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{13769:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>u,toc:()=>d});var n=e(43010),i=e(90887);const a={slug:"/questions"},o="Questions",u={id:"guides/questions",title:"Questions",description:"Question status",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/docs/questions",draft:!1,unlisted:!1,editUrl:"https://gi [...]
\ No newline at end of file
diff --git a/assets/js/5e1512ae.e3314666.js b/assets/js/5e1512ae.e3314666.js
new file mode 100644
index 00000000..0dbcf7c6
--- /dev/null
+++ b/assets/js/5e1512ae.e3314666.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8501],{46021:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>h});var a=o(43010),t=o(90887);const i={title:"Apache Answer Joined the First ALC Hangzhou Meetup",authors:["Anne"],category:"Community",featured:!1,image:"2024-06-05-cover@4x.png",description:"ALC Hangzhou offers a valuable platform for projects to learn, share, and exchange new ideas."},s=voi [...]
\ No newline at end of file
diff --git a/assets/js/68eaa3f5.76860a07.js b/assets/js/68eaa3f5.76860a07.js
new file mode 100644
index 00000000..4a306b49
--- /dev/null
+++ b/assets/js/68eaa3f5.76860a07.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3362],{83895:(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(71981),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.83b6b9ad.js b/assets/js/68eaa3f5.83b6b9ad.js
deleted file mode 100644
index 5173b6ce..00000000
--- a/assets/js/68eaa3f5.83b6b9ad.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3362],{83895:(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(71981),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.5191ce31.js b/assets/js/692c6f9f.5191ce31.js
deleted file mode 100644
index 2487aa3a..00000000
--- a/assets/js/692c6f9f.5191ce31.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3483],{56842:(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/692c6f9f.ecefa8fa.js b/assets/js/692c6f9f.ecefa8fa.js
new file mode 100644
index 00000000..2b9ed078
--- /dev/null
+++ b/assets/js/692c6f9f.ecefa8fa.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3483],{56842:(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/6f494215.904f9af2.js b/assets/js/6f494215.904f9af2.js
deleted file mode 100644
index 22e92d3a..00000000
--- a/assets/js/6f494215.904f9af2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{93928:(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/assets/js/6f494215.f03fece2.js b/assets/js/6f494215.f03fece2.js
new file mode 100644
index 00000000..f10c03d7
--- /dev/null
+++ b/assets/js/6f494215.f03fece2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{93928:(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/assets/js/6fd9b8bb.08b8e437.js b/assets/js/6fd9b8bb.08b8e437.js
new file mode 100644
index 00000000..37c597ae
--- /dev/null
+++ b/assets/js/6fd9b8bb.08b8e437.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{43875:(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.49ed2d7e.js b/assets/js/6fd9b8bb.49ed2d7e.js
deleted file mode 100644
index ba07a7ce..00000000
--- a/assets/js/6fd9b8bb.49ed2d7e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{43875:(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/72a4391e.3b1ccb44.js b/assets/js/72a4391e.3b1ccb44.js
deleted file mode 100644
index 6adec15d..00000000
--- a/assets/js/72a4391e.3b1ccb44.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5527],{14986:(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.bb58077c.js b/assets/js/72a4391e.bb58077c.js
new file mode 100644
index 00000000..ad80c229
--- /dev/null
+++ b/assets/js/72a4391e.bb58077c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5527],{14986:(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/7cc65417.b3923275.js b/assets/js/7cc65417.b3923275.js
new file mode 100644
index 00000000..54035c52
--- /dev/null
+++ b/assets/js/7cc65417.b3923275.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9842],{56056:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>A,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var s=a(43010),r=a(90887);const t={title:"Install and Run Apache Answer on Ubuntu VPS",category:"Tutorials",featured:!1,image:"2024-06-03-cover@4x.png",description:"This article provides a guide for how to install and run Apache Answer on Ubuntu VPS."},i=void 0,c={permalink:"/blog/2024/06/ [...]
\ No newline at end of file
diff --git a/assets/js/7cc65417.cf358777.js b/assets/js/7cc65417.cf358777.js
deleted file mode 100644
index 3bdc69f0..00000000
--- a/assets/js/7cc65417.cf358777.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9842],{56056:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>A,contentTitle:()=>t,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var s=a(43010),r=a(90887);const i={title:"Install and Run Apache Answer on Ubuntu VPS",category:"Tutorials",featured:!1,image:"2024-06-03-cover@4x.png",description:"This article provides a guide for how to install and run Apache Answer on Ubuntu VPS."},t=void 0,c={permalink:"/blog/2024/06/ [...]
\ No newline at end of file
diff --git a/assets/js/87260873.74827c34.js b/assets/js/87260873.74827c34.js
new file mode 100644
index 00000000..bc3926d3
--- /dev/null
+++ b/assets/js/87260873.74827c34.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6424],{19893:e=>{e.exports=JSON.parse('[{"label":"Community","permalink":"/blog/category/community","count":12},{"label":"Tutorials","permalink":"/blog/category/tutorials","count":6},{"label":"Release","permalink":"/blog/category/release","count":7},{"label":"Tech","permalink":"/blog/category/tech","count":2},{"label":"Best Practice","permalink":"/blog/category/best-practice","count":2},{"label":"Insights","permali [...]
\ No newline at end of file
diff --git a/assets/js/87260873.eb499745.js b/assets/js/87260873.eb499745.js
deleted file mode 100644
index 380a975b..00000000
--- a/assets/js/87260873.eb499745.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6424],{19893:e=>{e.exports=JSON.parse('[{"label":"Tutorials","permalink":"/blog/category/tutorials","count":6},{"label":"Release","permalink":"/blog/category/release","count":7},{"label":"Community","permalink":"/blog/category/community","count":11},{"label":"Tech","permalink":"/blog/category/tech","count":2},{"label":"Best Practice","permalink":"/blog/category/best-practice","count":2},{"label":"Insights","permali [...]
\ No newline at end of file
diff --git a/assets/js/872d4ab4.a033befc.js b/assets/js/872d4ab4.a033befc.js
deleted file mode 100644
index 4c2366df..00000000
--- a/assets/js/872d4ab4.a033befc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{68581:(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.ddad2547.js b/assets/js/872d4ab4.ddad2547.js
new file mode 100644
index 00000000..3d7c4201
--- /dev/null
+++ b/assets/js/872d4ab4.ddad2547.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{68581:(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.d74f2fb9.js b/assets/js/8eb4e46b.fbe17335.js
similarity index 76%
rename from assets/js/8eb4e46b.d74f2fb9.js
rename to assets/js/8eb4e46b.fbe17335.js
index 79f7b469..d01ade6e 100644
--- a/assets/js/8eb4e46b.d74f2fb9.js
+++ b/assets/js/8eb4e46b.fbe17335.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":30,"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":31,"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/977e6cb2.d08a5692.js b/assets/js/977e6cb2.d08a5692.js
deleted file mode 100644
index 6becb6c8..00000000
--- a/assets/js/977e6cb2.d08a5692.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3412],{16110:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var n=s(43010),i=s(90887);const r={slug:"/settings"},o="Settings",a={id:"guides/settings",title:"Settings",description:"TODO",source:"@site/docs/guides/settings.md",sourceDirName:"guides",slug:"/settings",permalink:"/docs/settings",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/in [...]
\ No newline at end of file
diff --git a/assets/js/977e6cb2.d80d5ebd.js b/assets/js/977e6cb2.d80d5ebd.js
new file mode 100644
index 00000000..97bddd30
--- /dev/null
+++ b/assets/js/977e6cb2.d80d5ebd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3412],{16110:(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/in [...]
\ No newline at end of file
diff --git a/assets/js/a09c2993.4e126598.js b/assets/js/a09c2993.4e126598.js
new file mode 100644
index 00000000..441c53af
--- /dev/null
+++ b/assets/js/a09c2993.4e126598.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4128],{90449:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=t(43010),s=t(90887);const r={slug:"/"},o="Introduction",a={id:"introduction",title:"Introduction",description:"Apache Answer helps you to build a community between your users and your team. It's a place where you can share your knowledge and help your users to solve their problems.", [...]
\ No newline at end of file
diff --git a/assets/js/a09c2993.5c76b2db.js b/assets/js/a09c2993.5c76b2db.js
deleted file mode 100644
index 5a5fdc09..00000000
--- a/assets/js/a09c2993.5c76b2db.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4128],{90449:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=t(43010),s=t(90887);const r={slug:"/"},o="Introduction",a={id:"introduction",title:"Introduction",description:"Apache Answer helps you to build a community between your users and your team. It's a place where you can share your knowledge and help your users to solve their problems.", [...]
\ No newline at end of file
diff --git a/assets/js/a4adfb7f.d884a7c6.js b/assets/js/a4adfb7f.d884a7c6.js
new file mode 100644
index 00000000..52e48e9d
--- /dev/null
+++ b/assets/js/a4adfb7f.d884a7c6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1508],{65457:(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/assets/js/a4adfb7f.ee8c86a4.js b/assets/js/a4adfb7f.ee8c86a4.js
deleted file mode 100644
index 0b91d96b..00000000
--- a/assets/js/a4adfb7f.ee8c86a4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1508],{65457:(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.200bf26b.js b/assets/js/a5eff934.200bf26b.js
new file mode 100644
index 00000000..f78cc1e7
--- /dev/null
+++ b/assets/js/a5eff934.200bf26b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1134],{55669:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var n=s(43010),a=s(90887);const r={slug:"/flags"},o="Flags",i={id:"guides/flags",title:"Flags",description:"User can flag the spam post.",source:"@site/docs/guides/flags.md",sourceDirName:"guides",slug:"/flags",permalink:"/docs/flags",draft:!1,unlisted:!1,editUrl:"https://github.com/apache [...]
\ No newline at end of file
diff --git a/assets/js/a5eff934.acec527d.js b/assets/js/a5eff934.acec527d.js
deleted file mode 100644
index c97c54d8..00000000
--- a/assets/js/a5eff934.acec527d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1134],{55669:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>d});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/zh-CN/assets/js/a7021a0a.ec7ea91b.js b/assets/js/a7021a0a.8611da69.js
similarity index 72%
rename from zh-CN/assets/js/a7021a0a.ec7ea91b.js
rename to assets/js/a7021a0a.8611da69.js
index 25fdabde..04e55510 100644
--- a/zh-CN/assets/js/a7021a0a.ec7ea91b.js
+++ b/assets/js/a7021a0a.8611da69.js
@@ -1 +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":25,"previousPage":"/blog","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([[176],{26408:e=>{e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":16,"totalPages":2,"totalCount":26,"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.e3b78898.js b/assets/js/a72448b0.8f7e3df3.js
similarity index 88%
rename from assets/js/a72448b0.e3b78898.js
rename to assets/js/a72448b0.8f7e3df3.js
index 597d9323..cc8828f5 100644
--- a/assets/js/a72448b0.e3b78898.js
+++ b/assets/js/a72448b0.8f7e3df3.js
@@ -1,2 +1,2 @@
-/*! For license information please see a72448b0.e3b78898.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7636],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>g});var a=t(85170),c=t(45924),r=t(16567);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.8f7e3df3.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7636],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>g});var a=t(85170),c=t(45924),r=t(16567);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.e3b78898.js.LICENSE.txt b/assets/js/a72448b0.8f7e3df3.js.LICENSE.txt
similarity index 100%
rename from assets/js/a72448b0.e3b78898.js.LICENSE.txt
rename to assets/js/a72448b0.8f7e3df3.js.LICENSE.txt
diff --git a/assets/js/a98c1148.27481b4e.js b/assets/js/a98c1148.27481b4e.js
new file mode 100644
index 00000000..a45ad59d
--- /dev/null
+++ b/assets/js/a98c1148.27481b4e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3610],{38425:(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/a98c1148.e8060be3.js b/assets/js/a98c1148.e8060be3.js
deleted file mode 100644
index a3991237..00000000
--- a/assets/js/a98c1148.e8060be3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3610],{38425:(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.334fa0f9.js b/assets/js/b2b494f3.334fa0f9.js
deleted file mode 100644
index 661c3202..00000000
--- a/assets/js/b2b494f3.334fa0f9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6109],{21572:(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.c7106894.js b/assets/js/b2b494f3.c7106894.js
new file mode 100644
index 00000000..8e3183b4
--- /dev/null
+++ b/assets/js/b2b494f3.c7106894.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6109],{21572:(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.5432a65a.js b/assets/js/b2b675dd.91b665c1.js
similarity index 76%
rename from assets/js/b2b675dd.5432a65a.js
rename to assets/js/b2b675dd.91b665c1.js
index 0c6a0c1f..0ce4a359 100644
--- a/assets/js/b2b675dd.5432a65a.js
+++ b/assets/js/b2b675dd.91b665c1.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":30,"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":31,"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.7a1161c8.js b/assets/js/b2f554cd.7a1161c8.js
deleted file mode 100644
index 4353c81a..00000000
--- a/assets/js/b2f554cd.7a1161c8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1477],{30010:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps","metadata":{"permalink":"/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps","editUrl":"https://github.com/apache/incubator-answer-website/edit/main/blog/2024-06-03-install-and-run-apache-answer-on-ubuntu-vps/index.md","source":"@site/blog/2024-06-03-install-and-run-apache-answer-on-ubuntu- [...]
\ No newline at end of file
diff --git a/assets/js/b2f554cd.b9c25ead.js b/assets/js/b2f554cd.b9c25ead.js
new file mode 100644
index 00000000..c458c3ab
--- /dev/null
+++ b/assets/js/b2f554cd.b9c25ead.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1477],{30010:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup","metadata":{"permalink":"/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup","editUrl":"https://github.com/apache/incubator-answer-website/edit/main/blog/2024-06-05-apache-answer-joined-first-alc-hangzhou-meetup/index.md","source":"@site/blog/2024-06-05-apache-answer-joined-first-alc- [...]
\ No newline at end of file
diff --git a/assets/js/bb350c59.0c226c1b.js b/assets/js/bb350c59.0c226c1b.js
deleted file mode 100644
index a2d8c916..00000000
--- a/assets/js/bb350c59.0c226c1b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4517],{15002:(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.73ffac57.js b/assets/js/bb350c59.73ffac57.js
new file mode 100644
index 00000000..d20312dd
--- /dev/null
+++ b/assets/js/bb350c59.73ffac57.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4517],{15002:(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.747a331d.js b/assets/js/c1cb8fca.747a331d.js
deleted file mode 100644
index 232996ef..00000000
--- a/assets/js/c1cb8fca.747a331d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7630],{25974:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>j,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var d=s(43010),r=s(90887);const i={slug:"/permission"},n="Permission",l={id:"guides/permission",title:"Permission",description:"Privileges",source:"@site/docs/guides/permission.md",sourceDirName:"guides",slug:"/permission",permalink:"/docs/permission",draft:!1,unlisted:!1,editUrl:"https:// [...]
\ No newline at end of file
diff --git a/assets/js/c1cb8fca.a8d4056a.js b/assets/js/c1cb8fca.a8d4056a.js
new file mode 100644
index 00000000..d2ba365a
--- /dev/null
+++ b/assets/js/c1cb8fca.a8d4056a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7630],{25974:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>j,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var d=s(43010),r=s(90887);const i={slug:"/permission"},n="Permission",l={id:"guides/permission",title:"Permission",description:"Privileges",source:"@site/docs/guides/permission.md",sourceDirName:"guides",slug:"/permission",permalink:"/docs/permission",draft:!1,unlisted:!1,editUrl:"https:// [...]
\ No newline at end of file
diff --git a/assets/js/d7ef3cd8.40d28d86.js b/assets/js/d7ef3cd8.40d28d86.js
new file mode 100644
index 00000000..43c24a33
--- /dev/null
+++ b/assets/js/d7ef3cd8.40d28d86.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{1430:(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 know [...]
\ No newline at end of file
diff --git a/assets/js/d7ef3cd8.8d52f014.js b/assets/js/d7ef3cd8.8d52f014.js
deleted file mode 100644
index f61c6eb6..00000000
--- a/assets/js/d7ef3cd8.8d52f014.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{1430:(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 know [...]
\ No newline at end of file
diff --git a/assets/js/d980d228.51ef410f.js b/assets/js/d980d228.87768975.js
similarity index 71%
rename from assets/js/d980d228.51ef410f.js
rename to assets/js/d980d228.87768975.js
index c56e4a44..b9549f4c 100644
--- a/assets/js/d980d228.51ef410f.js
+++ b/assets/js/d980d228.87768975.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6909],{72046:e=>{e.exports=JSON.parse('{"permalink":"/blog/category/community","page":1,"postsPerPage":16,"totalPages":1,"totalCount":11,"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([[6909],{72046:e=>{e.exports=JSON.parse('{"permalink":"/blog/category/community","page":1,"postsPerPage":16,"totalPages":1,"totalCount":12,"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/d9d6ff59.fbe16f33.js b/assets/js/d9d6ff59.fbe16f33.js
new file mode 100644
index 00000000..5cd0e777
--- /dev/null
+++ b/assets/js/d9d6ff59.fbe16f33.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8506],{45711:e=>{e.exports=[]}}]);
\ No newline at end of file
diff --git a/assets/js/da6654f2.53858aef.js b/assets/js/da6654f2.53858aef.js
new file mode 100644
index 00000000..17ecb339
--- /dev/null
+++ b/assets/js/da6654f2.53858aef.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{33758:(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.bb5d5b33.js b/assets/js/da6654f2.bb5d5b33.js
deleted file mode 100644
index 4ef697c3..00000000
--- a/assets/js/da6654f2.bb5d5b33.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{33758:(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.1e45d441.js b/assets/js/dc8b965f.1e45d441.js
deleted file mode 100644
index 100bbf64..00000000
--- a/assets/js/dc8b965f.1e45d441.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{89725:(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/zh-CN/assets/js/dc8b965f.ebc67eea.js b/assets/js/dc8b965f.88fd3211.js
similarity index 67%
rename from zh-CN/assets/js/dc8b965f.ebc67eea.js
rename to assets/js/dc8b965f.88fd3211.js
index 42d2961b..3f9f9af0 100644
--- a/zh-CN/assets/js/dc8b965f.ebc67eea.js
+++ b/assets/js/dc8b965f.88fd3211.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{89725:(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
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{89725:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var s=n(43010),r=n(90887);const i={slug:"/review"},o="Review",c={id:"guides/review",title:"Review",description:"TODO",source:"@site/docs/guides/review.md",sourceDirName:"guides",slug:"/review",permalink:"/docs/review",draft:!1,unlisted:!1,editUrl:"https://github.com/apache/incubator-answer [...]
\ No newline at end of file
diff --git a/assets/js/e438ab2a.27fef727.js b/assets/js/e438ab2a.27fef727.js
new file mode 100644
index 00000000..08d9c3c8
--- /dev/null
+++ b/assets/js/e438ab2a.27fef727.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9617],{95508:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var s=n(43010),i=n(90887);const r={slug:"/reputation"},o="Reputation",d={id:"guides/reputation",title:"Reputation",description:"Reputation used to automate the management of community ecology.",source:"@site/docs/guides/reputation.md",sourceDirName:"guides",slug:"/reputation",permalink:"/d [...]
\ No newline at end of file
diff --git a/assets/js/e438ab2a.cb7f2e3a.js b/assets/js/e438ab2a.cb7f2e3a.js
deleted file mode 100644
index 943ea18c..00000000
--- a/assets/js/e438ab2a.cb7f2e3a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9617],{95508:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var s=n(43010),i=n(90887);const r={slug:"/reputation"},o="Reputation",d={id:"guides/reputation",title:"Reputation",description:"Reputation used to automate the management of community ecology.",source:"@site/docs/guides/reputation.md",sourceDirName:"guides",slug:"/reputation",permalink:"/d [...]
\ No newline at end of file
diff --git a/assets/js/e4ae456e.312ee1f5.js b/assets/js/e4ae456e.312ee1f5.js
deleted file mode 100644
index d573e57f..00000000
--- a/assets/js/e4ae456e.312ee1f5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7073],{92990:(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:"@sit [...]
\ No newline at end of file
diff --git a/assets/js/e4ae456e.af5c75e7.js b/assets/js/e4ae456e.af5c75e7.js
new file mode 100644
index 00000000..7ab6b64a
--- /dev/null
+++ b/assets/js/e4ae456e.af5c75e7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7073],{92990:(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:"@sit [...]
\ No newline at end of file
diff --git a/assets/js/eafd45de.3ac84592.js b/assets/js/eafd45de.3ac84592.js
deleted file mode 100644
index 6bd7df07..00000000
--- a/assets/js/eafd45de.3ac84592.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{54972:(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.8ac9f71f.js b/assets/js/eafd45de.8ac9f71f.js
new file mode 100644
index 00000000..17fa90ac
--- /dev/null
+++ b/assets/js/eafd45de.8ac9f71f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{54972:(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.2e86875f.js b/assets/js/f493f8eb.2e86875f.js
deleted file mode 100644
index 4e3d3d38..00000000
--- a/assets/js/f493f8eb.2e86875f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3600],{27150:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>f,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var a=n(43010),i=n(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.c645580c.js b/assets/js/f493f8eb.c645580c.js
new file mode 100644
index 00000000..85cd7098
--- /dev/null
+++ b/assets/js/f493f8eb.c645580c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3600],{27150:(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.2458066d.js b/assets/js/f8a2828b.2458066d.js
new file mode 100644
index 00000000..5166ff08
--- /dev/null
+++ b/assets/js/f8a2828b.2458066d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{91569:(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.86976028.js b/assets/js/f8a2828b.86976028.js
deleted file mode 100644
index fc395ff9..00000000
--- a/assets/js/f8a2828b.86976028.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{91569:(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/fb24484d.01bb8a89.js b/assets/js/fb24484d.01bb8a89.js
deleted file mode 100644
index 3d853f74..00000000
--- a/assets/js/fb24484d.01bb8a89.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5681],{82464:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>A,contentTitle:()=>t,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var s=a(43010),r=a(90887);const i={title:"Install and Run Apache Answer on Ubuntu VPS",category:"Tutorials",featured:!1,image:"2024-06-03-cover@4x.png",description:"This article provides a guide for how to install and run Apache Answer on Ubuntu VPS."},t=void 0,c={permalink:"/blog/2024/06/ [...]
\ No newline at end of file
diff --git a/assets/js/fb24484d.464b601a.js b/assets/js/fb24484d.464b601a.js
new file mode 100644
index 00000000..47d30dee
--- /dev/null
+++ b/assets/js/fb24484d.464b601a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5681],{82464:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>A,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var s=a(43010),r=a(90887);const t={title:"Install and Run Apache Answer on Ubuntu VPS",category:"Tutorials",featured:!1,image:"2024-06-03-cover@4x.png",description:"This article provides a guide for how to install and run Apache Answer on Ubuntu VPS."},i=void 0,c={permalink:"/blog/2024/06/ [...]
\ No newline at end of file
diff --git a/assets/js/main.b2041361.js b/assets/js/main.b2041361.js
new file mode 100644
index 00000000..e06ce0f2
--- /dev/null
+++ b/assets/js/main.b2041361.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.b2041361.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{94288:(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=94288},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.ca208ee9.js.LICENSE.txt b/assets/js/main.b2041361.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.ca208ee9.js.LICENSE.txt
rename to assets/js/main.b2041361.js.LICENSE.txt
diff --git a/assets/js/main.ca208ee9.js b/assets/js/main.ca208ee9.js
deleted file mode 100644
index 05f2b31b..00000000
--- a/assets/js/main.ca208ee9.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.ca208ee9.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{94288:(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=94288},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.7012a68c.js b/assets/js/runtime~main.7012a68c.js
deleted file mode 100644
index b7b6768a..00000000
--- a/assets/js/runtime~main.7012a68c.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.fdee1cff.js b/assets/js/runtime~main.fdee1cff.js
new file mode 100644
index 00000000..2756f3ac
--- /dev/null
+++ b/assets/js/runtime~main.fdee1cff.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/blog/2023/05/11/answer-1.0.9-release/index.html b/blog/2023/05/11/answer-1.0.9-release/index.html
index 714a04e5..db49a267 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 4a70a751..7bb40a12 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 9f14cf17..c8ed68d4 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 0e65983f..c92d24b8 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 2a46bbe4..5434b724 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 04e10b1e..59d3faab 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 ba8c2a28..14097c2a 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 42018385..9c6b1d76 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 be2cb8a8..800a83ea 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 3d041de8..f362ad98 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 09175543..1d9b7cfe 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 ba5b6c85..5746792a 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 873aa712..6d26a5b7 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 3b4a286b..85d6591b 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 9baacf9e..b31d4ecd 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 32f26629..f00931b5 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 4ce5f39b..c60b596f 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 288012f1..3a175cb5 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 ad29e886..3ffe77df 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 f5988e2b..eb930b48 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 d074b560..de568214 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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
index d8f14d90..89aeb88e 100644
--- a/blog/2024/01/26/deploy-answer-https/index.html
+++ b/blog/2024/01/26/deploy-answer-https/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/02/04/must-read-notes-for-your-first-answer-contribution/index.html b/blog/2024/02/04/must-read-notes-for-your-first-answer-contribution/index.html
index b151cc4b..8e26a7bc 100644
--- a/blog/2024/02/04/must-read-notes-for-your-first-answer-contribution/index.html
+++ b/blog/2024/02/04/must-read-notes-for-your-first-answer-contribution/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/02/05/project-ideas-for-google-summer-of-code-2024/index.html b/blog/2024/02/05/project-ideas-for-google-summer-of-code-2024/index.html
index f15cabb8..7d5281da 100644
--- a/blog/2024/02/05/project-ideas-for-google-summer-of-code-2024/index.html
+++ b/blog/2024/02/05/project-ideas-for-google-summer-of-code-2024/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/02/20/answer-1.2.5-is-ready/index.html b/blog/2024/02/20/answer-1.2.5-is-ready/index.html
index 6c5e41f5..152155ca 100644
--- a/blog/2024/02/20/answer-1.2.5-is-ready/index.html
+++ b/blog/2024/02/20/answer-1.2.5-is-ready/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/03/18/meet-our-release-manager-linkinstars/index.html b/blog/2024/03/18/meet-our-release-manager-linkinstars/index.html
index 0be12f06..5502cdf7 100644
--- a/blog/2024/03/18/meet-our-release-manager-linkinstars/index.html
+++ b/blog/2024/03/18/meet-our-release-manager-linkinstars/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/04/26/what-is-new-in-apache-answer-1.3.0/index.html b/blog/2024/04/26/what-is-new-in-apache-answer-1.3.0/index.html
index 0a726280..828dfd51 100644
--- a/blog/2024/04/26/what-is-new-in-apache-answer-1.3.0/index.html
+++ b/blog/2024/04/26/what-is-new-in-apache-answer-1.3.0/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/05/09/answer-ospp-2024/index.html b/blog/2024/05/09/answer-ospp-2024/index.html
index 547514db..6304653d 100644
--- a/blog/2024/05/09/answer-ospp-2024/index.html
+++ b/blog/2024/05/09/answer-ospp-2024/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/05/28/build-a-save-and-respectful-community-with-answer-1.3.1/index.html b/blog/2024/05/28/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
index 881ea873..f1c82319 100644
--- a/blog/2024/05/28/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
+++ b/blog/2024/05/28/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/06/03/install-and-run-apache-answer-on-ubuntu-vps/index.html b/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps/index.html
index 4a3ae1fb..a20c8686 100644
--- a/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps/index.html
+++ b/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/06/05/apache-answer-joined-first-alc-hangzhou-meetup/index.html b/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup/index.html
new file mode 100644
index 00000000..5f50e5bf
--- /dev/null
+++ b/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup/index.html
@@ -0,0 +1,62 @@
+<!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.1.1">
+<title data-rh="true">Apache Answer Joined the First ALC Hangzhou Meetup | 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/06/05/apache-answer-joined-first-alc-hangzhou-meetup"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" property="og:locale:alternate" conte [...]
+<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.b81b0cfd.css">
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>The meetup attracted a range of attendees from Apache ecosystem. PMC members and core committers from projects including Apache Dubbo, Apache RocketMQ, Apache Flink, Apache Paimon, Apache Fury, Apache Celeborn, and Apache HoraeDB shared and exchanged ideas on open-source field. Additionally, Ni Chao, professor of the School of Software Technology, Zhejiang University also participated in the event.</p>
+<!-- --><p>Nadia Jiang, PPMC member of Answer, delivered opening remarks at the meetup. She shared her memory of joining the first ALC Beijing offline meetup and later became an organizer for the first CommunityOverCode Asia (formerly ApacheCon Asia).</p>
+<!-- --><p>2024 is a milestone for Hangzhou open-source communities — the establishment of ALC Hangzhou, and the upcoming CommunityOverCode Asia 2024 conference, scheduled to take place in Hangzhou from July 26th to 28th. Both are poised to propel the advancement of open-source technologies, foster community growth, and facilitate collaboration among tech professionals.</p>
+<!-- --><p>The establishment of the Apache Local Community Hangzhou (ALC Hangzhou) and the upcoming CommunityOverCode Asia 2024 conference, scheduled for July 26-28 in Hangzhou, mark significant developments for the city's open-source communities.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Nadia was giving an opening remarks" src="/assets/images/Nadia Open Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>Following the opening remarks, Apache Answer PPMC member Joyqi presented Answer to the attendees and encouraged contributors to join Answer community for building a powerful ecosystem.</p>
+<!-- --><p>Community is the driving force for Answer. Today, Answer’s community gathers 59 core contributors, 122 translation contributors, 12 website contributors, and 12 plugin contributors. They follow a monthly release cycle and push the boundary of Answer every day.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Joyqi introduced Apache Answer to more participants" src="/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>The meetup concluded with an open discussion session, allowing participants to engage in exchanging ideas. Members of Answer project asked other established projects and communities, seeking guidance on addressing project challenges, successful graduation notes, and attracting contributors.</p>
+<!-- --><p>A project showcase area was set up at the event, where developers could learn about other projects in the ALC Hangzhou meetup quickly. Attendees were invited to leave stickers on the showcase boards to express their appreciation for the projects they found most interesting.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Answer PPMC member leaves sticker on an Apache project" src="/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>The meetup of ALC Hangzhou was a valuable opportunity for connection and learning. LinkinStars, an Apache Answer PPMC member, expressed excitement the upcoming launch of the open-source collaboration platform presented by Chao Ni, professor of Zhejiang University's School of Software Technology. LinkinStars viewed the platform as a potential bridge between universities and open-source communities. He also looked forward to more communities’ involvement.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Open Discussion" src="/assets/images/Open Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>ALC Hangzhou is more than a platform for technical discussion. As Jun Liu, the initiator of ALC Hangzhou, said, “The meetup goes beyond open-source technology and potential collaborations. It offers a space for casual topics, like sharing personal experience or stories.”</p>
+<!-- --><p>We encourage more open-source enthusiasts to join ALC Hangzhou. Answer will keep supporting and participating in future ALC Hangzhou events.</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="about-apache-local-community-alc-1">About Apache Local Community (ALC) [^1]<!-- --><a href="#about-apache-local-community-alc-1" class="hash-link" aria-label="Direct link to About Apache Local Community (ALC) [^1]" title="Direct link to About Apache Local Community (ALC) [^1]"></a></h2>
+<!-- --><p>ALC comprises local groups of Apache (Open Source) enthusiasts, called an 'ALC Chapter'. There will be a single ALC chapter per town/city.</p>
+<!-- --><p>ALC is similar to <!-- --><a href="https://developers.google.com/programs/community/gdg/" target="_blank" rel="noopener noreferrer">Google Developer Group</a>, <!-- --><a href="https://developers.facebook.com/developercircles/" target="_blank" rel="noopener noreferrer">Facebook Developer Circles</a>, <!-- --><a href="https://reps.mozilla.org/about/" target="_blank" rel="noopener noreferrer">Mozilla Reps</a>.<!-- --></p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="about-alc-hangzhou">About ALC Hangzhou<!-- --><a href="#about-alc-hangzhou" class="hash-link" aria-label="Direct link to About ALC Hangzhou" title="Direct link to About ALC Hangzhou"></a></h2>
+<!-- --><p>ALC Hangzhou is dedicated to helping open-source enthusiasts thrive in Apache Community through various ways, such as (but not limited to):</p>
+<!-- --><ul>
+<!-- --><li>Bring together developers and users with online and offline workshops or meetups.</li>
+<!-- --><li>Share open-source knowledge and experience.</li>
+<!-- --><li>Connect different ASF projects and seek potential collaboration opportunities.</li>
+<!-- --><li>Introduce ASF, The Apache Way, and various Apache projects.</li>
+<!-- --></ul>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="joining-alc-hangzhou">Joining ALC Hangzhou<!-- --><a href="#joining-alc-hangzhou" class="hash-link" aria-label="Direct link to Joining ALC Hangzhou" title="Direct link to Joining ALC Hangzhou"></a></h2>
+<!-- --><p>ALC Hangzhou is open to every open-source enthusiast who align with the Apache Way and love open collaboration. Here are the ways to get involve:</p>
+<!-- --><ol>
+<!-- --><li>
+<!-- --><p>Join ALC Hangzhou Events<!-- --><br>
+<!-- -->Stay updated on upcoming events by following ALC Hangzhou's WeChat public account [^2] and official website [^3]. Participate in both online and offline gatherings organized by ALC Hangzhou.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>Become an ALC Hangzhou Member<!-- --><br>
+<!-- -->As a non-profit organization, ALC Hangzhou needs volunteers to assist with event coordination and organization. The principles for becoming an ALC Hangzhou volunteer are similar to those for Committer and PMC members in other Apache Software Foundation projects. The selection is based on individual contributions to the community and involves a voting process [^4].<!-- --></p>
+<!-- --></li>
+<!-- --></ol>
+<!-- --><p>Reference<!-- --><br>
+<!-- -->[^1] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/Apache+Local+Community+-+ALC" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/Apache+Local+Community+-+ALC</a><br>
+<!-- -->[^2] WeChat Public Account:alc_hangzhou<!-- --><br>
+<!-- -->[^3] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou</a><br>
+<!-- -->[^4] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter</a></p></div><div class="mt-3"><div class="d-flex align-items-center text-secondary"><span>Share to<!-- --></span><button aria-label="twitter" class="react-share__ShareButton shareBtn_lEr0" style="background-color:transparent;border:none;padding [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index c54aefdf..a1b544ed 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 66d7a75c..1f851314 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -2,11 +2,66 @@
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://answer.apache.org/blog</id>
<title>Apache Answer Blog</title>
- <updated>2024-06-03T00:00:00.000Z</updated>
+ <updated>2024-06-05T00: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[Apache Answer Joined the First ALC Hangzhou Meetup]]></title>
+ <id>https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup</id>
+ <link href="https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup"/>
+ <updated>2024-06-05T00:00:00.000Z</updated>
+ <summary type="html"><![CDATA[ALC Hangzhou offers a valuable platform for projects to learn, share, and exchange new ideas.]]></summary>
+ <content type="html"><![CDATA[<div class="mb-4"><img decoding="async" loading="lazy" src="https://answer.apache.org/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png" class="rounded img_WevL" width="1280px" height="720px"></div><p>May 28th, Apache Local Community Hangzhou (ALC Hangzhou) held its first offline meetup successfully. Apache Answer, as an incubating project within the Apache Software Foundation (ASF), was represented by most of its Project Manage [...]
+<!-- --><p>The meetup attracted a range of attendees from Apache ecosystem. PMC members and core committers from projects including Apache Dubbo, Apache RocketMQ, Apache Flink, Apache Paimon, Apache Fury, Apache Celeborn, and Apache HoraeDB shared and exchanged ideas on open-source field. Additionally, Ni Chao, professor of the School of Software Technology, Zhejiang University also participated in the event.</p>
+<!-- --><p>Nadia Jiang, PPMC member of Answer, delivered opening remarks at the meetup. She shared her memory of joining the first ALC Beijing offline meetup and later became an organizer for the first CommunityOverCode Asia (formerly ApacheCon Asia).</p>
+<!-- --><p>2024 is a milestone for Hangzhou open-source communities — the establishment of ALC Hangzhou, and the upcoming CommunityOverCode Asia 2024 conference, scheduled to take place in Hangzhou from July 26th to 28th. Both are poised to propel the advancement of open-source technologies, foster community growth, and facilitate collaboration among tech professionals.</p>
+<!-- --><p>The establishment of the Apache Local Community Hangzhou (ALC Hangzhou) and the upcoming CommunityOverCode Asia 2024 conference, scheduled for July 26-28 in Hangzhou, mark significant developments for the city's open-source communities.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Nadia was giving an opening remarks" src="https://answer.apache.org/assets/images/Nadia%20Open%20Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>Following the opening remarks, Apache Answer PPMC member Joyqi presented Answer to the attendees and encouraged contributors to join Answer community for building a powerful ecosystem.</p>
+<!-- --><p>Community is the driving force for Answer. Today, Answer’s community gathers 59 core contributors, 122 translation contributors, 12 website contributors, and 12 plugin contributors. They follow a monthly release cycle and push the boundary of Answer every day.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Joyqi introduced Apache Answer to more participants" src="https://answer.apache.org/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>The meetup concluded with an open discussion session, allowing participants to engage in exchanging ideas. Members of Answer project asked other established projects and communities, seeking guidance on addressing project challenges, successful graduation notes, and attracting contributors.</p>
+<!-- --><p>A project showcase area was set up at the event, where developers could learn about other projects in the ALC Hangzhou meetup quickly. Attendees were invited to leave stickers on the showcase boards to express their appreciation for the projects they found most interesting.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Answer PPMC member leaves sticker on an Apache project" src="https://answer.apache.org/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>The meetup of ALC Hangzhou was a valuable opportunity for connection and learning. LinkinStars, an Apache Answer PPMC member, expressed excitement the upcoming launch of the open-source collaboration platform presented by Chao Ni, professor of Zhejiang University's School of Software Technology. LinkinStars viewed the platform as a potential bridge between universities and open-source communities. He also looked forward to more communities’ involvement.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Open Discussion" src="https://answer.apache.org/assets/images/Open%20Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>ALC Hangzhou is more than a platform for technical discussion. As Jun Liu, the initiator of ALC Hangzhou, said, “The meetup goes beyond open-source technology and potential collaborations. It offers a space for casual topics, like sharing personal experience or stories.”</p>
+<!-- --><p>We encourage more open-source enthusiasts to join ALC Hangzhou. Answer will keep supporting and participating in future ALC Hangzhou events.</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="about-apache-local-community-alc-1">About Apache Local Community (ALC) [^1]<!-- --><a href="https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#about-apache-local-community-alc-1" class="hash-link" aria-label="Direct link to About Apache Local Community (ALC) [^1]" title="Direct link to About Apache Local Community (ALC) [^1]"></a></h2>
+<!-- --><p>ALC comprises local groups of Apache (Open Source) enthusiasts, called an 'ALC Chapter'. There will be a single ALC chapter per town/city.</p>
+<!-- --><p>ALC is similar to <!-- --><a href="https://developers.google.com/programs/community/gdg/" target="_blank" rel="noopener noreferrer">Google Developer Group</a>, <!-- --><a href="https://developers.facebook.com/developercircles/" target="_blank" rel="noopener noreferrer">Facebook Developer Circles</a>, <!-- --><a href="https://reps.mozilla.org/about/" target="_blank" rel="noopener noreferrer">Mozilla Reps</a>.<!-- --></p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="about-alc-hangzhou">About ALC Hangzhou<!-- --><a href="https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#about-alc-hangzhou" class="hash-link" aria-label="Direct link to About ALC Hangzhou" title="Direct link to About ALC Hangzhou"></a></h2>
+<!-- --><p>ALC Hangzhou is dedicated to helping open-source enthusiasts thrive in Apache Community through various ways, such as (but not limited to):</p>
+<!-- --><ul>
+<!-- --><li>Bring together developers and users with online and offline workshops or meetups.</li>
+<!-- --><li>Share open-source knowledge and experience.</li>
+<!-- --><li>Connect different ASF projects and seek potential collaboration opportunities.</li>
+<!-- --><li>Introduce ASF, The Apache Way, and various Apache projects.</li>
+<!-- --></ul>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="joining-alc-hangzhou">Joining ALC Hangzhou<!-- --><a href="https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#joining-alc-hangzhou" class="hash-link" aria-label="Direct link to Joining ALC Hangzhou" title="Direct link to Joining ALC Hangzhou"></a></h2>
+<!-- --><p>ALC Hangzhou is open to every open-source enthusiast who align with the Apache Way and love open collaboration. Here are the ways to get involve:</p>
+<!-- --><ol>
+<!-- --><li>
+<!-- --><p>Join ALC Hangzhou Events<!-- --><br>
+<!-- -->Stay updated on upcoming events by following ALC Hangzhou's WeChat public account [^2] and official website [^3]. Participate in both online and offline gatherings organized by ALC Hangzhou.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>Become an ALC Hangzhou Member<!-- --><br>
+<!-- -->As a non-profit organization, ALC Hangzhou needs volunteers to assist with event coordination and organization. The principles for becoming an ALC Hangzhou volunteer are similar to those for Committer and PMC members in other Apache Software Foundation projects. The selection is based on individual contributions to the community and involves a voting process [^4].<!-- --></p>
+<!-- --></li>
+<!-- --></ol>
+<!-- --><p>Reference<!-- --><br>
+<!-- -->[^1] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/Apache+Local+Community+-+ALC" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/Apache+Local+Community+-+ALC</a><br>
+<!-- -->[^2] WeChat Public Account:alc_hangzhou<!-- --><br>
+<!-- -->[^3] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou</a><br>
+<!-- -->[^4] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter</a></p>]]></content>
+ <author>
+ <name>Anne Zhu</name>
+ <uri>https://github.com/PrimmaAnna</uri>
+ </author>
+ </entry>
<entry>
<title type="html"><![CDATA[Install and Run Apache Answer on Ubuntu VPS]]></title>
<id>https://answer.apache.org/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps</id>
@@ -1107,43 +1162,4 @@ We will also write an article on how to implement an Answer plugin from scratch,
<uri>https://github.com/LinkinStars</uri>
</author>
</entry>
- <entry>
- <title type="html"><![CDATA[How to Utilize Reputation and Privilege in Online Community]]></title>
- <id>https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community</id>
- <link href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community"/>
- <updated>2023-07-19T00:00:00.000Z</updated>
- <summary type="html"><![CDATA[Meet Answer’s reputation and privilege systems and automate them for efficient community content management. ]]></summary>
- <content type="html"><![CDATA[<div class="mb-4"><img decoding="async" loading="lazy" src="https://answer.apache.org/assets/images/2023-07-19-cover@4x-fb5729f0eb278096e3485b69538e36e0.png" class="rounded img_WevL" width="1280px" height="720px"></div><p>Reputation score is a reflection of a community member’s credibility. Community members establish this based on their actions and contributions. Simultaneously, a reputation system is formed to track participants' trustworthiness, c [...]
-<!-- --><p>Besides <!-- --><a href="https://answer.apache.org/blog/2023/07/11/the-what-why-using-tags-for-online-community">tagging</a>, <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> is an important part of <!-- --><strong>content management</strong> in Answer. Community members gain reputation scores by adhering to community guidelines and continuous contributions. Community moderators and administra [...]
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="purposes-of-reputation">Purposes of Reputation<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#purposes-of-reputation" class="hash-link" aria-label="Direct link to Purposes of Reputation" title="Direct link to Purposes of Reputation"></a></h2>
-<!-- --><p>In the mid-1900s, eBay introduced a feedback system, allowing buyers and sellers to rate each other based on transaction experience. This feedback mechanism, which influenced the reputation of users, helped build trust within the <!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it">Q&A platform</a>.<!-- --></p>
-<!-- --><p>You can still find this mechanism running in Answer — community members upvote question or answer, accept answer, etc. Find out how we implement it for different purposes for a thriving online community.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="ways-to-implement-reputation-system-in-answer">Ways to Implement Reputation System in Answer<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#ways-to-implement-reputation-system-in-answer" class="hash-link" aria-label="Direct link to Ways to Implement Reputation System in Answer" title="Direct link to Ways to Implement Reputation System in Answer"></a></h2>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="1-trust-building">1. Trust Building<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#1-trust-building" class="hash-link" aria-label="Direct link to 1. Trust Building" title="Direct link to 1. Trust Building"></a></h3>
-<!-- --><p>A positive reputation indicates credibility, reliability, and expertise. In Answer, you can always find a reputation score next to the name, providing an initial impression of the community member.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Reputation Score Next to Community Member in Answer" src="https://answer.apache.org/assets/images/TrustBuilding1-66ed75f7774a5c9af90a94a083682548.png" width="800" height="270" class="img_WevL"></p>
-<!-- --><p>Click the name and jump to a community member’s profile page, where it includes reputation and related contributions.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Community Member Profile in Answer" src="https://answer.apache.org/assets/images/TrustBuilding2-0017ddc6b3f69669288f2ba37d50fcbc.png" width="800" height="466" class="img_WevL"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="2-rewards-and-penalties">2. Rewards and Penalties<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#2-rewards-and-penalties" class="hash-link" aria-label="Direct link to 2. Rewards and Penalties" title="Direct link to 2. Rewards and Penalties"></a></h3>
-<!-- --><p>Answer appreciate and encourage positive contributions, such as providing helpful answers, valuable content, upvote useful answers. Meanwhile, negative actions like downvote, spamming or abusive behavior can result in reputation penalties.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Reputation Rules in Answer" src="https://answer.apache.org/assets/images/RewardsandPenalties-448faa7639ffacbc69e7d31536074486.png" width="800" height="1022" class="img_WevL"></p>
-<!-- --><p>Click <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">here</a> for Answer's complete reputation rules that might inspire you.<!-- --></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="3-moderation-and-governance">3. Moderation and Governance<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#3-moderation-and-governance" class="hash-link" aria-label="Direct link to 3. Moderation and Governance" title="Direct link to 3. Moderation and Governance"></a></h3>
-<!-- --><p>After activation in Answer, community members will gain 1 reputation score, and are allowed to participate in general activities in the community, such as asking questions, writing answers, upvote comment, etc. Reputation scores are also used by community moderators and administrators to determine user <!-- --><a href="https://answer.apache.org/docs/recipes/contents/permission" target="_blank" rel="noopener noreferrer">privileges</a>, such as posting more than 2 links at a tim [...]
-<!-- --><p><img decoding="async" loading="lazy" alt="Add a New Tag in Answer" src="https://answer.apache.org/assets/images/AddaNewTag-5e3da1b56a31322d02f0c190193de33c.png" width="800" height="414" class="img_WevL"></p>
-<!-- --><p>In Answer, you’ll need 125 reputation scores to downvote, while downvote someone’s answer will reduce one reputation score. This prevents malicious downvoting and boosts answers through intentional others’ answers. This helps maintain a healthy community environment and discourage disruptive behavior.</p>
-<!-- --><p>The scale of communities is different, so is the reputation system. We’ve prepared 3 different privilege levels for teams at different scales.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Levels of Privileges in Answer" src="https://answer.apache.org/assets/images/LevelsofPrivileges-1eeb224a1bb483a8b211f219372c4291.png" width="800" height="871" class="img_WevL"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="4-community-engagement">4. Community Engagement<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#4-community-engagement" class="hash-link" aria-label="Direct link to 4. Community Engagement" title="Direct link to 4. Community Engagement"></a></h3>
-<!-- --><p>The reputation system allows community members to actively engage in the community. They can share expertise, contribute to discussions, and vote for better answers, fostering a positive and collaborative environment.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="conclusion">Conclusion<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion"></a></h2>
-<!-- --><p>Reputation in an online community is a reflection of a user’s contributions, engagement, and commitment to the community. We know the reputation system is dynamic, and it’s hard to build one from the ground, that’s why we’ve already got a complete <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> and <!-- --><a href="https://answer.apache.org/docs/recipes/contents/permission" target="_blank" re [...]
-<!-- --><p>By the time you <!-- --><a href="https://answer.apache.org/docs/installation" target="_blank" rel="noopener noreferrer">install</a> Answer successfully, the reputation system is already there. All you need to do is to choose the right reputation level for your community in the Admin page.<!-- --></p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Chose Privileges Level in Answer Admin" src="https://answer.apache.org/assets/images/PrivilegesLevel-ec1201d55c5c3f1adda4abcc09cf7c3e.png" width="800" height="329" class="img_WevL"></p>
-<!-- --><p>By automating this reputation system, your members are encouraged to share and become a significant part of the community. <!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Start Answer</a> now and shape the growth of the community along with other like-minded community members.<!-- --></p>]]></content>
- <author>
- <name>Anne Zhu</name>
- <uri>https://github.com/PrimmaAnna</uri>
- </author>
- </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 1640b71f..ec51d546 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 9b18887f..b0c4530a 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 3e1f822e..fdf54f46 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 a71591e5..af366fe9 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 b3c8ec9a..9744dc34 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 e3ba0041..9d0d16da 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 41bc9a2e..98b1dc3b 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 e1400b75..7204be00 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/rss.xml b/blog/rss.xml
index ddd4eb1b..25622064 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -4,10 +4,61 @@
<title>Apache Answer Blog</title>
<link>https://answer.apache.org/blog</link>
<description>Apache Answer Blog</description>
- <lastBuildDate>Mon, 03 Jun 2024 00:00:00 GMT</lastBuildDate>
+ <lastBuildDate>Wed, 05 Jun 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[Apache Answer Joined the First ALC Hangzhou Meetup]]></title>
+ <link>https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup</link>
+ <guid>https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup</guid>
+ <pubDate>Wed, 05 Jun 2024 00:00:00 GMT</pubDate>
+ <description><![CDATA[ALC Hangzhou offers a valuable platform for projects to learn, share, and exchange new ideas.]]></description>
+ <content:encoded><![CDATA[<div class="mb-4"><img decoding="async" loading="lazy" src="https://answer.apache.org/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png" class="rounded img_WevL" width="1280px" height="720px"></div><p>May 28th, Apache Local Community Hangzhou (ALC Hangzhou) held its first offline meetup successfully. Apache Answer, as an incubating project within the Apache Software Foundation (ASF), was represented by most of its Project Manage [...]
+<!-- --><p>The meetup attracted a range of attendees from Apache ecosystem. PMC members and core committers from projects including Apache Dubbo, Apache RocketMQ, Apache Flink, Apache Paimon, Apache Fury, Apache Celeborn, and Apache HoraeDB shared and exchanged ideas on open-source field. Additionally, Ni Chao, professor of the School of Software Technology, Zhejiang University also participated in the event.</p>
+<!-- --><p>Nadia Jiang, PPMC member of Answer, delivered opening remarks at the meetup. She shared her memory of joining the first ALC Beijing offline meetup and later became an organizer for the first CommunityOverCode Asia (formerly ApacheCon Asia).</p>
+<!-- --><p>2024 is a milestone for Hangzhou open-source communities — the establishment of ALC Hangzhou, and the upcoming CommunityOverCode Asia 2024 conference, scheduled to take place in Hangzhou from July 26th to 28th. Both are poised to propel the advancement of open-source technologies, foster community growth, and facilitate collaboration among tech professionals.</p>
+<!-- --><p>The establishment of the Apache Local Community Hangzhou (ALC Hangzhou) and the upcoming CommunityOverCode Asia 2024 conference, scheduled for July 26-28 in Hangzhou, mark significant developments for the city's open-source communities.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Nadia was giving an opening remarks" src="https://answer.apache.org/assets/images/Nadia%20Open%20Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>Following the opening remarks, Apache Answer PPMC member Joyqi presented Answer to the attendees and encouraged contributors to join Answer community for building a powerful ecosystem.</p>
+<!-- --><p>Community is the driving force for Answer. Today, Answer’s community gathers 59 core contributors, 122 translation contributors, 12 website contributors, and 12 plugin contributors. They follow a monthly release cycle and push the boundary of Answer every day.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Joyqi introduced Apache Answer to more participants" src="https://answer.apache.org/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>The meetup concluded with an open discussion session, allowing participants to engage in exchanging ideas. Members of Answer project asked other established projects and communities, seeking guidance on addressing project challenges, successful graduation notes, and attracting contributors.</p>
+<!-- --><p>A project showcase area was set up at the event, where developers could learn about other projects in the ALC Hangzhou meetup quickly. Attendees were invited to leave stickers on the showcase boards to express their appreciation for the projects they found most interesting.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Answer PPMC member leaves sticker on an Apache project" src="https://answer.apache.org/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>The meetup of ALC Hangzhou was a valuable opportunity for connection and learning. LinkinStars, an Apache Answer PPMC member, expressed excitement the upcoming launch of the open-source collaboration platform presented by Chao Ni, professor of Zhejiang University's School of Software Technology. LinkinStars viewed the platform as a potential bridge between universities and open-source communities. He also looked forward to more communities’ involvement.</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Open Discussion" src="https://answer.apache.org/assets/images/Open%20Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>ALC Hangzhou is more than a platform for technical discussion. As Jun Liu, the initiator of ALC Hangzhou, said, “The meetup goes beyond open-source technology and potential collaborations. It offers a space for casual topics, like sharing personal experience or stories.”</p>
+<!-- --><p>We encourage more open-source enthusiasts to join ALC Hangzhou. Answer will keep supporting and participating in future ALC Hangzhou events.</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="about-apache-local-community-alc-1">About Apache Local Community (ALC) [^1]<!-- --><a href="https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#about-apache-local-community-alc-1" class="hash-link" aria-label="Direct link to About Apache Local Community (ALC) [^1]" title="Direct link to About Apache Local Community (ALC) [^1]"></a></h2>
+<!-- --><p>ALC comprises local groups of Apache (Open Source) enthusiasts, called an 'ALC Chapter'. There will be a single ALC chapter per town/city.</p>
+<!-- --><p>ALC is similar to <!-- --><a href="https://developers.google.com/programs/community/gdg/" target="_blank" rel="noopener noreferrer">Google Developer Group</a>, <!-- --><a href="https://developers.facebook.com/developercircles/" target="_blank" rel="noopener noreferrer">Facebook Developer Circles</a>, <!-- --><a href="https://reps.mozilla.org/about/" target="_blank" rel="noopener noreferrer">Mozilla Reps</a>.<!-- --></p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="about-alc-hangzhou">About ALC Hangzhou<!-- --><a href="https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#about-alc-hangzhou" class="hash-link" aria-label="Direct link to About ALC Hangzhou" title="Direct link to About ALC Hangzhou"></a></h2>
+<!-- --><p>ALC Hangzhou is dedicated to helping open-source enthusiasts thrive in Apache Community through various ways, such as (but not limited to):</p>
+<!-- --><ul>
+<!-- --><li>Bring together developers and users with online and offline workshops or meetups.</li>
+<!-- --><li>Share open-source knowledge and experience.</li>
+<!-- --><li>Connect different ASF projects and seek potential collaboration opportunities.</li>
+<!-- --><li>Introduce ASF, The Apache Way, and various Apache projects.</li>
+<!-- --></ul>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="joining-alc-hangzhou">Joining ALC Hangzhou<!-- --><a href="https://answer.apache.org/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#joining-alc-hangzhou" class="hash-link" aria-label="Direct link to Joining ALC Hangzhou" title="Direct link to Joining ALC Hangzhou"></a></h2>
+<!-- --><p>ALC Hangzhou is open to every open-source enthusiast who align with the Apache Way and love open collaboration. Here are the ways to get involve:</p>
+<!-- --><ol>
+<!-- --><li>
+<!-- --><p>Join ALC Hangzhou Events<!-- --><br>
+<!-- -->Stay updated on upcoming events by following ALC Hangzhou's WeChat public account [^2] and official website [^3]. Participate in both online and offline gatherings organized by ALC Hangzhou.<!-- --></p>
+<!-- --></li>
+<!-- --><li>
+<!-- --><p>Become an ALC Hangzhou Member<!-- --><br>
+<!-- -->As a non-profit organization, ALC Hangzhou needs volunteers to assist with event coordination and organization. The principles for becoming an ALC Hangzhou volunteer are similar to those for Committer and PMC members in other Apache Software Foundation projects. The selection is based on individual contributions to the community and involves a voting process [^4].<!-- --></p>
+<!-- --></li>
+<!-- --></ol>
+<!-- --><p>Reference<!-- --><br>
+<!-- -->[^1] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/Apache+Local+Community+-+ALC" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/Apache+Local+Community+-+ALC</a><br>
+<!-- -->[^2] WeChat Public Account:alc_hangzhou<!-- --><br>
+<!-- -->[^3] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou</a><br>
+<!-- -->[^4] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter</a></p>]]></content:encoded>
+ </item>
<item>
<title><![CDATA[Install and Run Apache Answer on Ubuntu VPS]]></title>
<link>https://answer.apache.org/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps</link>
@@ -1036,40 +1087,5 @@ We discussed the motivation behind the design, and the features and principles o
If you are interested in developing plugins for Answer, please feel free to leave us a comment.
We will also write an article on how to implement an Answer plugin from scratch, so stay focused!</p>]]></content:encoded>
</item>
- <item>
- <title><![CDATA[How to Utilize Reputation and Privilege in Online Community]]></title>
- <link>https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community</link>
- <guid>https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community</guid>
- <pubDate>Wed, 19 Jul 2023 00:00:00 GMT</pubDate>
- <description><![CDATA[Meet Answer’s reputation and privilege systems and automate them for efficient community content management. ]]></description>
- <content:encoded><![CDATA[<div class="mb-4"><img decoding="async" loading="lazy" src="https://answer.apache.org/assets/images/2023-07-19-cover@4x-fb5729f0eb278096e3485b69538e36e0.png" class="rounded img_WevL" width="1280px" height="720px"></div><p>Reputation score is a reflection of a community member’s credibility. Community members establish this based on their actions and contributions. Simultaneously, a reputation system is formed to track participants' trustworthiness, c [...]
-<!-- --><p>Besides <!-- --><a href="https://answer.apache.org/blog/2023/07/11/the-what-why-using-tags-for-online-community">tagging</a>, <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> is an important part of <!-- --><strong>content management</strong> in Answer. Community members gain reputation scores by adhering to community guidelines and continuous contributions. Community moderators and administra [...]
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="purposes-of-reputation">Purposes of Reputation<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#purposes-of-reputation" class="hash-link" aria-label="Direct link to Purposes of Reputation" title="Direct link to Purposes of Reputation"></a></h2>
-<!-- --><p>In the mid-1900s, eBay introduced a feedback system, allowing buyers and sellers to rate each other based on transaction experience. This feedback mechanism, which influenced the reputation of users, helped build trust within the <!-- --><a href="https://answer.apache.org/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it">Q&A platform</a>.<!-- --></p>
-<!-- --><p>You can still find this mechanism running in Answer — community members upvote question or answer, accept answer, etc. Find out how we implement it for different purposes for a thriving online community.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="ways-to-implement-reputation-system-in-answer">Ways to Implement Reputation System in Answer<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#ways-to-implement-reputation-system-in-answer" class="hash-link" aria-label="Direct link to Ways to Implement Reputation System in Answer" title="Direct link to Ways to Implement Reputation System in Answer"></a></h2>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="1-trust-building">1. Trust Building<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#1-trust-building" class="hash-link" aria-label="Direct link to 1. Trust Building" title="Direct link to 1. Trust Building"></a></h3>
-<!-- --><p>A positive reputation indicates credibility, reliability, and expertise. In Answer, you can always find a reputation score next to the name, providing an initial impression of the community member.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Reputation Score Next to Community Member in Answer" src="https://answer.apache.org/assets/images/TrustBuilding1-66ed75f7774a5c9af90a94a083682548.png" width="800" height="270" class="img_WevL"></p>
-<!-- --><p>Click the name and jump to a community member’s profile page, where it includes reputation and related contributions.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Community Member Profile in Answer" src="https://answer.apache.org/assets/images/TrustBuilding2-0017ddc6b3f69669288f2ba37d50fcbc.png" width="800" height="466" class="img_WevL"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="2-rewards-and-penalties">2. Rewards and Penalties<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#2-rewards-and-penalties" class="hash-link" aria-label="Direct link to 2. Rewards and Penalties" title="Direct link to 2. Rewards and Penalties"></a></h3>
-<!-- --><p>Answer appreciate and encourage positive contributions, such as providing helpful answers, valuable content, upvote useful answers. Meanwhile, negative actions like downvote, spamming or abusive behavior can result in reputation penalties.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Reputation Rules in Answer" src="https://answer.apache.org/assets/images/RewardsandPenalties-448faa7639ffacbc69e7d31536074486.png" width="800" height="1022" class="img_WevL"></p>
-<!-- --><p>Click <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">here</a> for Answer's complete reputation rules that might inspire you.<!-- --></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="3-moderation-and-governance">3. Moderation and Governance<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#3-moderation-and-governance" class="hash-link" aria-label="Direct link to 3. Moderation and Governance" title="Direct link to 3. Moderation and Governance"></a></h3>
-<!-- --><p>After activation in Answer, community members will gain 1 reputation score, and are allowed to participate in general activities in the community, such as asking questions, writing answers, upvote comment, etc. Reputation scores are also used by community moderators and administrators to determine user <!-- --><a href="https://answer.apache.org/docs/recipes/contents/permission" target="_blank" rel="noopener noreferrer">privileges</a>, such as posting more than 2 links at a tim [...]
-<!-- --><p><img decoding="async" loading="lazy" alt="Add a New Tag in Answer" src="https://answer.apache.org/assets/images/AddaNewTag-5e3da1b56a31322d02f0c190193de33c.png" width="800" height="414" class="img_WevL"></p>
-<!-- --><p>In Answer, you’ll need 125 reputation scores to downvote, while downvote someone’s answer will reduce one reputation score. This prevents malicious downvoting and boosts answers through intentional others’ answers. This helps maintain a healthy community environment and discourage disruptive behavior.</p>
-<!-- --><p>The scale of communities is different, so is the reputation system. We’ve prepared 3 different privilege levels for teams at different scales.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Levels of Privileges in Answer" src="https://answer.apache.org/assets/images/LevelsofPrivileges-1eeb224a1bb483a8b211f219372c4291.png" width="800" height="871" class="img_WevL"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="4-community-engagement">4. Community Engagement<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#4-community-engagement" class="hash-link" aria-label="Direct link to 4. Community Engagement" title="Direct link to 4. Community Engagement"></a></h3>
-<!-- --><p>The reputation system allows community members to actively engage in the community. They can share expertise, contribute to discussions, and vote for better answers, fostering a positive and collaborative environment.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="conclusion">Conclusion<!-- --><a href="https://answer.apache.org/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#conclusion" class="hash-link" aria-label="Direct link to Conclusion" title="Direct link to Conclusion"></a></h2>
-<!-- --><p>Reputation in an online community is a reflection of a user’s contributions, engagement, and commitment to the community. We know the reputation system is dynamic, and it’s hard to build one from the ground, that’s why we’ve already got a complete <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> and <!-- --><a href="https://answer.apache.org/docs/recipes/contents/permission" target="_blank" re [...]
-<!-- --><p>By the time you <!-- --><a href="https://answer.apache.org/docs/installation" target="_blank" rel="noopener noreferrer">install</a> Answer successfully, the reputation system is already there. All you need to do is to choose the right reputation level for your community in the Admin page.<!-- --></p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Chose Privileges Level in Answer Admin" src="https://answer.apache.org/assets/images/PrivilegesLevel-ec1201d55c5c3f1adda4abcc09cf7c3e.png" width="800" height="329" class="img_WevL"></p>
-<!-- --><p>By automating this reputation system, your members are encouraged to share and become a significant part of the community. <!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Start Answer</a> now and shape the growth of the community along with other like-minded community members.<!-- --></p>]]></content:encoded>
- </item>
</channel>
</rss>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 9bd99e90..ad8f6e5d 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 06c43eec..da8c1054 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/blog-post/index.html b/community/blog-post/index.html
index 32e62b5d..b76997d4 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 36eff5cb..a35995f7 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 9a0eb32e..d8ed0ddc 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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_feHX alert alert--info details_rGhr" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_jTXV"><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_feHX alert alert--info details_rGhr" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_jTXV"><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 55ea6e09..68aa05ec 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
@@ -91,6 +91,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" 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_pwhL" 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/issues/index.html b/community/issues/index.html
index 62a65e82..024129f9 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 cf72b0c7..55de685e 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 1e52f2f1..34e895b3 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 f0740cdf..2d89f191 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 ed50077c..729d2e41 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 e50f050a..9665244d 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" 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_pwhL" 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/support/index.html b/community/support/index.html
index 9da329f0..00c5f0d7 100644
--- a/community/support/index.html
+++ b/community/support/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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="reactHubspotForm0" 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="reactHubspotForm0" 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/team/index.html b/community/team/index.html
index f190fe92..45186854 100644
--- a/community/team/index.html
+++ b/community/team/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
@@ -43,6 +43,6 @@
<!-- --><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://incubator.apache.org/guides/ppmc.html" target="_blank" rel="noopener noreferrer">https://incubator.apache.org/guides/ppmc.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/team.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 [...]
+<!-- --></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/team.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 [...]
</body>
</html>
\ No newline at end of file
diff --git a/community/translation/index.html b/community/translation/index.html
index 9109f58d..98d42c7b 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/docs/api/index.html b/docs/api/index.html
index ea580afb..262ed0c5 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 04bca10c..836c3425 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 75e6b8ee..ec8096ab 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_eWuJ alert alert--success"><div class="admonitionHeading_oigS"><span class="admonitionIcon_Mjm5"><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_pwhL" 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 1a9c465c..08311b86 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 7e09c712..64b854c9 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 72c42ffe..34b57a8f 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 d5bc8549..04adc15e 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 f3c929e4..6956a5ba 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 @@
<!-- --><li><strong>Responsive Layout</strong>: Join the community conversation seamlessly from any device.<!-- --></li>
<!-- --><li><strong>Dark Mode</strong>: Personalize community experience to stay concentrated.<!-- --></li>
<!-- --><li><strong>Separation of front-end and back-end</strong>: It is a monorepo that contains both the frontend and the backend.<!-- --></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/incubator-answer-website/edit/main/docs/introduction.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0. [...]
+<!-- --></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/introduction.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0. [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/installation/index.html b/docs/installation/index.html
index 4ac695da..d644759f 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 decoding="async" loading="lazy" alt="install-site-info" src="/assets/images/install-site-info-dd11f933444917d34aa90ae18166d00b.png" width="2400" height="1818" class="img_WevL"></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="step-5-complete">Step 5: Complete<!-- --><a href="#step-5-complete" class="hash-link" aria-label="Direct link to Step 5: Complete" title="Direct link to Step 5: Complete"></a></h3>
<!-- --><p>Congratulations, you can click the done button to start your answer journey!</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="install-complete" src="/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_WevL"></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" [...]
+<!-- --><p><img decoding="async" loading="lazy" alt="install-complete" src="/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_WevL"></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" [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/moderation/index.html b/docs/moderation/index.html
index 219e078d..4e2f69e5 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 c274f923..4746c2d1 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 f66bef8d..15e34dce 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 aa21eee9..47604bc4 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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_pwhL" 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 973abcd0..b6ed0cc3 100644
--- a/docs/questions/index.html
+++ b/docs/questions/index.html
@@ -10,14 +10,14 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="question-status">Question status<!-- --><a href="#question-status" class="hash-link" aria-label="Direct link to Question status" title="Direct link to Question status"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="Question state diagram" src="/assets/images/questions-question-status.drawio-ba8e6f72b87ff5452bcc4dd8cbdc7dea.svg" width="397" height="422" class="img_WevL"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="answer-status">Answer status<!-- --><a href="#answer-status" class="hash-link" aria-label="Direct link to Answer status" title="Direct link to Answer status"></a></h2>
-<!-- --><p><img decoding="async" loading="lazy" alt="Answer state diagram" src="/assets/images/questions-answer-status.drawio-c037079cbbf31ac37fdb578bb32a35c7.svg" width="187" height="422" class="img_WevL"></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- [...]
+<!-- --><p><img decoding="async" loading="lazy" alt="Answer state diagram" src="/assets/images/questions-answer-status.drawio-c037079cbbf31ac37fdb578bb32a35c7.svg" width="187" height="422" class="img_WevL"></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- [...]
</body>
</html>
\ No newline at end of file
diff --git a/docs/reputation/index.html b/docs/reputation/index.html
index daa05e36..ed97ce85 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 c39d62c1..2823bedf 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 968129c9..dceea534 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 77a27205..31113bef 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 67f244c4..bd9bc75f 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_eWuJ alert alert--success"><div class="admonitionHeading_oigS"><span class="admonitionIcon_Mjm5"><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_eWuJ alert alert--success"><div class="admonitionHeading_oigS"><span class="admonitionIcon_Mjm5"><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 0ada2535..87f4c927 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
@@ -91,6 +91,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" 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_pwhL" 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/download/index.html b/download/index.html
index 08cb5568..cb9bbd68 100644
--- a/download/index.html
+++ b/download/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/assets/css/styles.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/img/blog/2024-06-05-cover@2x.png b/img/blog/2024-06-05-cover@2x.png
new file mode 100644
index 00000000..6aebabec
Binary files /dev/null and b/img/blog/2024-06-05-cover@2x.png differ
diff --git a/img/blog/2024-06-05-cover@4x.png b/img/blog/2024-06-05-cover@4x.png
new file mode 100644
index 00000000..e967adfa
Binary files /dev/null and b/img/blog/2024-06-05-cover@4x.png differ
diff --git a/index.html b/index.html
index 50308d39..0fb1b006 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 d1096be8..99d8ccdc 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 81df278f..affb90ed 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.b81b0cfd.css">
-<script src="/assets/js/runtime~main.7012a68c.js" defer="defer"></script>
-<script src="/assets/js/main.ca208ee9.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.fdee1cff.js" defer="defer"></script>
+<script src="/assets/js/main.b2041361.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 27ec2172..281c8b5e 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 fc36d9db..285c6102 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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-06-05-cover@2x-8538278d8f428e2cfb43f7a647b8a53c.png b/zh-CN/assets/images/2024-06-05-cover@2x-8538278d8f428e2cfb43f7a647b8a53c.png
new file mode 100644
index 00000000..6aebabec
Binary files /dev/null and b/zh-CN/assets/images/2024-06-05-cover@2x-8538278d8f428e2cfb43f7a647b8a53c.png differ
diff --git a/zh-CN/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png b/zh-CN/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png
new file mode 100644
index 00000000..e967adfa
Binary files /dev/null and b/zh-CN/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png differ
diff --git a/zh-CN/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg b/zh-CN/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg
new file mode 100644
index 00000000..883df2f2
Binary files /dev/null and b/zh-CN/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg differ
diff --git a/zh-CN/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg b/zh-CN/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg
new file mode 100644
index 00000000..e20677df
Binary files /dev/null and b/zh-CN/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg differ
diff --git a/zh-CN/assets/images/Nadia Open Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg b/zh-CN/assets/images/Nadia Open Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg
new file mode 100644
index 00000000..d5287b10
Binary files /dev/null and b/zh-CN/assets/images/Nadia Open Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg differ
diff --git a/zh-CN/assets/images/Open Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg b/zh-CN/assets/images/Open Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg
new file mode 100644
index 00000000..af3583d9
Binary files /dev/null and b/zh-CN/assets/images/Open Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg differ
diff --git a/zh-CN/assets/js/0bbd7524.3dfee656.js b/zh-CN/assets/js/0bbd7524.3dfee656.js
new file mode 100644
index 00000000..19bbf90f
--- /dev/null
+++ b/zh-CN/assets/js/0bbd7524.3dfee656.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1068],{54589:(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.45c832ca.js b/zh-CN/assets/js/0bbd7524.45c832ca.js
deleted file mode 100644
index cd9726eb..00000000
--- a/zh-CN/assets/js/0bbd7524.45c832ca.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1068],{54589:(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/1620c6a0.3f84af01.js b/zh-CN/assets/js/1620c6a0.3f84af01.js
deleted file mode 100644
index ef352efc..00000000
--- a/zh-CN/assets/js/1620c6a0.3f84af01.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4945],{88084:(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.cc468bf9.js b/zh-CN/assets/js/1620c6a0.cc468bf9.js
new file mode 100644
index 00000000..79458553
--- /dev/null
+++ b/zh-CN/assets/js/1620c6a0.cc468bf9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4945],{88084:(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.22b42407.js b/zh-CN/assets/js/1a8837ce.22b42407.js
new file mode 100644
index 00000000..4e3cff23
--- /dev/null
+++ b/zh-CN/assets/js/1a8837ce.22b42407.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{95221:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=i(43010),s=i(90887);const r={slug:"/contributing"},o="Contributing",l={id:"contributing/contributing",title:"Contributing",description:"Thanks for your interest in contributing to Apache Answer, hopefully, this document makes the process for contributing clear.",source:"@site/communi [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/1a8837ce.77934c3b.js b/zh-CN/assets/js/1a8837ce.77934c3b.js
deleted file mode 100644
index ace0bb0f..00000000
--- a/zh-CN/assets/js/1a8837ce.77934c3b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9849],{95221:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=i(43010),s=i(90887);const r={slug:"/contributing"},o="Contributing",l={id:"contributing/contributing",title:"Contributing",description:"Thanks for your interest in contributing to Apache Answer, hopefully, this document makes the process for contributing clear.",source:"@site/communi [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/221cde73.63177b04.js b/zh-CN/assets/js/221cde73.d619c2b7.js
similarity index 82%
rename from zh-CN/assets/js/221cde73.63177b04.js
rename to zh-CN/assets/js/221cde73.d619c2b7.js
index bdfd3527..ed41ee8b 100644
--- a/zh-CN/assets/js/221cde73.63177b04.js
+++ b/zh-CN/assets/js/221cde73.d619c2b7.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7187],{9072:(a,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>m});var e=o(43010),i=o(90887);const c=JSON.parse('[{"rC":[{"name":"chrisdutz","avatar":"https://avatars.githubusercontent.com/u/651105","github":"https://github.com/chrisdutz","role":"Mentor"},{"name":"fenbox","avatar":"https://avatars.githubusercontent.com/u/360618","github":"https://github.co [...]
\ No newline at end of file
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7187],{9072:(a,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>m});var e=o(43010),i=o(90887);const c=JSON.parse('[{"rC":[{"name":"chrisdutz","avatar":"https://avatars.githubusercontent.com/u/651105","github":"https://github.com/chrisdutz","role":"Mentor"},{"name":"fenbox","avatar":"https://avatars.githubusercontent.com/u/360618","github":"https://github.co [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2281c4fb.5087a5c5.js b/zh-CN/assets/js/2281c4fb.5087a5c5.js
new file mode 100644
index 00000000..8d778e5d
--- /dev/null
+++ b/zh-CN/assets/js/2281c4fb.5087a5c5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6020],{86768:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>h,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>r,toc:()=>o});var t=a(43010),s=a(90887);const c={title:"Apache Answer \u53c2\u4e0e\u9996\u6b21 ALC Hangzhou \u7ebf\u4e0b\u805a\u4f1a",authors:["Anne"],category:"Community",featured:!1,image:"2024-06-05-cover@4x.png",description:"Answer \u4f5c\u4e3a ALC Hangzhou \u521d\u59cb\u6210\u5458\u53d7\u9080\u53c2 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/283536cd.3b1ac58c.js b/zh-CN/assets/js/283536cd.3b1ac58c.js
new file mode 100644
index 00000000..50416179
--- /dev/null
+++ b/zh-CN/assets/js/283536cd.3b1ac58c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[391],{78859:(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.f7fb2ca2.js b/zh-CN/assets/js/283536cd.f7fb2ca2.js
deleted file mode 100644
index 84465f77..00000000
--- a/zh-CN/assets/js/283536cd.f7fb2ca2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[391],{78859:(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.4428c532.js b/zh-CN/assets/js/2a510483.4428c532.js
deleted file mode 100644
index ee859a04..00000000
--- a/zh-CN/assets/js/2a510483.4428c532.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see 2a510483.4428c532.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{82762:(e,t,r)=>{"use strict";r.r(t),r.d(t,{assets:()=>y,contentTitle:()=>m,default:()=>w,frontMatter:()=>f,metadata:()=>b,toc:()=>x});var n=r(43010),s=r(90887),i=r(82829),o=r.n(i),a=r(16567),l=r(84875),c=r.n(l),u=r(85170),d=r(53437);const h=u.forwardRef((({bsPrefix:e,variant:t,animation:r="border",size:s,as:i="div",className:o,...a},l)=>{const u=`${e=(0,d.vE)(e,"spinner")}-${r}`;return(0,n.jsx)(i,{ref:l,...a,className:c( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2a510483.c747a8ec.js b/zh-CN/assets/js/2a510483.c747a8ec.js
new file mode 100644
index 00000000..f2dd1c10
--- /dev/null
+++ b/zh-CN/assets/js/2a510483.c747a8ec.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2a510483.c747a8ec.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9304],{82762:(e,t,r)=>{"use strict";r.r(t),r.d(t,{assets:()=>y,contentTitle:()=>m,default:()=>w,frontMatter:()=>f,metadata:()=>b,toc:()=>x});var n=r(43010),s=r(90887),i=r(82829),o=r.n(i),a=r(16567),l=r(84875),c=r.n(l),u=r(85170),d=r(53437);const h=u.forwardRef((({bsPrefix:e,variant:t,animation:r="border",size:s,as:i="div",className:o,...a},l)=>{const u=`${e=(0,d.vE)(e,"spinner")}-${r}`;return(0,n.jsx)(i,{ref:l,...a,className:c( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2a510483.4428c532.js.LICENSE.txt b/zh-CN/assets/js/2a510483.c747a8ec.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/2a510483.4428c532.js.LICENSE.txt
rename to zh-CN/assets/js/2a510483.c747a8ec.js.LICENSE.txt
diff --git a/assets/js/2c22be1c.15584ab8.js b/zh-CN/assets/js/2c22be1c.df88b389.js
similarity index 89%
rename from assets/js/2c22be1c.15584ab8.js
rename to zh-CN/assets/js/2c22be1c.df88b389.js
index d3c19741..029d5a0e 100644
--- a/assets/js/2c22be1c.15584ab8.js
+++ b/zh-CN/assets/js/2c22be1c.df88b389.js
@@ -1,2 +1,2 @@
-/*! For license information please see 2c22be1c.15584ab8.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(16567);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
+/*! For license information please see 2c22be1c.df88b389.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(16567);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.15584ab8.js.LICENSE.txt b/zh-CN/assets/js/2c22be1c.df88b389.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/2c22be1c.15584ab8.js.LICENSE.txt
rename to zh-CN/assets/js/2c22be1c.df88b389.js.LICENSE.txt
diff --git a/zh-CN/assets/js/3728301f.0b081ccb.js b/zh-CN/assets/js/3728301f.0d756856.js
similarity index 72%
rename from zh-CN/assets/js/3728301f.0b081ccb.js
rename to zh-CN/assets/js/3728301f.0d756856.js
index ceeae91d..65bc5f45 100644
--- a/zh-CN/assets/js/3728301f.0b081ccb.js
+++ b/zh-CN/assets/js/3728301f.0d756856.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1558],{41036:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":25,"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
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1558],{41036:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":16,"totalPages":2,"totalCount":26,"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.2650e1dd.js b/zh-CN/assets/js/3a3fadac.d6152a1c.js
similarity index 75%
rename from assets/js/3a3fadac.2650e1dd.js
rename to zh-CN/assets/js/3a3fadac.d6152a1c.js
index 4d493b86..aed1b117 100644
--- a/assets/js/3a3fadac.2650e1dd.js
+++ b/zh-CN/assets/js/3a3fadac.d6152a1c.js
@@ -1 +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:r,onClick:o,title:d=""}=e;return(0,a.jsx)("i",{className:(0,c.Z)(s,`bi-${t}`,n),style:{...r&&{fontSize:r}},onClick:o,onKeyDown:o,title:d})}},12306:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>J});var c=t(85170),a=t(43810),n=t(96933),r=t(71712),o=t(45924),d=t(89388),i=t(89835),l=t(56852) [...]
\ No newline at end of file
+(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:r,onClick:o,title:d=""}=e;return(0,a.jsx)("i",{className:(0,c.Z)(s,`bi-${t}`,n),style:{...r&&{fontSize:r}},onClick:o,onKeyDown:o,title:d})}},12306:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>J});var c=t(85170),a=t(43810),n=t(96933),r=t(71712),o=t(45924),d=t(89388),i=t(89835),l=t(56852) [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3a86a8c5.d4fd4bb3.js b/zh-CN/assets/js/3a86a8c5.22f58366.js
similarity index 86%
rename from zh-CN/assets/js/3a86a8c5.d4fd4bb3.js
rename to zh-CN/assets/js/3a86a8c5.22f58366.js
index fbfe1712..4bba7ca4 100644
--- a/zh-CN/assets/js/3a86a8c5.d4fd4bb3.js
+++ b/zh-CN/assets/js/3a86a8c5.22f58366.js
@@ -1,2 +1,2 @@
-/*! For license information please see 3a86a8c5.d4fd4bb3.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2355],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>g});var a=t(85170),c=t(45924),r=t(16567);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.22f58366.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2355],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>g});var a=t(85170),c=t(45924),r=t(16567);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.d4fd4bb3.js.LICENSE.txt b/zh-CN/assets/js/3a86a8c5.22f58366.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/3a86a8c5.d4fd4bb3.js.LICENSE.txt
rename to zh-CN/assets/js/3a86a8c5.22f58366.js.LICENSE.txt
diff --git a/zh-CN/assets/js/415707e9.329bb904.js b/zh-CN/assets/js/415707e9.329bb904.js
new file mode 100644
index 00000000..53279c08
--- /dev/null
+++ b/zh-CN/assets/js/415707e9.329bb904.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{7603:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>c,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var i=n(43010),r=n(90887);const t={slug:"/users"},d="Users",l={id:"guides/users",title:"Users",description:"User status",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/zh-CN/docs/users",draft:!1,unlisted:!1,editUrl:"https://crowdin.com/project/answer-we [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/415707e9.d4b88250.js b/zh-CN/assets/js/415707e9.d4b88250.js
deleted file mode 100644
index f1489e33..00000000
--- a/zh-CN/assets/js/415707e9.d4b88250.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2289],{7603:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>c,frontMatter:()=>t,metadata:()=>l,toc:()=>o});var i=n(43010),r=n(90887);const t={slug:"/users"},d="Users",l={id:"guides/users",title:"Users",description:"User status",source:"@site/docs/guides/users.md",sourceDirName:"guides",slug:"/users",permalink:"/zh-CN/docs/users",draft:!1,unlisted:!1,editUrl:"https://crowdin.com/project/answer-we [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/4958df33.856689cf.js b/zh-CN/assets/js/4958df33.856689cf.js
deleted file mode 100644
index bd50821e..00000000
--- a/zh-CN/assets/js/4958df33.856689cf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[291],{10680:(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.d6d406f7.js b/zh-CN/assets/js/4958df33.d6d406f7.js
new file mode 100644
index 00000000..ac67e6fa
--- /dev/null
+++ b/zh-CN/assets/js/4958df33.d6d406f7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[291],{10680:(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/50bc71d4.1b1d8b07.js b/zh-CN/assets/js/50bc71d4.1b1d8b07.js
new file mode 100644
index 00000000..ad95b8cf
--- /dev/null
+++ b/zh-CN/assets/js/50bc71d4.1b1d8b07.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6406],{32885:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup","metadata":{"permalink":"/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup","editUrl":"https://crowdin.com/project/answer-website/zh-CN","source":"@site/i18n/zh-CN/docusaurus-plugin-content-blog/2024-06-05-apache-answer-joined-first-alc-hangzhou-meetup/index.md","title":"Apache [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/50bc71d4.b7aa7540.js b/zh-CN/assets/js/50bc71d4.b7aa7540.js
deleted file mode 100644
index c4f30fa5..00000000
--- a/zh-CN/assets/js/50bc71d4.b7aa7540.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6406],{32885:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps","metadata":{"permalink":"/zh-CN/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps","editUrl":"https://crowdin.com/project/answer-website/zh-CN","source":"@site/blog/2024-06-03-install-and-run-apache-answer-on-ubuntu-vps/index.md","title":"Install and Run Apache Answer on Ubuntu VPS","descri [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/565f0463.6b641be9.js b/zh-CN/assets/js/565f0463.6b641be9.js
deleted file mode 100644
index 75c7485b..00000000
--- a/zh-CN/assets/js/565f0463.6b641be9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5360],{50269:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var s=t(43010),r=t(90887);const i={slug:"/faq"},c="\u5e38\u89c1\u95ee\u9898",l={id:"faq",title:"\u5e38\u89c1\u95ee\u9898",description:"\u5982\u4f55\u8bbf\u95ee\u5b89\u88c5\u9875\u9762\uff1f",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/faq.md",sourceDirName:".",slug:"/fa [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/565f0463.a27e894f.js b/zh-CN/assets/js/565f0463.a27e894f.js
new file mode 100644
index 00000000..9c576512
--- /dev/null
+++ b/zh-CN/assets/js/565f0463.a27e894f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5360],{50269:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var s=t(43010),r=t(90887);const i={slug:"/faq"},c="\u5e38\u89c1\u95ee\u9898",l={id:"faq",title:"\u5e38\u89c1\u95ee\u9898",description:"\u5982\u4f55\u8bbf\u95ee\u5b89\u88c5\u9875\u9762\uff1f",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/faq.md",sourceDirName:".",slug:"/fa [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5771c448.63ac1726.js b/zh-CN/assets/js/5771c448.63ac1726.js
new file mode 100644
index 00000000..b3982be9
--- /dev/null
+++ b/zh-CN/assets/js/5771c448.63ac1726.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7872],{76564:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var n=i(43010),s=i(90887);const r={slug:"/security"},c="Security",o={id:"security",title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. If you find a security bug, with that in mind, please do not file [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/589616dd.e131b422.js b/zh-CN/assets/js/589616dd.f130c372.js
similarity index 73%
rename from zh-CN/assets/js/589616dd.e131b422.js
rename to zh-CN/assets/js/589616dd.f130c372.js
index cee5cf3e..c632ff78 100644
--- a/zh-CN/assets/js/589616dd.e131b422.js
+++ b/zh-CN/assets/js/589616dd.f130c372.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":30,"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":31,"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.9466352c.js b/zh-CN/assets/js/5ac42693.9466352c.js
new file mode 100644
index 00000000..421c54fe
--- /dev/null
+++ b/zh-CN/assets/js/5ac42693.9466352c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{75821:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var a=s(43010),n=s(90887);const r={slug:"/how-to-release"},i="How to Release",o={id:"contributing/how-to-release",title:"How to Release",description:"All Apache projects are required to follow the Apache Release Policy. This guide is intended to help you understand the policy and how to re [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5ac42693.d384e073.js b/zh-CN/assets/js/5ac42693.d384e073.js
deleted file mode 100644
index 79bd507c..00000000
--- a/zh-CN/assets/js/5ac42693.d384e073.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5047],{75821:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var a=s(43010),n=s(90887);const r={slug:"/how-to-release"},i="How to Release",o={id:"contributing/how-to-release",title:"How to Release",description:"All Apache projects are required to follow the Apache Release Policy. This guide is intended to help you understand the policy and how to re [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5b5253e0.88f299e9.js b/zh-CN/assets/js/5b5253e0.88f299e9.js
new file mode 100644
index 00000000..0f9f088d
--- /dev/null
+++ b/zh-CN/assets/js/5b5253e0.88f299e9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7734],{64608:(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.e93e08e9.js b/zh-CN/assets/js/5b5253e0.e93e08e9.js
deleted file mode 100644
index ac2e50e8..00000000
--- a/zh-CN/assets/js/5b5253e0.e93e08e9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7734],{64608:(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.a5ea54cb.js b/zh-CN/assets/js/5b5f4945.a5ea54cb.js
new file mode 100644
index 00000000..78ffde01
--- /dev/null
+++ b/zh-CN/assets/js/5b5f4945.a5ea54cb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5253],{13769:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var n=e(43010),i=e(90887);const a={slug:"/questions"},o="Questions",r={id:"guides/questions",title:"Questions",description:"Question status",source:"@site/docs/guides/questions.md",sourceDirName:"guides",slug:"/questions",permalink:"/zh-CN/docs/questions",draft:!1,unlisted:!1,editUrl:"http [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/692c6f9f.45c7c9da.js b/zh-CN/assets/js/692c6f9f.45c7c9da.js
deleted file mode 100644
index 5181f235..00000000
--- a/zh-CN/assets/js/692c6f9f.45c7c9da.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3483],{56842:(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.57309860.js b/zh-CN/assets/js/692c6f9f.57309860.js
new file mode 100644
index 00000000..a60cd726
--- /dev/null
+++ b/zh-CN/assets/js/692c6f9f.57309860.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3483],{56842:(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.7eee8830.js b/zh-CN/assets/js/6b66dba1.7eee8830.js
new file mode 100644
index 00000000..c23fa6a9
--- /dev/null
+++ b/zh-CN/assets/js/6b66dba1.7eee8830.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7250],{70873:(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.a20f05e6.js b/zh-CN/assets/js/6b66dba1.a20f05e6.js
deleted file mode 100644
index 254f12e4..00000000
--- a/zh-CN/assets/js/6b66dba1.a20f05e6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7250],{70873:(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.a6d9a117.js b/zh-CN/assets/js/6f494215.a6d9a117.js
deleted file mode 100644
index 475c46d5..00000000
--- a/zh-CN/assets/js/6f494215.a6d9a117.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{93928:(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.c0dad68d.js b/zh-CN/assets/js/6f494215.c0dad68d.js
new file mode 100644
index 00000000..fc64d175
--- /dev/null
+++ b/zh-CN/assets/js/6f494215.c0dad68d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8773],{93928:(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.6eabcb76.js b/zh-CN/assets/js/6fd9b8bb.6eabcb76.js
new file mode 100644
index 00000000..3df82ef6
--- /dev/null
+++ b/zh-CN/assets/js/6fd9b8bb.6eabcb76.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{43875:(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.aca598c8.js b/zh-CN/assets/js/6fd9b8bb.aca598c8.js
deleted file mode 100644
index 75b6fced..00000000
--- a/zh-CN/assets/js/6fd9b8bb.aca598c8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5498],{43875:(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/719ef308.33dabdb8.js b/zh-CN/assets/js/719ef308.33dabdb8.js
new file mode 100644
index 00000000..f0dbc087
--- /dev/null
+++ b/zh-CN/assets/js/719ef308.33dabdb8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6606],{62152:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>u,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var r=n(43010),a=n(90887),s=n(71981),l=n(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.70fc1cda.js b/zh-CN/assets/js/719ef308.70fc1cda.js
deleted file mode 100644
index 55763209..00000000
--- a/zh-CN/assets/js/719ef308.70fc1cda.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6606],{62152:(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(71981),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.a30f1ddb.js b/zh-CN/assets/js/731fb1ee.a30f1ddb.js
deleted file mode 100644
index 3017dc52..00000000
--- a/zh-CN/assets/js/731fb1ee.a30f1ddb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2542],{68752:(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.b23b852d.js b/zh-CN/assets/js/731fb1ee.b23b852d.js
new file mode 100644
index 00000000..64185c11
--- /dev/null
+++ b/zh-CN/assets/js/731fb1ee.b23b852d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2542],{68752:(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/7cc65417.32fae55a.js b/zh-CN/assets/js/7cc65417.32fae55a.js
new file mode 100644
index 00000000..c418ef60
--- /dev/null
+++ b/zh-CN/assets/js/7cc65417.32fae55a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9842],{56056:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>A,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var s=a(43010),r=a(90887);const t={title:"Install and Run Apache Answer on Ubuntu VPS",category:"Tutorials",featured:!1,image:"2024-06-03-cover@4x.png",description:"This article provides a guide for how to install and run Apache Answer on Ubuntu VPS."},i=void 0,c={permalink:"/zh-CN/blog/20 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/7cc65417.89913d54.js b/zh-CN/assets/js/7cc65417.89913d54.js
deleted file mode 100644
index 7019b4e6..00000000
--- a/zh-CN/assets/js/7cc65417.89913d54.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9842],{56056:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>A,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var s=a(43010),r=a(90887);const t={title:"Install and Run Apache Answer on Ubuntu VPS",category:"Tutorials",featured:!1,image:"2024-06-03-cover@4x.png",description:"This article provides a guide for how to install and run Apache Answer on Ubuntu VPS."},i=void 0,c={permalink:"/zh-CN/blog/20 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/7f220a89.65236ca4.js b/zh-CN/assets/js/7f220a89.65236ca4.js
new file mode 100644
index 00000000..76f82651
--- /dev/null
+++ b/zh-CN/assets/js/7f220a89.65236ca4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5757],{64513:(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(71981),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.d230fda6.js b/zh-CN/assets/js/7f220a89.d230fda6.js
deleted file mode 100644
index d2bccf44..00000000
--- a/zh-CN/assets/js/7f220a89.d230fda6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5757],{64513:(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),a=t(90887),r=t(71981),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.74827c34.js b/zh-CN/assets/js/87260873.74827c34.js
new file mode 100644
index 00000000..bc3926d3
--- /dev/null
+++ b/zh-CN/assets/js/87260873.74827c34.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6424],{19893:e=>{e.exports=JSON.parse('[{"label":"Community","permalink":"/blog/category/community","count":12},{"label":"Tutorials","permalink":"/blog/category/tutorials","count":6},{"label":"Release","permalink":"/blog/category/release","count":7},{"label":"Tech","permalink":"/blog/category/tech","count":2},{"label":"Best Practice","permalink":"/blog/category/best-practice","count":2},{"label":"Insights","permali [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/87260873.eb499745.js b/zh-CN/assets/js/87260873.eb499745.js
deleted file mode 100644
index 380a975b..00000000
--- a/zh-CN/assets/js/87260873.eb499745.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6424],{19893:e=>{e.exports=JSON.parse('[{"label":"Tutorials","permalink":"/blog/category/tutorials","count":6},{"label":"Release","permalink":"/blog/category/release","count":7},{"label":"Community","permalink":"/blog/category/community","count":11},{"label":"Tech","permalink":"/blog/category/tech","count":2},{"label":"Best Practice","permalink":"/blog/category/best-practice","count":2},{"label":"Insights","permali [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/872d4ab4.1f8bb6ac.js b/zh-CN/assets/js/872d4ab4.1f8bb6ac.js
deleted file mode 100644
index 8c368ef9..00000000
--- a/zh-CN/assets/js/872d4ab4.1f8bb6ac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{68581:(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.2b7ec917.js b/zh-CN/assets/js/872d4ab4.2b7ec917.js
new file mode 100644
index 00000000..cc234954
--- /dev/null
+++ b/zh-CN/assets/js/872d4ab4.2b7ec917.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4759],{68581:(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.79f61ed9.js b/zh-CN/assets/js/8d998be3.91aae439.js
similarity index 73%
rename from zh-CN/assets/js/8d998be3.79f61ed9.js
rename to zh-CN/assets/js/8d998be3.91aae439.js
index 1b02bde1..87cc3a8f 100644
--- a/zh-CN/assets/js/8d998be3.79f61ed9.js
+++ b/zh-CN/assets/js/8d998be3.91aae439.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":30,"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":31,"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/a4adfb7f.cb14a2ed.js b/zh-CN/assets/js/a4adfb7f.cb14a2ed.js
new file mode 100644
index 00000000..1891ec49
--- /dev/null
+++ b/zh-CN/assets/js/a4adfb7f.cb14a2ed.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1508],{65457:(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.f8e35ecf.js b/zh-CN/assets/js/a4adfb7f.f8e35ecf.js
deleted file mode 100644
index 96b7b007..00000000
--- a/zh-CN/assets/js/a4adfb7f.f8e35ecf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[1508],{65457:(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.06c3e522.js b/zh-CN/assets/js/a5b0ceb9.06c3e522.js
deleted file mode 100644
index 5e347212..00000000
--- a/zh-CN/assets/js/a5b0ceb9.06c3e522.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6431],{38237:(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.c5e76d9f.js b/zh-CN/assets/js/a5b0ceb9.c5e76d9f.js
new file mode 100644
index 00000000..93cc3189
--- /dev/null
+++ b/zh-CN/assets/js/a5b0ceb9.c5e76d9f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6431],{38237:(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/assets/js/a7021a0a.ec7ea91b.js b/zh-CN/assets/js/a7021a0a.8611da69.js
similarity index 72%
rename from assets/js/a7021a0a.ec7ea91b.js
rename to zh-CN/assets/js/a7021a0a.8611da69.js
index 25fdabde..04e55510 100644
--- a/assets/js/a7021a0a.ec7ea91b.js
+++ b/zh-CN/assets/js/a7021a0a.8611da69.js
@@ -1 +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":25,"previousPage":"/blog","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([[176],{26408:e=>{e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":16,"totalPages":2,"totalCount":26,"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.e3b78898.js b/zh-CN/assets/js/a72448b0.8f7e3df3.js
similarity index 88%
rename from zh-CN/assets/js/a72448b0.e3b78898.js
rename to zh-CN/assets/js/a72448b0.8f7e3df3.js
index 597d9323..cc8828f5 100644
--- a/zh-CN/assets/js/a72448b0.e3b78898.js
+++ b/zh-CN/assets/js/a72448b0.8f7e3df3.js
@@ -1,2 +1,2 @@
-/*! For license information please see a72448b0.e3b78898.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7636],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>g});var a=t(85170),c=t(45924),r=t(16567);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.8f7e3df3.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7636],{23401:(e,s,t)=>{"use strict";t.d(s,{Z:()=>g});var a=t(85170),c=t(45924),r=t(16567);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.e3b78898.js.LICENSE.txt b/zh-CN/assets/js/a72448b0.8f7e3df3.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/a72448b0.e3b78898.js.LICENSE.txt
rename to zh-CN/assets/js/a72448b0.8f7e3df3.js.LICENSE.txt
diff --git a/zh-CN/assets/js/ab89225c.dffd0bd8.js b/zh-CN/assets/js/ab89225c.dffd0bd8.js
new file mode 100644
index 00000000..90b1fad7
--- /dev/null
+++ b/zh-CN/assets/js/ab89225c.dffd0bd8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3083],{50619:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>h,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>r,toc:()=>o});var t=a(43010),s=a(90887);const c={title:"Apache Answer \u53c2\u4e0e\u9996\u6b21 ALC Hangzhou \u7ebf\u4e0b\u805a\u4f1a",authors:["Anne"],category:"Community",featured:!1,image:"2024-06-05-cover@4x.png",description:"Answer \u4f5c\u4e3a ALC Hangzhou \u521d\u59cb\u6210\u5458\u53d7\u9080\u53c2 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/bb350c59.2009ada5.js b/zh-CN/assets/js/bb350c59.2009ada5.js
deleted file mode 100644
index 15f3efe9..00000000
--- a/zh-CN/assets/js/bb350c59.2009ada5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4517],{15002:(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.b85e469a.js b/zh-CN/assets/js/bb350c59.b85e469a.js
new file mode 100644
index 00000000..ad8728a4
--- /dev/null
+++ b/zh-CN/assets/js/bb350c59.b85e469a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[4517],{15002:(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.647ffca2.js b/zh-CN/assets/js/c8c000df.647ffca2.js
deleted file mode 100644
index f9adc0e9..00000000
--- a/zh-CN/assets/js/c8c000df.647ffca2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9185],{21783:(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.b0132235.js b/zh-CN/assets/js/c8c000df.b0132235.js
new file mode 100644
index 00000000..01fe155d
--- /dev/null
+++ b/zh-CN/assets/js/c8c000df.b0132235.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9185],{21783:(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.0d7b3bed.js b/zh-CN/assets/js/ca3ced4f.0d7b3bed.js
new file mode 100644
index 00000000..de733e29
--- /dev/null
+++ b/zh-CN/assets/js/ca3ced4f.0d7b3bed.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6161],{67999:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var s=n(43010),r=n(90887);const o={slug:"/settings"},i=void 0,c={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,unlist [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/ca3ced4f.661d1a8a.js b/zh-CN/assets/js/ca3ced4f.661d1a8a.js
deleted file mode 100644
index 87c6147a..00000000
--- a/zh-CN/assets/js/ca3ced4f.661d1a8a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6161],{67999:(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,unlist [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/cb37bc33.03d41043.js b/zh-CN/assets/js/cb37bc33.03d41043.js
deleted file mode 100644
index 601bbc89..00000000
--- a/zh-CN/assets/js/cb37bc33.03d41043.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9835],{15067:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var a=t(43010),o=t(90887);const i={slug:"/configfile"},c="\u914d\u7f6e\u6587\u4ef6",r={id:"getting-started/configfile",title:"\u914d\u7f6e\u6587\u4ef6",description:"\u6211\u4eec\u4f7f\u7528 yaml \u914d\u7f6e\u6587\u4ef6\u3002\u5b83\u5c06\u5728\u6267\u884c answer init \u547d\u4ee4\u540e\u81 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/cb37bc33.e635a15a.js b/zh-CN/assets/js/cb37bc33.e635a15a.js
new file mode 100644
index 00000000..e396c23b
--- /dev/null
+++ b/zh-CN/assets/js/cb37bc33.e635a15a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[9835],{15067:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var o=t(43010),a=t(90887);const i={slug:"/configfile"},c="\u914d\u7f6e\u6587\u4ef6",r={id:"getting-started/configfile",title:"\u914d\u7f6e\u6587\u4ef6",description:"\u6211\u4eec\u4f7f\u7528 yaml \u914d\u7f6e\u6587\u4ef6\u3002\u5b83\u5c06\u5728\u6267\u884c answer init \u547d\u4ee4\u540e\u81 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/d7ef3cd8.4498c4cf.js b/zh-CN/assets/js/d7ef3cd8.4498c4cf.js
new file mode 100644
index 00000000..12cd0531
--- /dev/null
+++ b/zh-CN/assets/js/d7ef3cd8.4498c4cf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{1430:(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 know [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/d7ef3cd8.611859e9.js b/zh-CN/assets/js/d7ef3cd8.611859e9.js
deleted file mode 100644
index 742fe00f..00000000
--- a/zh-CN/assets/js/d7ef3cd8.611859e9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7944],{1430:(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 know [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/d980d228.51ef410f.js b/zh-CN/assets/js/d980d228.87768975.js
similarity index 71%
rename from zh-CN/assets/js/d980d228.51ef410f.js
rename to zh-CN/assets/js/d980d228.87768975.js
index c56e4a44..b9549f4c 100644
--- a/zh-CN/assets/js/d980d228.51ef410f.js
+++ b/zh-CN/assets/js/d980d228.87768975.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6909],{72046:e=>{e.exports=JSON.parse('{"permalink":"/blog/category/community","page":1,"postsPerPage":16,"totalPages":1,"totalCount":11,"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([[6909],{72046:e=>{e.exports=JSON.parse('{"permalink":"/blog/category/community","page":1,"postsPerPage":16,"totalPages":1,"totalCount":12,"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/d9d6ff59.fbe16f33.js b/zh-CN/assets/js/d9d6ff59.fbe16f33.js
new file mode 100644
index 00000000..5cd0e777
--- /dev/null
+++ b/zh-CN/assets/js/d9d6ff59.fbe16f33.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[8506],{45711:e=>{e.exports=[]}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/da6654f2.9e1c94f0.js b/zh-CN/assets/js/da6654f2.9e1c94f0.js
deleted file mode 100644
index c60e8642..00000000
--- a/zh-CN/assets/js/da6654f2.9e1c94f0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{33758:(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.f9fcb1fd.js b/zh-CN/assets/js/da6654f2.f9fcb1fd.js
new file mode 100644
index 00000000..550002a9
--- /dev/null
+++ b/zh-CN/assets/js/da6654f2.f9fcb1fd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[3886],{33758:(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.f003c3e1.js b/zh-CN/assets/js/dc8b965f.f003c3e1.js
new file mode 100644
index 00000000..f300773d
--- /dev/null
+++ b/zh-CN/assets/js/dc8b965f.f003c3e1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[2441],{89725:(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.0081f404.js b/zh-CN/assets/js/e4ae456e.0081f404.js
new file mode 100644
index 00000000..d70df336
--- /dev/null
+++ b/zh-CN/assets/js/e4ae456e.0081f404.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7073],{92990:(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:"@sit [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/e4ae456e.6efbca73.js b/zh-CN/assets/js/e4ae456e.6efbca73.js
deleted file mode 100644
index f6d1b22a..00000000
--- a/zh-CN/assets/js/e4ae456e.6efbca73.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[7073],{92990:(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:"@sit [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/eafd45de.107e562e.js b/zh-CN/assets/js/eafd45de.107e562e.js
new file mode 100644
index 00000000..6c221be7
--- /dev/null
+++ b/zh-CN/assets/js/eafd45de.107e562e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{54972:(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.6e3b842d.js b/zh-CN/assets/js/eafd45de.6e3b842d.js
deleted file mode 100644
index f24d58f8..00000000
--- a/zh-CN/assets/js/eafd45de.6e3b842d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[6714],{54972:(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.10d7a272.js b/zh-CN/assets/js/f8a2828b.10d7a272.js
deleted file mode 100644
index a1cbf531..00000000
--- a/zh-CN/assets/js/f8a2828b.10d7a272.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{91569:(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.1b450664.js b/zh-CN/assets/js/f8a2828b.1b450664.js
new file mode 100644
index 00000000..f23dd554
--- /dev/null
+++ b/zh-CN/assets/js/f8a2828b.1b450664.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5297],{91569:(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/fb24484d.62d15f40.js b/zh-CN/assets/js/fb24484d.62d15f40.js
deleted file mode 100644
index e5dfbb02..00000000
--- a/zh-CN/assets/js/fb24484d.62d15f40.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5681],{82464:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>A,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var s=a(43010),r=a(90887);const t={title:"Install and Run Apache Answer on Ubuntu VPS",category:"Tutorials",featured:!1,image:"2024-06-03-cover@4x.png",description:"This article provides a guide for how to install and run Apache Answer on Ubuntu VPS."},i=void 0,c={permalink:"/zh-CN/blog/20 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/fb24484d.b2817622.js b/zh-CN/assets/js/fb24484d.b2817622.js
new file mode 100644
index 00000000..40b1dac9
--- /dev/null
+++ b/zh-CN/assets/js/fb24484d.b2817622.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[5681],{82464:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>A,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var s=a(43010),r=a(90887);const t={title:"Install and Run Apache Answer on Ubuntu VPS",category:"Tutorials",featured:!1,image:"2024-06-03-cover@4x.png",description:"This article provides a guide for how to install and run Apache Answer on Ubuntu VPS."},i=void 0,c={permalink:"/zh-CN/blog/20 [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/main.1a45c88f.js b/zh-CN/assets/js/main.1a45c88f.js
new file mode 100644
index 00000000..a366b34a
--- /dev/null
+++ b/zh-CN/assets/js/main.1a45c88f.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.1a45c88f.js.LICENSE.txt */
+(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{94288:(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=94288},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.23ebcbbd.js.LICENSE.txt b/zh-CN/assets/js/main.1a45c88f.js.LICENSE.txt
similarity index 100%
rename from zh-CN/assets/js/main.23ebcbbd.js.LICENSE.txt
rename to zh-CN/assets/js/main.1a45c88f.js.LICENSE.txt
diff --git a/zh-CN/assets/js/main.23ebcbbd.js b/zh-CN/assets/js/main.23ebcbbd.js
deleted file mode 100644
index 35ba1ed7..00000000
--- a/zh-CN/assets/js/main.23ebcbbd.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.23ebcbbd.js.LICENSE.txt */
-(self.webpackChunkanswer=self.webpackChunkanswer||[]).push([[179],{94288:(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=94288},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.c1eaa3c5.js b/zh-CN/assets/js/runtime~main.c1eaa3c5.js
new file mode 100644
index 00000000..99a1cae3
--- /dev/null
+++ b/zh-CN/assets/js/runtime~main.c1eaa3c5.js
@@ -0,0 +1 @@
+(()=>{"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/assets/js/runtime~main.ca3a2888.js b/zh-CN/assets/js/runtime~main.ca3a2888.js
deleted file mode 100644
index 757649b2..00000000
--- a/zh-CN/assets/js/runtime~main.ca3a2888.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 3856385e..5a407b56 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 80d8dad3..f922ed71 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 8c82d2b8..e8cfe202 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 5752b698..e77876da 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 14956c32..5769d5cc 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 9b9f2922..2f3b1e30 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 46c5669b..33c98c3f 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 45dcd819..5f57d858 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 47c41221..8cb6fadd 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 92a0c091..495f05d4 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 af7565e1..f6d24beb 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 0d26d724..3956f131 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 e228d787..33ebfe89 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 6256cf27..069b2409 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 01922221..f2cf59dd 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 8117d0ab..6ff2d4f6 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 7a415e5b..6a1e9f88 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 664b5351..f3fcc436 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 ca29b394..81af9b74 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 44be7680..b030ced2 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 478816aa..d6190fb0 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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
index b7a7de54..fc84b20a 100644
--- a/zh-CN/blog/2024/01/26/deploy-answer-https/index.html
+++ b/zh-CN/blog/2024/01/26/deploy-answer-https/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/02/04/must-read-notes-for-your-first-answer-contribution/index.html b/zh-CN/blog/2024/02/04/must-read-notes-for-your-first-answer-contribution/index.html
index b9468a34..4fc01ece 100644
--- a/zh-CN/blog/2024/02/04/must-read-notes-for-your-first-answer-contribution/index.html
+++ b/zh-CN/blog/2024/02/04/must-read-notes-for-your-first-answer-contribution/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/02/05/project-ideas-for-google-summer-of-code-2024/index.html b/zh-CN/blog/2024/02/05/project-ideas-for-google-summer-of-code-2024/index.html
index b6a5096e..e517ec3c 100644
--- a/zh-CN/blog/2024/02/05/project-ideas-for-google-summer-of-code-2024/index.html
+++ b/zh-CN/blog/2024/02/05/project-ideas-for-google-summer-of-code-2024/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/02/20/answer-1.2.5-is-ready/index.html b/zh-CN/blog/2024/02/20/answer-1.2.5-is-ready/index.html
index e8e7b0b9..b2522d82 100644
--- a/zh-CN/blog/2024/02/20/answer-1.2.5-is-ready/index.html
+++ b/zh-CN/blog/2024/02/20/answer-1.2.5-is-ready/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/03/18/meet-our-release-manager-linkinstars/index.html b/zh-CN/blog/2024/03/18/meet-our-release-manager-linkinstars/index.html
index 85914883..84b8ea70 100644
--- a/zh-CN/blog/2024/03/18/meet-our-release-manager-linkinstars/index.html
+++ b/zh-CN/blog/2024/03/18/meet-our-release-manager-linkinstars/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/04/26/what-is-new-in-apache-answer-1.3.0/index.html b/zh-CN/blog/2024/04/26/what-is-new-in-apache-answer-1.3.0/index.html
index aaf9732e..3cf789dc 100644
--- a/zh-CN/blog/2024/04/26/what-is-new-in-apache-answer-1.3.0/index.html
+++ b/zh-CN/blog/2024/04/26/what-is-new-in-apache-answer-1.3.0/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/05/09/answer-ospp-2024/index.html b/zh-CN/blog/2024/05/09/answer-ospp-2024/index.html
index c0642acd..3d0e24c3 100644
--- a/zh-CN/blog/2024/05/09/answer-ospp-2024/index.html
+++ b/zh-CN/blog/2024/05/09/answer-ospp-2024/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/05/28/build-a-save-and-respectful-community-with-answer-1.3.1/index.html b/zh-CN/blog/2024/05/28/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
index e51963e2..3a65ee71 100644
--- a/zh-CN/blog/2024/05/28/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
+++ b/zh-CN/blog/2024/05/28/build-a-save-and-respectful-community-with-answer-1.3.1/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/06/03/install-and-run-apache-answer-on-ubuntu-vps/index.html b/zh-CN/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps/index.html
index 68b0c94e..4d9654d2 100644
--- a/zh-CN/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps/index.html
+++ b/zh-CN/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/06/05/apache-answer-joined-first-alc-hangzhou-meetup/index.html b/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup/index.html
new file mode 100644
index 00000000..74b54827
--- /dev/null
+++ b/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup/index.html
@@ -0,0 +1,54 @@
+<!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.1.1">
+<title data-rh="true">Apache Answer 参与首次 ALC Hangzhou 线下聚会 | 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/06/05/apache-answer-joined-first-alc-hangzhou-meetup"><meta data-rh="true" property="og:locale" content="zh_CN"><meta data-rh="true" property="og:locale:alternate" content="e [...]
+<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.f3a8200c.css">
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
+<!-- --><p>此外,Apache Dubbo、Apache RocketMQ、Apache Flink、Apache Paimon、Apache Fury、Apache Celeborn、Apache HoraeDB 等社区的 PMC Member、核心 Committer、浙江大学软件学院副教授倪超等专家均出席了活动。</p>
+<!-- --><p>Apache Answer PPMC 成员江波发表开场致辞。她讲述了第一次参加 ALC Beijing 线下聚会的难忘经历,并分享了她参与组织首届 CommunityOverCode Asia(原 ApacheCon Asia)大会的宝贵经验。</p>
+<!-- --><p>今年,ALC Hangzhou 的成立,标志着杭州在开源社区发展中迈出了坚实的一步。与此同时,2024 年的 CommunityOverCode Asia 也将于 7 月 26 日至 7 月 28 日在杭州举办。ALC Hangzhou 的成立和 CommunityOverCode Asia 2024 的举办将进一步推动开源技术的发展和开源社区成长,促进技术人才交流与合作。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="/zh-CN/assets/images/Nadia Open Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>随后,Apache Answer PPMC 成员祁宁向大家介绍了 Answer 项目的背景故事、发展现状、和愿景,呼吁更多的贡献者加入到 Answer 社区中,一起打造一个更加强大的生态系统。</p>
+<!-- --><p>来自世界各地的贡献者是 Answer 的社区中坚实的力量。目前,Answer 社区由核心贡献者 59 名,翻译贡献者 122 名,网站贡献者 12 名,插件贡献者 12 名组成,以每月一个版本的节奏,一同打造更好的问答平台软件。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="/zh-CN/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>最后的自由交流环节给大家留下了较为深刻的印象,项目组成员就项目中遇到的问题,如何毕业,以及如何吸引更多的贡献者等问题向较为成熟的项目和社区进行提问,收获了宝贵的经验。</p>
+<!-- --><p>活动现场还设置了项目展板,帮助 Apache 项目开发者了解其他项目。与会者也可以在展板上贴纸为喜欢的项目点赞。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="/zh-CN/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>通过这次活动,Answer PPMC 成员不仅认识了其他在邮件列表上的小伙伴,也学习和交流了各自开源过程和开源社区运营的经验。Answer PPMC 成员 LinkinStars 表示,对于浙江大学软件学院副教授倪超分享的开源合作平台正式上线充满期待,这将会是高校和开源之间的一座桥梁,他也期待有更多的开源组织加入进来。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="/zh-CN/assets/images/Open Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>ALC Hangzhou 的意义不止于技术交流。在 ALC Hangzhou 的发起人刘军看来,“在这样的聚会里我们不仅可以讨论技术,探讨项目合作的可能;大家也可以聊聊开源以外的话题——分享自己的生活”。</p>
+<!-- --><p>我们期待有更多开源爱好者加入 ALC Hangzhou, 一起为开源做出更大的贡献,Answer 会持续关注和参与到后续 ALC Hangzhou 的活动当中。</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="什么是-alc">什么是 ALC<!-- --><a href="#什么是-alc" class="hash-link" aria-label="什么是 ALC的直接链接" title="什么是 ALC的直接链接"></a></h2>
+<!-- --><p>ALC 是 Apache Local Community 的缩写,是全世界范围的 Apache 开源爱好者本地群组。因为是本地组织,ALC 是按照城市或地区的方式进行划分的,类似的机构还有 GDG (Google Developer Group), Facebook Developer Circles, Mozilla Reps 等。任何 Apache 开源爱好者都可以代表自己所在的城市向 ALC 提出申请创建本地的组织。</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="关于-alc-hangzhou">关于 ALC Hangzhou<!-- --><a href="#关于-alc-hangzhou" class="hash-link" aria-label="关于 ALC Hangzhou的直接链接" title="关于 ALC Hangzhou的直接链接"></a></h2>
+<!-- --><p>ALC Hangzhou 将致力于通过(但不限于)下述行动帮助开源爱好者更好的在 Apache 社区生根发芽:</p>
+<!-- --><ul>
+<!-- --><li>举办线上和线下沙龙,将本地的开发者与用户聚焦在一起。</li>
+<!-- --><li>通过分享开源开发经验,鼓励更多的人参与到 ASF 的项目开发中来。</li>
+<!-- --><li>为 ASF 的项目寻找相互合作的机会,让这些项目能够更加茁壮地成长。</li>
+<!-- --><li>介绍 ASF 管理和运作开源项目的成功之道,帮助大家更好地运作开源项目。</li>
+<!-- --></ul>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="如何加入">如何加入<!-- --><a href="#如何加入" class="hash-link" aria-label="如何加入的直接链接" title="如何加入的直接链接"></a></h2>
+<!-- --><p>只要你认同 Apache Way 并乐于和开源社区一起协作小伙伴都可以参与进来!具体的方式如下:</p>
+<!-- --><ol>
+<!-- --><li>参与 ALC Hangzhou 的活动<!-- --><br>
+<!-- -->大家可以通过关注 ALC Hangzhou 公众号[^1]和官网[^2]获取最新的活动信息,并参加 ALC Hangzhou 的线上线下活动。<!-- --></li>
+<!-- --><li>成为 ALC Hangzhou 成员
+ALC Hangzhou 作为一个公益组织,需要志愿者来帮助协调和组织活动。志愿者加入的原则和Apache软件基金的其他项目发展 Committer 以及 PMC 成员的方式一样, 基于大家在社区中的贡献,采用投票邀请方式进行。[^3]</li>
+<!-- --></ol>
+<!-- --><p>[^1] 微信公众号ID:alc_hangzhou<!-- --><br>
+<!-- -->[^2] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou</a><br>
+<!-- -->[^3] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter</a></p></div><div class="mt-3"><div class="d-flex align-items-center text-secondary"><span>分享到<!-- --></span><button aria-label="twitter" class="react-share__ShareButton shareBtn_lEr0" style="background-color:transparent;border:none;padding:0;fo [...]
+</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 8d41a5e1..cf638058 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 a0a2ce01..6d073996 100644
--- a/zh-CN/blog/atom.xml
+++ b/zh-CN/blog/atom.xml
@@ -2,11 +2,58 @@
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://answer.apache.org/zh-CN/blog</id>
<title>Apache Answer Blog</title>
- <updated>2024-06-03T00:00:00.000Z</updated>
+ <updated>2024-06-05T00: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[Apache Answer 参与首次 ALC Hangzhou 线下聚会]]></title>
+ <id>https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup</id>
+ <link href="https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup"/>
+ <updated>2024-06-05T00:00:00.000Z</updated>
+ <summary type="html"><![CDATA[Answer 作为 ALC Hangzhou 初始成员受邀参加首次线下聚会,和多个 Apache 项目进行分享和交流。]]></summary>
+ <content type="html"><![CDATA[<div class="mb-4"><img decoding="async" loading="lazy" src="https://answer.apache.org/zh-CN/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png" class="rounded img_WevL" width="1280px" height="720px"></div><p>5 月 28 日,Apache Local Community Hangzhou (ALC Hangzhou) 首次线下聚会顺利举办。Apache Answer 作为 ALC Hangzhou 初始成员受邀参加。Answer 大部分 PPMC 成员均参加了活动,其中 PPMC 成员祁宁介绍了社区 Roadmap,并就社区运营、开源社区开发者贡献量等话题分享了 Answer 的最新实践成果。</p>
+<!-- --><p>此外,Apache Dubbo、Apache RocketMQ、Apache Flink、Apache Paimon、Apache Fury、Apache Celeborn、Apache HoraeDB 等社区的 PMC Member、核心 Committer、浙江大学软件学院副教授倪超等专家均出席了活动。</p>
+<!-- --><p>Apache Answer PPMC 成员江波发表开场致辞。她讲述了第一次参加 ALC Beijing 线下聚会的难忘经历,并分享了她参与组织首届 CommunityOverCode Asia(原 ApacheCon Asia)大会的宝贵经验。</p>
+<!-- --><p>今年,ALC Hangzhou 的成立,标志着杭州在开源社区发展中迈出了坚实的一步。与此同时,2024 年的 CommunityOverCode Asia 也将于 7 月 26 日至 7 月 28 日在杭州举办。ALC Hangzhou 的成立和 CommunityOverCode Asia 2024 的举办将进一步推动开源技术的发展和开源社区成长,促进技术人才交流与合作。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="https://answer.apache.org/zh-CN/assets/images/Nadia%20Open%20Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>随后,Apache Answer PPMC 成员祁宁向大家介绍了 Answer 项目的背景故事、发展现状、和愿景,呼吁更多的贡献者加入到 Answer 社区中,一起打造一个更加强大的生态系统。</p>
+<!-- --><p>来自世界各地的贡献者是 Answer 的社区中坚实的力量。目前,Answer 社区由核心贡献者 59 名,翻译贡献者 122 名,网站贡献者 12 名,插件贡献者 12 名组成,以每月一个版本的节奏,一同打造更好的问答平台软件。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="https://answer.apache.org/zh-CN/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>最后的自由交流环节给大家留下了较为深刻的印象,项目组成员就项目中遇到的问题,如何毕业,以及如何吸引更多的贡献者等问题向较为成熟的项目和社区进行提问,收获了宝贵的经验。</p>
+<!-- --><p>活动现场还设置了项目展板,帮助 Apache 项目开发者了解其他项目。与会者也可以在展板上贴纸为喜欢的项目点赞。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="https://answer.apache.org/zh-CN/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>通过这次活动,Answer PPMC 成员不仅认识了其他在邮件列表上的小伙伴,也学习和交流了各自开源过程和开源社区运营的经验。Answer PPMC 成员 LinkinStars 表示,对于浙江大学软件学院副教授倪超分享的开源合作平台正式上线充满期待,这将会是高校和开源之间的一座桥梁,他也期待有更多的开源组织加入进来。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="https://answer.apache.org/zh-CN/assets/images/Open%20Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>ALC Hangzhou 的意义不止于技术交流。在 ALC Hangzhou 的发起人刘军看来,“在这样的聚会里我们不仅可以讨论技术,探讨项目合作的可能;大家也可以聊聊开源以外的话题——分享自己的生活”。</p>
+<!-- --><p>我们期待有更多开源爱好者加入 ALC Hangzhou, 一起为开源做出更大的贡献,Answer 会持续关注和参与到后续 ALC Hangzhou 的活动当中。</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="什么是-alc">什么是 ALC<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#%E4%BB%80%E4%B9%88%E6%98%AF-alc" class="hash-link" aria-label="什么是 ALC的直接链接" title="什么是 ALC的直接链接"></a></h2>
+<!-- --><p>ALC 是 Apache Local Community 的缩写,是全世界范围的 Apache 开源爱好者本地群组。因为是本地组织,ALC 是按照城市或地区的方式进行划分的,类似的机构还有 GDG (Google Developer Group), Facebook Developer Circles, Mozilla Reps 等。任何 Apache 开源爱好者都可以代表自己所在的城市向 ALC 提出申请创建本地的组织。</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="关于-alc-hangzhou">关于 ALC Hangzhou<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#%E5%85%B3%E4%BA%8E-alc-hangzhou" class="hash-link" aria-label="关于 ALC Hangzhou的直接链接" title="关于 ALC Hangzhou的直接链接"></a></h2>
+<!-- --><p>ALC Hangzhou 将致力于通过(但不限于)下述行动帮助开源爱好者更好的在 Apache 社区生根发芽:</p>
+<!-- --><ul>
+<!-- --><li>举办线上和线下沙龙,将本地的开发者与用户聚焦在一起。</li>
+<!-- --><li>通过分享开源开发经验,鼓励更多的人参与到 ASF 的项目开发中来。</li>
+<!-- --><li>为 ASF 的项目寻找相互合作的机会,让这些项目能够更加茁壮地成长。</li>
+<!-- --><li>介绍 ASF 管理和运作开源项目的成功之道,帮助大家更好地运作开源项目。</li>
+<!-- --></ul>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="如何加入">如何加入<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#%E5%A6%82%E4%BD%95%E5%8A%A0%E5%85%A5" class="hash-link" aria-label="如何加入的直接链接" title="如何加入的直接链接"></a></h2>
+<!-- --><p>只要你认同 Apache Way 并乐于和开源社区一起协作小伙伴都可以参与进来!具体的方式如下:</p>
+<!-- --><ol>
+<!-- --><li>参与 ALC Hangzhou 的活动<!-- --><br>
+<!-- -->大家可以通过关注 ALC Hangzhou 公众号[^1]和官网[^2]获取最新的活动信息,并参加 ALC Hangzhou 的线上线下活动。<!-- --></li>
+<!-- --><li>成为 ALC Hangzhou 成员
+ALC Hangzhou 作为一个公益组织,需要志愿者来帮助协调和组织活动。志愿者加入的原则和Apache软件基金的其他项目发展 Committer 以及 PMC 成员的方式一样, 基于大家在社区中的贡献,采用投票邀请方式进行。[^3]</li>
+<!-- --></ol>
+<!-- --><p>[^1] 微信公众号ID:alc_hangzhou<!-- --><br>
+<!-- -->[^2] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou</a><br>
+<!-- -->[^3] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter</a></p>]]></content>
+ <author>
+ <name>Anne Zhu</name>
+ <uri>https://github.com/PrimmaAnna</uri>
+ </author>
+ </entry>
<entry>
<title type="html"><![CDATA[Install and Run Apache Answer on Ubuntu VPS]]></title>
<id>https://answer.apache.org/zh-CN/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps</id>
@@ -1104,43 +1151,4 @@ We will also write an article on how to implement an Answer plugin from scratch,
<uri>https://github.com/LinkinStars</uri>
</author>
</entry>
- <entry>
- <title type="html"><![CDATA[How to Utilize Reputation and Privilege in Online Community]]></title>
- <id>https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community</id>
- <link href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community"/>
- <updated>2023-07-19T00:00:00.000Z</updated>
- <summary type="html"><![CDATA[Meet Answer’s reputation and privilege systems and automate them for efficient community content management. ]]></summary>
- <content type="html"><![CDATA[<div class="mb-4"><img decoding="async" loading="lazy" src="https://answer.apache.org/zh-CN/assets/images/2023-07-19-cover@4x-fb5729f0eb278096e3485b69538e36e0.png" class="rounded img_WevL" width="1280px" height="720px"></div><p>Reputation score is a reflection of a community member’s credibility. Community members establish this based on their actions and contributions. Simultaneously, a reputation system is formed to track participants' trustworthin [...]
-<!-- --><p>Besides <!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/11/the-what-why-using-tags-for-online-community">tagging</a>, <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> is an important part of <!-- --><strong>content management</strong> in Answer. Community members gain reputation scores by adhering to community guidelines and continuous contributions. Community moderators and admi [...]
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="purposes-of-reputation">Purposes of Reputation<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#purposes-of-reputation" class="hash-link" aria-label="Purposes of Reputation的直接链接" title="Purposes of Reputation的直接链接"></a></h2>
-<!-- --><p>In the mid-1900s, eBay introduced a feedback system, allowing buyers and sellers to rate each other based on transaction experience. This feedback mechanism, which influenced the reputation of users, helped build trust within the <!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it">Q&A platform</a>.<!-- --></p>
-<!-- --><p>You can still find this mechanism running in Answer — community members upvote question or answer, accept answer, etc. Find out how we implement it for different purposes for a thriving online community.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="ways-to-implement-reputation-system-in-answer">Ways to Implement Reputation System in Answer<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#ways-to-implement-reputation-system-in-answer" class="hash-link" aria-label="Ways to Implement Reputation System in Answer的直接链接" title="Ways to Implement Reputation System in Answer的直接链接"></a></h2>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="1-trust-building">1. Trust Building<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#1-trust-building" class="hash-link" aria-label="1. Trust Building的直接链接" title="1. Trust Building的直接链接"></a></h3>
-<!-- --><p>A positive reputation indicates credibility, reliability, and expertise. In Answer, you can always find a reputation score next to the name, providing an initial impression of the community member.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Reputation Score Next to Community Member in Answer" src="https://answer.apache.org/zh-CN/assets/images/TrustBuilding1-66ed75f7774a5c9af90a94a083682548.png" width="800" height="270" class="img_WevL"></p>
-<!-- --><p>Click the name and jump to a community member’s profile page, where it includes reputation and related contributions.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Community Member Profile in Answer" src="https://answer.apache.org/zh-CN/assets/images/TrustBuilding2-0017ddc6b3f69669288f2ba37d50fcbc.png" width="800" height="466" class="img_WevL"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="2-rewards-and-penalties">2. Rewards and Penalties<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#2-rewards-and-penalties" class="hash-link" aria-label="2. Rewards and Penalties的直接链接" title="2. Rewards and Penalties的直接链接"></a></h3>
-<!-- --><p>Answer appreciate and encourage positive contributions, such as providing helpful answers, valuable content, upvote useful answers. Meanwhile, negative actions like downvote, spamming or abusive behavior can result in reputation penalties.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Reputation Rules in Answer" src="https://answer.apache.org/zh-CN/assets/images/RewardsandPenalties-448faa7639ffacbc69e7d31536074486.png" width="800" height="1022" class="img_WevL"></p>
-<!-- --><p>Click <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">here</a> for Answer's complete reputation rules that might inspire you.<!-- --></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="3-moderation-and-governance">3. Moderation and Governance<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#3-moderation-and-governance" class="hash-link" aria-label="3. Moderation and Governance的直接链接" title="3. Moderation and Governance的直接链接"></a></h3>
-<!-- --><p>After activation in Answer, community members will gain 1 reputation score, and are allowed to participate in general activities in the community, such as asking questions, writing answers, upvote comment, etc. Reputation scores are also used by community moderators and administrators to determine user <!-- --><a href="https://answer.apache.org/docs/recipes/contents/permission" target="_blank" rel="noopener noreferrer">privileges</a>, such as posting more than 2 links at a tim [...]
-<!-- --><p><img decoding="async" loading="lazy" alt="Add a New Tag in Answer" src="https://answer.apache.org/zh-CN/assets/images/AddaNewTag-5e3da1b56a31322d02f0c190193de33c.png" width="800" height="414" class="img_WevL"></p>
-<!-- --><p>In Answer, you’ll need 125 reputation scores to downvote, while downvote someone’s answer will reduce one reputation score. This prevents malicious downvoting and boosts answers through intentional others’ answers. This helps maintain a healthy community environment and discourage disruptive behavior.</p>
-<!-- --><p>The scale of communities is different, so is the reputation system. We’ve prepared 3 different privilege levels for teams at different scales.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Levels of Privileges in Answer" src="https://answer.apache.org/zh-CN/assets/images/LevelsofPrivileges-1eeb224a1bb483a8b211f219372c4291.png" width="800" height="871" class="img_WevL"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="4-community-engagement">4. Community Engagement<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#4-community-engagement" class="hash-link" aria-label="4. Community Engagement的直接链接" title="4. Community Engagement的直接链接"></a></h3>
-<!-- --><p>The reputation system allows community members to actively engage in the community. They can share expertise, contribute to discussions, and vote for better answers, fostering a positive and collaborative environment.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="conclusion">Conclusion<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#conclusion" class="hash-link" aria-label="Conclusion的直接链接" title="Conclusion的直接链接"></a></h2>
-<!-- --><p>Reputation in an online community is a reflection of a user’s contributions, engagement, and commitment to the community. We know the reputation system is dynamic, and it’s hard to build one from the ground, that’s why we’ve already got a complete <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> and <!-- --><a href="https://answer.apache.org/docs/recipes/contents/permission" target="_blank" re [...]
-<!-- --><p>By the time you <!-- --><a href="https://answer.apache.org/docs/installation" target="_blank" rel="noopener noreferrer">install</a> Answer successfully, the reputation system is already there. All you need to do is to choose the right reputation level for your community in the Admin page.<!-- --></p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Chose Privileges Level in Answer Admin" src="https://answer.apache.org/zh-CN/assets/images/PrivilegesLevel-ec1201d55c5c3f1adda4abcc09cf7c3e.png" width="800" height="329" class="img_WevL"></p>
-<!-- --><p>By automating this reputation system, your members are encouraged to share and become a significant part of the community. <!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Start Answer</a> now and shape the growth of the community along with other like-minded community members.<!-- --></p>]]></content>
- <author>
- <name>Anne Zhu</name>
- <uri>https://github.com/PrimmaAnna</uri>
- </author>
- </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 1d7dc64a..fcdac180 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 f84b444e..b76638ec 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 03d03743..e4d2bde0 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 ddd18bd5..650c3e79 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 2ea408c5..2a22b7da 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 6890a37f..a16e2feb 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 2723a853..4af73227 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 de22311a..f3bb06cb 100644
--- a/zh-CN/blog/page/2/index.html
+++ b/zh-CN/blog/page/2/index.html
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/rss.xml b/zh-CN/blog/rss.xml
index 26139df5..7382687b 100644
--- a/zh-CN/blog/rss.xml
+++ b/zh-CN/blog/rss.xml
@@ -4,10 +4,53 @@
<title>Apache Answer Blog</title>
<link>https://answer.apache.org/zh-CN/blog</link>
<description>Apache Answer Blog</description>
- <lastBuildDate>Mon, 03 Jun 2024 00:00:00 GMT</lastBuildDate>
+ <lastBuildDate>Wed, 05 Jun 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[Apache Answer 参与首次 ALC Hangzhou 线下聚会]]></title>
+ <link>https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup</link>
+ <guid>https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup</guid>
+ <pubDate>Wed, 05 Jun 2024 00:00:00 GMT</pubDate>
+ <description><![CDATA[Answer 作为 ALC Hangzhou 初始成员受邀参加首次线下聚会,和多个 Apache 项目进行分享和交流。]]></description>
+ <content:encoded><![CDATA[<div class="mb-4"><img decoding="async" loading="lazy" src="https://answer.apache.org/zh-CN/assets/images/2024-06-05-cover@4x-08ac825f26a9a5a3df1e1a941a193dc6.png" class="rounded img_WevL" width="1280px" height="720px"></div><p>5 月 28 日,Apache Local Community Hangzhou (ALC Hangzhou) 首次线下聚会顺利举办。Apache Answer 作为 ALC Hangzhou 初始成员受邀参加。Answer 大部分 PPMC 成员均参加了活动,其中 PPMC 成员祁宁介绍了社区 Roadmap,并就社区运营、开源社区开发者贡献量等话题分享了 Answer 的最新实践成果。</p>
+<!-- --><p>此外,Apache Dubbo、Apache RocketMQ、Apache Flink、Apache Paimon、Apache Fury、Apache Celeborn、Apache HoraeDB 等社区的 PMC Member、核心 Committer、浙江大学软件学院副教授倪超等专家均出席了活动。</p>
+<!-- --><p>Apache Answer PPMC 成员江波发表开场致辞。她讲述了第一次参加 ALC Beijing 线下聚会的难忘经历,并分享了她参与组织首届 CommunityOverCode Asia(原 ApacheCon Asia)大会的宝贵经验。</p>
+<!-- --><p>今年,ALC Hangzhou 的成立,标志着杭州在开源社区发展中迈出了坚实的一步。与此同时,2024 年的 CommunityOverCode Asia 也将于 7 月 26 日至 7 月 28 日在杭州举办。ALC Hangzhou 的成立和 CommunityOverCode Asia 2024 的举办将进一步推动开源技术的发展和开源社区成长,促进技术人才交流与合作。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="https://answer.apache.org/zh-CN/assets/images/Nadia%20Open%20Remarks-43800cd84cd50bc496f95dfd0a6498e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>随后,Apache Answer PPMC 成员祁宁向大家介绍了 Answer 项目的背景故事、发展现状、和愿景,呼吁更多的贡献者加入到 Answer 社区中,一起打造一个更加强大的生态系统。</p>
+<!-- --><p>来自世界各地的贡献者是 Answer 的社区中坚实的力量。目前,Answer 社区由核心贡献者 59 名,翻译贡献者 122 名,网站贡献者 12 名,插件贡献者 12 名组成,以每月一个版本的节奏,一同打造更好的问答平台软件。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="https://answer.apache.org/zh-CN/assets/images/Joyqi-230c15bac13d74b91f7071e0ca88b8e0.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>最后的自由交流环节给大家留下了较为深刻的印象,项目组成员就项目中遇到的问题,如何毕业,以及如何吸引更多的贡献者等问题向较为成熟的项目和社区进行提问,收获了宝贵的经验。</p>
+<!-- --><p>活动现场还设置了项目展板,帮助 Apache 项目开发者了解其他项目。与会者也可以在展板上贴纸为喜欢的项目点赞。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="https://answer.apache.org/zh-CN/assets/images/Fen-be222c5dc54ebdec295445bff4cc658e.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>通过这次活动,Answer PPMC 成员不仅认识了其他在邮件列表上的小伙伴,也学习和交流了各自开源过程和开源社区运营的经验。Answer PPMC 成员 LinkinStars 表示,对于浙江大学软件学院副教授倪超分享的开源合作平台正式上线充满期待,这将会是高校和开源之间的一座桥梁,他也期待有更多的开源组织加入进来。</p>
+<!-- --><p><img decoding="async" loading="lazy" alt="Alt text" src="https://answer.apache.org/zh-CN/assets/images/Open%20Discussion-ff326fa19f73b2aafec8cab4ffa1bd21.jpeg" width="1280" height="853" class="img_WevL"></p>
+<!-- --><p>ALC Hangzhou 的意义不止于技术交流。在 ALC Hangzhou 的发起人刘军看来,“在这样的聚会里我们不仅可以讨论技术,探讨项目合作的可能;大家也可以聊聊开源以外的话题——分享自己的生活”。</p>
+<!-- --><p>我们期待有更多开源爱好者加入 ALC Hangzhou, 一起为开源做出更大的贡献,Answer 会持续关注和参与到后续 ALC Hangzhou 的活动当中。</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="什么是-alc">什么是 ALC<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#%E4%BB%80%E4%B9%88%E6%98%AF-alc" class="hash-link" aria-label="什么是 ALC的直接链接" title="什么是 ALC的直接链接"></a></h2>
+<!-- --><p>ALC 是 Apache Local Community 的缩写,是全世界范围的 Apache 开源爱好者本地群组。因为是本地组织,ALC 是按照城市或地区的方式进行划分的,类似的机构还有 GDG (Google Developer Group), Facebook Developer Circles, Mozilla Reps 等。任何 Apache 开源爱好者都可以代表自己所在的城市向 ALC 提出申请创建本地的组织。</p>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="关于-alc-hangzhou">关于 ALC Hangzhou<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#%E5%85%B3%E4%BA%8E-alc-hangzhou" class="hash-link" aria-label="关于 ALC Hangzhou的直接链接" title="关于 ALC Hangzhou的直接链接"></a></h2>
+<!-- --><p>ALC Hangzhou 将致力于通过(但不限于)下述行动帮助开源爱好者更好的在 Apache 社区生根发芽:</p>
+<!-- --><ul>
+<!-- --><li>举办线上和线下沙龙,将本地的开发者与用户聚焦在一起。</li>
+<!-- --><li>通过分享开源开发经验,鼓励更多的人参与到 ASF 的项目开发中来。</li>
+<!-- --><li>为 ASF 的项目寻找相互合作的机会,让这些项目能够更加茁壮地成长。</li>
+<!-- --><li>介绍 ASF 管理和运作开源项目的成功之道,帮助大家更好地运作开源项目。</li>
+<!-- --></ul>
+<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="如何加入">如何加入<!-- --><a href="https://answer.apache.org/zh-CN/blog/2024/06/05/apache-answer-joined-first-alc-hangzhou-meetup#%E5%A6%82%E4%BD%95%E5%8A%A0%E5%85%A5" class="hash-link" aria-label="如何加入的直接链接" title="如何加入的直接链接"></a></h2>
+<!-- --><p>只要你认同 Apache Way 并乐于和开源社区一起协作小伙伴都可以参与进来!具体的方式如下:</p>
+<!-- --><ol>
+<!-- --><li>参与 ALC Hangzhou 的活动<!-- --><br>
+<!-- -->大家可以通过关注 ALC Hangzhou 公众号[^1]和官网[^2]获取最新的活动信息,并参加 ALC Hangzhou 的线上线下活动。<!-- --></li>
+<!-- --><li>成为 ALC Hangzhou 成员
+ALC Hangzhou 作为一个公益组织,需要志愿者来帮助协调和组织活动。志愿者加入的原则和Apache软件基金的其他项目发展 Committer 以及 PMC 成员的方式一样, 基于大家在社区中的贡献,采用投票邀请方式进行。[^3]</li>
+<!-- --></ol>
+<!-- --><p>[^1] 微信公众号ID:alc_hangzhou<!-- --><br>
+<!-- -->[^2] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/ALC+Hangzhou</a><br>
+<!-- -->[^3] <!-- --><a href="https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter" target="_blank" rel="noopener noreferrer">https://cwiki.apache.org/confluence/display/COMDEV/Guidelines+to+manage+an+ALC+Chapter</a></p>]]></content:encoded>
+ </item>
<item>
<title><![CDATA[Install and Run Apache Answer on Ubuntu VPS]]></title>
<link>https://answer.apache.org/zh-CN/blog/2024/06/03/install-and-run-apache-answer-on-ubuntu-vps</link>
@@ -1033,40 +1076,5 @@ We discussed the motivation behind the design, and the features and principles o
If you are interested in developing plugins for Answer, please feel free to leave us a comment.
We will also write an article on how to implement an Answer plugin from scratch, so stay focused!</p>]]></content:encoded>
</item>
- <item>
- <title><![CDATA[How to Utilize Reputation and Privilege in Online Community]]></title>
- <link>https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community</link>
- <guid>https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community</guid>
- <pubDate>Wed, 19 Jul 2023 00:00:00 GMT</pubDate>
- <description><![CDATA[Meet Answer’s reputation and privilege systems and automate them for efficient community content management. ]]></description>
- <content:encoded><![CDATA[<div class="mb-4"><img decoding="async" loading="lazy" src="https://answer.apache.org/zh-CN/assets/images/2023-07-19-cover@4x-fb5729f0eb278096e3485b69538e36e0.png" class="rounded img_WevL" width="1280px" height="720px"></div><p>Reputation score is a reflection of a community member’s credibility. Community members establish this based on their actions and contributions. Simultaneously, a reputation system is formed to track participants' trustworthin [...]
-<!-- --><p>Besides <!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/11/the-what-why-using-tags-for-online-community">tagging</a>, <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> is an important part of <!-- --><strong>content management</strong> in Answer. Community members gain reputation scores by adhering to community guidelines and continuous contributions. Community moderators and admi [...]
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="purposes-of-reputation">Purposes of Reputation<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#purposes-of-reputation" class="hash-link" aria-label="Purposes of Reputation的直接链接" title="Purposes of Reputation的直接链接"></a></h2>
-<!-- --><p>In the mid-1900s, eBay introduced a feedback system, allowing buyers and sellers to rate each other based on transaction experience. This feedback mechanism, which influenced the reputation of users, helped build trust within the <!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/05/12/what-is-q-and-a-platform-and-how-to-use-it">Q&A platform</a>.<!-- --></p>
-<!-- --><p>You can still find this mechanism running in Answer — community members upvote question or answer, accept answer, etc. Find out how we implement it for different purposes for a thriving online community.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="ways-to-implement-reputation-system-in-answer">Ways to Implement Reputation System in Answer<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#ways-to-implement-reputation-system-in-answer" class="hash-link" aria-label="Ways to Implement Reputation System in Answer的直接链接" title="Ways to Implement Reputation System in Answer的直接链接"></a></h2>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="1-trust-building">1. Trust Building<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#1-trust-building" class="hash-link" aria-label="1. Trust Building的直接链接" title="1. Trust Building的直接链接"></a></h3>
-<!-- --><p>A positive reputation indicates credibility, reliability, and expertise. In Answer, you can always find a reputation score next to the name, providing an initial impression of the community member.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Reputation Score Next to Community Member in Answer" src="https://answer.apache.org/zh-CN/assets/images/TrustBuilding1-66ed75f7774a5c9af90a94a083682548.png" width="800" height="270" class="img_WevL"></p>
-<!-- --><p>Click the name and jump to a community member’s profile page, where it includes reputation and related contributions.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Community Member Profile in Answer" src="https://answer.apache.org/zh-CN/assets/images/TrustBuilding2-0017ddc6b3f69669288f2ba37d50fcbc.png" width="800" height="466" class="img_WevL"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="2-rewards-and-penalties">2. Rewards and Penalties<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#2-rewards-and-penalties" class="hash-link" aria-label="2. Rewards and Penalties的直接链接" title="2. Rewards and Penalties的直接链接"></a></h3>
-<!-- --><p>Answer appreciate and encourage positive contributions, such as providing helpful answers, valuable content, upvote useful answers. Meanwhile, negative actions like downvote, spamming or abusive behavior can result in reputation penalties.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Reputation Rules in Answer" src="https://answer.apache.org/zh-CN/assets/images/RewardsandPenalties-448faa7639ffacbc69e7d31536074486.png" width="800" height="1022" class="img_WevL"></p>
-<!-- --><p>Click <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">here</a> for Answer's complete reputation rules that might inspire you.<!-- --></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="3-moderation-and-governance">3. Moderation and Governance<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#3-moderation-and-governance" class="hash-link" aria-label="3. Moderation and Governance的直接链接" title="3. Moderation and Governance的直接链接"></a></h3>
-<!-- --><p>After activation in Answer, community members will gain 1 reputation score, and are allowed to participate in general activities in the community, such as asking questions, writing answers, upvote comment, etc. Reputation scores are also used by community moderators and administrators to determine user <!-- --><a href="https://answer.apache.org/docs/recipes/contents/permission" target="_blank" rel="noopener noreferrer">privileges</a>, such as posting more than 2 links at a tim [...]
-<!-- --><p><img decoding="async" loading="lazy" alt="Add a New Tag in Answer" src="https://answer.apache.org/zh-CN/assets/images/AddaNewTag-5e3da1b56a31322d02f0c190193de33c.png" width="800" height="414" class="img_WevL"></p>
-<!-- --><p>In Answer, you’ll need 125 reputation scores to downvote, while downvote someone’s answer will reduce one reputation score. This prevents malicious downvoting and boosts answers through intentional others’ answers. This helps maintain a healthy community environment and discourage disruptive behavior.</p>
-<!-- --><p>The scale of communities is different, so is the reputation system. We’ve prepared 3 different privilege levels for teams at different scales.</p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Levels of Privileges in Answer" src="https://answer.apache.org/zh-CN/assets/images/LevelsofPrivileges-1eeb224a1bb483a8b211f219372c4291.png" width="800" height="871" class="img_WevL"></p>
-<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="4-community-engagement">4. Community Engagement<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#4-community-engagement" class="hash-link" aria-label="4. Community Engagement的直接链接" title="4. Community Engagement的直接链接"></a></h3>
-<!-- --><p>The reputation system allows community members to actively engage in the community. They can share expertise, contribute to discussions, and vote for better answers, fostering a positive and collaborative environment.</p>
-<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="conclusion">Conclusion<!-- --><a href="https://answer.apache.org/zh-CN/blog/2023/07/19/how-to-utilize-reputation-and-privilege-in-online-community#conclusion" class="hash-link" aria-label="Conclusion的直接链接" title="Conclusion的直接链接"></a></h2>
-<!-- --><p>Reputation in an online community is a reflection of a user’s contributions, engagement, and commitment to the community. We know the reputation system is dynamic, and it’s hard to build one from the ground, that’s why we’ve already got a complete <!-- --><a href="https://answer.apache.org/docs/recipes/contents/reputation" target="_blank" rel="noopener noreferrer">reputation</a> and <!-- --><a href="https://answer.apache.org/docs/recipes/contents/permission" target="_blank" re [...]
-<!-- --><p>By the time you <!-- --><a href="https://answer.apache.org/docs/installation" target="_blank" rel="noopener noreferrer">install</a> Answer successfully, the reputation system is already there. All you need to do is to choose the right reputation level for your community in the Admin page.<!-- --></p>
-<!-- --><p><img decoding="async" loading="lazy" alt="Chose Privileges Level in Answer Admin" src="https://answer.apache.org/zh-CN/assets/images/PrivilegesLevel-ec1201d55c5c3f1adda4abcc09cf7c3e.png" width="800" height="329" class="img_WevL"></p>
-<!-- --><p>By automating this reputation system, your members are encouraged to share and become a significant part of the community. <!-- --><a href="https://answer.apache.org/docs/" target="_blank" rel="noopener noreferrer">Start Answer</a> now and shape the growth of the community along with other like-minded community members.<!-- --></p>]]></content:encoded>
- </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 a7d9a86b..6ce9bc3c 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 ba438845..18009db4 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/blog-post/index.html b/zh-CN/community/blog-post/index.html
index 0d3cf120..214f2e0f 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 d2434147..0f6c3579 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 f181629d..44d1187b 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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_feHX alert alert--info details_rGhr" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_jTXV"><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_feHX alert alert--info details_rGhr" data-collapsed="true"><summary>backend package structure</summary><div><div class="collapsibleContent_jTXV"><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 17085338..10bd2db5 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
@@ -91,6 +91,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="note">Note<!-- --><a href="#note" class="hash-link" aria-label="Note的直接链接" title="Note的直接链接"></a></h2>
<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" 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/issues/index.html b/zh-CN/community/issues/index.html
index a613dd17..e1c6a6c5 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 0a43da4b..f06fc776 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 12a73c4d..b6bfa5f6 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 9bd6de29..ea7710e6 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 903f9fae..074d4a46 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 31d37ee5..1ab2038f 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" 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_pwhL" 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/support/index.html b/zh-CN/community/support/index.html
index 049502ef..12543205 100644
--- a/zh-CN/community/support/index.html
+++ b/zh-CN/community/support/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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="reactHubspotForm0" 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="reactHubspotForm0" 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/team/index.html b/zh-CN/community/team/index.html
index a549f9a0..ec06411a 100644
--- a/zh-CN/community/team/index.html
+++ b/zh-CN/community/team/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
@@ -43,6 +43,6 @@
<!-- --><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://incubator.apache.org/guides/ppmc.html" target="_blank" rel="noopener noreferrer">https://incubator.apache.org/guides/ppmc.html</a></li>
<!-- --><li><a href="https://www.apache.org/dev/pmc.html" target="_blank" rel="noopener noreferrer">https://www.apache.org/dev/pmc.html</a></li>
-<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
+<!-- --></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4- [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/community/translation/index.html b/zh-CN/community/translation/index.html
index 5e097e0a..29c7daa3 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/docs/api/index.html b/zh-CN/docs/api/index.html
index 33a76ff2..b00ac582 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 e35e8fdd..5437d8b5 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 6b6a4ca8..68a3d7ad 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_eWuJ alert alert--success"><div class="admonitionHeading_oigS"><span class="admonitionIcon_Mjm5"><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_pwhL" 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 4f5b78cd..ac82f233 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 4840ba45..c04ac5e7 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 3eea180a..e96142ce 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 0e94ef61..729917c3 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 e93486e8..e491abdb 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 70e84e32..7a0ee37c 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" id="前后端分离">前后端分离<!-- --><a href="#前后端分离" class="hash-link" aria-label="前后端分离的直接链接" title="前后端分离的直接链接"></a></h3>
<!-- --><p>Answer 是一个单体库,包含前端和后端。</p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="用户界面预览">用户界面预览<!-- --><a href="#用户界面预览" class="hash-link" aria-label="用户界面预览的直接链接" title="用户界面预览的直接链接"></a></h2>
-<!-- --><p><img decoding="async" loading="lazy" alt="screenshot" src="/zh-CN/assets/images/screenshot-c118d2fcfb1faaf1d9df2e8b5e8bc1a8.png" width="1298" height="824" class="img_WevL"></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" viewBo [...]
+<!-- --><p><img decoding="async" loading="lazy" alt="screenshot" src="/zh-CN/assets/images/screenshot-c118d2fcfb1faaf1d9df2e8b5e8bc1a8.png" width="1298" height="824" class="img_WevL"></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" viewBo [...]
</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 deff2256..c1e1477b 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 decoding="async" loading="lazy" alt="install-site-info" src="/zh-CN/assets/images/install-site-info-dd11f933444917d34aa90ae18166d00b.png" width="2400" height="1818" class="img_WevL"></p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="第五步完成">第五步:完成<!-- --><a href="#第五步完成" class="hash-link" aria-label="第五步:完成的直接链接" title="第五步:完成的直接链接"></a></h3>
<!-- --><p>🎉 恭喜你,单击“完成”按钮即可开始 Answer 之旅!
-<!-- --><img decoding="async" loading="lazy" alt="install-complete" src="/zh-CN/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_WevL"></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="2 [...]
+<!-- --><img decoding="async" loading="lazy" alt="install-complete" src="/zh-CN/assets/images/install-complete-8a820174dc269858f3b46181385eb63e.png" width="2400" height="820" class="img_WevL"></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="2 [...]
</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 16fc5c27..9a4cb441 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 0450d5d7..17fa3e4c 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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 8f8a1318..5ee412c1 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_pwhL" 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_pwhL" 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 d721b924..713fb36b 100644
--- a/zh-CN/docs/questions/index.html
+++ b/zh-CN/docs/questions/index.html
@@ -10,14 +10,14 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="question-status">Question status<!-- --><a href="#question-status" class="hash-link" aria-label="Question status的直接链接" title="Question status的直接链接"></a></h2>
<!-- --><p><img decoding="async" loading="lazy" alt="Question state diagram" src="/zh-CN/assets/images/questions-question-status.drawio-ba8e6f72b87ff5452bcc4dd8cbdc7dea.svg" width="397" height="422" class="img_WevL"></p>
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="answer-status">Answer status<!-- --><a href="#answer-status" class="hash-link" aria-label="Answer status的直接链接" title="Answer status的直接链接"></a></h2>
-<!-- --><p><img decoding="async" loading="lazy" alt="Answer state diagram" src="/zh-CN/assets/images/questions-answer-status.drawio-c037079cbbf31ac37fdb578bb32a35c7.svg" width="187" height="422" class="img_WevL"></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" [...]
+<!-- --><p><img decoding="async" loading="lazy" alt="Answer state diagram" src="/zh-CN/assets/images/questions-answer-status.drawio-c037079cbbf31ac37fdb578bb32a35c7.svg" width="187" height="422" class="img_WevL"></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" [...]
</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 119a88ef..65181be4 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 5c8a10bb..bfc4b79b 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 bc8ccae4..fa31702b 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 4ca5f634..20cd70a6 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 95c6865b..1775bb1c 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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_eWuJ alert alert--success"><div class="admonitionHeading_oigS"><span class="admonitionIcon_Mjm5"><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_eWuJ alert alert--success"><div class="admonitionHeading_oigS"><span class="admonitionIcon_Mjm5"><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 2c4d9bd1..b766ebce 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
@@ -91,6 +91,6 @@
<!-- --><h2 class="anchor anchorWithStickyNavbar_pwhL" id="settings">Settings<!-- --><a href="#settings" class="hash-link" aria-label="Settings的直接链接" title="Settings的直接链接"></a></h2>
<!-- --><p>TODO</p>
<!-- --><h3 class="anchor anchorWithStickyNavbar_pwhL" id="unsubscribe-email">Unsubscribe email<!-- --><a href="#unsubscribe-email" class="hash-link" aria-label="Unsubscribe email的直接链接" title="Unsubscribe email的直接链接"></a></h3>
-<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
+<!-- --><p>TODO</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://crowdin.com/project/answer-website/zh-CN" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_N_05" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1 [...]
</body>
</html>
\ No newline at end of file
diff --git a/zh-CN/download/index.html b/zh-CN/download/index.html
index 3c482a19..6d25ba65 100644
--- a/zh-CN/download/index.html
+++ b/zh-CN/download/index.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" href="/fonts/fonts.css"><link rel="stylesheet" href="/zh-CN/assets/css/styles.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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/img/blog/2024-06-05-cover@2x.png b/zh-CN/img/blog/2024-06-05-cover@2x.png
new file mode 100644
index 00000000..6aebabec
Binary files /dev/null and b/zh-CN/img/blog/2024-06-05-cover@2x.png differ
diff --git a/zh-CN/img/blog/2024-06-05-cover@4x.png b/zh-CN/img/blog/2024-06-05-cover@4x.png
new file mode 100644
index 00000000..e967adfa
Binary files /dev/null and b/zh-CN/img/blog/2024-06-05-cover@4x.png differ
diff --git a/zh-CN/index.html b/zh-CN/index.html
index d622c2a9..b7b877c5 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 00c57731..1be9c8a6 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 23a8fa8a..97b6cf19 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.f3a8200c.css">
-<script src="/zh-CN/assets/js/runtime~main.ca3a2888.js" defer="defer"></script>
-<script src="/zh-CN/assets/js/main.23ebcbbd.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/runtime~main.c1eaa3c5.js" defer="defer"></script>
+<script src="/zh-CN/assets/js/main.1a45c88f.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.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 a181ffc3..27f337a8 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