You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by gi...@apache.org on 2021/02/26 06:06:16 UTC

[apisix-website] branch asf-site updated: deploy: d34baf30a2d4c05bf47a60df63d0d6177e672e4d

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

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/apisix-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new da91c50  deploy: d34baf30a2d4c05bf47a60df63d0d6177e672e4d
da91c50 is described below

commit da91c509da5c11d1c6181c95eadd1b5ead703c9a
Author: LiteSun <Li...@users.noreply.github.com>
AuthorDate: Fri Feb 26 06:06:06 2021 +0000

    deploy: d34baf30a2d4c05bf47a60df63d0d6177e672e4d
---
 404.html                                           | 12 ++---
 .../{03b7a20f.5f4098cb.js => 03b7a20f.d213b750.js} |  2 +-
 .../js/1.3237074b.js => assets/js/1.a9e4d29a.js    |  2 +-
 .../{12e5767f.850d19de.js => 12e5767f.65379beb.js} |  2 +-
 .../{17896441.e58bae36.js => 17896441.bde55444.js} |  2 +-
 .../{17dc512b.86d51ee0.js => 17dc512b.c79f6faf.js} |  2 +-
 .../{1be5d2e8.c2ddd7ad.js => 1be5d2e8.f5c22dcd.js} |  2 +-
 .../{1be78505.5178dac2.js => 1be78505.1d3d300b.js} |  2 +-
 .../{1c89ab3b.746adc0c.js => 1c89ab3b.e1716a11.js} |  2 +-
 assets/js/{2.e4d54c2b.js => 2.392ae916.js}         |  4 +-
 .../js/2.392ae916.js.LICENSE.txt                   |  0
 .../{25b7c3f2.3c5dfa02.js => 25b7c3f2.288f254a.js} |  2 +-
 assets/js/2d8fe9ee.09d7d664.js                     |  1 -
 assets/js/2d8fe9ee.d0efe333.js                     |  1 +
 assets/js/{3.b8da59b5.js => 3.210f7ae8.js}         |  2 +-
 .../{3393d167.bcaeb5c0.js => 3393d167.adf765f0.js} |  2 +-
 .../{33c9e5b3.895f59a3.js => 33c9e5b3.ac491ea7.js} |  2 +-
 .../{37e3b3ea.63d9e46c.js => 37e3b3ea.209b9c9d.js} |  2 +-
 .../{3dc9f306.53fdd8da.js => 3dc9f306.f605a729.js} |  2 +-
 assets/js/{4.570df902.js => 4.5ad41361.js}         |  2 +-
 .../{41b4926b.9f9fab3d.js => 41b4926b.98ccd3af.js} |  2 +-
 .../{43aea6af.2c4058f7.js => 43aea6af.2b5a7581.js} |  2 +-
 assets/js/47e0bf55.2d8b44c3.js                     |  1 +
 assets/js/47e0bf55.f18b844a.js                     |  1 -
 .../{47f8a22a.e1a5cb94.js => 47f8a22a.b63bda4a.js} |  2 +-
 .../{4e55a385.5dd777ff.js => 4e55a385.7eb74492.js} |  2 +-
 .../{4eed9ed2.a3aa64b8.js => 4eed9ed2.2d8a924e.js} |  2 +-
 .../{50facf8e.9402675c.js => 50facf8e.7aac746a.js} |  2 +-
 .../{514de2af.34f58e84.js => 514de2af.03d24677.js} |  2 +-
 .../{5971cb1d.6ead52c1.js => 5971cb1d.02910d77.js} |  2 +-
 .../{5bb67ffc.696df783.js => 5bb67ffc.0379cd2b.js} |  2 +-
 .../{601c6eaa.825c7829.js => 601c6eaa.715ad3ab.js} |  2 +-
 .../{64288df6.2f59583c.js => 64288df6.1e027013.js} |  2 +-
 .../{66fbb9c2.32789496.js => 66fbb9c2.040ca4c6.js} |  2 +-
 .../{6967878f.d80f06f6.js => 6967878f.71ed4146.js} |  2 +-
 .../{6f365930.02f984c8.js => 6f365930.3a44023f.js} |  2 +-
 assets/js/{71.349eb674.js => 73.d01d80fc.js}       |  4 +-
 .../js/73.d01d80fc.js.LICENSE.txt                  |  0
 assets/js/{72.359b3048.js => 74.072c7f25.js}       |  2 +-
 .../{749ed826.9d95f3f6.js => 749ed826.04ad34ba.js} |  2 +-
 .../js/73.149af841.js => assets/js/75.725ba8a9.js  |  2 +-
 assets/js/{74.6d6bc613.js => 76.fa416dc7.js}       |  2 +-
 assets/js/{75.f01d5ce7.js => 77.35c51a5d.js}       |  2 +-
 .../js/76.0f6d1c85.js => assets/js/78.82157586.js  |  2 +-
 assets/js/7af3052c.1e0a4ddd.js                     |  1 -
 assets/js/7af3052c.a42308b8.js                     |  1 +
 .../{7e37206e.47417889.js => 7e37206e.25d919d0.js} |  2 +-
 .../js/859cc09f.315574bb.js                        |  2 +-
 .../{8e27d69a.ac610c39.js => 8e27d69a.053cb440.js} |  2 +-
 assets/js/8e784bf3.2f9e815b.js                     |  1 -
 assets/js/8e784bf3.a89c9c99.js                     |  1 +
 .../{93013804.83b128a9.js => 93013804.8b19f643.js} |  2 +-
 .../{941c758c.9e9d032e.js => 941c758c.37e868a8.js} |  2 +-
 assets/js/96ff6680.b9a3324b.js                     |  1 +
 .../{98c69322.b7582938.js => 98c69322.939949f5.js} |  2 +-
 .../{9c26c05d.fc95ac57.js => 9c26c05d.9a2b677c.js} |  2 +-
 .../{9dc47d34.361fbf75.js => 9dc47d34.86b8bfd4.js} |  2 +-
 .../{a4a2cefa.1c7b9bf6.js => a4a2cefa.6d5d11bc.js} |  2 +-
 .../{a6641250.c0762809.js => a6641250.d0534085.js} |  2 +-
 .../{a6aa9e1f.164e0ec9.js => a6aa9e1f.63bf07f0.js} |  2 +-
 assets/js/adbb350b.2b13b2bc.js                     |  1 +
 assets/js/adbb350b.6b0356b2.js                     |  1 -
 .../{b123c67b.ac5cf6a9.js => b123c67b.5b18290b.js} |  2 +-
 assets/js/b2b675dd.7c84ba1d.js                     |  1 +
 assets/js/b2b675dd.cfff5178.js                     |  1 -
 assets/js/b4a67526.4ddf6192.js                     |  1 +
 assets/js/b4a67526.c50a644c.js                     |  1 -
 .../{b58143c5.63b5801d.js => b58143c5.a0099fa7.js} |  2 +-
 .../{bacea567.72925aa1.js => bacea567.f25fd7a1.js} |  2 +-
 .../{c119cf3c.74a18135.js => c119cf3c.6e4a029d.js} |  2 +-
 assets/js/c4f5d8e4.59786acd.js                     |  1 -
 assets/js/c4f5d8e4.7a3a12be.js                     |  1 +
 .../{c5594f1a.381243db.js => c5594f1a.5dffe215.js} |  2 +-
 .../{ccc49370.b13b15fc.js => ccc49370.fe9df983.js} |  2 +-
 .../{d18db9b0.202d2d1d.js => d18db9b0.be11e71b.js} |  2 +-
 .../{d4de91ec.5a94f2f3.js => d4de91ec.2825121a.js} |  2 +-
 .../{d73fca9b.5f91b662.js => d73fca9b.17cd4604.js} |  2 +-
 .../{e02da2c5.9aa3ef3b.js => e02da2c5.42e7a31b.js} |  2 +-
 assets/js/e1a3b18d.2b5dcc6a.js                     |  1 +
 assets/js/e451ae2c.395a184f.js                     |  1 -
 assets/js/e451ae2c.e0a9e6bb.js                     |  1 +
 .../{e60dd3b0.452f5414.js => e60dd3b0.f241622b.js} |  2 +-
 .../{f243156b.4a5376af.js => f243156b.9056e1d5.js} |  2 +-
 .../{f6cd6006.404e63a4.js => f6cd6006.1c677713.js} |  2 +-
 .../{f7488fe8.115aa429.js => f7488fe8.a0bdeb76.js} |  2 +-
 .../{fa919c95.629820e4.js => fa919c95.87ea653a.js} |  2 +-
 assets/js/main.2945d650.js                         |  2 -
 assets/js/main.eef76547.js                         |  2 +
 .../js/main.eef76547.js.LICENSE.txt                |  0
 assets/js/runtime~main.43ca223a.js                 |  1 +
 assets/js/runtime~main.acba93c0.js                 |  1 -
 .../js/styles.cfae28e5.js                          |  2 +-
 blog/2020/08/22/new-website/index.html             | 38 ++++++-------
 .../index.html                                     | 38 ++++++-------
 .../index.html                                     | 38 ++++++-------
 .../21/run-ingress-apisix-on-amazon-eks/index.html | 38 ++++++-------
 .../index.html                                     | 38 ++++++-------
 .../index.html                                     | 39 ++++++++++++++
 blog/atom.xml                                      |  9 +++-
 blog/index.html                                    | 62 ++++++++++++----------
 blog/rss.xml                                       |  9 +++-
 docs/apisix/IGNORE_DOC/index.html                  | 36 ++++++-------
 docs/dashboard/IGNORE_DOC/index.html               | 36 ++++++-------
 docs/general/2fa/index.html                        | 34 ++++++------
 docs/general/committer-guide/index.html            | 34 ++++++------
 docs/general/contributor-guide/index.html          | 34 ++++++------
 docs/general/release-guide/index.html              | 34 ++++++------
 docs/general/security/index.html                   | 34 ++++++------
 docs/general/subscribe-guide/index.html            | 34 ++++++------
 docs/index.html                                    | 28 +++++-----
 .../CRD-specification/index.html                   | 38 ++++++-------
 docs/ingress-controller/FAQ/index.html             | 38 ++++++-------
 docs/ingress-controller/IGNORE_DOC/index.html      | 36 ++++++-------
 docs/ingress-controller/contribute/index.html      | 38 ++++++-------
 docs/ingress-controller/deployments/ack/index.html | 38 ++++++-------
 docs/ingress-controller/deployments/aws/index.html | 38 ++++++-------
 .../deployments/azure/index.html                   | 38 ++++++-------
 docs/ingress-controller/deployments/gke/index.html | 38 ++++++-------
 .../deployments/k3s-rke/index.html                 | 38 ++++++-------
 .../deployments/kubesphere/index.html              | 38 ++++++-------
 .../deployments/minikube/index.html                | 38 ++++++-------
 docs/ingress-controller/deployments/tke/index.html | 38 ++++++-------
 docs/ingress-controller/design/index.html          | 38 ++++++-------
 docs/ingress-controller/development/index.html     | 38 ++++++-------
 docs/ingress-controller/samples/index/index.html   | 38 ++++++-------
 .../index.html                                     | 38 ++++++-------
 .../samples/proxy-the-httpbin-service/index.html   | 38 ++++++-------
 docs/ingress-controller/usage/index.html           | 38 ++++++-------
 downloads/ProjectCard/index.html                   | 24 ++++-----
 downloads/index.html                               | 32 +++++------
 .../index.html                                     | 36 ++++++-------
 .../index.html                                     | 36 ++++++-------
 .../02/09/release-apache-apisix-2.3/index.html     | 36 ++++++-------
 .../index.html                                     | 36 ++++++-------
 .../release-apache-apisix-dashboard-2.4/index.html | 36 ++++++-------
 events/index.html                                  | 52 +++++++++---------
 help/index.html                                    | 28 +++++-----
 index.html                                         | 30 +++++------
 search/index.html                                  | 24 ++++-----
 sitemap.xml                                        |  2 +-
 team/index.html                                    | 30 +++++------
 zh/404.html                                        | 12 ++---
 .../{03b7a20f.1dd07acb.js => 03b7a20f.3e314c4e.js} |  2 +-
 .../js/1.3237074b.js => zh/assets/js/1.a9e4d29a.js |  2 +-
 .../{12e5767f.f2eec07d.js => 12e5767f.c8e7b7b5.js} |  2 +-
 .../{17896441.e58bae36.js => 17896441.bde55444.js} |  2 +-
 .../{17dc512b.9356f2ae.js => 17dc512b.da2c7f07.js} |  2 +-
 .../{1be5d2e8.862f8499.js => 1be5d2e8.b7f18438.js} |  2 +-
 .../{1be78505.5178dac2.js => 1be78505.1d3d300b.js} |  2 +-
 .../{1c89ab3b.6f69acc2.js => 1c89ab3b.b2ca3c56.js} |  2 +-
 zh/assets/js/{2.e4d54c2b.js => 2.392ae916.js}      |  4 +-
 .../assets/js/2.392ae916.js.LICENSE.txt            |  0
 .../{25b7c3f2.3c5dfa02.js => 25b7c3f2.288f254a.js} |  2 +-
 zh/assets/js/2d8fe9ee.4742932a.js                  |  1 +
 zh/assets/js/2d8fe9ee.fbf876c8.js                  |  1 -
 zh/assets/js/{3.b8da59b5.js => 3.210f7ae8.js}      |  2 +-
 .../{3393d167.a39dd25a.js => 3393d167.8a718e77.js} |  2 +-
 .../{33c9e5b3.7ddd5619.js => 33c9e5b3.cab725ba.js} |  2 +-
 .../{37e3b3ea.f93e1258.js => 37e3b3ea.fec49bbf.js} |  2 +-
 .../{3a332aed.d2074a04.js => 3a332aed.49abc7b8.js} |  2 +-
 .../{3dc9f306.b822db76.js => 3dc9f306.0efa0f0c.js} |  2 +-
 zh/assets/js/{4.c30f7bca.js => 4.dd30949d.js}      |  2 +-
 .../{41b4926b.4f4c3e60.js => 41b4926b.48c46c42.js} |  2 +-
 .../{43aea6af.1907e6ff.js => 43aea6af.a9cdd804.js} |  2 +-
 zh/assets/js/47e0bf55.541e57ca.js                  |  1 -
 zh/assets/js/47e0bf55.8a9c6657.js                  |  1 +
 .../{47f8a22a.09ed66e0.js => 47f8a22a.8d2629b4.js} |  2 +-
 .../{4e55a385.6598c323.js => 4e55a385.c7db50ba.js} |  2 +-
 .../{4eed9ed2.303a4d26.js => 4eed9ed2.cd5421ac.js} |  2 +-
 .../{50facf8e.456618e2.js => 50facf8e.621498b0.js} |  2 +-
 .../{514de2af.f6fa3dd7.js => 514de2af.9f0f3f02.js} |  2 +-
 .../{5971cb1d.421fffde.js => 5971cb1d.41d6b0fc.js} |  2 +-
 .../{5bb67ffc.d3af9290.js => 5bb67ffc.0e60759a.js} |  2 +-
 .../{601c6eaa.4a1a6653.js => 601c6eaa.1e8ceecc.js} |  2 +-
 .../{64288df6.93ae58e4.js => 64288df6.8af2c99e.js} |  2 +-
 .../{66fbb9c2.4846c3a4.js => 66fbb9c2.5a4bf691.js} |  2 +-
 .../{6967878f.b7234289.js => 6967878f.b61ec396.js} |  2 +-
 .../{6f365930.ba5ad84c.js => 6f365930.68778c89.js} |  2 +-
 zh/assets/js/{71.349eb674.js => 73.d01d80fc.js}    |  4 +-
 .../assets/js/73.d01d80fc.js.LICENSE.txt           |  0
 zh/assets/js/{72.359b3048.js => 74.072c7f25.js}    |  2 +-
 .../{749ed826.847a09b1.js => 749ed826.9e8f3d36.js} |  2 +-
 .../73.149af841.js => zh/assets/js/75.725ba8a9.js  |  2 +-
 zh/assets/js/{74.6d6bc613.js => 76.fa416dc7.js}    |  2 +-
 zh/assets/js/{75.f01d5ce7.js => 77.35c51a5d.js}    |  2 +-
 .../76.0f6d1c85.js => zh/assets/js/78.82157586.js  |  2 +-
 zh/assets/js/7af3052c.0fdbd782.js                  |  1 -
 zh/assets/js/7af3052c.a6b94c00.js                  |  1 +
 .../{7e37206e.47417889.js => 7e37206e.25d919d0.js} |  2 +-
 .../assets/js/859cc09f.e6a336f2.js                 |  2 +-
 .../{8e27d69a.6bc2010a.js => 8e27d69a.5e128735.js} |  2 +-
 zh/assets/js/8e784bf3.85c4ae00.js                  |  1 +
 zh/assets/js/8e784bf3.c6dfa142.js                  |  1 -
 .../{93013804.f959c90b.js => 93013804.b3d50039.js} |  2 +-
 .../{941c758c.d2278123.js => 941c758c.03c0078f.js} |  2 +-
 zh/assets/js/96ff6680.77f08385.js                  |  1 +
 .../{98c69322.997e699b.js => 98c69322.f273488f.js} |  2 +-
 .../{9c26c05d.4843f673.js => 9c26c05d.72846d5e.js} |  2 +-
 .../{9dc47d34.39aeedfe.js => 9dc47d34.b037722e.js} |  2 +-
 .../{a4a2cefa.3f3a6f80.js => a4a2cefa.dd500388.js} |  2 +-
 .../{a6641250.1f085027.js => a6641250.0ac43c04.js} |  2 +-
 .../{a6aa9e1f.55e4f1e9.js => a6aa9e1f.f61a41a4.js} |  2 +-
 zh/assets/js/adbb350b.0e184e37.js                  |  1 -
 zh/assets/js/adbb350b.b9d87612.js                  |  1 +
 .../{b123c67b.5a8b10cd.js => b123c67b.d714415a.js} |  2 +-
 zh/assets/js/b4a67526.67bed789.js                  |  1 +
 zh/assets/js/b4a67526.b368103d.js                  |  1 -
 .../{b58143c5.832eab86.js => b58143c5.504fb486.js} |  2 +-
 .../{bacea567.a3d76742.js => bacea567.021a9bbd.js} |  2 +-
 .../{c119cf3c.5f408f81.js => c119cf3c.11a45046.js} |  2 +-
 zh/assets/js/c4f5d8e4.59786acd.js                  |  1 -
 zh/assets/js/c4f5d8e4.7a3a12be.js                  |  1 +
 .../{c5594f1a.5101f105.js => c5594f1a.4254a5bc.js} |  2 +-
 .../{ccc49370.b13b15fc.js => ccc49370.fe9df983.js} |  2 +-
 .../{d18db9b0.fb7cccf3.js => d18db9b0.e9f0068d.js} |  2 +-
 .../{d4de91ec.a4fb0674.js => d4de91ec.2bb7e97d.js} |  2 +-
 .../{d73fca9b.5f91b662.js => d73fca9b.17cd4604.js} |  2 +-
 .../{e02da2c5.b96f4156.js => e02da2c5.14c8e608.js} |  2 +-
 zh/assets/js/e1a3b18d.448a315e.js                  |  1 +
 zh/assets/js/e451ae2c.59bb1bfd.js                  |  1 +
 zh/assets/js/e451ae2c.7c7f3e19.js                  |  1 -
 .../{e60dd3b0.dd9d4386.js => e60dd3b0.fc1c68b4.js} |  2 +-
 .../{f243156b.4a5376af.js => f243156b.9056e1d5.js} |  2 +-
 .../{f6cd6006.388c9a35.js => f6cd6006.c7eb2518.js} |  2 +-
 .../{f7488fe8.78be7bf2.js => f7488fe8.5a138bfc.js} |  2 +-
 .../{fa919c95.e28dfe07.js => fa919c95.bd527bbc.js} |  2 +-
 zh/assets/js/main.090498f9.js                      |  2 +
 .../assets/js/main.090498f9.js.LICENSE.txt         |  0
 zh/assets/js/main.97d1759b.js                      |  2 -
 zh/assets/js/runtime~main.6f215418.js              |  1 -
 zh/assets/js/runtime~main.ec6b69f8.js              |  1 +
 .../assets/js/styles.a0e71f6a.js                   |  2 +-
 zh/blog/2020/08/22/new-website/index.html          | 38 ++++++-------
 .../index.html                                     | 38 ++++++-------
 .../index.html                                     | 38 ++++++-------
 .../21/run-ingress-apisix-on-amazon-eks/index.html | 38 ++++++-------
 .../index.html                                     | 38 ++++++-------
 .../index.html                                     | 39 ++++++++++++++
 zh/blog/atom.xml                                   |  9 +++-
 zh/blog/index.html                                 | 62 ++++++++++++----------
 zh/blog/rss.xml                                    |  9 +++-
 zh/docs/apisix/IGNORE_DOC/index.html               | 36 ++++++-------
 zh/docs/dashboard/IGNORE_DOC/index.html            | 36 ++++++-------
 zh/docs/general/2fa/index.html                     | 34 ++++++------
 zh/docs/general/committer-guide/index.html         | 34 ++++++------
 zh/docs/general/contributor-guide/index.html       | 34 ++++++------
 zh/docs/general/release-guide/index.html           | 34 ++++++------
 zh/docs/general/security/index.html                | 34 ++++++------
 zh/docs/general/subscribe-guide/index.html         | 34 ++++++------
 zh/docs/index.html                                 | 28 +++++-----
 .../CRD-specification/index.html                   | 38 ++++++-------
 zh/docs/ingress-controller/FAQ/index.html          | 38 ++++++-------
 zh/docs/ingress-controller/IGNORE_DOC/index.html   | 36 ++++++-------
 zh/docs/ingress-controller/contribute/index.html   | 38 ++++++-------
 .../ingress-controller/deployments/ack/index.html  | 38 ++++++-------
 .../ingress-controller/deployments/aws/index.html  | 38 ++++++-------
 .../deployments/azure/index.html                   | 38 ++++++-------
 .../ingress-controller/deployments/gke/index.html  | 38 ++++++-------
 .../deployments/k3s-rke/index.html                 | 38 ++++++-------
 .../deployments/kubesphere/index.html              | 38 ++++++-------
 .../deployments/minikube/index.html                | 38 ++++++-------
 .../ingress-controller/deployments/tke/index.html  | 38 ++++++-------
 zh/docs/ingress-controller/design/index.html       | 38 ++++++-------
 zh/docs/ingress-controller/development/index.html  | 38 ++++++-------
 .../ingress-controller/samples/index/index.html    | 38 ++++++-------
 .../index.html                                     | 38 ++++++-------
 .../samples/proxy-the-httpbin-service/index.html   | 38 ++++++-------
 zh/docs/ingress-controller/usage/index.html        | 38 ++++++-------
 zh/downloads/ProjectCard/index.html                | 24 ++++-----
 zh/downloads/index.html                            | 32 +++++------
 .../index.html                                     | 36 ++++++-------
 .../index.html                                     | 36 ++++++-------
 .../02/09/release-apache-apisix-2.3/index.html     | 36 ++++++-------
 .../index.html                                     | 36 ++++++-------
 .../release-apache-apisix-dashboard-2.4/index.html | 36 ++++++-------
 zh/events/index.html                               | 52 +++++++++---------
 zh/help/index.html                                 | 28 +++++-----
 zh/index.html                                      | 30 +++++------
 zh/search/index.html                               | 24 ++++-----
 zh/sitemap.xml                                     |  2 +-
 zh/team/index.html                                 | 30 +++++------
 281 files changed, 1926 insertions(+), 1808 deletions(-)

diff --git a/404.html b/404.html
index ab27b86..7e52a52 100644
--- a/404.html
+++ b/404.html
@@ -11,15 +11,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//404.html"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/03b7a20f.5f4098cb.js b/assets/js/03b7a20f.d213b750.js
similarity index 99%
rename from assets/js/03b7a20f.5f4098cb.js
rename to assets/js/03b7a20f.d213b750.js
index cfad4b7..f05b21a 100644
--- a/assets/js/03b7a20f.5f4098cb.js
+++ b/assets/js/03b7a20f.d213b750.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/zh/assets/js/1.3237074b.js b/assets/js/1.a9e4d29a.js
similarity index 83%
rename from zh/assets/js/1.3237074b.js
rename to assets/js/1.a9e4d29a.js
index b933418..38541ed 100644
--- a/zh/assets/js/1.3237074b.js
+++ b/assets/js/1.a9e4d29a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{143:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(175);Object.defineProperty(t,"useThemeConfig",{enumerable:!0,get:function(){return r.useThemeConfig}});var o=n(202);Object.defineProperty(t,"useAlternatePageUtils",{enumerable:!0,get:function(){return o.useAlternatePageUtils}});var i=n(203);Object.defineProperty(t,"docVersionSearchTag",{enumerable:!0,get:function(){return i.docVersionSearchTag [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{145:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(177);Object.defineProperty(t,"useThemeConfig",{enumerable:!0,get:function(){return r.useThemeConfig}});var o=n(204);Object.defineProperty(t,"useAlternatePageUtils",{enumerable:!0,get:function(){return o.useAlternatePageUtils}});var i=n(205);Object.defineProperty(t,"docVersionSearchTag",{enumerable:!0,get:function(){return i.docVersionSearchTag [...]
\ No newline at end of file
diff --git a/assets/js/12e5767f.850d19de.js b/assets/js/12e5767f.65379beb.js
similarity index 97%
rename from assets/js/12e5767f.850d19de.js
rename to assets/js/12e5767f.65379beb.js
index 7033a60..282c19f 100644
--- a/assets/js/12e5767f.850d19de.js
+++ b/assets/js/12e5767f.65379beb.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/17896441.e58bae36.js b/assets/js/17896441.bde55444.js
similarity index 92%
rename from assets/js/17896441.e58bae36.js
rename to assets/js/17896441.bde55444.js
index 6ea3b57..c9a4465 100644
--- a/assets/js/17896441.e58bae36.js
+++ b/assets/js/17896441.bde55444.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{137:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(24),c=a(143),i=a(17),o=a(149),m=a(145);var s=function(e){var t=e.metadata;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},t.previous&&l.a.createElement(m.a,{className:"pagination-nav__link",to:t.previous.permalink},l.a.createElement("div",{className:"paginati [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{139:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(24),c=a(145),i=a(17),o=a(151),m=a(147);var s=function(e){var t=e.metadata;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},t.previous&&l.a.createElement(m.a,{className:"pagination-nav__link",to:t.previous.permalink},l.a.createElement("div",{className:"paginati [...]
\ No newline at end of file
diff --git a/assets/js/17dc512b.86d51ee0.js b/assets/js/17dc512b.c79f6faf.js
similarity index 94%
rename from assets/js/17dc512b.86d51ee0.js
rename to assets/js/17dc512b.c79f6faf.js
index afae981..3a2ef8d 100644
--- a/assets/js/17dc512b.86d51ee0.js
+++ b/assets/js/17dc512b.c79f6faf.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return y}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return y}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/1be5d2e8.c2ddd7ad.js b/assets/js/1be5d2e8.f5c22dcd.js
similarity index 97%
rename from assets/js/1be5d2e8.c2ddd7ad.js
rename to assets/js/1be5d2e8.f5c22dcd.js
index 3531b12..45c1d9c 100644
--- a/assets/js/1be5d2e8.c2ddd7ad.js
+++ b/assets/js/1be5d2e8.f5c22dcd.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return h}));var n=r(0),a=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return h}));var n=r(0),a=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/1be78505.5178dac2.js b/assets/js/1be78505.1d3d300b.js
similarity index 92%
rename from assets/js/1be78505.5178dac2.js
rename to assets/js/1be78505.1d3d300b.js
index 8e106ff..96d6717 100644
--- a/assets/js/1be78505.5178dac2.js
+++ b/assets/js/1be78505.1d3d300b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{138:function(e,a,t){"use strict";t.r(a);var n=t(0),c=t.n(n),i=t(142),l=t(17),r=t(27),o=t(146),s=t(3),u=t(7),b=t(144),d=t(143),m=t(178),p=t(184),f=t(185),v=t(183),h=t(145),E=t(163),O=t(187),j=t(190),k=t(189),C=t(76),_=t.n(C),g=t(186);var N=function e(a,t){return"link"===a.type?Object(d.isSamePath)(a.href,t):"category"===a.type&&a.items.some((function(a){return e(a,t)}))};function I(e){var a,t,i,l=e.item,r=e.onItemClick,o=e.collapsi [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{140:function(e,a,t){"use strict";t.r(a);var n=t(0),c=t.n(n),i=t(144),l=t(17),r=t(27),o=t(148),s=t(3),u=t(7),b=t(146),d=t(145),m=t(180),p=t(186),f=t(187),v=t(185),h=t(147),E=t(165),O=t(189),j=t(192),k=t(191),C=t(76),_=t.n(C),g=t(188);var N=function e(a,t){return"link"===a.type?Object(d.isSamePath)(a.href,t):"category"===a.type&&a.items.some((function(a){return e(a,t)}))};function I(e){var a,t,i,l=e.item,r=e.onItemClick,o=e.collapsi [...]
\ No newline at end of file
diff --git a/assets/js/1c89ab3b.746adc0c.js b/assets/js/1c89ab3b.e1716a11.js
similarity index 98%
rename from assets/js/1c89ab3b.746adc0c.js
rename to assets/js/1c89ab3b.e1716a11.js
index 7706571..5d93752 100644
--- a/assets/js/1c89ab3b.746adc0c.js
+++ b/assets/js/1c89ab3b.e1716a11.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{142:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{144:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/2.e4d54c2b.js b/assets/js/2.392ae916.js
similarity index 91%
rename from assets/js/2.e4d54c2b.js
rename to assets/js/2.392ae916.js
index 7e64d69..9fac000 100644
--- a/assets/js/2.e4d54c2b.js
+++ b/assets/js/2.392ae916.js
@@ -1,2 +1,2 @@
-/*! For license information please see 2.e4d54c2b.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{146:function(e,t,a){"use strict";var n=a(0),r=a.n(n),c=a(144),o=a(63),l=a.n(o);var i=function(){return r.a.createElement("nav",{"aria-label":"Skip navigation links"},r.a.createElement("button",{type:"button",tabIndex:0,className:l.a.skipToContent,onKeyDown:function(e){if(13===e.keyCode){document.activeElement.blur();var t=document.querySelector("main:first-of-type");t&&t.scrollIntoView()}}},"Skip to main content"))},s=a(143),u=a(17 [...]
\ No newline at end of file
+/*! For license information please see 2.392ae916.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{148:function(e,t,a){"use strict";var n=a(0),r=a.n(n),c=a(146),o=a(63),l=a.n(o);var i=function(){return r.a.createElement("nav",{"aria-label":"Skip navigation links"},r.a.createElement("button",{type:"button",tabIndex:0,className:l.a.skipToContent,onKeyDown:function(e){if(13===e.keyCode){document.activeElement.blur();var t=document.querySelector("main:first-of-type");t&&t.scrollIntoView()}}},"Skip to main content"))},s=a(145),u=a(18 [...]
\ No newline at end of file
diff --git a/zh/assets/js/2.e4d54c2b.js.LICENSE.txt b/assets/js/2.392ae916.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/2.e4d54c2b.js.LICENSE.txt
rename to assets/js/2.392ae916.js.LICENSE.txt
diff --git a/assets/js/25b7c3f2.3c5dfa02.js b/assets/js/25b7c3f2.288f254a.js
similarity index 94%
rename from assets/js/25b7c3f2.3c5dfa02.js
rename to assets/js/25b7c3f2.288f254a.js
index a6fd152..176921e 100644
--- a/assets/js/25b7c3f2.3c5dfa02.js
+++ b/assets/js/25b7c3f2.288f254a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{156:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{158:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
diff --git a/assets/js/2d8fe9ee.09d7d664.js b/assets/js/2d8fe9ee.09d7d664.js
deleted file mode 100644
index 451ebda..0000000
--- a/assets/js/2d8fe9ee.09d7d664.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{80:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Stable Product Delivery with Cypress","permalink":"/blog/2021/02/08/stable-product-delivery-with-cypress"},{"title":"Run Ingress APISIX on Amazon EKS","permalink":"/blog/2021/01/21/run-ingress-apisix-on-amazon-eks"},{"title":"\u521d\u63a2 Kubernetes Service APIs","permalink":"/blog/2020/12/18/a-first-look-at-kubernetes-service-api"},{"title":"Envoy and [...]
\ No newline at end of file
diff --git a/assets/js/2d8fe9ee.d0efe333.js b/assets/js/2d8fe9ee.d0efe333.js
new file mode 100644
index 0000000..2bd2087
--- /dev/null
+++ b/assets/js/2d8fe9ee.d0efe333.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{80:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Install Apache APISIX from Helm Charts","permalink":"/blog/2021/02/26/install-apache-apisix-from-helm-charts"},{"title":"Stable Product Delivery with Cypress","permalink":"/blog/2021/02/08/stable-product-delivery-with-cypress"},{"title":"Run Ingress APISIX on Amazon EKS","permalink":"/blog/2021/01/21/run-ingress-apisix-on-amazon-eks"},{"title":"\u521d\ [...]
\ No newline at end of file
diff --git a/assets/js/3.b8da59b5.js b/assets/js/3.210f7ae8.js
similarity index 98%
rename from assets/js/3.b8da59b5.js
rename to assets/js/3.210f7ae8.js
index 83c4219..7293336 100644
--- a/assets/js/3.b8da59b5.js
+++ b/assets/js/3.210f7ae8.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{151:function(e,t,r){"use strict";(function(e){var n=r(26),i=r(0),a=r.n(i),o=r(219),s=r.n(o),c=r(220),l=r(221),u=r(235),h=r(29),f=r.n(h);function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p=function(e,t){for(var r=[e[0]],n=0,i=t.length;n<i;n+=1)r.push(t[n],e[n+1]);return r},g [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{153:function(e,t,r){"use strict";(function(e){var n=r(26),i=r(0),a=r.n(i),o=r(221),s=r.n(o),c=r(222),l=r(223),u=r(237),h=r(29),f=r.n(h);function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p=function(e,t){for(var r=[e[0]],n=0,i=t.length;n<i;n+=1)r.push(t[n],e[n+1]);return r},g [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.bcaeb5c0.js b/assets/js/3393d167.adf765f0.js
similarity index 94%
rename from assets/js/3393d167.bcaeb5c0.js
rename to assets/js/3393d167.adf765f0.js
index b5daa6a..532e8ff 100644
--- a/assets/js/3393d167.bcaeb5c0.js
+++ b/assets/js/3393d167.adf765f0.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{142:function(e,r,t){"use strict";t.d(r,"a",(function(){return l})),t.d(r,"b",(function(){return d}));var n=t(0),o=t.n(n);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{144:function(e,r,t){"use strict";t.d(r,"a",(function(){return l})),t.d(r,"b",(function(){return d}));var n=t(0),o=t.n(n);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/33c9e5b3.895f59a3.js b/assets/js/33c9e5b3.ac491ea7.js
similarity index 96%
rename from assets/js/33c9e5b3.895f59a3.js
rename to assets/js/33c9e5b3.ac491ea7.js
index 4665f80..46ec1bb 100644
--- a/assets/js/33c9e5b3.895f59a3.js
+++ b/assets/js/33c9e5b3.ac491ea7.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return b}));var n=r(0),o=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return b}));var n=r(0),o=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/37e3b3ea.63d9e46c.js b/assets/js/37e3b3ea.209b9c9d.js
similarity index 94%
rename from assets/js/37e3b3ea.63d9e46c.js
rename to assets/js/37e3b3ea.209b9c9d.js
index 0b7bddc..90a22a2 100644
--- a/assets/js/37e3b3ea.63d9e46c.js
+++ b/assets/js/37e3b3ea.209b9c9d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return m}));var n=r(0),o=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return m}));var n=r(0),o=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.53fdd8da.js b/assets/js/3dc9f306.f605a729.js
similarity index 52%
rename from assets/js/3dc9f306.53fdd8da.js
rename to assets/js/3dc9f306.f605a729.js
index 34c5848..fca2040 100644
--- a/assets/js/3dc9f306.53fdd8da.js
+++ b/assets/js/3dc9f306.f605a729.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return b}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return b}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/4.570df902.js b/assets/js/4.5ad41361.js
similarity index 93%
rename from assets/js/4.570df902.js
rename to assets/js/4.5ad41361.js
index c60d0ea..78a2cc6 100644
--- a/assets/js/4.570df902.js
+++ b/assets/js/4.5ad41361.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{142:function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return d}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{144:function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return d}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/41b4926b.9f9fab3d.js b/assets/js/41b4926b.98ccd3af.js
similarity index 98%
rename from assets/js/41b4926b.9f9fab3d.js
rename to assets/js/41b4926b.98ccd3af.js
index b8e0805..b1bdfac 100644
--- a/assets/js/41b4926b.9f9fab3d.js
+++ b/assets/js/41b4926b.98ccd3af.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{142:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return m}));var r=a(0),i=a.n(r);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function p(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{144:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return m}));var r=a(0),i=a.n(r);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function p(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/43aea6af.2c4058f7.js b/assets/js/43aea6af.2b5a7581.js
similarity index 97%
rename from assets/js/43aea6af.2c4058f7.js
rename to assets/js/43aea6af.2b5a7581.js
index 9027598..2b8f552 100644
--- a/assets/js/43aea6af.2c4058f7.js
+++ b/assets/js/43aea6af.2b5a7581.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return h}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return h}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/47e0bf55.2d8b44c3.js b/assets/js/47e0bf55.2d8b44c3.js
new file mode 100644
index 0000000..a708edc
--- /dev/null
+++ b/assets/js/47e0bf55.2d8b44c3.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/47e0bf55.f18b844a.js b/assets/js/47e0bf55.f18b844a.js
deleted file mode 100644
index ba1241a..0000000
--- a/assets/js/47e0bf55.f18b844a.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/47f8a22a.e1a5cb94.js b/assets/js/47f8a22a.b63bda4a.js
similarity index 95%
rename from assets/js/47f8a22a.e1a5cb94.js
rename to assets/js/47f8a22a.b63bda4a.js
index 87ab093..725cda1 100644
--- a/assets/js/47f8a22a.e1a5cb94.js
+++ b/assets/js/47f8a22a.b63bda4a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[21,43],{154:function(e,t,n){"use strict";const r=(e,{target:t=document.body}={})=>{const n=document.createElement("textarea"),r=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";const a=document.getSelection();let o=!1;a.rangeCount>0&&(o=a.getRangeAt(0)),t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let i [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[21,44],{156:function(e,t,n){"use strict";const r=(e,{target:t=document.body}={})=>{const n=document.createElement("textarea"),r=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";const a=document.getSelection();let o=!1;a.rangeCount>0&&(o=a.getRangeAt(0)),t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let i [...]
\ No newline at end of file
diff --git a/assets/js/4e55a385.5dd777ff.js b/assets/js/4e55a385.7eb74492.js
similarity index 97%
rename from assets/js/4e55a385.5dd777ff.js
rename to assets/js/4e55a385.7eb74492.js
index 9c7def8..e3a1b5e 100644
--- a/assets/js/4e55a385.5dd777ff.js
+++ b/assets/js/4e55a385.7eb74492.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/4eed9ed2.a3aa64b8.js b/assets/js/4eed9ed2.2d8a924e.js
similarity index 97%
rename from assets/js/4eed9ed2.a3aa64b8.js
rename to assets/js/4eed9ed2.2d8a924e.js
index b08e6fa..d70554e 100644
--- a/assets/js/4eed9ed2.a3aa64b8.js
+++ b/assets/js/4eed9ed2.2d8a924e.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var a=r(0),n=r.n(a);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var a=r(0),n=r.n(a);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.9402675c.js b/assets/js/50facf8e.7aac746a.js
similarity index 57%
rename from assets/js/50facf8e.9402675c.js
rename to assets/js/50facf8e.7aac746a.js
index 2e17752..4e6cc1a 100644
--- a/assets/js/50facf8e.9402675c.js
+++ b/assets/js/50facf8e.7aac746a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return d}));var n=r(0),i=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return d}));var n=r(0),i=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/514de2af.34f58e84.js b/assets/js/514de2af.03d24677.js
similarity index 98%
rename from assets/js/514de2af.34f58e84.js
rename to assets/js/514de2af.03d24677.js
index f0fa774..014ddda 100644
--- a/assets/js/514de2af.34f58e84.js
+++ b/assets/js/514de2af.03d24677.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{142:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{144:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/5971cb1d.6ead52c1.js b/assets/js/5971cb1d.02910d77.js
similarity index 98%
rename from assets/js/5971cb1d.6ead52c1.js
rename to assets/js/5971cb1d.02910d77.js
index 2b86195..ec8fa68 100644
--- a/assets/js/5971cb1d.6ead52c1.js
+++ b/assets/js/5971cb1d.02910d77.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),i=n.n(r);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),i=n.n(r);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/5bb67ffc.696df783.js b/assets/js/5bb67ffc.0379cd2b.js
similarity index 99%
rename from assets/js/5bb67ffc.696df783.js
rename to assets/js/5bb67ffc.0379cd2b.js
index 56e1f90..b518b4b 100644
--- a/assets/js/5bb67ffc.696df783.js
+++ b/assets/js/5bb67ffc.0379cd2b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var a=r(0),n=r.n(a);function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var a=r(0),n=r.n(a);function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/601c6eaa.825c7829.js b/assets/js/601c6eaa.715ad3ab.js
similarity index 95%
rename from assets/js/601c6eaa.825c7829.js
rename to assets/js/601c6eaa.715ad3ab.js
index f61cc88..d3ed5f8 100644
--- a/assets/js/601c6eaa.825c7829.js
+++ b/assets/js/601c6eaa.715ad3ab.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{142:function(e,r,t){"use strict";t.d(r,"a",(function(){return l})),t.d(r,"b",(function(){return d}));var n=t(0),o=t.n(n);function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{144:function(e,r,t){"use strict";t.d(r,"a",(function(){return l})),t.d(r,"b",(function(){return d}));var n=t(0),o=t.n(n);function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/64288df6.2f59583c.js b/assets/js/64288df6.1e027013.js
similarity index 98%
rename from assets/js/64288df6.2f59583c.js
rename to assets/js/64288df6.1e027013.js
index 5ec4b2a..f431ece 100644
--- a/assets/js/64288df6.2f59583c.js
+++ b/assets/js/64288df6.1e027013.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.32789496.js b/assets/js/66fbb9c2.040ca4c6.js
similarity index 64%
rename from assets/js/66fbb9c2.32789496.js
rename to assets/js/66fbb9c2.040ca4c6.js
index 791368a..0396bf7 100644
--- a/assets/js/66fbb9c2.32789496.js
+++ b/assets/js/66fbb9c2.040ca4c6.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/6967878f.d80f06f6.js b/assets/js/6967878f.71ed4146.js
similarity index 97%
rename from assets/js/6967878f.d80f06f6.js
rename to assets/js/6967878f.71ed4146.js
index c954219..ba1df52 100644
--- a/assets/js/6967878f.d80f06f6.js
+++ b/assets/js/6967878f.71ed4146.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/6f365930.02f984c8.js b/assets/js/6f365930.3a44023f.js
similarity index 98%
rename from assets/js/6f365930.02f984c8.js
rename to assets/js/6f365930.3a44023f.js
index 1af06e1..46fda47 100644
--- a/assets/js/6f365930.02f984c8.js
+++ b/assets/js/6f365930.3a44023f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{100:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(142)),s={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{100:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(144)),s={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
diff --git a/assets/js/71.349eb674.js b/assets/js/73.d01d80fc.js
similarity index 96%
rename from assets/js/71.349eb674.js
rename to assets/js/73.d01d80fc.js
index 29f3f7e..559873f 100644
--- a/assets/js/71.349eb674.js
+++ b/assets/js/73.d01d80fc.js
@@ -1,2 +1,2 @@
-/*! For license information please see 71.349eb674.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{130:function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(234),s=n.n(a),c=n(223),u=n.n(c),o=n(144),f=n(24),h=n(145),l=n(11),m=n(143),d=n(17),v=n(147),p=n(180),g=n(146),y=n(131),R=n.n(y);var F=function(e){var t=e.docsSearchVersionsHelpers,n=Object.entries(t.allDocsData).filter((function(e){return e[1].versions.length>1}));return i.a.createElement("div",{className:Object(o.a)("col","col--3","padding-left--none",R.a.searchVersi [...]
\ No newline at end of file
+/*! For license information please see 73.d01d80fc.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{132:function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(236),s=n.n(a),c=n(225),u=n.n(c),o=n(146),f=n(24),h=n(147),l=n(11),m=n(145),d=n(17),v=n(149),p=n(182),g=n(148),y=n(133),R=n.n(y);var F=function(e){var t=e.docsSearchVersionsHelpers,n=Object.entries(t.allDocsData).filter((function(e){return e[1].versions.length>1}));return i.a.createElement("div",{className:Object(o.a)("col","col--3","padding-left--none",R.a.searchVersi [...]
\ No newline at end of file
diff --git a/zh/assets/js/71.349eb674.js.LICENSE.txt b/assets/js/73.d01d80fc.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/71.349eb674.js.LICENSE.txt
rename to assets/js/73.d01d80fc.js.LICENSE.txt
diff --git a/assets/js/72.359b3048.js b/assets/js/74.072c7f25.js
similarity index 93%
rename from assets/js/72.359b3048.js
rename to assets/js/74.072c7f25.js
index 085a044..df2c4a5 100644
--- a/assets/js/72.359b3048.js
+++ b/assets/js/74.072c7f25.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[72,75],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[74,77],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable [...]
\ No newline at end of file
diff --git a/assets/js/749ed826.9d95f3f6.js b/assets/js/749ed826.04ad34ba.js
similarity index 98%
rename from assets/js/749ed826.9d95f3f6.js
rename to assets/js/749ed826.04ad34ba.js
index e7e7eaf..eebff3f 100644
--- a/assets/js/749ed826.9d95f3f6.js
+++ b/assets/js/749ed826.04ad34ba.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{101:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(142)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{101:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(144)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
diff --git a/zh/assets/js/73.149af841.js b/assets/js/75.725ba8a9.js
similarity index 99%
rename from zh/assets/js/73.149af841.js
rename to assets/js/75.725ba8a9.js
index 5b13c47..12c3329 100644
--- a/zh/assets/js/73.149af841.js
+++ b/assets/js/75.725ba8a9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{242:function(e,t,r){"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t,r){var a=t.initialState;return{getState:func [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{244:function(e,t,r){"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t,r){var a=t.initialState;return{getState:func [...]
\ No newline at end of file
diff --git a/assets/js/74.6d6bc613.js b/assets/js/76.fa416dc7.js
similarity index 62%
rename from assets/js/74.6d6bc613.js
rename to assets/js/76.fa416dc7.js
index 9e138f6..8a78a8e 100644
--- a/assets/js/74.6d6bc613.js
+++ b/assets/js/76.fa416dc7.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{241:function(n,i,o){"use strict";o.r(i);var r=o(62);for(var t in r)["default"].indexOf(t)<0&&function(n){o.d(i,n,(function(){return r[n]}))}(t)}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{243:function(n,i,o){"use strict";o.r(i);var r=o(62);for(var t in r)["default"].indexOf(t)<0&&function(n){o.d(i,n,(function(){return r[n]}))}(t)}}]);
\ No newline at end of file
diff --git a/assets/js/75.f01d5ce7.js b/assets/js/77.35c51a5d.js
similarity index 76%
rename from assets/js/75.f01d5ce7.js
rename to assets/js/77.35c51a5d.js
index 28e5bde..11aff6b 100644
--- a/assets/js/75.f01d5ce7.js
+++ b/assets/js/77.35c51a5d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{174:function(e,t,a){"use strict";a.r(t);var n=a(0),o=a.n(n),l=a(146);t.default=function(){return o.a.createElement(l.a,{title:"Page Not Found"},o.a.createElement("main",{className:"container margin-vert--xl"},o.a.createElement("div",{className:"row"},o.a.createElement("div",{className:"col col--6 col--offset-3"},o.a.createElement("h1",{className:"hero__title"},"Page Not Found"),o.a.createElement("p",null,"We could not find what yo [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{176:function(e,t,a){"use strict";a.r(t);var n=a(0),o=a.n(n),l=a(148);t.default=function(){return o.a.createElement(l.a,{title:"Page Not Found"},o.a.createElement("main",{className:"container margin-vert--xl"},o.a.createElement("div",{className:"row"},o.a.createElement("div",{className:"col col--6 col--offset-3"},o.a.createElement("h1",{className:"hero__title"},"Page Not Found"),o.a.createElement("p",null,"We could not find what yo [...]
\ No newline at end of file
diff --git a/zh/assets/js/76.0f6d1c85.js b/assets/js/78.82157586.js
similarity index 98%
rename from zh/assets/js/76.0f6d1c85.js
rename to assets/js/78.82157586.js
index 6d2c252..9f7b485 100644
--- a/zh/assets/js/76.0f6d1c85.js
+++ b/assets/js/78.82157586.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{243:function(t,e,n){"use strict";var s=n(3),a=n(7),i=n(4);n(1);function o(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var r=n(0),p=n.n(r),l=n(25),u=n.n(l),c=!1,d=p.a.createContext(null),E="unmounted",f="exited",h="entering",x="entered",m="exiting",v=function(t){function e(e,n){var s;s=t.call(this,e,n)||this;var a,i=n&&!n.isMounting?e.enter:e.appear;return s.appea [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{245:function(t,e,n){"use strict";var s=n(3),a=n(7),i=n(4);n(1);function o(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var r=n(0),p=n.n(r),l=n(25),u=n.n(l),c=!1,d=p.a.createContext(null),E="unmounted",f="exited",h="entering",x="entered",m="exiting",v=function(t){function e(e,n){var s;s=t.call(this,e,n)||this;var a,i=n&&!n.isMounting?e.enter:e.appear;return s.appea [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.1e0a4ddd.js b/assets/js/7af3052c.1e0a4ddd.js
deleted file mode 100644
index 004c89f..0000000
--- a/assets/js/7af3052c.1e0a4ddd.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{102:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(7),r=(t(0),t(142)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.a42308b8.js b/assets/js/7af3052c.a42308b8.js
new file mode 100644
index 0000000..642a748
--- /dev/null
+++ b/assets/js/7af3052c.a42308b8.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{102:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(7),r=(t(0),t(144)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/assets/js/7e37206e.47417889.js b/assets/js/7e37206e.25d919d0.js
similarity index 93%
rename from assets/js/7e37206e.47417889.js
rename to assets/js/7e37206e.25d919d0.js
index 5a3472a..f4ad748 100644
--- a/assets/js/7e37206e.47417889.js
+++ b/assets/js/7e37206e.25d919d0.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{103:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),i=a(151),l=a(146),c=a(167),o=i.a.h1.withConfig({displayName:"help__PageTitle",componentId:"sc-1evwiii-0"})(["margin-top:2rem;font-size:3rem;font-weight:800;"]),s=i.a.div.withConfig({displayName:"help__PageSubtitle",componentId:"sc-1evwiii-1"})(["margin-bottom:3rem;"]),m=i.a.div.withConfig({displayName:"help__Page",componentId:"sc-1evwiii-2"})(["max-width:var(--ifm-contain [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{103:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),i=a(153),l=a(148),c=a(169),o=i.a.h1.withConfig({displayName:"help__PageTitle",componentId:"sc-1evwiii-0"})(["margin-top:2rem;font-size:3rem;font-weight:800;"]),s=i.a.div.withConfig({displayName:"help__PageSubtitle",componentId:"sc-1evwiii-1"})(["margin-bottom:3rem;"]),m=i.a.div.withConfig({displayName:"help__Page",componentId:"sc-1evwiii-2"})(["max-width:var(--ifm-contain [...]
\ No newline at end of file
diff --git a/zh/assets/js/859cc09f.073c77b1.js b/assets/js/859cc09f.315574bb.js
similarity index 66%
rename from zh/assets/js/859cc09f.073c77b1.js
rename to assets/js/859cc09f.315574bb.js
index 425337a..c236de3 100644
--- a/zh/assets/js/859cc09f.073c77b1.js
+++ b/assets/js/859cc09f.315574bb.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{136:function(e,t,r){"use strict";r.r(t);var n=r(0),a=r.n(n),o=r(151),i=r(146),l=r(17),c=r(168);function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{138:function(e,t,r){"use strict";r.r(t);var n=r(0),a=r.n(n),o=r(153),i=r(148),l=r(17),c=r(170);function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++ [...]
\ No newline at end of file
diff --git a/assets/js/8e27d69a.ac610c39.js b/assets/js/8e27d69a.053cb440.js
similarity index 97%
rename from assets/js/8e27d69a.ac610c39.js
rename to assets/js/8e27d69a.053cb440.js
index 78fd7a0..2f5c755 100644
--- a/assets/js/8e27d69a.ac610c39.js
+++ b/assets/js/8e27d69a.053cb440.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{104:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(7),o=(n(0),n(142)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3c [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{104:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(7),o=(n(0),n(144)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3c [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.2f9e815b.js b/assets/js/8e784bf3.2f9e815b.js
deleted file mode 100644
index 4e41be4..0000000
--- a/assets/js/8e784bf3.2f9e815b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{105:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(7),a=(n(0),n(142)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/d [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.a89c9c99.js b/assets/js/8e784bf3.a89c9c99.js
new file mode 100644
index 0000000..3337625
--- /dev/null
+++ b/assets/js/8e784bf3.a89c9c99.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{105:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(7),a=(n(0),n(144)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/d [...]
\ No newline at end of file
diff --git a/assets/js/93013804.83b128a9.js b/assets/js/93013804.8b19f643.js
similarity index 97%
rename from assets/js/93013804.83b128a9.js
rename to assets/js/93013804.8b19f643.js
index 05efc00..178127f 100644
--- a/assets/js/93013804.83b128a9.js
+++ b/assets/js/93013804.8b19f643.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{106:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(7),a=(n(0),n(142)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",sou [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{106:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(7),a=(n(0),n(144)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",sou [...]
\ No newline at end of file
diff --git a/assets/js/941c758c.9e9d032e.js b/assets/js/941c758c.37e868a8.js
similarity index 97%
rename from assets/js/941c758c.9e9d032e.js
rename to assets/js/941c758c.37e868a8.js
index a776281..7051c0b 100644
--- a/assets/js/941c758c.9e9d032e.js
+++ b/assets/js/941c758c.37e868a8.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{108:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),i=(r(0),r(142)),c={title:"Proxy the httpbin service"},o={unversionedId:"samples/proxy-the-httpbin-service",id:"samples/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description:"\x3c [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{108:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),i=(r(0),r(144)),c={title:"Proxy the httpbin service"},o={unversionedId:"samples/proxy-the-httpbin-service",id:"samples/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description:"\x3c [...]
\ No newline at end of file
diff --git a/assets/js/96ff6680.b9a3324b.js b/assets/js/96ff6680.b9a3324b.js
new file mode 100644
index 0000000..57a9dfa
--- /dev/null
+++ b/assets/js/96ff6680.b9a3324b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{109:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return c})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return i})),a.d(t,"default",(function(){return s}));var r=a(3),n=a(7),o=(a(0),a(144)),c={title:"Install Apache APISIX from Helm Charts",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=400&u=f48ef50c5621a1616a [...]
\ No newline at end of file
diff --git a/assets/js/98c69322.b7582938.js b/assets/js/98c69322.939949f5.js
similarity index 96%
rename from assets/js/98c69322.b7582938.js
rename to assets/js/98c69322.939949f5.js
index 01bb660..ceb3d8d 100644
--- a/assets/js/98c69322.b7582938.js
+++ b/assets/js/98c69322.939949f5.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{156:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{158:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
diff --git a/assets/js/9c26c05d.fc95ac57.js b/assets/js/9c26c05d.9a2b677c.js
similarity index 96%
rename from assets/js/9c26c05d.fc95ac57.js
rename to assets/js/9c26c05d.9a2b677c.js
index 9fd99cd..45a5025 100644
--- a/assets/js/9c26c05d.fc95ac57.js
+++ b/assets/js/9c26c05d.9a2b677c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{109:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(7),a=(n(0),n(142)),i={title:"Contributing to apisix-ingress-controller"},s={unversionedId:"contribute",id:"contribute",isDocsHomePage:!1,title:"Contributing to apisix-ingress-controller",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{110:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(7),a=(n(0),n(144)),i={title:"Contributing to apisix-ingress-controller"},s={unversionedId:"contribute",id:"contribute",isDocsHomePage:!1,title:"Contributing to apisix-ingress-controller",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
diff --git a/assets/js/9dc47d34.361fbf75.js b/assets/js/9dc47d34.86b8bfd4.js
similarity index 96%
rename from assets/js/9dc47d34.361fbf75.js
rename to assets/js/9dc47d34.86b8bfd4.js
index ed3b981..a530bfa 100644
--- a/assets/js/9dc47d34.361fbf75.js
+++ b/assets/js/9dc47d34.86b8bfd4.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{110:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return l})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),i=r(7),o=(r(0),r(142)),a={title:"FAQ"},l={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"FAQ",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/FAQ.md",slug:"/FAQ",permalink:"/docs/ingress-controlle [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{111:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return l})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),i=r(7),o=(r(0),r(144)),a={title:"FAQ"},l={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"FAQ",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/FAQ.md",slug:"/FAQ",permalink:"/docs/ingress-controlle [...]
\ No newline at end of file
diff --git a/assets/js/a4a2cefa.1c7b9bf6.js b/assets/js/a4a2cefa.6d5d11bc.js
similarity index 99%
rename from assets/js/a4a2cefa.1c7b9bf6.js
rename to assets/js/a4a2cefa.6d5d11bc.js
index 32f17c2..39c033b 100644
--- a/assets/js/a4a2cefa.1c7b9bf6.js
+++ b/assets/js/a4a2cefa.6d5d11bc.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{111:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var a=r(3),n=r(7),b=(r(0),r(142)),l={title:"\u521d\u63a2 Kubernetes Service APIs",author:"Wei Jin",authorURL:"https://github.com/gxthrj",authorImageURL:"https://avatars2.githubusercontent.com/u/4413028?s=400&u=e140a6d2bf19c426da6498b [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{112:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var a=r(3),n=r(7),b=(r(0),r(144)),l={title:"\u521d\u63a2 Kubernetes Service APIs",author:"Wei Jin",authorURL:"https://github.com/gxthrj",authorImageURL:"https://avatars2.githubusercontent.com/u/4413028?s=400&u=e140a6d2bf19c426da6498b [...]
\ No newline at end of file
diff --git a/assets/js/a6641250.c0762809.js b/assets/js/a6641250.d0534085.js
similarity index 94%
rename from assets/js/a6641250.c0762809.js
rename to assets/js/a6641250.d0534085.js
index 5f19302..7c64dbc 100644
--- a/assets/js/a6641250.c0762809.js
+++ b/assets/js/a6641250.d0534085.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{112:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(142)),c={title:"New website for Apache APISIX",author:"juzhiyuan",authorURL:"https://github.com/juzhiyuan",authorImageURL:"https://avatars3.githubusercontent.com/u/2106987?s=460&u=f92e880ce95fe1fee18becd0a [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{113:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(144)),c={title:"New website for Apache APISIX",author:"juzhiyuan",authorURL:"https://github.com/juzhiyuan",authorImageURL:"https://avatars3.githubusercontent.com/u/2106987?s=460&u=f92e880ce95fe1fee18becd0a [...]
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.164e0ec9.js b/assets/js/a6aa9e1f.63bf07f0.js
similarity index 85%
rename from assets/js/a6aa9e1f.164e0ec9.js
rename to assets/js/a6aa9e1f.63bf07f0.js
index 2ff366d..5128ab8 100644
--- a/assets/js/a6aa9e1f.164e0ec9.js
+++ b/assets/js/a6aa9e1f.63bf07f0.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{139:function(a,e,t){"use strict";t.r(e);var n=t(0),i=t.n(n),l=t(17),r=t(146),c=t(191),m=t(145);var s=function(a){var e=a.metadata,t=e.previousPage,n=e.nextPage;return i.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},i.a.createElement("div",{className:"pagination-nav__item"},t&&i.a.createElement(m.a,{className:"pagination-nav__link",to:t},i.a.createElement("div",{className:"pagination-na [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{141:function(a,e,t){"use strict";t.r(e);var n=t(0),i=t.n(n),l=t(17),r=t(148),c=t(193),m=t(147);var s=function(a){var e=a.metadata,t=e.previousPage,n=e.nextPage;return i.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},i.a.createElement("div",{className:"pagination-nav__item"},t&&i.a.createElement(m.a,{className:"pagination-nav__link",to:t},i.a.createElement("div",{className:"pagination-na [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.2b13b2bc.js b/assets/js/adbb350b.2b13b2bc.js
new file mode 100644
index 0000000..d6cd059
--- /dev/null
+++ b/assets/js/adbb350b.2b13b2bc.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{116:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return b}));var n=r(3),o=r(7),a=(r(0),r(144)),i={id:"contributor-guide",title:"Contributor Guide"},c={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bug [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.6b0356b2.js b/assets/js/adbb350b.6b0356b2.js
deleted file mode 100644
index 9b263d1..0000000
--- a/assets/js/adbb350b.6b0356b2.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{115:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return b}));var n=r(3),o=r(7),a=(r(0),r(142)),i={id:"contributor-guide",title:"Contributor Guide"},c={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bug [...]
\ No newline at end of file
diff --git a/assets/js/b123c67b.ac5cf6a9.js b/assets/js/b123c67b.5b18290b.js
similarity index 96%
rename from assets/js/b123c67b.ac5cf6a9.js
rename to assets/js/b123c67b.5b18290b.js
index 469c90a..ad5f0e6 100644
--- a/assets/js/b123c67b.ac5cf6a9.js
+++ b/assets/js/b123c67b.5b18290b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{116:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return s})),t.d(n,"toc",(function(){return c})),t.d(n,"default",(function(){return p}));var r=t(3),i=t(7),a=(t(0),t(142)),o={title:"Usage of Ingress controller"},s={unversionedId:"usage",id:"usage",isDocsHomePage:!1,title:"Usage of Ingress controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/us [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{117:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return s})),t.d(n,"toc",(function(){return c})),t.d(n,"default",(function(){return p}));var r=t(3),i=t(7),a=(t(0),t(144)),o={title:"Usage of Ingress controller"},s={unversionedId:"usage",id:"usage",isDocsHomePage:!1,title:"Usage of Ingress controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/us [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.7c84ba1d.js b/assets/js/b2b675dd.7c84ba1d.js
new file mode 100644
index 0000000..7821232
--- /dev/null
+++ b/assets/js/b2b675dd.7c84ba1d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{118:function(o){o.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":6,"previousPage":null,"nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2b675dd.cfff5178.js b/assets/js/b2b675dd.cfff5178.js
deleted file mode 100644
index 4c70cb9..0000000
--- a/assets/js/b2b675dd.cfff5178.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{117:function(o){o.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":5,"previousPage":null,"nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b4a67526.4ddf6192.js b/assets/js/b4a67526.4ddf6192.js
new file mode 100644
index 0000000..e69b123
--- /dev/null
+++ b/assets/js/b4a67526.4ddf6192.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{119:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"Ingress Controller","href":"/docs/ingress-controller/design"},{"type":"link","label":"CRD specification","href":"/docs/ingress-controller/CRD-specification"}]},{"collapsed":true,"type [...]
\ No newline at end of file
diff --git a/assets/js/b4a67526.c50a644c.js b/assets/js/b4a67526.c50a644c.js
deleted file mode 100644
index cea6667..0000000
--- a/assets/js/b4a67526.c50a644c.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{118:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"collapsed":true,"type":"category","label":"docs","items":[{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"Ingress Controller","href":"/docs/ingress-controller/design"},{"type":"link","label":"CRD specification","href":"/docs/ingr [...]
\ No newline at end of file
diff --git a/assets/js/b58143c5.63b5801d.js b/assets/js/b58143c5.a0099fa7.js
similarity index 97%
rename from assets/js/b58143c5.63b5801d.js
rename to assets/js/b58143c5.a0099fa7.js
index 42bbd39..fd38509 100644
--- a/assets/js/b58143c5.63b5801d.js
+++ b/assets/js/b58143c5.a0099fa7.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{119:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(142)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3c [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{120:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(144)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3c [...]
\ No newline at end of file
diff --git a/assets/js/bacea567.72925aa1.js b/assets/js/bacea567.f25fd7a1.js
similarity index 94%
rename from assets/js/bacea567.72925aa1.js
rename to assets/js/bacea567.f25fd7a1.js
index 3d9a178..4d56af4 100644
--- a/assets/js/bacea567.72925aa1.js
+++ b/assets/js/bacea567.f25fd7a1.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{120:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(7),o=(r(0),r(142)),c={title:"Release Apache APISIX Dashboard 2.4"},i={permalink:"/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descripti [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{121:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(7),o=(r(0),r(144)),c={title:"Release Apache APISIX Dashboard 2.4"},i={permalink:"/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descripti [...]
\ No newline at end of file
diff --git a/assets/js/c119cf3c.74a18135.js b/assets/js/c119cf3c.6e4a029d.js
similarity index 92%
rename from assets/js/c119cf3c.74a18135.js
rename to assets/js/c119cf3c.6e4a029d.js
index 7facebb..4504c8e 100644
--- a/assets/js/c119cf3c.74a18135.js
+++ b/assets/js/c119cf3c.6e4a029d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{121:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return l}));var n=t(3),a=t(7),o=(t(0),t(142)),c={title:"Release Apache APISIX Ingress Controller 0.3.0"},i={permalink:"/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0",source:"@site/events/2021-02-11-release-apache-apisix-ingre [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{122:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return l}));var n=t(3),a=t(7),o=(t(0),t(144)),c={title:"Release Apache APISIX Ingress Controller 0.3.0"},i={permalink:"/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0",source:"@site/events/2021-02-11-release-apache-apisix-ingre [...]
\ No newline at end of file
diff --git a/assets/js/c4f5d8e4.59786acd.js b/assets/js/c4f5d8e4.59786acd.js
deleted file mode 100644
index 646646a..0000000
--- a/assets/js/c4f5d8e4.59786acd.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{122:function(e,t,a){"use strict";a.r(t);var n=a(145),l=a(17),r=a(149),c=a(146),i=a(168),s=a(0),o=a(243),m=a(167),u=a(0),d=function(){var e=Object(s.useState)(0),t=e[0],a=e[1],l=["Dynamic","Real-Time","High-Performance"],c=Object(s.useState)(!0),m=c[0],d=c[1],v=function(e){d(!1),a(e),d(!0)};return Object(s.useEffect)((function(){var e=setInterval((function(){v(t>=l.length-1?0:t+1)}),3600);return function(){return clearInterval(e)}} [...]
\ No newline at end of file
diff --git a/assets/js/c4f5d8e4.7a3a12be.js b/assets/js/c4f5d8e4.7a3a12be.js
new file mode 100644
index 0000000..f307b6a
--- /dev/null
+++ b/assets/js/c4f5d8e4.7a3a12be.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{123:function(e,t,a){"use strict";a.r(t);var n=a(147),l=a(17),r=a(151),c=a(148),i=a(170),s=a(0),o=a(245),m=a(169),u=a(0),d=function(){var e=Object(s.useState)(0),t=e[0],a=e[1],l=["Dynamic","Real-Time","High-Performance"],c=Object(s.useState)(!0),m=c[0],d=c[1],v=function(e){d(!1),a(e),d(!0)};return Object(s.useEffect)((function(){var e=setInterval((function(){v(t>=l.length-1?0:t+1)}),3600);return function(){return clearInterval(e)}} [...]
\ No newline at end of file
diff --git a/assets/js/c5594f1a.381243db.js b/assets/js/c5594f1a.5dffe215.js
similarity index 94%
rename from assets/js/c5594f1a.381243db.js
rename to assets/js/c5594f1a.5dffe215.js
index 63bbb71..be14ac2 100644
--- a/assets/js/c5594f1a.381243db.js
+++ b/assets/js/c5594f1a.5dffe215.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{123:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(142)),c={title:"Release Apache APISIX Ingress Controller 0.2.0"},i={permalink:"/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0",source:"@site/events/2021-01-19-release-apache-apisix-ingre [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{124:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(144)),c={title:"Release Apache APISIX Ingress Controller 0.2.0"},i={permalink:"/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0",source:"@site/events/2021-01-19-release-apache-apisix-ingre [...]
\ No newline at end of file
diff --git a/assets/js/ccc49370.b13b15fc.js b/assets/js/ccc49370.fe9df983.js
similarity index 86%
rename from assets/js/ccc49370.b13b15fc.js
rename to assets/js/ccc49370.fe9df983.js
index 57a76a7..5b06bf3 100644
--- a/assets/js/ccc49370.b13b15fc.js
+++ b/assets/js/ccc49370.fe9df983.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{140:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(146),i=a(191),c=a(145);var o=function(e){var t=e.nextItem,a=e.prevItem;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog post page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},a&&l.a.createElement(c.a,{className:"pagination-nav__link",to:a.permalink},l.a.createElement("div",{className:"pagination-nav__sublabel"}," [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{142:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(148),i=a(193),c=a(147);var o=function(e){var t=e.nextItem,a=e.prevItem;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog post page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},a&&l.a.createElement(c.a,{className:"pagination-nav__link",to:a.permalink},l.a.createElement("div",{className:"pagination-nav__sublabel"}," [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.202d2d1d.js b/assets/js/d18db9b0.be11e71b.js
similarity index 92%
rename from assets/js/d18db9b0.202d2d1d.js
rename to assets/js/d18db9b0.be11e71b.js
index 3c106b8..b3bde51 100644
--- a/assets/js/d18db9b0.202d2d1d.js
+++ b/assets/js/d18db9b0.be11e71b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{124:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return a})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return u})),t.d(r,"default",(function(){return l}));var n=t(3),o=t(7),c=(t(0),t(142)),a={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-ingress-controller/IGNORE_DOC.md",slug:"/IGNORE_DOC",permali [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{125:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return a})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return u})),t.d(r,"default",(function(){return l}));var n=t(3),o=t(7),c=(t(0),t(144)),a={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-ingress-controller/IGNORE_DOC.md",slug:"/IGNORE_DOC",permali [...]
\ No newline at end of file
diff --git a/assets/js/d4de91ec.5a94f2f3.js b/assets/js/d4de91ec.2825121a.js
similarity index 97%
rename from assets/js/d4de91ec.5a94f2f3.js
rename to assets/js/d4de91ec.2825121a.js
index f2aa280..8f7300e 100644
--- a/assets/js/d4de91ec.5a94f2f3.js
+++ b/assets/js/d4de91ec.2825121a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{125:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return b}));var r=a(3),i=a(7),n=(a(0),a(142)),p={title:"Release Apache APISIX Dashboard 2.4"},c={permalink:"/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descripti [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{126:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return b}));var r=a(3),i=a(7),n=(a(0),a(144)),p={title:"Release Apache APISIX Dashboard 2.4"},c={permalink:"/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descripti [...]
\ No newline at end of file
diff --git a/assets/js/d73fca9b.5f91b662.js b/assets/js/d73fca9b.17cd4604.js
similarity index 55%
rename from assets/js/d73fca9b.5f91b662.js
rename to assets/js/d73fca9b.17cd4604.js
index 07be26d..f96cfc7 100644
--- a/assets/js/d73fca9b.5f91b662.js
+++ b/assets/js/d73fca9b.17cd4604.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{126:function(s){s.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[]},"permalinkToSidebar":{}}')}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{127:function(s){s.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[]},"permalinkToSidebar":{}}')}}]);
\ No newline at end of file
diff --git a/assets/js/e02da2c5.9aa3ef3b.js b/assets/js/e02da2c5.42e7a31b.js
similarity index 98%
rename from assets/js/e02da2c5.9aa3ef3b.js
rename to assets/js/e02da2c5.42e7a31b.js
index 12fe9ea..f58926b 100644
--- a/assets/js/e02da2c5.9aa3ef3b.js
+++ b/assets/js/e02da2c5.42e7a31b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{127:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(142)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{128:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(144)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
diff --git a/assets/js/e1a3b18d.2b5dcc6a.js b/assets/js/e1a3b18d.2b5dcc6a.js
new file mode 100644
index 0000000..d75be82
--- /dev/null
+++ b/assets/js/e1a3b18d.2b5dcc6a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{129:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return c})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return i})),a.d(t,"default",(function(){return s}));var r=a(3),n=a(7),o=(a(0),a(144)),c={title:"Install Apache APISIX from Helm Charts",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=400&u=f48ef50c5621a1616a [...]
\ No newline at end of file
diff --git a/assets/js/e451ae2c.395a184f.js b/assets/js/e451ae2c.395a184f.js
deleted file mode 100644
index 7829f84..0000000
--- a/assets/js/e451ae2c.395a184f.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{128:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(7),s=(n(0),n(142)),o={title:"Stable Product Delivery with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1fcac6 [...]
\ No newline at end of file
diff --git a/assets/js/e451ae2c.e0a9e6bb.js b/assets/js/e451ae2c.e0a9e6bb.js
new file mode 100644
index 0000000..5ccc570
--- /dev/null
+++ b/assets/js/e451ae2c.e0a9e6bb.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{130:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(7),s=(n(0),n(144)),o={title:"Stable Product Delivery with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1fcac6 [...]
\ No newline at end of file
diff --git a/assets/js/e60dd3b0.452f5414.js b/assets/js/e60dd3b0.f241622b.js
similarity index 98%
rename from assets/js/e60dd3b0.452f5414.js
rename to assets/js/e60dd3b0.f241622b.js
index 4829d9a..56b01e6 100644
--- a/assets/js/e60dd3b0.452f5414.js
+++ b/assets/js/e60dd3b0.f241622b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{129:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(7),r=(n(0),n(142)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:"/ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{131:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(7),r=(n(0),n(144)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:"/ [...]
\ No newline at end of file
diff --git a/assets/js/f243156b.4a5376af.js b/assets/js/f243156b.9056e1d5.js
similarity index 53%
rename from assets/js/f243156b.4a5376af.js
rename to assets/js/f243156b.9056e1d5.js
index aacfaea..8c74141 100644
--- a/assets/js/f243156b.4a5376af.js
+++ b/assets/js/f243156b.9056e1d5.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{132:function(s){s.exports=JSON.parse('{"pluginId":"docs-apisix-dashboard","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[]},"permalinkToSidebar":{}}')}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{134:function(s){s.exports=JSON.parse('{"pluginId":"docs-apisix-dashboard","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[]},"permalinkToSidebar":{}}')}}]);
\ No newline at end of file
diff --git a/assets/js/f6cd6006.404e63a4.js b/assets/js/f6cd6006.1c677713.js
similarity index 97%
rename from assets/js/f6cd6006.404e63a4.js
rename to assets/js/f6cd6006.1c677713.js
index f6311f4..0d98993 100644
--- a/assets/js/f6cd6006.404e63a4.js
+++ b/assets/js/f6cd6006.1c677713.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{133:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(142)),s={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source: [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{135:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(144)),s={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source: [...]
\ No newline at end of file
diff --git a/assets/js/f7488fe8.115aa429.js b/assets/js/f7488fe8.a0bdeb76.js
similarity index 91%
rename from assets/js/f7488fe8.115aa429.js
rename to assets/js/f7488fe8.a0bdeb76.js
index 1d83b58..d49cc0e 100644
--- a/assets/js/f7488fe8.115aa429.js
+++ b/assets/js/f7488fe8.a0bdeb76.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{134:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Release Apache APISIX Dashboard 2.4","permalink":"/events/2021/02/12/release-apache-apisix-dashboard-2.4"},{"title":"Release Apache APISIX Ingress Controller 0.3.0","permalink":"/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0"},{"title":"Release Apache APISIX 2.3","permalink":"/events/2021/02/09/release-apache-apisix-2.3"},{"title":" [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{136:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Release Apache APISIX Dashboard 2.4","permalink":"/events/2021/02/12/release-apache-apisix-dashboard-2.4"},{"title":"Release Apache APISIX Ingress Controller 0.3.0","permalink":"/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0"},{"title":"Release Apache APISIX 2.3","permalink":"/events/2021/02/09/release-apache-apisix-2.3"},{"title":" [...]
\ No newline at end of file
diff --git a/assets/js/fa919c95.629820e4.js b/assets/js/fa919c95.87ea653a.js
similarity index 93%
rename from assets/js/fa919c95.629820e4.js
rename to assets/js/fa919c95.87ea653a.js
index 8a3c3ee..ecd66dd 100644
--- a/assets/js/fa919c95.629820e4.js
+++ b/assets/js/fa919c95.87ea653a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{135:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(142)),c={title:"Release Apache APISIX Ingress Controller 0.1.0"},i={permalink:"/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0",source:"@site/events/2020-12-23-release-apache-apisix-ingre [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{137:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(144)),c={title:"Release Apache APISIX Ingress Controller 0.1.0"},i={permalink:"/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0",source:"@site/events/2020-12-23-release-apache-apisix-ingre [...]
\ No newline at end of file
diff --git a/assets/js/main.2945d650.js b/assets/js/main.2945d650.js
deleted file mode 100644
index 4d789de..0000000
--- a/assets/js/main.2945d650.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.2945d650.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[69],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return A})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return L})),n.d(t,"g",(function(){return j})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functio [...]
\ No newline at end of file
diff --git a/assets/js/main.eef76547.js b/assets/js/main.eef76547.js
new file mode 100644
index 0000000..c16abe4
--- /dev/null
+++ b/assets/js/main.eef76547.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.eef76547.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[71],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return A})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return L})),n.d(t,"g",(function(){return j})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functio [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.97d1759b.js.LICENSE.txt b/assets/js/main.eef76547.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.97d1759b.js.LICENSE.txt
rename to assets/js/main.eef76547.js.LICENSE.txt
diff --git a/assets/js/runtime~main.43ca223a.js b/assets/js/runtime~main.43ca223a.js
new file mode 100644
index 0000000..b0ee103
--- /dev/null
+++ b/assets/js/runtime~main.43ca223a.js
@@ -0,0 +1 @@
+!function(e){function a(a){for(var f,r,t=a[0],n=a[1],o=a[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(d,r)&&d[r]&&l.push(d[r][0]),d[r]=0;for(f in n)Object.prototype.hasOwnProperty.call(n,f)&&(e[f]=n[f]);for(i&&i(a);l.length;)l.shift()();return b.push.apply(b,o||[]),c()}function c(){for(var e,a=0;a<b.length;a++){for(var c=b[a],f=!0,r=1;r<c.length;r++){var n=c[r];0!==d[n]&&(f=!1)}f&&(b.splice(a--,1),e=t(t.s=c[0]))}return e}var f={},d={72:0},b=[];function r(e){retu [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.acba93c0.js b/assets/js/runtime~main.acba93c0.js
deleted file mode 100644
index 249dc70..0000000
--- a/assets/js/runtime~main.acba93c0.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){function a(a){for(var f,r,t=a[0],n=a[1],o=a[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(d,r)&&d[r]&&l.push(d[r][0]),d[r]=0;for(f in n)Object.prototype.hasOwnProperty.call(n,f)&&(e[f]=n[f]);for(i&&i(a);l.length;)l.shift()();return b.push.apply(b,o||[]),c()}function c(){for(var e,a=0;a<b.length;a++){for(var c=b[a],f=!0,r=1;r<c.length;r++){var n=c[r];0!==d[n]&&(f=!1)}f&&(b.splice(a--,1),e=t(t.s=c[0]))}return e}var f={},d={70:0},b=[];function r(e){retu [...]
\ No newline at end of file
diff --git a/zh/assets/js/styles.48c76938.js b/assets/js/styles.cfae28e5.js
similarity index 96%
rename from zh/assets/js/styles.48c76938.js
rename to assets/js/styles.cfae28e5.js
index caf16e2..942f2fa 100644
--- a/zh/assets/js/styles.48c76938.js
+++ b/assets/js/styles.cfae28e5.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{114:function(e,o,n){e.exports={blogPostTitle:"blogPostTitle_GeHD",blogPostDate:"blogPostDate_fNvV"}},115:function(e,o,n){e.exports={sidebar:"sidebar_2ahu",sidebarItemTitle:"sidebarItemTitle_2hhb",sidebarItemList:"sidebarItemList_2xAf",sidebarItem:"sidebarItem_2UVv",sidebarItemLink:"sidebarItemLink_1RT6",sidebarItemLinkActive:"sidebarItemLinkActive_12pM"}},131:function(e,o,n){e.exports={searchQueryInput:"searchQueryInput_35WP",searc [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{114:function(e,o,n){e.exports={blogPostTitle:"blogPostTitle_GeHD",blogPostDate:"blogPostDate_fNvV"}},115:function(e,o,n){e.exports={sidebar:"sidebar_2ahu",sidebarItemTitle:"sidebarItemTitle_2hhb",sidebarItemList:"sidebarItemList_2xAf",sidebarItem:"sidebarItem_2UVv",sidebarItemLink:"sidebarItemLink_1RT6",sidebarItemLinkActive:"sidebarItemLinkActive_12pM"}},133:function(e,o,n){e.exports={searchQueryInput:"searchQueryInput_35WP",searc [...]
\ No newline at end of file
diff --git a/blog/2020/08/22/new-website/index.html b/blog/2020/08/22/new-website/index.html
index 5d0c3a1..ec27501 100644
--- a/blog/2020/08/22/new-website/index.html
+++ b/blog/2020/08/22/new-website/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">New website for Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="New website for Apache APISIX | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="We are just refactored out website for Apache APISIX by using docusaurus."><meta data-react-helmet="true" name="t [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/2d8fe9ee.09d7d664.js" as="script">
-<link rel="preload" href="/assets/js/a6641250.c0762809.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/2d8fe9ee.d0efe333.js" as="script">
+<link rel="preload" href="/assets/js/a6641250.d0534085.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/2d8fe9ee.09d7d664.js"></script>
-<script src="/assets/js/a6641250.c0762809.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/2d8fe9ee.d0efe333.js"></script>
+<script src="/assets/js/a6641250.d0534085.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
index c333a3a..e865792 100644
--- a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -11,29 +11,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@nic-chen, Apache APISIX PMC from Shenz [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/2d8fe9ee.09d7d664.js" as="script">
-<link rel="preload" href="/assets/js/749ed826.9d95f3f6.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/2d8fe9ee.d0efe333.js" as="script">
+<link rel="preload" href="/assets/js/749ed826.04ad34ba.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this  [...]
 In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client request data into <code> [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/2d8fe9ee.09d7d664.js"></script>
-<script src="/assets/js/749ed826.9d95f3f6.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/2d8fe9ee.d0efe333.js"></script>
+<script src="/assets/js/749ed826.04ad34ba.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html b/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
index f0901c2..42b5540 100644
--- a/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
+++ b/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">初探 Kubernetes Service APIs | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="初探 Kubernetes Service APIs | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@gxthrj, Apache APISIX PMC &amp; Apache apisix-ingress-controller Founder from Shenzhen Zhiliu Technology Co."><meta da [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/2d8fe9ee.09d7d664.js" as="script">
-<link rel="preload" href="/assets/js/a4a2cefa.1c7b9bf6.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/2d8fe9ee.d0efe333.js" as="script">
+<link rel="preload" href="/assets/js/a4a2cefa.6d5d11bc.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/2d8fe9ee.09d7d664.js"></script>
-<script src="/assets/js/a4a2cefa.1c7b9bf6.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/2d8fe9ee.d0efe333.js"></script>
+<script src="/assets/js/a4a2cefa.6d5d11bc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
index 740a88a..0447f84 100644
--- a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -11,28 +11,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Run Ingress APISIX on Amazon EKS | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@Chao Zhang, Apache APISIX Comitter from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" nam [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/2d8fe9ee.09d7d664.js" as="script">
-<link rel="preload" href="/assets/js/1c89ab3b.746adc0c.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/2d8fe9ee.d0efe333.js" as="script">
+<link rel="preload" href="/assets/js/1c89ab3b.e1716a11.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;headers&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token plain"> </span><span c [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/2d8fe9ee.09d7d664.js"></script>
-<script src="/assets/js/1c89ab3b.746adc0c.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/2d8fe9ee.d0efe333.js"></script>
+<script src="/assets/js/1c89ab3b.e1716a11.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
index 3fb5190..a306352 100644
--- a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stable Product Delivery with Cypress | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Stable Product Delivery with Cypress | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/2d8fe9ee.09d7d664.js" as="script">
-<link rel="preload" href="/assets/js/47e0bf55.f18b844a.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/2d8fe9ee.d0efe333.js" as="script">
+<link rel="preload" href="/assets/js/47e0bf55.2d8b44c3.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/2d8fe9ee.09d7d664.js"></script>
-<script src="/assets/js/47e0bf55.f18b844a.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/2d8fe9ee.d0efe333.js"></script>
+<script src="/assets/js/47e0bf55.2d8b44c3.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
new file mode 100644
index 0000000..e782dea
--- /dev/null
+++ b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -0,0 +1,39 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-alpha.fd17476c3">
+<meta name="robots" content="noindex, nofollow">
+<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX™" href="/opensearch.xml">
+<link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Apache APISIX from Helm Charts | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Install Apache APISIX from Helm Charts | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet=" [...]
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/2d8fe9ee.d0efe333.js" as="script">
+<link rel="preload" href="/assets/js/96ff6680.b9a3324b.js" as="script">
+</head>
+<body>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APIS [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAMESPACE: default</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">STATUS: deployed</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/2d8fe9ee.d0efe333.js"></script>
+<script src="/assets/js/96ff6680.b9a3324b.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/atom.xml b/blog/atom.xml
index 541b4a8..d185e47 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -2,12 +2,19 @@
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://apisix.apache.org/blog</id>
     <title>Apache APISIX™ Blog</title>
-    <updated>2021-02-08T00:00:00.000Z</updated>
+    <updated>2021-02-26T00:00:00.000Z</updated>
     <generator>https://github.com/jpmonette/feed</generator>
     <link rel="alternate" href="https://apisix.apache.org/blog"/>
     <subtitle>Apache APISIX™ Blog</subtitle>
     <icon>https://apisix.apache.org/img/favicon.png</icon>
     <entry>
+        <title type="html"><![CDATA[Install Apache APISIX from Helm Charts]]></title>
+        <id>Install Apache APISIX from Helm Charts</id>
+        <link href="https://apisix.apache.org/blog/2021/02/26/install-apache-apisix-from-helm-charts"/>
+        <updated>2021-02-26T00:00:00.000Z</updated>
+        <summary type="html"><![CDATA[@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co.]]></summary>
+    </entry>
+    <entry>
         <title type="html"><![CDATA[Stable Product Delivery with Cypress]]></title>
         <id>Stable Product Delivery with Cypress</id>
         <link href="https://apisix.apache.org/blog/2021/02/08/stable-product-delivery-with-cypress"/>
diff --git a/blog/index.html b/blog/index.html
index 848d67d..3a8556a 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -11,40 +11,44 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apa [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/a6aa9e1f.164e0ec9.js" as="script">
-<link rel="preload" href="/assets/js/2d8fe9ee.09d7d664.js" as="script">
-<link rel="preload" href="/assets/js/e451ae2c.395a184f.js" as="script">
-<link rel="preload" href="/assets/js/514de2af.34f58e84.js" as="script">
-<link rel="preload" href="/assets/js/5bb67ffc.696df783.js" as="script">
-<link rel="preload" href="/assets/js/e02da2c5.9aa3ef3b.js" as="script">
-<link rel="preload" href="/assets/js/37e3b3ea.63d9e46c.js" as="script">
-<link rel="preload" href="/assets/js/b2b675dd.cfff5178.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/a6aa9e1f.63bf07f0.js" as="script">
+<link rel="preload" href="/assets/js/2d8fe9ee.d0efe333.js" as="script">
+<link rel="preload" href="/assets/js/e1a3b18d.2b5dcc6a.js" as="script">
+<link rel="preload" href="/assets/js/e451ae2c.e0a9e6bb.js" as="script">
+<link rel="preload" href="/assets/js/514de2af.03d24677.js" as="script">
+<link rel="preload" href="/assets/js/5bb67ffc.0379cd2b.js" as="script">
+<link rel="preload" href="/assets/js/e02da2c5.42e7a31b.js" as="script">
+<link rel="preload" href="/assets/js/37e3b3ea.209b9c9d.js" as="script">
+<link rel="preload" href="/assets/js/b2b675dd.7c84ba1d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APIS [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAMESPACE: default</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">STATUS: deployed</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;headers&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token plain"> </span><span c [...]
 A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this  [...]
 In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client request data into <code> [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/a6aa9e1f.164e0ec9.js"></script>
-<script src="/assets/js/2d8fe9ee.09d7d664.js"></script>
-<script src="/assets/js/e451ae2c.395a184f.js"></script>
-<script src="/assets/js/514de2af.34f58e84.js"></script>
-<script src="/assets/js/5bb67ffc.696df783.js"></script>
-<script src="/assets/js/e02da2c5.9aa3ef3b.js"></script>
-<script src="/assets/js/37e3b3ea.63d9e46c.js"></script>
-<script src="/assets/js/b2b675dd.cfff5178.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/a6aa9e1f.63bf07f0.js"></script>
+<script src="/assets/js/2d8fe9ee.d0efe333.js"></script>
+<script src="/assets/js/e1a3b18d.2b5dcc6a.js"></script>
+<script src="/assets/js/e451ae2c.e0a9e6bb.js"></script>
+<script src="/assets/js/514de2af.03d24677.js"></script>
+<script src="/assets/js/5bb67ffc.0379cd2b.js"></script>
+<script src="/assets/js/e02da2c5.42e7a31b.js"></script>
+<script src="/assets/js/37e3b3ea.209b9c9d.js"></script>
+<script src="/assets/js/b2b675dd.7c84ba1d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/rss.xml b/blog/rss.xml
index ea175e3..bb0c3c6 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -4,10 +4,17 @@
         <title>Apache APISIX™ Blog</title>
         <link>https://apisix.apache.org/blog</link>
         <description>Apache APISIX™ Blog</description>
-        <lastBuildDate>Mon, 08 Feb 2021 00:00:00 GMT</lastBuildDate>
+        <lastBuildDate>Fri, 26 Feb 2021 00:00:00 GMT</lastBuildDate>
         <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
         <generator>https://github.com/jpmonette/feed</generator>
         <item>
+            <title><![CDATA[Install Apache APISIX from Helm Charts]]></title>
+            <link>https://apisix.apache.org/blog/2021/02/26/install-apache-apisix-from-helm-charts</link>
+            <guid>Install Apache APISIX from Helm Charts</guid>
+            <pubDate>Fri, 26 Feb 2021 00:00:00 GMT</pubDate>
+            <description><![CDATA[@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co.]]></description>
+        </item>
+        <item>
             <title><![CDATA[Stable Product Delivery with Cypress]]></title>
             <link>https://apisix.apache.org/blog/2021/02/08/stable-product-delivery-with-cypress</link>
             <guid>Stable Product Delivery with Cypress</guid>
diff --git a/docs/apisix/IGNORE_DOC/index.html b/docs/apisix/IGNORE_DOC/index.html
index f7b9bea..cc8768d 100644
--- a/docs/apisix/IGNORE_DOC/index.html
+++ b/docs/apisix/IGNORE_DOC/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.5f91b662.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/601c6eaa.825c7829.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.17cd4604.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/601c6eaa.715ad3ab.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/d73fca9b.5f91b662.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/601c6eaa.825c7829.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/d73fca9b.17cd4604.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/601c6eaa.715ad3ab.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/IGNORE_DOC/index.html b/docs/dashboard/IGNORE_DOC/index.html
index 294892b..074a018 100644
--- a/docs/dashboard/IGNORE_DOC/index.html
+++ b/docs/dashboard/IGNORE_DOC/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.4a5376af.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/3393d167.bcaeb5c0.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.9056e1d5.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/3393d167.adf765f0.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/f243156b.4a5376af.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/3393d167.bcaeb5c0.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/f243156b.9056e1d5.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/3393d167.adf765f0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/2fa/index.html b/docs/general/2fa/index.html
index ac19fc0..81fff6f 100644
--- a/docs/general/2fa/index.html
+++ b/docs/general/2fa/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">2FA | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-default-cur [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.a10faf33.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/3dc9f306.53fdd8da.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/3dc9f306.f605a729.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/assets/js/935f2afb.a10faf33.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/3dc9f306.53fdd8da.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/3dc9f306.f605a729.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/committer-guide/index.html b/docs/general/committer-guide/index.html
index c85b4be..4512e5d 100644
--- a/docs/general/committer-guide/index.html
+++ b/docs/general/committer-guide/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Committer Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.a10faf33.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/8e784bf3.2f9e815b.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/8e784bf3.a89c9c99.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/assets/js/935f2afb.a10faf33.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/8e784bf3.2f9e815b.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/8e784bf3.a89c9c99.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/contributor-guide/index.html b/docs/general/contributor-guide/index.html
index fe22e2d..65f3614 100644
--- a/docs/general/contributor-guide/index.html
+++ b/docs/general/contributor-guide/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributor Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="do [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.a10faf33.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/adbb350b.6b0356b2.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/adbb350b.2b13b2bc.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/assets/js/935f2afb.a10faf33.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/adbb350b.6b0356b2.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/adbb350b.2b13b2bc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/release-guide/index.html b/docs/general/release-guide/index.html
index 6063c61..081bb79 100644
--- a/docs/general/release-guide/index.html
+++ b/docs/general/release-guide/index.html
@@ -11,15 +11,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.a10faf33.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/7af3052c.1e0a4ddd.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/7af3052c.a42308b8.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -69,15 +69,15 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">The vote will be open for at least 72 hours or until necessary number of</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">votes are reached.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Please vote accordingly:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] +1 approve</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] +0 no opinion</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] -1 disapprove with the reason</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
-</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="send-vote-result-thread-to-the-dev-mailing-list"></a>Send VOTE RESULT thread to the dev mailing list<a class="hash-link" href="#send-vote-result-thread-to-the-dev-mailing-list" title="Direct link to heading">#</a></h3><p>Click <a href="https://lists.apache.org/thread.html/r9153da7 [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
+</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="send-vote-result-thread-to-the-dev-mailing-list"></a>Send VOTE RESULT thread to the dev mailing list<a class="hash-link" href="#send-vote-result-thread-to-the-dev-mailing-list" title="Direct link to heading">#</a></h3><p>Click <a href="https://lists.apache.org/thread.html/r9153da7 [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/assets/js/935f2afb.a10faf33.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/7af3052c.1e0a4ddd.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/7af3052c.a42308b8.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/security/index.html b/docs/general/security/index.html
index 173081d..58e306d 100644
--- a/docs/general/security/index.html
+++ b/docs/general/security/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Security | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-defaul [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.a10faf33.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/66fbb9c2.32789496.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/66fbb9c2.040ca4c6.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/assets/js/935f2afb.a10faf33.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/66fbb9c2.32789496.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/66fbb9c2.040ca4c6.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/subscribe-guide/index.html b/docs/general/subscribe-guide/index.html
index f9b2a0c..aa778ed 100644
--- a/docs/general/subscribe-guide/index.html
+++ b/docs/general/subscribe-guide/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Subscribe Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.a10faf33.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/50facf8e.9402675c.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/50facf8e.7aac746a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/assets/js/935f2afb.a10faf33.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/50facf8e.9402675c.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/50facf8e.7aac746a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 8b17053..b66ed02 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -11,23 +11,23 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs"><meta data-react-helmet="true" name="docsearch:language" content="en">< [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/assets/js/25b7c3f2.3c5dfa02.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/assets/js/25b7c3f2.288f254a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/3.b8da59b5.js"></script>
-<script src="/assets/js/25b7c3f2.3c5dfa02.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/3.210f7ae8.js"></script>
+<script src="/assets/js/25b7c3f2.288f254a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/CRD-specification/index.html b/docs/ingress-controller/CRD-specification/index.html
index 731f293..407e82a 100644
--- a/docs/ingress-controller/CRD-specification/index.html
+++ b/docs/ingress-controller/CRD-specification/index.html
@@ -11,19 +11,19 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">CRD specification | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="do [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/03b7a20f.5f4098cb.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/03b7a20f.d213b750.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 then loads and executes the corresponding plugin based on the matching result, and forwards the request to the specified Upstream.
 To learn more, please check the <a href="https://github.com/apache/apisix/blob/master/doc/architecture-design.md#route" target="_blank" rel="noopener noreferrer">Apache APISIX architecture-design docs</a>.</p><p>Structure example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style=" [...]
 load balancing, health check, retry, timeout parameters and etc.</p><p>Resort to <code>ApisixUpstream</code> and the Kubernetes Service, apisix ingress controller will generates the APISIX Upstream(s).
@@ -42,14 +42,14 @@ In that case, you can create configurations for individual port.</p><div class="
 In the meanwhile, the ApisixUpstream <code>foo</code> sets <code>http</code> scheme for port <code>7000</code> and <code>grpc</code> scheme for <code>7001</code>
 (all ports are the service port). But both ports shares the load balancer configuration.</p><p><code>PortLevelSettings</code> is not mandatory if the service only exposes one port but is useful when multiple ports are defined.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="configuration-references"></a>Configuration References<a class="hash-link" href="#configuration-references" title="Direct link to heading">#</a></h3><table><thead><tr><th>Field</th><t [...]
 To learn more, please check the <a href="https://github.com/apache/apisix/blob/master/doc/architecture-design.md#router" target="_blank" rel="noopener noreferrer">Apache APISIX architecture-design docs</a>.</p><p>Structure example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style= [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/03b7a20f.5f4098cb.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/03b7a20f.d213b750.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/FAQ/index.html b/docs/ingress-controller/FAQ/index.html
index b619ee6..3daa32e 100644
--- a/docs/ingress-controller/FAQ/index.html
+++ b/docs/ingress-controller/FAQ/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisix [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/9dc47d34.361fbf75.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/9dc47d34.86b8bfd4.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/9dc47d34.361fbf75.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/9dc47d34.86b8bfd4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/IGNORE_DOC/index.html b/docs/ingress-controller/IGNORE_DOC/index.html
index 62cb29b..2cb118d 100644
--- a/docs/ingress-controller/IGNORE_DOC/index.html
+++ b/docs/ingress-controller/IGNORE_DOC/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/d18db9b0.202d2d1d.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/d18db9b0.be11e71b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/d18db9b0.202d2d1d.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/d18db9b0.be11e71b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/contribute/index.html b/docs/ingress-controller/contribute/index.html
index 5512e1a..b80d7f6 100644
--- a/docs/ingress-controller/contribute/index.html
+++ b/docs/ingress-controller/contribute/index.html
@@ -11,31 +11,31 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributing to apisix-ingress-controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:doc [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/9c26c05d.fc95ac57.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/9c26c05d.9a2b677c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 pleasant first experience for you, and that you will return to continue
 contributing.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-contribute"></a>How to contribute<a class="hash-link" href="#how-to-contribute" title="Direct link to heading">#</a></h2><p>Most of the contributions that we receive are code contributions, but you can
 also contribute to the documentation or simply report solid bugs
 for us to fix.</p><p> For new contributors, please take a look at issues with a tag called <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22" target="_blank" rel="noopener noreferrer">Good first issue</a> or <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22" target="_blank" rel="noopener noreferrer">Help wanted</a>.</p><h2><a aria-hidden="true" tabind [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/9c26c05d.fc95ac57.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/9c26c05d.9a2b677c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/ack/index.html b/docs/ingress-controller/deployments/ack/index.html
index 7320671..d7497c0 100644
--- a/docs/ingress-controller/deployments/ack/index.html
+++ b/docs/ingress-controller/deployments/ack/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on ACK | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/6967878f.d80f06f6.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/6967878f.71ed4146.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/6967878f.d80f06f6.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/6967878f.71ed4146.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/aws/index.html b/docs/ingress-controller/deployments/aws/index.html
index 8e4c36b..1dae7f9 100644
--- a/docs/ingress-controller/deployments/aws/index.html
+++ b/docs/ingress-controller/deployments/aws/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Amazon EKS | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/4e55a385.5dd777ff.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/4e55a385.7eb74492.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/4e55a385.5dd777ff.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/4e55a385.7eb74492.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/azure/index.html b/docs/ingress-controller/deployments/azure/index.html
index 085fcc4..066e3a5 100644
--- a/docs/ingress-controller/deployments/azure/index.html
+++ b/docs/ingress-controller/deployments/azure/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Azure AKS | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusauru [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/f6cd6006.404e63a4.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/f6cd6006.1c677713.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/f6cd6006.404e63a4.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/f6cd6006.1c677713.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/gke/index.html b/docs/ingress-controller/deployments/gke/index.html
index 5d85f9d..c5699c5 100644
--- a/docs/ingress-controller/deployments/gke/index.html
+++ b/docs/ingress-controller/deployments/gke/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Google Cloud GKE | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/43aea6af.2c4058f7.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/43aea6af.2b5a7581.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/43aea6af.2c4058f7.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/43aea6af.2b5a7581.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/k3s-rke/index.html b/docs/ingress-controller/deployments/k3s-rke/index.html
index 1e8e781..05078c5 100644
--- a/docs/ingress-controller/deployments/k3s-rke/index.html
+++ b/docs/ingress-controller/deployments/k3s-rke/index.html
@@ -11,29 +11,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on K3S and Rancher RKE | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/6f365930.02f984c8.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/6f365930.3a44023f.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 It&#x27;s a good choice to use Ingress APISIX as the north-south API gateway in K3S.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="prerequisites"></a>Prerequisites<a class="hash-link" href="#prerequisites" title="Direct link to heading">#</a></h2><ul><li>Install <a href="https://rancher.com/docs/k3s/latest/en/installation/" target="_blank" rel="noopener noreferrer">K3S</a> or <a href="https://rancher.com/docs/rke/latest/en/installation/" target="_blank [...]
 If you are using K3S and you want to expose a <code>LoadBalancer</code> service, try to use <a href="https://github.com/k3s-io/klipper-lb" target="_blank" rel="noopener noreferrer">Klipper</a>.</p><p>Another thing should be concerned that the <code>allow.ipList</code> field should be customized according to the Pod CIDR settings(see <a href="https://rancher.com/docs/k3s/latest/en/installation/install-options/server-config/#networking" target="_blank" rel="noopener noreferrer">K3S</a> or  [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/6f365930.02f984c8.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/6f365930.3a44023f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/kubesphere/index.html b/docs/ingress-controller/deployments/kubesphere/index.html
index 83245f5..403d481 100644
--- a/docs/ingress-controller/deployments/kubesphere/index.html
+++ b/docs/ingress-controller/deployments/kubesphere/index.html
@@ -11,28 +11,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on KubeSphere | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/b58143c5.63b5801d.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/b58143c5.a0099fa7.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 If you want to expose a <code>LoadBalancer</code> service, try to use <a href="https://github.com/kubesphere/porter" target="_blank" rel="noopener noreferrer">Porter</a>.</p><p>Another thing that should be concerned that the <code>allow.ipList</code> field should be customized according to the Pod CIDR settings, so that the apisix-ingress-controller instances can access the APISIX instances (resources pushing).</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/b58143c5.63b5801d.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/b58143c5.a0099fa7.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/minikube/index.html b/docs/ingress-controller/deployments/minikube/index.html
index 8aaf846..6e2dd82 100644
--- a/docs/ingress-controller/deployments/minikube/index.html
+++ b/docs/ingress-controller/deployments/minikube/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Minikube | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/93013804.83b128a9.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/93013804.8b19f643.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/93013804.83b128a9.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/93013804.8b19f643.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/tke/index.html b/docs/ingress-controller/deployments/tke/index.html
index f197a4b..e84f3b1 100644
--- a/docs/ingress-controller/deployments/tke/index.html
+++ b/docs/ingress-controller/deployments/tke/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Tencent TKE | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusau [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/64288df6.2f59583c.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/64288df6.1e027013.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/64288df6.2f59583c.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/64288df6.1e027013.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/design/index.html b/docs/ingress-controller/design/index.html
index 3876c07..12e8b7d 100644
--- a/docs/ingress-controller/design/index.html
+++ b/docs/ingress-controller/design/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Ingress Controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="d [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/e60dd3b0.452f5414.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/e60dd3b0.f241622b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/e60dd3b0.452f5414.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/e60dd3b0.f241622b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/development/index.html b/docs/ingress-controller/development/index.html
index 39995e9..eaeb4d8 100644
--- a/docs/ingress-controller/development/index.html
+++ b/docs/ingress-controller/development/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Developing for Apache APISIX Ingress Controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsear [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/8e27d69a.ac610c39.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/8e27d69a.053cb440.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/8e27d69a.ac610c39.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/8e27d69a.053cb440.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/samples/index/index.html b/docs/ingress-controller/samples/index/index.html
index 7929764..76299e0 100644
--- a/docs/ingress-controller/samples/index/index.html
+++ b/docs/ingress-controller/samples/index/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Ingress APISIX Use Examples | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" c [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/33c9e5b3.895f59a3.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/33c9e5b3.ac491ea7.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/33c9e5b3.895f59a3.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/33c9e5b3.ac491ea7.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/samples/proxy-the-httpbin-service-with-ingress/index.html b/docs/ingress-controller/samples/proxy-the-httpbin-service-with-ingress/index.html
index 18ae360..47ea8dc 100644
--- a/docs/ingress-controller/samples/proxy-the-httpbin-service-with-ingress/index.html
+++ b/docs/ingress-controller/samples/proxy-the-httpbin-service-with-ingress/index.html
@@ -11,29 +11,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Proxy the httpbin service with Ingress | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/5971cb1d.6ead52c1.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/5971cb1d.02910d77.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Use ingress.networking.k8s.io/v1beta1 if your Kubernetes cluster</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># version is older than v1.19.0.</span><span class= [...]
 Now try to create it.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">kubectl apply -f httpbin-ingress.yaml</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></di [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/5971cb1d.6ead52c1.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/5971cb1d.02910d77.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/samples/proxy-the-httpbin-service/index.html b/docs/ingress-controller/samples/proxy-the-httpbin-service/index.html
index bf152bb..76e244f 100644
--- a/docs/ingress-controller/samples/proxy-the-httpbin-service/index.html
+++ b/docs/ingress-controller/samples/proxy-the-httpbin-service/index.html
@@ -11,28 +11,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Proxy the httpbin service | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" con [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/941c758c.9e9d032e.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/941c758c.37e868a8.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 Now try to create it.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">kubectl apply -f httpbin-route.yaml</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div> [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/941c758c.9e9d032e.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/941c758c.37e868a8.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/usage/index.html b/docs/ingress-controller/usage/index.html
index 4c4a047..042aea9 100644
--- a/docs/ingress-controller/usage/index.html
+++ b/docs/ingress-controller/usage/index.html
@@ -11,29 +11,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Usage of Ingress controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" c [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.c50a644c.js" as="script">
-<link rel="preload" href="/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/assets/js/b123c67b.ac5cf6a9.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.4ddf6192.js" as="script">
+<link rel="preload" href="/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/assets/js/b123c67b.5b18290b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 3. Define route: foo-route, id=3, binding service: foo-service</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -XPUT http://127.0.0.1:9080/apisix/admin/routes/3 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div><d [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/1be78505.5178dac2.js"></script>
-<script src="/assets/js/b4a67526.c50a644c.js"></script>
-<script src="/assets/js/17896441.e58bae36.js"></script>
-<script src="/assets/js/b123c67b.ac5cf6a9.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/assets/js/b4a67526.4ddf6192.js"></script>
+<script src="/assets/js/17896441.bde55444.js"></script>
+<script src="/assets/js/b123c67b.5b18290b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/downloads/ProjectCard/index.html b/downloads/ProjectCard/index.html
index a14b660..eb10744 100644
--- a/downloads/ProjectCard/index.html
+++ b/downloads/ProjectCard/index.html
@@ -11,21 +11,21 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true"></title><link rel="stylesheet" href="/assets/css/styles.68c2735f.css">
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/assets/js/98c69322.b7582938.js" as="script">
-<link rel="preload" href="/assets/js/47f8a22a.e1a5cb94.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/assets/js/98c69322.939949f5.js" as="script">
+<link rel="preload" href="/assets/js/47f8a22a.b63bda4a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div class="ProjectCard__Card-sc-12v8c3p-0 fUOFUE"><div class="ProjectCard__LeftSide-sc-12v8c3p-1 ewHYSJ"><a href="https://github.com/undefined" target="_blank" class="ProjectCard__Title-sc-12v8c3p-2 eXqIcO"><span class="ProjectCard__ShapeBeforeTitle-sc-12v8c3p-4 kjTfns"><svg aria-hidden="true" data-prefix="fas" data-icon="hexagon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="hexagon_svg__svg-inline--fa hexagon_svg__fa-hexagon hexagon_svg__fa-w-18 hexagon_svg__fa-7x">< [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/3.b8da59b5.js"></script>
-<script src="/assets/js/98c69322.b7582938.js"></script>
-<script src="/assets/js/47f8a22a.e1a5cb94.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/3.210f7ae8.js"></script>
+<script src="/assets/js/98c69322.939949f5.js"></script>
+<script src="/assets/js/47f8a22a.b63bda4a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/downloads/index.html b/downloads/index.html
index a9108cc..edcd5c5 100644
--- a/downloads/index.html
+++ b/downloads/index.html
@@ -11,14 +11,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//downloads/"><meta data-react-helmet="true" name="docsearch:language" content= [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/assets/js/98c69322.b7582938.js" as="script">
-<link rel="preload" href="/assets/js/47f8a22a.e1a5cb94.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/assets/js/98c69322.939949f5.js" as="script">
+<link rel="preload" href="/assets/js/47f8a22a.b63bda4a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -26,13 +26,13 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgp -ka KEYS</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div><br>To verify the binaries/sources you can download the relevant asc files for it from main distribution directory and follow the below guide.<div class="codeBlockContent_hGly"><di [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgpv apache-apisix-********.asc</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgp apache-apisix-********.asc</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></div></div><footer class="footer"><div class="container"><div class="row footer__links"><div class="col footer__col"><h4 class="footer__title">ASF</h [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/3.b8da59b5.js"></script>
-<script src="/assets/js/98c69322.b7582938.js"></script>
-<script src="/assets/js/47f8a22a.e1a5cb94.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/3.210f7ae8.js"></script>
+<script src="/assets/js/98c69322.939949f5.js"></script>
+<script src="/assets/js/47f8a22a.b63bda4a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html b/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html
index e06cf31..ede5b8e 100644
--- a/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html
+++ b/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX Ingress Controller 0.1.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.1.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improve basic features, bugfix and adds test cases."><meta  [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/f7488fe8.115aa429.js" as="script">
-<link rel="preload" href="/assets/js/12e5767f.850d19de.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/f7488fe8.a0bdeb76.js" as="script">
+<link rel="preload" href="/assets/js/12e5767f.65379beb.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/f7488fe8.115aa429.js"></script>
-<script src="/assets/js/12e5767f.850d19de.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/f7488fe8.a0bdeb76.js"></script>
+<script src="/assets/js/12e5767f.65379beb.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html b/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html
index 52e6483..2e2da2e 100644
--- a/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html
+++ b/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX Ingress Controller 0.2.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.2.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improve basic features, bugfix and adds test cases."><meta  [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/f7488fe8.115aa429.js" as="script">
-<link rel="preload" href="/assets/js/4eed9ed2.a3aa64b8.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/f7488fe8.a0bdeb76.js" as="script">
+<link rel="preload" href="/assets/js/4eed9ed2.2d8a924e.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/f7488fe8.115aa429.js"></script>
-<script src="/assets/js/4eed9ed2.a3aa64b8.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/f7488fe8.a0bdeb76.js"></script>
+<script src="/assets/js/4eed9ed2.2d8a924e.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/events/2021/02/09/release-apache-apisix-2.3/index.html b/events/2021/02/09/release-apache-apisix-2.3/index.html
index 2f5741f..8a52f9e 100644
--- a/events/2021/02/09/release-apache-apisix-2.3/index.html
+++ b/events/2021/02/09/release-apache-apisix-2.3/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.3 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.3 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Change"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" p [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/f7488fe8.115aa429.js" as="script">
-<link rel="preload" href="/assets/js/41b4926b.9f9fab3d.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/f7488fe8.a0bdeb76.js" as="script">
+<link rel="preload" href="/assets/js/41b4926b.98ccd3af.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/f7488fe8.115aa429.js"></script>
-<script src="/assets/js/41b4926b.9f9fab3d.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/f7488fe8.a0bdeb76.js"></script>
+<script src="/assets/js/41b4926b.98ccd3af.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html b/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html
index d755e41..96db92b 100644
--- a/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html
+++ b/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX Ingress Controller 0.3.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.3.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improves the program robustness and adds some features."><m [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/f7488fe8.115aa429.js" as="script">
-<link rel="preload" href="/assets/js/1be5d2e8.c2ddd7ad.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/f7488fe8.a0bdeb76.js" as="script">
+<link rel="preload" href="/assets/js/1be5d2e8.f5c22dcd.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/f7488fe8.115aa429.js"></script>
-<script src="/assets/js/1be5d2e8.c2ddd7ad.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/f7488fe8.a0bdeb76.js"></script>
+<script src="/assets/js/1be5d2e8.f5c22dcd.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html b/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html
index 47290f0..3f4cb2d 100644
--- a/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html
+++ b/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX Dashboard 2.4 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Dashboard 2.4 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improves basic features, bugfix and adds test cases."><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/assets/js/f7488fe8.115aa429.js" as="script">
-<link rel="preload" href="/assets/js/d4de91ec.5a94f2f3.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/assets/js/f7488fe8.a0bdeb76.js" as="script">
+<link rel="preload" href="/assets/js/d4de91ec.2825121a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/assets/js/f7488fe8.115aa429.js"></script>
-<script src="/assets/js/d4de91ec.5a94f2f3.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/assets/js/f7488fe8.a0bdeb76.js"></script>
+<script src="/assets/js/d4de91ec.2825121a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/events/index.html b/events/index.html
index d057a17..87424a8 100644
--- a/events/index.html
+++ b/events/index.html
@@ -11,37 +11,37 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apa [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/4.570df902.js" as="script">
-<link rel="preload" href="/assets/js/a6aa9e1f.164e0ec9.js" as="script">
-<link rel="preload" href="/assets/js/f7488fe8.115aa429.js" as="script">
-<link rel="preload" href="/assets/js/bacea567.72925aa1.js" as="script">
-<link rel="preload" href="/assets/js/c119cf3c.74a18135.js" as="script">
-<link rel="preload" href="/assets/js/17dc512b.86d51ee0.js" as="script">
-<link rel="preload" href="/assets/js/c5594f1a.381243db.js" as="script">
-<link rel="preload" href="/assets/js/fa919c95.629820e4.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/4.5ad41361.js" as="script">
+<link rel="preload" href="/assets/js/a6aa9e1f.63bf07f0.js" as="script">
+<link rel="preload" href="/assets/js/f7488fe8.a0bdeb76.js" as="script">
+<link rel="preload" href="/assets/js/bacea567.f25fd7a1.js" as="script">
+<link rel="preload" href="/assets/js/c119cf3c.6e4a029d.js" as="script">
+<link rel="preload" href="/assets/js/17dc512b.c79f6faf.js" as="script">
+<link rel="preload" href="/assets/js/c5594f1a.5dffe215.js" as="script">
+<link rel="preload" href="/assets/js/fa919c95.87ea653a.js" as="script">
 <link rel="preload" href="/assets/js/574dc000.12794842.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/4.570df902.js"></script>
-<script src="/assets/js/a6aa9e1f.164e0ec9.js"></script>
-<script src="/assets/js/f7488fe8.115aa429.js"></script>
-<script src="/assets/js/bacea567.72925aa1.js"></script>
-<script src="/assets/js/c119cf3c.74a18135.js"></script>
-<script src="/assets/js/17dc512b.86d51ee0.js"></script>
-<script src="/assets/js/c5594f1a.381243db.js"></script>
-<script src="/assets/js/fa919c95.629820e4.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/4.5ad41361.js"></script>
+<script src="/assets/js/a6aa9e1f.63bf07f0.js"></script>
+<script src="/assets/js/f7488fe8.a0bdeb76.js"></script>
+<script src="/assets/js/bacea567.f25fd7a1.js"></script>
+<script src="/assets/js/c119cf3c.6e4a029d.js"></script>
+<script src="/assets/js/17dc512b.c79f6faf.js"></script>
+<script src="/assets/js/c5594f1a.5dffe215.js"></script>
+<script src="/assets/js/fa919c95.87ea653a.js"></script>
 <script src="/assets/js/574dc000.12794842.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/help/index.html b/help/index.html
index d549345..77cc6c9 100644
--- a/help/index.html
+++ b/help/index.html
@@ -11,23 +11,23 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//help"><meta data-react-helmet="true" name="docsearch:language" content="en">< [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/assets/js/7e37206e.47417889.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/assets/js/7e37206e.25d919d0.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/3.b8da59b5.js"></script>
-<script src="/assets/js/7e37206e.47417889.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/3.210f7ae8.js"></script>
+<script src="/assets/js/7e37206e.25d919d0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/index.html b/index.html
index 61c168a..e9be80d 100644
--- a/index.html
+++ b/index.html
@@ -11,23 +11,23 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/76.0f6d1c85.js" as="script">
-<link rel="preload" href="/assets/js/c4f5d8e4.59786acd.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/78.82157586.js" as="script">
+<link rel="preload" href="/assets/js/c4f5d8e4.7a3a12be.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div id="docusaurus-base-url-issue-banner-container"></div><nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title> [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/76.0f6d1c85.js"></script>
-<script src="/assets/js/c4f5d8e4.59786acd.js"></script>
+<div id="docusaurus-base-url-issue-banner-container"></div><nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title> [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/78.82157586.js"></script>
+<script src="/assets/js/c4f5d8e4.7a3a12be.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/search/index.html b/search/index.html
index a0361f6..032b982 100644
--- a/search/index.html
+++ b/search/index.html
@@ -11,21 +11,21 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Search the documentation | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//search"><meta data-react-helmet="true" name="docse [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/71.349eb674.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/73.d01d80fc.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/71.349eb674.js"></script>
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/73.d01d80fc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index 751e56f..96ded14 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:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" 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://apisix.apache.org/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url> [...]
\ 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:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" 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://apisix.apache.org/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url> [...]
\ No newline at end of file
diff --git a/team/index.html b/team/index.html
index f5ef83c..ee2851b 100644
--- a/team/index.html
+++ b/team/index.html
@@ -11,23 +11,23 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//team"><meta data-react-helmet="true" name="docsearch:language" content="en">< [...]
-<link rel="preload" href="/assets/js/styles.eb3bbc55.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.acba93c0.js" as="script">
-<link rel="preload" href="/assets/js/main.2945d650.js" as="script">
-<link rel="preload" href="/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/assets/js/859cc09f.5182d9b0.js" as="script">
+<link rel="preload" href="/assets/js/styles.cfae28e5.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.43ca223a.js" as="script">
+<link rel="preload" href="/assets/js/main.eef76547.js" as="script">
+<link rel="preload" href="/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/assets/js/859cc09f.315574bb.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/assets/js/styles.eb3bbc55.js"></script>
-<script src="/assets/js/runtime~main.acba93c0.js"></script>
-<script src="/assets/js/main.2945d650.js"></script>
-<script src="/assets/js/1.3237074b.js"></script>
-<script src="/assets/js/2.e4d54c2b.js"></script>
-<script src="/assets/js/3.b8da59b5.js"></script>
-<script src="/assets/js/859cc09f.5182d9b0.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/assets/js/styles.cfae28e5.js"></script>
+<script src="/assets/js/runtime~main.43ca223a.js"></script>
+<script src="/assets/js/main.eef76547.js"></script>
+<script src="/assets/js/1.a9e4d29a.js"></script>
+<script src="/assets/js/2.392ae916.js"></script>
+<script src="/assets/js/3.210f7ae8.js"></script>
+<script src="/assets/js/859cc09f.315574bb.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/404.html b/zh/404.html
index 374fe24..d57f8bf 100644
--- a/zh/404.html
+++ b/zh/404.html
@@ -11,15 +11,15 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//zh/404.html"><meta data-react-helmet="true" [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/assets/js/03b7a20f.1dd07acb.js b/zh/assets/js/03b7a20f.3e314c4e.js
similarity index 99%
rename from zh/assets/js/03b7a20f.1dd07acb.js
rename to zh/assets/js/03b7a20f.3e314c4e.js
index f3632fe..21df7d8 100644
--- a/zh/assets/js/03b7a20f.1dd07acb.js
+++ b/zh/assets/js/03b7a20f.3e314c4e.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/1.3237074b.js b/zh/assets/js/1.a9e4d29a.js
similarity index 83%
rename from assets/js/1.3237074b.js
rename to zh/assets/js/1.a9e4d29a.js
index b933418..38541ed 100644
--- a/assets/js/1.3237074b.js
+++ b/zh/assets/js/1.a9e4d29a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{143:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(175);Object.defineProperty(t,"useThemeConfig",{enumerable:!0,get:function(){return r.useThemeConfig}});var o=n(202);Object.defineProperty(t,"useAlternatePageUtils",{enumerable:!0,get:function(){return o.useAlternatePageUtils}});var i=n(203);Object.defineProperty(t,"docVersionSearchTag",{enumerable:!0,get:function(){return i.docVersionSearchTag [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{145:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(177);Object.defineProperty(t,"useThemeConfig",{enumerable:!0,get:function(){return r.useThemeConfig}});var o=n(204);Object.defineProperty(t,"useAlternatePageUtils",{enumerable:!0,get:function(){return o.useAlternatePageUtils}});var i=n(205);Object.defineProperty(t,"docVersionSearchTag",{enumerable:!0,get:function(){return i.docVersionSearchTag [...]
\ No newline at end of file
diff --git a/zh/assets/js/12e5767f.f2eec07d.js b/zh/assets/js/12e5767f.c8e7b7b5.js
similarity index 96%
rename from zh/assets/js/12e5767f.f2eec07d.js
rename to zh/assets/js/12e5767f.c8e7b7b5.js
index 00d7bd0..b0ee2b7 100644
--- a/zh/assets/js/12e5767f.f2eec07d.js
+++ b/zh/assets/js/12e5767f.c8e7b7b5.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return h}));var n=r(0),a=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return h}));var n=r(0),a=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/zh/assets/js/17896441.e58bae36.js b/zh/assets/js/17896441.bde55444.js
similarity index 92%
rename from zh/assets/js/17896441.e58bae36.js
rename to zh/assets/js/17896441.bde55444.js
index 6ea3b57..c9a4465 100644
--- a/zh/assets/js/17896441.e58bae36.js
+++ b/zh/assets/js/17896441.bde55444.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{137:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(24),c=a(143),i=a(17),o=a(149),m=a(145);var s=function(e){var t=e.metadata;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},t.previous&&l.a.createElement(m.a,{className:"pagination-nav__link",to:t.previous.permalink},l.a.createElement("div",{className:"paginati [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{139:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(24),c=a(145),i=a(17),o=a(151),m=a(147);var s=function(e){var t=e.metadata;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},t.previous&&l.a.createElement(m.a,{className:"pagination-nav__link",to:t.previous.permalink},l.a.createElement("div",{className:"paginati [...]
\ No newline at end of file
diff --git a/zh/assets/js/17dc512b.9356f2ae.js b/zh/assets/js/17dc512b.da2c7f07.js
similarity index 94%
rename from zh/assets/js/17dc512b.9356f2ae.js
rename to zh/assets/js/17dc512b.da2c7f07.js
index 0e88e32..bd1d59a 100644
--- a/zh/assets/js/17dc512b.9356f2ae.js
+++ b/zh/assets/js/17dc512b.da2c7f07.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return y}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return y}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/zh/assets/js/1be5d2e8.862f8499.js b/zh/assets/js/1be5d2e8.b7f18438.js
similarity index 97%
rename from zh/assets/js/1be5d2e8.862f8499.js
rename to zh/assets/js/1be5d2e8.b7f18438.js
index 0b6afc1..af2813e 100644
--- a/zh/assets/js/1be5d2e8.862f8499.js
+++ b/zh/assets/js/1be5d2e8.b7f18438.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return h}));var n=r(0),a=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return h}));var n=r(0),a=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/zh/assets/js/1be78505.5178dac2.js b/zh/assets/js/1be78505.1d3d300b.js
similarity index 92%
rename from zh/assets/js/1be78505.5178dac2.js
rename to zh/assets/js/1be78505.1d3d300b.js
index 8e106ff..96d6717 100644
--- a/zh/assets/js/1be78505.5178dac2.js
+++ b/zh/assets/js/1be78505.1d3d300b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{138:function(e,a,t){"use strict";t.r(a);var n=t(0),c=t.n(n),i=t(142),l=t(17),r=t(27),o=t(146),s=t(3),u=t(7),b=t(144),d=t(143),m=t(178),p=t(184),f=t(185),v=t(183),h=t(145),E=t(163),O=t(187),j=t(190),k=t(189),C=t(76),_=t.n(C),g=t(186);var N=function e(a,t){return"link"===a.type?Object(d.isSamePath)(a.href,t):"category"===a.type&&a.items.some((function(a){return e(a,t)}))};function I(e){var a,t,i,l=e.item,r=e.onItemClick,o=e.collapsi [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{140:function(e,a,t){"use strict";t.r(a);var n=t(0),c=t.n(n),i=t(144),l=t(17),r=t(27),o=t(148),s=t(3),u=t(7),b=t(146),d=t(145),m=t(180),p=t(186),f=t(187),v=t(185),h=t(147),E=t(165),O=t(189),j=t(192),k=t(191),C=t(76),_=t.n(C),g=t(188);var N=function e(a,t){return"link"===a.type?Object(d.isSamePath)(a.href,t):"category"===a.type&&a.items.some((function(a){return e(a,t)}))};function I(e){var a,t,i,l=e.item,r=e.onItemClick,o=e.collapsi [...]
\ No newline at end of file
diff --git a/zh/assets/js/1c89ab3b.6f69acc2.js b/zh/assets/js/1c89ab3b.b2ca3c56.js
similarity index 98%
rename from zh/assets/js/1c89ab3b.6f69acc2.js
rename to zh/assets/js/1c89ab3b.b2ca3c56.js
index 3ba1eec..39116b3 100644
--- a/zh/assets/js/1c89ab3b.6f69acc2.js
+++ b/zh/assets/js/1c89ab3b.b2ca3c56.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{142:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{144:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/2.e4d54c2b.js b/zh/assets/js/2.392ae916.js
similarity index 91%
rename from zh/assets/js/2.e4d54c2b.js
rename to zh/assets/js/2.392ae916.js
index 7e64d69..9fac000 100644
--- a/zh/assets/js/2.e4d54c2b.js
+++ b/zh/assets/js/2.392ae916.js
@@ -1,2 +1,2 @@
-/*! For license information please see 2.e4d54c2b.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{146:function(e,t,a){"use strict";var n=a(0),r=a.n(n),c=a(144),o=a(63),l=a.n(o);var i=function(){return r.a.createElement("nav",{"aria-label":"Skip navigation links"},r.a.createElement("button",{type:"button",tabIndex:0,className:l.a.skipToContent,onKeyDown:function(e){if(13===e.keyCode){document.activeElement.blur();var t=document.querySelector("main:first-of-type");t&&t.scrollIntoView()}}},"Skip to main content"))},s=a(143),u=a(17 [...]
\ No newline at end of file
+/*! For license information please see 2.392ae916.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{148:function(e,t,a){"use strict";var n=a(0),r=a.n(n),c=a(146),o=a(63),l=a.n(o);var i=function(){return r.a.createElement("nav",{"aria-label":"Skip navigation links"},r.a.createElement("button",{type:"button",tabIndex:0,className:l.a.skipToContent,onKeyDown:function(e){if(13===e.keyCode){document.activeElement.blur();var t=document.querySelector("main:first-of-type");t&&t.scrollIntoView()}}},"Skip to main content"))},s=a(145),u=a(18 [...]
\ No newline at end of file
diff --git a/assets/js/2.e4d54c2b.js.LICENSE.txt b/zh/assets/js/2.392ae916.js.LICENSE.txt
similarity index 100%
rename from assets/js/2.e4d54c2b.js.LICENSE.txt
rename to zh/assets/js/2.392ae916.js.LICENSE.txt
diff --git a/zh/assets/js/25b7c3f2.3c5dfa02.js b/zh/assets/js/25b7c3f2.288f254a.js
similarity index 94%
rename from zh/assets/js/25b7c3f2.3c5dfa02.js
rename to zh/assets/js/25b7c3f2.288f254a.js
index a6fd152..176921e 100644
--- a/zh/assets/js/25b7c3f2.3c5dfa02.js
+++ b/zh/assets/js/25b7c3f2.288f254a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{156:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{158:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
diff --git a/zh/assets/js/2d8fe9ee.4742932a.js b/zh/assets/js/2d8fe9ee.4742932a.js
new file mode 100644
index 0000000..bae4def
--- /dev/null
+++ b/zh/assets/js/2d8fe9ee.4742932a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{80:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Install Apache APISIX from Helm Charts","permalink":"/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts"},{"title":"Stable Product Delivery with Cypress","permalink":"/zh/blog/2021/02/08/stable-product-delivery-with-cypress"},{"title":"Run Ingress APISIX on Amazon EKS","permalink":"/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks"},{"title" [...]
\ No newline at end of file
diff --git a/zh/assets/js/2d8fe9ee.fbf876c8.js b/zh/assets/js/2d8fe9ee.fbf876c8.js
deleted file mode 100644
index e8136a3..0000000
--- a/zh/assets/js/2d8fe9ee.fbf876c8.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{80:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Stable Product Delivery with Cypress","permalink":"/zh/blog/2021/02/08/stable-product-delivery-with-cypress"},{"title":"Run Ingress APISIX on Amazon EKS","permalink":"/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks"},{"title":"\u521d\u63a2 Kubernetes Service APIs","permalink":"/zh/blog/2020/12/18/a-first-look-at-kubernetes-service-api"},{"title":" [...]
\ No newline at end of file
diff --git a/zh/assets/js/3.b8da59b5.js b/zh/assets/js/3.210f7ae8.js
similarity index 98%
rename from zh/assets/js/3.b8da59b5.js
rename to zh/assets/js/3.210f7ae8.js
index 83c4219..7293336 100644
--- a/zh/assets/js/3.b8da59b5.js
+++ b/zh/assets/js/3.210f7ae8.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{151:function(e,t,r){"use strict";(function(e){var n=r(26),i=r(0),a=r.n(i),o=r(219),s=r.n(o),c=r(220),l=r(221),u=r(235),h=r(29),f=r.n(h);function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p=function(e,t){for(var r=[e[0]],n=0,i=t.length;n<i;n+=1)r.push(t[n],e[n+1]);return r},g [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{153:function(e,t,r){"use strict";(function(e){var n=r(26),i=r(0),a=r.n(i),o=r(221),s=r.n(o),c=r(222),l=r(223),u=r(237),h=r(29),f=r.n(h);function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p=function(e,t){for(var r=[e[0]],n=0,i=t.length;n<i;n+=1)r.push(t[n],e[n+1]);return r},g [...]
\ No newline at end of file
diff --git a/zh/assets/js/3393d167.a39dd25a.js b/zh/assets/js/3393d167.8a718e77.js
similarity index 94%
rename from zh/assets/js/3393d167.a39dd25a.js
rename to zh/assets/js/3393d167.8a718e77.js
index 958aa35..f9cf3f7 100644
--- a/zh/assets/js/3393d167.a39dd25a.js
+++ b/zh/assets/js/3393d167.8a718e77.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{142:function(e,r,t){"use strict";t.d(r,"a",(function(){return l})),t.d(r,"b",(function(){return d}));var n=t(0),o=t.n(n);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{144:function(e,r,t){"use strict";t.d(r,"a",(function(){return l})),t.d(r,"b",(function(){return d}));var n=t(0),o=t.n(n);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/33c9e5b3.7ddd5619.js b/zh/assets/js/33c9e5b3.cab725ba.js
similarity index 96%
rename from zh/assets/js/33c9e5b3.7ddd5619.js
rename to zh/assets/js/33c9e5b3.cab725ba.js
index 0125ac9..5d5c0c1 100644
--- a/zh/assets/js/33c9e5b3.7ddd5619.js
+++ b/zh/assets/js/33c9e5b3.cab725ba.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return b}));var n=r(0),o=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return b}));var n=r(0),o=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/37e3b3ea.f93e1258.js b/zh/assets/js/37e3b3ea.fec49bbf.js
similarity index 94%
rename from zh/assets/js/37e3b3ea.f93e1258.js
rename to zh/assets/js/37e3b3ea.fec49bbf.js
index bdc77aa..6219847 100644
--- a/zh/assets/js/37e3b3ea.f93e1258.js
+++ b/zh/assets/js/37e3b3ea.fec49bbf.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return m}));var n=r(0),o=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return m}));var n=r(0),o=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/3a332aed.d2074a04.js b/zh/assets/js/3a332aed.49abc7b8.js
similarity index 73%
rename from zh/assets/js/3a332aed.d2074a04.js
rename to zh/assets/js/3a332aed.49abc7b8.js
index 69c57ca..e6fca51 100644
--- a/zh/assets/js/3a332aed.d2074a04.js
+++ b/zh/assets/js/3a332aed.49abc7b8.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{84:function(o){o.exports=JSON.parse('{"permalink":"/zh/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":5,"previousPage":null,"nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{84:function(o){o.exports=JSON.parse('{"permalink":"/zh/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":6,"previousPage":null,"nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/zh/assets/js/3dc9f306.b822db76.js b/zh/assets/js/3dc9f306.0efa0f0c.js
similarity index 52%
rename from zh/assets/js/3dc9f306.b822db76.js
rename to zh/assets/js/3dc9f306.0efa0f0c.js
index 9d5d482..dfee2c5 100644
--- a/zh/assets/js/3dc9f306.b822db76.js
+++ b/zh/assets/js/3dc9f306.0efa0f0c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return b}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return b}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/4.c30f7bca.js b/zh/assets/js/4.dd30949d.js
similarity index 93%
rename from zh/assets/js/4.c30f7bca.js
rename to zh/assets/js/4.dd30949d.js
index a3e055f..ed54c62 100644
--- a/zh/assets/js/4.c30f7bca.js
+++ b/zh/assets/js/4.dd30949d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{142:function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return d}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{144:function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return d}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))) [...]
\ No newline at end of file
diff --git a/zh/assets/js/41b4926b.4f4c3e60.js b/zh/assets/js/41b4926b.48c46c42.js
similarity index 98%
rename from zh/assets/js/41b4926b.4f4c3e60.js
rename to zh/assets/js/41b4926b.48c46c42.js
index e94da7b..b32cdeb 100644
--- a/zh/assets/js/41b4926b.4f4c3e60.js
+++ b/zh/assets/js/41b4926b.48c46c42.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{142:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return m}));var r=a(0),i=a.n(r);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function p(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{144:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return m}));var r=a(0),i=a.n(r);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function p(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/43aea6af.1907e6ff.js b/zh/assets/js/43aea6af.a9cdd804.js
similarity index 97%
rename from zh/assets/js/43aea6af.1907e6ff.js
rename to zh/assets/js/43aea6af.a9cdd804.js
index 1111557..e893276 100644
--- a/zh/assets/js/43aea6af.1907e6ff.js
+++ b/zh/assets/js/43aea6af.a9cdd804.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/47e0bf55.541e57ca.js b/zh/assets/js/47e0bf55.541e57ca.js
deleted file mode 100644
index 6585f13..0000000
--- a/zh/assets/js/47e0bf55.541e57ca.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/47e0bf55.8a9c6657.js b/zh/assets/js/47e0bf55.8a9c6657.js
new file mode 100644
index 0000000..16aeaf7
--- /dev/null
+++ b/zh/assets/js/47e0bf55.8a9c6657.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/47f8a22a.09ed66e0.js b/zh/assets/js/47f8a22a.8d2629b4.js
similarity index 95%
rename from zh/assets/js/47f8a22a.09ed66e0.js
rename to zh/assets/js/47f8a22a.8d2629b4.js
index 64d0a87..39734bc 100644
--- a/zh/assets/js/47f8a22a.09ed66e0.js
+++ b/zh/assets/js/47f8a22a.8d2629b4.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[22,44],{154:function(e,t,n){"use strict";const r=(e,{target:t=document.body}={})=>{const n=document.createElement("textarea"),r=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";const a=document.getSelection();let o=!1;a.rangeCount>0&&(o=a.getRangeAt(0)),t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let i [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[22,45],{156:function(e,t,n){"use strict";const r=(e,{target:t=document.body}={})=>{const n=document.createElement("textarea"),r=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";const a=document.getSelection();let o=!1;a.rangeCount>0&&(o=a.getRangeAt(0)),t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let i [...]
\ No newline at end of file
diff --git a/zh/assets/js/4e55a385.6598c323.js b/zh/assets/js/4e55a385.c7db50ba.js
similarity index 98%
rename from zh/assets/js/4e55a385.6598c323.js
rename to zh/assets/js/4e55a385.c7db50ba.js
index 5b220f3..023231b 100644
--- a/zh/assets/js/4e55a385.6598c323.js
+++ b/zh/assets/js/4e55a385.c7db50ba.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return h}));var a=n(0),r=n.n(a);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return h}));var a=n(0),r=n.n(a);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/4eed9ed2.303a4d26.js b/zh/assets/js/4eed9ed2.cd5421ac.js
similarity index 96%
rename from zh/assets/js/4eed9ed2.303a4d26.js
rename to zh/assets/js/4eed9ed2.cd5421ac.js
index c81e14e..51c27ff 100644
--- a/zh/assets/js/4eed9ed2.303a4d26.js
+++ b/zh/assets/js/4eed9ed2.cd5421ac.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var a=r(0),n=r.n(a);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var a=r(0),n=r.n(a);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/50facf8e.456618e2.js b/zh/assets/js/50facf8e.621498b0.js
similarity index 57%
rename from zh/assets/js/50facf8e.456618e2.js
rename to zh/assets/js/50facf8e.621498b0.js
index f7d21f0..a9c1dec 100644
--- a/zh/assets/js/50facf8e.456618e2.js
+++ b/zh/assets/js/50facf8e.621498b0.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return d}));var n=r(0),i=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return d}));var n=r(0),i=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/514de2af.f6fa3dd7.js b/zh/assets/js/514de2af.9f0f3f02.js
similarity index 98%
rename from zh/assets/js/514de2af.f6fa3dd7.js
rename to zh/assets/js/514de2af.9f0f3f02.js
index 78aa38f..2a743d9 100644
--- a/zh/assets/js/514de2af.f6fa3dd7.js
+++ b/zh/assets/js/514de2af.9f0f3f02.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{142:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{144:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/5971cb1d.421fffde.js b/zh/assets/js/5971cb1d.41d6b0fc.js
similarity index 98%
rename from zh/assets/js/5971cb1d.421fffde.js
rename to zh/assets/js/5971cb1d.41d6b0fc.js
index 72c0574..f4cf862 100644
--- a/zh/assets/js/5971cb1d.421fffde.js
+++ b/zh/assets/js/5971cb1d.41d6b0fc.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),i=n.n(r);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),i=n.n(r);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/5bb67ffc.d3af9290.js b/zh/assets/js/5bb67ffc.0e60759a.js
similarity index 99%
rename from zh/assets/js/5bb67ffc.d3af9290.js
rename to zh/assets/js/5bb67ffc.0e60759a.js
index 84b9133..07f69a2 100644
--- a/zh/assets/js/5bb67ffc.d3af9290.js
+++ b/zh/assets/js/5bb67ffc.0e60759a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var a=r(0),n=r.n(a);function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var a=r(0),n=r.n(a);function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/601c6eaa.4a1a6653.js b/zh/assets/js/601c6eaa.1e8ceecc.js
similarity index 95%
rename from zh/assets/js/601c6eaa.4a1a6653.js
rename to zh/assets/js/601c6eaa.1e8ceecc.js
index bd301d9..7f78baf 100644
--- a/zh/assets/js/601c6eaa.4a1a6653.js
+++ b/zh/assets/js/601c6eaa.1e8ceecc.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{142:function(e,r,t){"use strict";t.d(r,"a",(function(){return l})),t.d(r,"b",(function(){return d}));var n=t(0),o=t.n(n);function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{144:function(e,r,t){"use strict";t.d(r,"a",(function(){return l})),t.d(r,"b",(function(){return d}));var n=t(0),o=t.n(n);function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/64288df6.93ae58e4.js b/zh/assets/js/64288df6.8af2c99e.js
similarity index 98%
rename from zh/assets/js/64288df6.93ae58e4.js
rename to zh/assets/js/64288df6.8af2c99e.js
index a2b1ba0..fad7ee9 100644
--- a/zh/assets/js/64288df6.93ae58e4.js
+++ b/zh/assets/js/64288df6.8af2c99e.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/66fbb9c2.4846c3a4.js b/zh/assets/js/66fbb9c2.5a4bf691.js
similarity index 64%
rename from zh/assets/js/66fbb9c2.4846c3a4.js
rename to zh/assets/js/66fbb9c2.5a4bf691.js
index 7cc6266..f889973 100644
--- a/zh/assets/js/66fbb9c2.4846c3a4.js
+++ b/zh/assets/js/66fbb9c2.5a4bf691.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{142:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{144:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/6967878f.b7234289.js b/zh/assets/js/6967878f.b61ec396.js
similarity index 97%
rename from zh/assets/js/6967878f.b7234289.js
rename to zh/assets/js/6967878f.b61ec396.js
index 31b03e3..da10673 100644
--- a/zh/assets/js/6967878f.b7234289.js
+++ b/zh/assets/js/6967878f.b61ec396.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/6f365930.ba5ad84c.js b/zh/assets/js/6f365930.68778c89.js
similarity index 97%
rename from zh/assets/js/6f365930.ba5ad84c.js
rename to zh/assets/js/6f365930.68778c89.js
index a6d96d5..59db918 100644
--- a/zh/assets/js/6f365930.ba5ad84c.js
+++ b/zh/assets/js/6f365930.68778c89.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{100:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(142)),s={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{100:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(144)),s={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
diff --git a/zh/assets/js/71.349eb674.js b/zh/assets/js/73.d01d80fc.js
similarity index 96%
rename from zh/assets/js/71.349eb674.js
rename to zh/assets/js/73.d01d80fc.js
index 29f3f7e..559873f 100644
--- a/zh/assets/js/71.349eb674.js
+++ b/zh/assets/js/73.d01d80fc.js
@@ -1,2 +1,2 @@
-/*! For license information please see 71.349eb674.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{130:function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(234),s=n.n(a),c=n(223),u=n.n(c),o=n(144),f=n(24),h=n(145),l=n(11),m=n(143),d=n(17),v=n(147),p=n(180),g=n(146),y=n(131),R=n.n(y);var F=function(e){var t=e.docsSearchVersionsHelpers,n=Object.entries(t.allDocsData).filter((function(e){return e[1].versions.length>1}));return i.a.createElement("div",{className:Object(o.a)("col","col--3","padding-left--none",R.a.searchVersi [...]
\ No newline at end of file
+/*! For license information please see 73.d01d80fc.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{132:function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(236),s=n.n(a),c=n(225),u=n.n(c),o=n(146),f=n(24),h=n(147),l=n(11),m=n(145),d=n(17),v=n(149),p=n(182),g=n(148),y=n(133),R=n.n(y);var F=function(e){var t=e.docsSearchVersionsHelpers,n=Object.entries(t.allDocsData).filter((function(e){return e[1].versions.length>1}));return i.a.createElement("div",{className:Object(o.a)("col","col--3","padding-left--none",R.a.searchVersi [...]
\ No newline at end of file
diff --git a/assets/js/71.349eb674.js.LICENSE.txt b/zh/assets/js/73.d01d80fc.js.LICENSE.txt
similarity index 100%
rename from assets/js/71.349eb674.js.LICENSE.txt
rename to zh/assets/js/73.d01d80fc.js.LICENSE.txt
diff --git a/zh/assets/js/72.359b3048.js b/zh/assets/js/74.072c7f25.js
similarity index 93%
rename from zh/assets/js/72.359b3048.js
rename to zh/assets/js/74.072c7f25.js
index 085a044..df2c4a5 100644
--- a/zh/assets/js/72.359b3048.js
+++ b/zh/assets/js/74.072c7f25.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[72,75],{142:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[74,77],{144:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable [...]
\ No newline at end of file
diff --git a/zh/assets/js/749ed826.847a09b1.js b/zh/assets/js/749ed826.9e8f3d36.js
similarity index 98%
rename from zh/assets/js/749ed826.847a09b1.js
rename to zh/assets/js/749ed826.9e8f3d36.js
index 4a31961..e13e910 100644
--- a/zh/assets/js/749ed826.847a09b1.js
+++ b/zh/assets/js/749ed826.9e8f3d36.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{101:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(142)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{101:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(144)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
diff --git a/assets/js/73.149af841.js b/zh/assets/js/75.725ba8a9.js
similarity index 99%
rename from assets/js/73.149af841.js
rename to zh/assets/js/75.725ba8a9.js
index 5b13c47..12c3329 100644
--- a/assets/js/73.149af841.js
+++ b/zh/assets/js/75.725ba8a9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{242:function(e,t,r){"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t,r){var a=t.initialState;return{getState:func [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{244:function(e,t,r){"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t,r){var a=t.initialState;return{getState:func [...]
\ No newline at end of file
diff --git a/zh/assets/js/74.6d6bc613.js b/zh/assets/js/76.fa416dc7.js
similarity index 62%
rename from zh/assets/js/74.6d6bc613.js
rename to zh/assets/js/76.fa416dc7.js
index 9e138f6..8a78a8e 100644
--- a/zh/assets/js/74.6d6bc613.js
+++ b/zh/assets/js/76.fa416dc7.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{241:function(n,i,o){"use strict";o.r(i);var r=o(62);for(var t in r)["default"].indexOf(t)<0&&function(n){o.d(i,n,(function(){return r[n]}))}(t)}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{243:function(n,i,o){"use strict";o.r(i);var r=o(62);for(var t in r)["default"].indexOf(t)<0&&function(n){o.d(i,n,(function(){return r[n]}))}(t)}}]);
\ No newline at end of file
diff --git a/zh/assets/js/75.f01d5ce7.js b/zh/assets/js/77.35c51a5d.js
similarity index 76%
rename from zh/assets/js/75.f01d5ce7.js
rename to zh/assets/js/77.35c51a5d.js
index 28e5bde..11aff6b 100644
--- a/zh/assets/js/75.f01d5ce7.js
+++ b/zh/assets/js/77.35c51a5d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{174:function(e,t,a){"use strict";a.r(t);var n=a(0),o=a.n(n),l=a(146);t.default=function(){return o.a.createElement(l.a,{title:"Page Not Found"},o.a.createElement("main",{className:"container margin-vert--xl"},o.a.createElement("div",{className:"row"},o.a.createElement("div",{className:"col col--6 col--offset-3"},o.a.createElement("h1",{className:"hero__title"},"Page Not Found"),o.a.createElement("p",null,"We could not find what yo [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{176:function(e,t,a){"use strict";a.r(t);var n=a(0),o=a.n(n),l=a(148);t.default=function(){return o.a.createElement(l.a,{title:"Page Not Found"},o.a.createElement("main",{className:"container margin-vert--xl"},o.a.createElement("div",{className:"row"},o.a.createElement("div",{className:"col col--6 col--offset-3"},o.a.createElement("h1",{className:"hero__title"},"Page Not Found"),o.a.createElement("p",null,"We could not find what yo [...]
\ No newline at end of file
diff --git a/assets/js/76.0f6d1c85.js b/zh/assets/js/78.82157586.js
similarity index 98%
rename from assets/js/76.0f6d1c85.js
rename to zh/assets/js/78.82157586.js
index 6d2c252..9f7b485 100644
--- a/assets/js/76.0f6d1c85.js
+++ b/zh/assets/js/78.82157586.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{243:function(t,e,n){"use strict";var s=n(3),a=n(7),i=n(4);n(1);function o(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var r=n(0),p=n.n(r),l=n(25),u=n.n(l),c=!1,d=p.a.createContext(null),E="unmounted",f="exited",h="entering",x="entered",m="exiting",v=function(t){function e(e,n){var s;s=t.call(this,e,n)||this;var a,i=n&&!n.isMounting?e.enter:e.appear;return s.appea [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{245:function(t,e,n){"use strict";var s=n(3),a=n(7),i=n(4);n(1);function o(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var r=n(0),p=n.n(r),l=n(25),u=n.n(l),c=!1,d=p.a.createContext(null),E="unmounted",f="exited",h="entering",x="entered",m="exiting",v=function(t){function e(e,n){var s;s=t.call(this,e,n)||this;var a,i=n&&!n.isMounting?e.enter:e.appear;return s.appea [...]
\ No newline at end of file
diff --git a/zh/assets/js/7af3052c.0fdbd782.js b/zh/assets/js/7af3052c.0fdbd782.js
deleted file mode 100644
index 3e7f929..0000000
--- a/zh/assets/js/7af3052c.0fdbd782.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{102:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(7),r=(t(0),t(142)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/zh/assets/js/7af3052c.a6b94c00.js b/zh/assets/js/7af3052c.a6b94c00.js
new file mode 100644
index 0000000..9952348
--- /dev/null
+++ b/zh/assets/js/7af3052c.a6b94c00.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{102:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(7),r=(t(0),t(144)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/zh/assets/js/7e37206e.47417889.js b/zh/assets/js/7e37206e.25d919d0.js
similarity index 93%
rename from zh/assets/js/7e37206e.47417889.js
rename to zh/assets/js/7e37206e.25d919d0.js
index 5a3472a..f4ad748 100644
--- a/zh/assets/js/7e37206e.47417889.js
+++ b/zh/assets/js/7e37206e.25d919d0.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{103:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),i=a(151),l=a(146),c=a(167),o=i.a.h1.withConfig({displayName:"help__PageTitle",componentId:"sc-1evwiii-0"})(["margin-top:2rem;font-size:3rem;font-weight:800;"]),s=i.a.div.withConfig({displayName:"help__PageSubtitle",componentId:"sc-1evwiii-1"})(["margin-bottom:3rem;"]),m=i.a.div.withConfig({displayName:"help__Page",componentId:"sc-1evwiii-2"})(["max-width:var(--ifm-contain [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{103:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),i=a(153),l=a(148),c=a(169),o=i.a.h1.withConfig({displayName:"help__PageTitle",componentId:"sc-1evwiii-0"})(["margin-top:2rem;font-size:3rem;font-weight:800;"]),s=i.a.div.withConfig({displayName:"help__PageSubtitle",componentId:"sc-1evwiii-1"})(["margin-bottom:3rem;"]),m=i.a.div.withConfig({displayName:"help__Page",componentId:"sc-1evwiii-2"})(["max-width:var(--ifm-contain [...]
\ No newline at end of file
diff --git a/assets/js/859cc09f.5182d9b0.js b/zh/assets/js/859cc09f.e6a336f2.js
similarity index 66%
rename from assets/js/859cc09f.5182d9b0.js
rename to zh/assets/js/859cc09f.e6a336f2.js
index 1867e3e..c225aa4 100644
--- a/assets/js/859cc09f.5182d9b0.js
+++ b/zh/assets/js/859cc09f.e6a336f2.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{136:function(e,t,r){"use strict";r.r(t);var n=r(0),a=r.n(n),o=r(151),i=r(146),l=r(17),c=r(168);function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{138:function(e,t,r){"use strict";r.r(t);var n=r(0),a=r.n(n),o=r(153),i=r(148),l=r(17),c=r(170);function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++ [...]
\ No newline at end of file
diff --git a/zh/assets/js/8e27d69a.6bc2010a.js b/zh/assets/js/8e27d69a.5e128735.js
similarity index 97%
rename from zh/assets/js/8e27d69a.6bc2010a.js
rename to zh/assets/js/8e27d69a.5e128735.js
index 16e0185..0f64eed 100644
--- a/zh/assets/js/8e27d69a.6bc2010a.js
+++ b/zh/assets/js/8e27d69a.5e128735.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{105:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(7),o=(n(0),n(142)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3c [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{105:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(7),o=(n(0),n(144)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3c [...]
\ No newline at end of file
diff --git a/zh/assets/js/8e784bf3.85c4ae00.js b/zh/assets/js/8e784bf3.85c4ae00.js
new file mode 100644
index 0000000..3b75e95
--- /dev/null
+++ b/zh/assets/js/8e784bf3.85c4ae00.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{106:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(7),a=(n(0),n(144)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/d [...]
\ No newline at end of file
diff --git a/zh/assets/js/8e784bf3.c6dfa142.js b/zh/assets/js/8e784bf3.c6dfa142.js
deleted file mode 100644
index 2b4c5e8..0000000
--- a/zh/assets/js/8e784bf3.c6dfa142.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{106:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(7),a=(n(0),n(142)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/d [...]
\ No newline at end of file
diff --git a/zh/assets/js/93013804.f959c90b.js b/zh/assets/js/93013804.b3d50039.js
similarity index 97%
rename from zh/assets/js/93013804.f959c90b.js
rename to zh/assets/js/93013804.b3d50039.js
index efbc89f..1fa7fe6 100644
--- a/zh/assets/js/93013804.f959c90b.js
+++ b/zh/assets/js/93013804.b3d50039.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{107:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(7),a=(n(0),n(142)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",sou [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{107:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(7),a=(n(0),n(144)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",sou [...]
\ No newline at end of file
diff --git a/zh/assets/js/941c758c.d2278123.js b/zh/assets/js/941c758c.03c0078f.js
similarity index 97%
rename from zh/assets/js/941c758c.d2278123.js
rename to zh/assets/js/941c758c.03c0078f.js
index 2633a64..18be205 100644
--- a/zh/assets/js/941c758c.d2278123.js
+++ b/zh/assets/js/941c758c.03c0078f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{109:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),i=(r(0),r(142)),c={title:"Proxy the httpbin service"},o={unversionedId:"samples/proxy-the-httpbin-service",id:"samples/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description:"\x3c [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{109:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),i=(r(0),r(144)),c={title:"Proxy the httpbin service"},o={unversionedId:"samples/proxy-the-httpbin-service",id:"samples/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description:"\x3c [...]
\ No newline at end of file
diff --git a/zh/assets/js/96ff6680.77f08385.js b/zh/assets/js/96ff6680.77f08385.js
new file mode 100644
index 0000000..85bf8d1
--- /dev/null
+++ b/zh/assets/js/96ff6680.77f08385.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{110:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return c})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return i})),a.d(t,"default",(function(){return s}));var r=a(3),n=a(7),o=(a(0),a(144)),c={title:"Install Apache APISIX from Helm Charts",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=400&u=f48ef50c5621a1616a [...]
\ No newline at end of file
diff --git a/zh/assets/js/98c69322.997e699b.js b/zh/assets/js/98c69322.f273488f.js
similarity index 96%
rename from zh/assets/js/98c69322.997e699b.js
rename to zh/assets/js/98c69322.f273488f.js
index 7be2a78..5015da1 100644
--- a/zh/assets/js/98c69322.997e699b.js
+++ b/zh/assets/js/98c69322.f273488f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{156:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{158:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
diff --git a/zh/assets/js/9c26c05d.4843f673.js b/zh/assets/js/9c26c05d.72846d5e.js
similarity index 96%
rename from zh/assets/js/9c26c05d.4843f673.js
rename to zh/assets/js/9c26c05d.72846d5e.js
index 3da8c7b..01aec58 100644
--- a/zh/assets/js/9c26c05d.4843f673.js
+++ b/zh/assets/js/9c26c05d.72846d5e.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{110:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(7),a=(n(0),n(142)),i={title:"Contributing to apisix-ingress-controller"},s={unversionedId:"contribute",id:"contribute",isDocsHomePage:!1,title:"Contributing to apisix-ingress-controller",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{111:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(7),a=(n(0),n(144)),i={title:"Contributing to apisix-ingress-controller"},s={unversionedId:"contribute",id:"contribute",isDocsHomePage:!1,title:"Contributing to apisix-ingress-controller",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
diff --git a/zh/assets/js/9dc47d34.39aeedfe.js b/zh/assets/js/9dc47d34.b037722e.js
similarity index 97%
rename from zh/assets/js/9dc47d34.39aeedfe.js
rename to zh/assets/js/9dc47d34.b037722e.js
index 903fc96..c70d27b 100644
--- a/zh/assets/js/9dc47d34.39aeedfe.js
+++ b/zh/assets/js/9dc47d34.b037722e.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{111:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return l})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),i=r(7),o=(r(0),r(142)),a={title:"FAQ"},l={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"FAQ",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/FAQ.md",slug:"/FAQ",permalink:"/zh/docs/ingress-contro [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{112:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return l})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),i=r(7),o=(r(0),r(144)),a={title:"FAQ"},l={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"FAQ",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/FAQ.md",slug:"/FAQ",permalink:"/zh/docs/ingress-contro [...]
\ No newline at end of file
diff --git a/zh/assets/js/a4a2cefa.3f3a6f80.js b/zh/assets/js/a4a2cefa.dd500388.js
similarity index 99%
rename from zh/assets/js/a4a2cefa.3f3a6f80.js
rename to zh/assets/js/a4a2cefa.dd500388.js
index 2b8a78b..b7d55ea 100644
--- a/zh/assets/js/a4a2cefa.3f3a6f80.js
+++ b/zh/assets/js/a4a2cefa.dd500388.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{112:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var a=r(3),n=r(7),b=(r(0),r(142)),l={title:"\u521d\u63a2 Kubernetes Service APIs",author:"Wei Jin",authorURL:"https://github.com/gxthrj",authorImageURL:"https://avatars2.githubusercontent.com/u/4413028?s=400&u=e140a6d2bf19c426da6498b [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{113:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var a=r(3),n=r(7),b=(r(0),r(144)),l={title:"\u521d\u63a2 Kubernetes Service APIs",author:"Wei Jin",authorURL:"https://github.com/gxthrj",authorImageURL:"https://avatars2.githubusercontent.com/u/4413028?s=400&u=e140a6d2bf19c426da6498b [...]
\ No newline at end of file
diff --git a/zh/assets/js/a6641250.1f085027.js b/zh/assets/js/a6641250.0ac43c04.js
similarity index 94%
rename from zh/assets/js/a6641250.1f085027.js
rename to zh/assets/js/a6641250.0ac43c04.js
index e281f86..ab9cd1a 100644
--- a/zh/assets/js/a6641250.1f085027.js
+++ b/zh/assets/js/a6641250.0ac43c04.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{113:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(142)),c={title:"New website for Apache APISIX",author:"juzhiyuan",authorURL:"https://github.com/juzhiyuan",authorImageURL:"https://avatars3.githubusercontent.com/u/2106987?s=460&u=f92e880ce95fe1fee18becd0a [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{114:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(144)),c={title:"New website for Apache APISIX",author:"juzhiyuan",authorURL:"https://github.com/juzhiyuan",authorImageURL:"https://avatars3.githubusercontent.com/u/2106987?s=460&u=f92e880ce95fe1fee18becd0a [...]
\ No newline at end of file
diff --git a/zh/assets/js/a6aa9e1f.55e4f1e9.js b/zh/assets/js/a6aa9e1f.f61a41a4.js
similarity index 85%
rename from zh/assets/js/a6aa9e1f.55e4f1e9.js
rename to zh/assets/js/a6aa9e1f.f61a41a4.js
index c2a0d85..3968a8e 100644
--- a/zh/assets/js/a6aa9e1f.55e4f1e9.js
+++ b/zh/assets/js/a6aa9e1f.f61a41a4.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{139:function(a,e,t){"use strict";t.r(e);var n=t(0),i=t.n(n),l=t(17),r=t(146),c=t(191),m=t(145);var s=function(a){var e=a.metadata,t=e.previousPage,n=e.nextPage;return i.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},i.a.createElement("div",{className:"pagination-nav__item"},t&&i.a.createElement(m.a,{className:"pagination-nav__link",to:t},i.a.createElement("div",{className:"pagination-na [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{141:function(a,e,t){"use strict";t.r(e);var n=t(0),i=t.n(n),l=t(17),r=t(148),c=t(193),m=t(147);var s=function(a){var e=a.metadata,t=e.previousPage,n=e.nextPage;return i.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},i.a.createElement("div",{className:"pagination-nav__item"},t&&i.a.createElement(m.a,{className:"pagination-nav__link",to:t},i.a.createElement("div",{className:"pagination-na [...]
\ No newline at end of file
diff --git a/zh/assets/js/adbb350b.0e184e37.js b/zh/assets/js/adbb350b.0e184e37.js
deleted file mode 100644
index 6d96d9f..0000000
--- a/zh/assets/js/adbb350b.0e184e37.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{116:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return b}));var n=r(3),o=r(7),a=(r(0),r(142)),i={id:"contributor-guide",title:"Contributor Guide"},c={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bug [...]
\ No newline at end of file
diff --git a/zh/assets/js/adbb350b.b9d87612.js b/zh/assets/js/adbb350b.b9d87612.js
new file mode 100644
index 0000000..0df93b8
--- /dev/null
+++ b/zh/assets/js/adbb350b.b9d87612.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{117:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return b}));var n=r(3),o=r(7),a=(r(0),r(144)),i={id:"contributor-guide",title:"Contributor Guide"},c={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bug [...]
\ No newline at end of file
diff --git a/zh/assets/js/b123c67b.5a8b10cd.js b/zh/assets/js/b123c67b.d714415a.js
similarity index 96%
rename from zh/assets/js/b123c67b.5a8b10cd.js
rename to zh/assets/js/b123c67b.d714415a.js
index dde1c44..cb0b2ff 100644
--- a/zh/assets/js/b123c67b.5a8b10cd.js
+++ b/zh/assets/js/b123c67b.d714415a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{117:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return s})),t.d(n,"toc",(function(){return c})),t.d(n,"default",(function(){return p}));var r=t(3),i=t(7),a=(t(0),t(142)),o={title:"Usage of Ingress controller"},s={unversionedId:"usage",id:"usage",isDocsHomePage:!1,title:"Usage of Ingress controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/us [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{118:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return s})),t.d(n,"toc",(function(){return c})),t.d(n,"default",(function(){return p}));var r=t(3),i=t(7),a=(t(0),t(144)),o={title:"Usage of Ingress controller"},s={unversionedId:"usage",id:"usage",isDocsHomePage:!1,title:"Usage of Ingress controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/us [...]
\ No newline at end of file
diff --git a/zh/assets/js/b4a67526.67bed789.js b/zh/assets/js/b4a67526.67bed789.js
new file mode 100644
index 0000000..9921a6a
--- /dev/null
+++ b/zh/assets/js/b4a67526.67bed789.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{119:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"Ingress Controller","href":"/zh/docs/ingress-controller/design"},{"type":"link","label":"CRD specification","href":"/zh/docs/ingress-controller/CRD-specification"}]},{"collapsed":true [...]
\ No newline at end of file
diff --git a/zh/assets/js/b4a67526.b368103d.js b/zh/assets/js/b4a67526.b368103d.js
deleted file mode 100644
index 22562ac..0000000
--- a/zh/assets/js/b4a67526.b368103d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{118:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"collapsed":true,"type":"category","label":"docs","items":[{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"Ingress Controller","href":"/zh/docs/ingress-controller/design"},{"type":"link","label":"CRD specification","href":"/zh/doc [...]
\ No newline at end of file
diff --git a/zh/assets/js/b58143c5.832eab86.js b/zh/assets/js/b58143c5.504fb486.js
similarity index 97%
rename from zh/assets/js/b58143c5.832eab86.js
rename to zh/assets/js/b58143c5.504fb486.js
index f5361ad..2a2c8f2 100644
--- a/zh/assets/js/b58143c5.832eab86.js
+++ b/zh/assets/js/b58143c5.504fb486.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{119:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(142)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3c [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{120:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(144)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3c [...]
\ No newline at end of file
diff --git a/zh/assets/js/bacea567.a3d76742.js b/zh/assets/js/bacea567.021a9bbd.js
similarity index 94%
rename from zh/assets/js/bacea567.a3d76742.js
rename to zh/assets/js/bacea567.021a9bbd.js
index eab7b3c..fde1593 100644
--- a/zh/assets/js/bacea567.a3d76742.js
+++ b/zh/assets/js/bacea567.021a9bbd.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{120:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(7),o=(r(0),r(142)),c={title:"Release Apache APISIX Dashboard 2.4"},i={permalink:"/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descri [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{121:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(7),o=(r(0),r(144)),c={title:"Release Apache APISIX Dashboard 2.4"},i={permalink:"/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descri [...]
\ No newline at end of file
diff --git a/zh/assets/js/c119cf3c.5f408f81.js b/zh/assets/js/c119cf3c.11a45046.js
similarity index 92%
rename from zh/assets/js/c119cf3c.5f408f81.js
rename to zh/assets/js/c119cf3c.11a45046.js
index 9efd6bf..57ad269 100644
--- a/zh/assets/js/c119cf3c.5f408f81.js
+++ b/zh/assets/js/c119cf3c.11a45046.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{121:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return l}));var n=t(3),a=t(7),o=(t(0),t(142)),c={title:"Release Apache APISIX Ingress Controller 0.3.0"},i={permalink:"/zh/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0",source:"@site/events/2021-02-11-release-apache-apisix-in [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{122:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return l}));var n=t(3),a=t(7),o=(t(0),t(144)),c={title:"Release Apache APISIX Ingress Controller 0.3.0"},i={permalink:"/zh/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0",source:"@site/events/2021-02-11-release-apache-apisix-in [...]
\ No newline at end of file
diff --git a/zh/assets/js/c4f5d8e4.59786acd.js b/zh/assets/js/c4f5d8e4.59786acd.js
deleted file mode 100644
index 646646a..0000000
--- a/zh/assets/js/c4f5d8e4.59786acd.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{122:function(e,t,a){"use strict";a.r(t);var n=a(145),l=a(17),r=a(149),c=a(146),i=a(168),s=a(0),o=a(243),m=a(167),u=a(0),d=function(){var e=Object(s.useState)(0),t=e[0],a=e[1],l=["Dynamic","Real-Time","High-Performance"],c=Object(s.useState)(!0),m=c[0],d=c[1],v=function(e){d(!1),a(e),d(!0)};return Object(s.useEffect)((function(){var e=setInterval((function(){v(t>=l.length-1?0:t+1)}),3600);return function(){return clearInterval(e)}} [...]
\ No newline at end of file
diff --git a/zh/assets/js/c4f5d8e4.7a3a12be.js b/zh/assets/js/c4f5d8e4.7a3a12be.js
new file mode 100644
index 0000000..f307b6a
--- /dev/null
+++ b/zh/assets/js/c4f5d8e4.7a3a12be.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{123:function(e,t,a){"use strict";a.r(t);var n=a(147),l=a(17),r=a(151),c=a(148),i=a(170),s=a(0),o=a(245),m=a(169),u=a(0),d=function(){var e=Object(s.useState)(0),t=e[0],a=e[1],l=["Dynamic","Real-Time","High-Performance"],c=Object(s.useState)(!0),m=c[0],d=c[1],v=function(e){d(!1),a(e),d(!0)};return Object(s.useEffect)((function(){var e=setInterval((function(){v(t>=l.length-1?0:t+1)}),3600);return function(){return clearInterval(e)}} [...]
\ No newline at end of file
diff --git a/zh/assets/js/c5594f1a.5101f105.js b/zh/assets/js/c5594f1a.4254a5bc.js
similarity index 94%
rename from zh/assets/js/c5594f1a.5101f105.js
rename to zh/assets/js/c5594f1a.4254a5bc.js
index 66fe31f..d97e2b9 100644
--- a/zh/assets/js/c5594f1a.5101f105.js
+++ b/zh/assets/js/c5594f1a.4254a5bc.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{123:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(142)),c={title:"Release Apache APISIX Ingress Controller 0.2.0"},i={permalink:"/zh/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0",source:"@site/events/2021-01-19-release-apache-apisix-in [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{124:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(144)),c={title:"Release Apache APISIX Ingress Controller 0.2.0"},i={permalink:"/zh/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0",source:"@site/events/2021-01-19-release-apache-apisix-in [...]
\ No newline at end of file
diff --git a/zh/assets/js/ccc49370.b13b15fc.js b/zh/assets/js/ccc49370.fe9df983.js
similarity index 86%
rename from zh/assets/js/ccc49370.b13b15fc.js
rename to zh/assets/js/ccc49370.fe9df983.js
index 57a76a7..5b06bf3 100644
--- a/zh/assets/js/ccc49370.b13b15fc.js
+++ b/zh/assets/js/ccc49370.fe9df983.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{140:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(146),i=a(191),c=a(145);var o=function(e){var t=e.nextItem,a=e.prevItem;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog post page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},a&&l.a.createElement(c.a,{className:"pagination-nav__link",to:a.permalink},l.a.createElement("div",{className:"pagination-nav__sublabel"}," [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{142:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(148),i=a(193),c=a(147);var o=function(e){var t=e.nextItem,a=e.prevItem;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog post page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},a&&l.a.createElement(c.a,{className:"pagination-nav__link",to:a.permalink},l.a.createElement("div",{className:"pagination-nav__sublabel"}," [...]
\ No newline at end of file
diff --git a/zh/assets/js/d18db9b0.fb7cccf3.js b/zh/assets/js/d18db9b0.e9f0068d.js
similarity index 92%
rename from zh/assets/js/d18db9b0.fb7cccf3.js
rename to zh/assets/js/d18db9b0.e9f0068d.js
index aed3cbf..ab2110b 100644
--- a/zh/assets/js/d18db9b0.fb7cccf3.js
+++ b/zh/assets/js/d18db9b0.e9f0068d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{124:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return a})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return u})),t.d(r,"default",(function(){return l}));var n=t(3),o=t(7),c=(t(0),t(142)),a={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-ingress-controller/IGNORE_DOC.md",slug:"/IGNORE_DOC",permali [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{125:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return a})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return u})),t.d(r,"default",(function(){return l}));var n=t(3),o=t(7),c=(t(0),t(144)),a={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-ingress-controller/IGNORE_DOC.md",slug:"/IGNORE_DOC",permali [...]
\ No newline at end of file
diff --git a/zh/assets/js/d4de91ec.a4fb0674.js b/zh/assets/js/d4de91ec.2bb7e97d.js
similarity index 97%
rename from zh/assets/js/d4de91ec.a4fb0674.js
rename to zh/assets/js/d4de91ec.2bb7e97d.js
index 236778e..a46338b 100644
--- a/zh/assets/js/d4de91ec.a4fb0674.js
+++ b/zh/assets/js/d4de91ec.2bb7e97d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{125:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return b}));var r=a(3),i=a(7),n=(a(0),a(142)),p={title:"Release Apache APISIX Dashboard 2.4"},c={permalink:"/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descri [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{126:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return b}));var r=a(3),i=a(7),n=(a(0),a(144)),p={title:"Release Apache APISIX Dashboard 2.4"},c={permalink:"/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descri [...]
\ No newline at end of file
diff --git a/zh/assets/js/d73fca9b.5f91b662.js b/zh/assets/js/d73fca9b.17cd4604.js
similarity index 55%
rename from zh/assets/js/d73fca9b.5f91b662.js
rename to zh/assets/js/d73fca9b.17cd4604.js
index 07be26d..f96cfc7 100644
--- a/zh/assets/js/d73fca9b.5f91b662.js
+++ b/zh/assets/js/d73fca9b.17cd4604.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{126:function(s){s.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[]},"permalinkToSidebar":{}}')}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{127:function(s){s.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[]},"permalinkToSidebar":{}}')}}]);
\ No newline at end of file
diff --git a/zh/assets/js/e02da2c5.b96f4156.js b/zh/assets/js/e02da2c5.14c8e608.js
similarity index 98%
rename from zh/assets/js/e02da2c5.b96f4156.js
rename to zh/assets/js/e02da2c5.14c8e608.js
index 9b0af22..398b5d4 100644
--- a/zh/assets/js/e02da2c5.b96f4156.js
+++ b/zh/assets/js/e02da2c5.14c8e608.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{127:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(142)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{128:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(144)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
diff --git a/zh/assets/js/e1a3b18d.448a315e.js b/zh/assets/js/e1a3b18d.448a315e.js
new file mode 100644
index 0000000..4b32108
--- /dev/null
+++ b/zh/assets/js/e1a3b18d.448a315e.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{129:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return c})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return i})),a.d(t,"default",(function(){return s}));var r=a(3),n=a(7),o=(a(0),a(144)),c={title:"Install Apache APISIX from Helm Charts",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=400&u=f48ef50c5621a1616a [...]
\ No newline at end of file
diff --git a/zh/assets/js/e451ae2c.59bb1bfd.js b/zh/assets/js/e451ae2c.59bb1bfd.js
new file mode 100644
index 0000000..fd4138b
--- /dev/null
+++ b/zh/assets/js/e451ae2c.59bb1bfd.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{130:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(7),s=(n(0),n(144)),o={title:"Stable Product Delivery with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1fcac6 [...]
\ No newline at end of file
diff --git a/zh/assets/js/e451ae2c.7c7f3e19.js b/zh/assets/js/e451ae2c.7c7f3e19.js
deleted file mode 100644
index 1452549..0000000
--- a/zh/assets/js/e451ae2c.7c7f3e19.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{128:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(7),s=(n(0),n(142)),o={title:"Stable Product Delivery with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1fcac6 [...]
\ No newline at end of file
diff --git a/zh/assets/js/e60dd3b0.dd9d4386.js b/zh/assets/js/e60dd3b0.fc1c68b4.js
similarity index 98%
rename from zh/assets/js/e60dd3b0.dd9d4386.js
rename to zh/assets/js/e60dd3b0.fc1c68b4.js
index 2ac2455..f7755b7 100644
--- a/zh/assets/js/e60dd3b0.dd9d4386.js
+++ b/zh/assets/js/e60dd3b0.fc1c68b4.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{129:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(7),r=(n(0),n(142)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:"/ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{131:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(7),r=(n(0),n(144)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:"/ [...]
\ No newline at end of file
diff --git a/zh/assets/js/f243156b.4a5376af.js b/zh/assets/js/f243156b.9056e1d5.js
similarity index 53%
rename from zh/assets/js/f243156b.4a5376af.js
rename to zh/assets/js/f243156b.9056e1d5.js
index aacfaea..8c74141 100644
--- a/zh/assets/js/f243156b.4a5376af.js
+++ b/zh/assets/js/f243156b.9056e1d5.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{132:function(s){s.exports=JSON.parse('{"pluginId":"docs-apisix-dashboard","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[]},"permalinkToSidebar":{}}')}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{134:function(s){s.exports=JSON.parse('{"pluginId":"docs-apisix-dashboard","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[]},"permalinkToSidebar":{}}')}}]);
\ No newline at end of file
diff --git a/zh/assets/js/f6cd6006.388c9a35.js b/zh/assets/js/f6cd6006.c7eb2518.js
similarity index 97%
rename from zh/assets/js/f6cd6006.388c9a35.js
rename to zh/assets/js/f6cd6006.c7eb2518.js
index 837d5fa..dd4600f 100644
--- a/zh/assets/js/f6cd6006.388c9a35.js
+++ b/zh/assets/js/f6cd6006.c7eb2518.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{133:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(142)),s={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source: [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{135:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(144)),s={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source: [...]
\ No newline at end of file
diff --git a/zh/assets/js/f7488fe8.78be7bf2.js b/zh/assets/js/f7488fe8.5a138bfc.js
similarity index 89%
rename from zh/assets/js/f7488fe8.78be7bf2.js
rename to zh/assets/js/f7488fe8.5a138bfc.js
index 09c8a7b..7b3985e 100644
--- a/zh/assets/js/f7488fe8.78be7bf2.js
+++ b/zh/assets/js/f7488fe8.5a138bfc.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{134:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Release Apache APISIX Dashboard 2.4","permalink":"/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4"},{"title":"Release Apache APISIX Ingress Controller 0.3.0","permalink":"/zh/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0"},{"title":"Release Apache APISIX 2.3","permalink":"/zh/events/2021/02/09/release-apache-apisix-2.3"},{ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{136:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Release Apache APISIX Dashboard 2.4","permalink":"/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4"},{"title":"Release Apache APISIX Ingress Controller 0.3.0","permalink":"/zh/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0"},{"title":"Release Apache APISIX 2.3","permalink":"/zh/events/2021/02/09/release-apache-apisix-2.3"},{ [...]
\ No newline at end of file
diff --git a/zh/assets/js/fa919c95.e28dfe07.js b/zh/assets/js/fa919c95.bd527bbc.js
similarity index 93%
rename from zh/assets/js/fa919c95.e28dfe07.js
rename to zh/assets/js/fa919c95.bd527bbc.js
index f4931c4..55b2365 100644
--- a/zh/assets/js/fa919c95.e28dfe07.js
+++ b/zh/assets/js/fa919c95.bd527bbc.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{135:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(142)),c={title:"Release Apache APISIX Ingress Controller 0.1.0"},i={permalink:"/zh/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0",source:"@site/events/2020-12-23-release-apache-apisix-in [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{137:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(144)),c={title:"Release Apache APISIX Ingress Controller 0.1.0"},i={permalink:"/zh/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0",source:"@site/events/2020-12-23-release-apache-apisix-in [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.090498f9.js b/zh/assets/js/main.090498f9.js
new file mode 100644
index 0000000..7e51f81
--- /dev/null
+++ b/zh/assets/js/main.090498f9.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.090498f9.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[71],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return A})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return L})),n.d(t,"g",(function(){return z})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functio [...]
\ No newline at end of file
diff --git a/assets/js/main.2945d650.js.LICENSE.txt b/zh/assets/js/main.090498f9.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.2945d650.js.LICENSE.txt
rename to zh/assets/js/main.090498f9.js.LICENSE.txt
diff --git a/zh/assets/js/main.97d1759b.js b/zh/assets/js/main.97d1759b.js
deleted file mode 100644
index 9eb9c74..0000000
--- a/zh/assets/js/main.97d1759b.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.97d1759b.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[69],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return A})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return L})),n.d(t,"g",(function(){return z})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functio [...]
\ No newline at end of file
diff --git a/zh/assets/js/runtime~main.6f215418.js b/zh/assets/js/runtime~main.6f215418.js
deleted file mode 100644
index 57381df..0000000
--- a/zh/assets/js/runtime~main.6f215418.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){function a(a){for(var f,r,t=a[0],n=a[1],o=a[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(d,r)&&d[r]&&l.push(d[r][0]),d[r]=0;for(f in n)Object.prototype.hasOwnProperty.call(n,f)&&(e[f]=n[f]);for(i&&i(a);l.length;)l.shift()();return b.push.apply(b,o||[]),c()}function c(){for(var e,a=0;a<b.length;a++){for(var c=b[a],f=!0,r=1;r<c.length;r++){var n=c[r];0!==d[n]&&(f=!1)}f&&(b.splice(a--,1),e=t(t.s=c[0]))}return e}var f={},d={70:0},b=[];function r(e){retu [...]
\ No newline at end of file
diff --git a/zh/assets/js/runtime~main.ec6b69f8.js b/zh/assets/js/runtime~main.ec6b69f8.js
new file mode 100644
index 0000000..6e2c4f6
--- /dev/null
+++ b/zh/assets/js/runtime~main.ec6b69f8.js
@@ -0,0 +1 @@
+!function(e){function c(c){for(var f,r,t=c[0],n=c[1],o=c[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(b,r)&&b[r]&&l.push(b[r][0]),b[r]=0;for(f in n)Object.prototype.hasOwnProperty.call(n,f)&&(e[f]=n[f]);for(i&&i(c);l.length;)l.shift()();return d.push.apply(d,o||[]),a()}function a(){for(var e,c=0;c<d.length;c++){for(var a=d[c],f=!0,r=1;r<a.length;r++){var n=a[r];0!==b[n]&&(f=!1)}f&&(d.splice(c--,1),e=t(t.s=a[0]))}return e}var f={},b={72:0},d=[];function r(e){retu [...]
\ No newline at end of file
diff --git a/assets/js/styles.eb3bbc55.js b/zh/assets/js/styles.a0e71f6a.js
similarity index 92%
rename from assets/js/styles.eb3bbc55.js
rename to zh/assets/js/styles.a0e71f6a.js
index 3221228..01ab4e5 100644
--- a/assets/js/styles.eb3bbc55.js
+++ b/zh/assets/js/styles.a0e71f6a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{113:function(e,o,n){e.exports={blogPostTitle:"blogPostTitle_GeHD",blogPostDate:"blogPostDate_fNvV"}},114:function(e,o,n){e.exports={sidebar:"sidebar_2ahu",sidebarItemTitle:"sidebarItemTitle_2hhb",sidebarItemList:"sidebarItemList_2xAf",sidebarItem:"sidebarItem_2UVv",sidebarItemLink:"sidebarItemLink_1RT6",sidebarItemLinkActive:"sidebarItemLinkActive_12pM"}},131:function(e,o,n){e.exports={searchQueryInput:"searchQueryInput_35WP",searc [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{115:function(e,o,n){e.exports={blogPostTitle:"blogPostTitle_GeHD",blogPostDate:"blogPostDate_fNvV"}},116:function(e,o,n){e.exports={sidebar:"sidebar_2ahu",sidebarItemTitle:"sidebarItemTitle_2hhb",sidebarItemList:"sidebarItemList_2xAf",sidebarItem:"sidebarItem_2UVv",sidebarItemLink:"sidebarItemLink_1RT6",sidebarItemLinkActive:"sidebarItemLinkActive_12pM"}},133:function(e,o,n){e.exports={searchQueryInput:"searchQueryInput_35WP",searc [...]
\ No newline at end of file
diff --git a/zh/blog/2020/08/22/new-website/index.html b/zh/blog/2020/08/22/new-website/index.html
index 289cc13..9b24e52 100644
--- a/zh/blog/2020/08/22/new-website/index.html
+++ b/zh/blog/2020/08/22/new-website/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">New website for Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="New website for Apache APISIX | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="We are just refactored out website for Apache APISIX by using docusaurus."><meta data-react-helmet="true" name="t [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/2d8fe9ee.fbf876c8.js" as="script">
-<link rel="preload" href="/zh/assets/js/a6641250.1f085027.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/2d8fe9ee.4742932a.js" as="script">
+<link rel="preload" href="/zh/assets/js/a6641250.0ac43c04.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/2d8fe9ee.fbf876c8.js"></script>
-<script src="/zh/assets/js/a6641250.1f085027.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/2d8fe9ee.4742932a.js"></script>
+<script src="/zh/assets/js/a6641250.0ac43c04.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html b/zh/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
index 80e6009..eaa2aea 100644
--- a/zh/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/zh/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -11,29 +11,29 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@nic-chen, Apache APISIX PMC from Shenz [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/2d8fe9ee.fbf876c8.js" as="script">
-<link rel="preload" href="/zh/assets/js/749ed826.847a09b1.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/2d8fe9ee.4742932a.js" as="script">
+<link rel="preload" href="/zh/assets/js/749ed826.9e8f3d36.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this  [...]
 In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client request data into <code> [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/2d8fe9ee.fbf876c8.js"></script>
-<script src="/zh/assets/js/749ed826.847a09b1.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/2d8fe9ee.4742932a.js"></script>
+<script src="/zh/assets/js/749ed826.9e8f3d36.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html b/zh/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
index 9033f1a..3fb77be 100644
--- a/zh/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
+++ b/zh/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">初探 Kubernetes Service APIs | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="初探 Kubernetes Service APIs | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@gxthrj, Apache APISIX PMC &amp; Apache apisix-ingress-controller Founder from Shenzhen Zhiliu Technology Co."><meta da [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/2d8fe9ee.fbf876c8.js" as="script">
-<link rel="preload" href="/zh/assets/js/a4a2cefa.3f3a6f80.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/2d8fe9ee.4742932a.js" as="script">
+<link rel="preload" href="/zh/assets/js/a4a2cefa.dd500388.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/2d8fe9ee.fbf876c8.js"></script>
-<script src="/zh/assets/js/a4a2cefa.3f3a6f80.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/2d8fe9ee.4742932a.js"></script>
+<script src="/zh/assets/js/a4a2cefa.dd500388.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html b/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
index 07170e0..c53254b 100644
--- a/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -11,28 +11,28 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Run Ingress APISIX on Amazon EKS | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@Chao Zhang, Apache APISIX Comitter from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" nam [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/2d8fe9ee.fbf876c8.js" as="script">
-<link rel="preload" href="/zh/assets/js/1c89ab3b.6f69acc2.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/2d8fe9ee.4742932a.js" as="script">
+<link rel="preload" href="/zh/assets/js/1c89ab3b.b2ca3c56.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;headers&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token plain"> </span><span c [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/2d8fe9ee.fbf876c8.js"></script>
-<script src="/zh/assets/js/1c89ab3b.6f69acc2.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/2d8fe9ee.4742932a.js"></script>
+<script src="/zh/assets/js/1c89ab3b.b2ca3c56.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/blog/2021/02/08/stable-product-delivery-with-cypress/index.html b/zh/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
index d2d086b..d1d017f 100644
--- a/zh/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/zh/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stable Product Delivery with Cypress | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Stable Product Delivery with Cypress | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="tru [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/2d8fe9ee.fbf876c8.js" as="script">
-<link rel="preload" href="/zh/assets/js/47e0bf55.541e57ca.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/2d8fe9ee.4742932a.js" as="script">
+<link rel="preload" href="/zh/assets/js/47e0bf55.8a9c6657.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/2d8fe9ee.fbf876c8.js"></script>
-<script src="/zh/assets/js/47e0bf55.541e57ca.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/2d8fe9ee.4742932a.js"></script>
+<script src="/zh/assets/js/47e0bf55.8a9c6657.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html b/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
new file mode 100644
index 0000000..783c53d
--- /dev/null
+++ b/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -0,0 +1,39 @@
+<!doctype html>
+<html lang="zh">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-alpha.fd17476c3">
+<meta name="robots" content="noindex, nofollow">
+<link rel="alternate" type="application/rss+xml" href="/zh/blog/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/zh/blog/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX™" href="/zh/opensearch.xml">
+<link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Apache APISIX from Helm Charts | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Install Apache APISIX from Helm Charts | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet=" [...]
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/2d8fe9ee.4742932a.js" as="script">
+<link rel="preload" href="/zh/assets/js/96ff6680.77f08385.js" as="script">
+</head>
+<body>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APIS [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAMESPACE: default</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">STATUS: deployed</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/2d8fe9ee.4742932a.js"></script>
+<script src="/zh/assets/js/96ff6680.77f08385.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh/blog/atom.xml b/zh/blog/atom.xml
index 30641a0..0e64ed2 100644
--- a/zh/blog/atom.xml
+++ b/zh/blog/atom.xml
@@ -2,12 +2,19 @@
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://apisix.apache.org/blog</id>
     <title>Apache APISIX™ Blog</title>
-    <updated>2021-02-08T00:00:00.000Z</updated>
+    <updated>2021-02-26T00:00:00.000Z</updated>
     <generator>https://github.com/jpmonette/feed</generator>
     <link rel="alternate" href="https://apisix.apache.org/blog"/>
     <subtitle>Apache APISIX™ Blog</subtitle>
     <icon>https://apisix.apache.org/img/favicon.png</icon>
     <entry>
+        <title type="html"><![CDATA[Install Apache APISIX from Helm Charts]]></title>
+        <id>Install Apache APISIX from Helm Charts</id>
+        <link href="https://apisix.apache.org/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts"/>
+        <updated>2021-02-26T00:00:00.000Z</updated>
+        <summary type="html"><![CDATA[@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co.]]></summary>
+    </entry>
+    <entry>
         <title type="html"><![CDATA[Stable Product Delivery with Cypress]]></title>
         <id>Stable Product Delivery with Cypress</id>
         <link href="https://apisix.apache.org/zh/blog/2021/02/08/stable-product-delivery-with-cypress"/>
diff --git a/zh/blog/index.html b/zh/blog/index.html
index 87405b8..144ed52 100644
--- a/zh/blog/index.html
+++ b/zh/blog/index.html
@@ -11,40 +11,44 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apa [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/a6aa9e1f.55e4f1e9.js" as="script">
-<link rel="preload" href="/zh/assets/js/2d8fe9ee.fbf876c8.js" as="script">
-<link rel="preload" href="/zh/assets/js/e451ae2c.7c7f3e19.js" as="script">
-<link rel="preload" href="/zh/assets/js/514de2af.f6fa3dd7.js" as="script">
-<link rel="preload" href="/zh/assets/js/5bb67ffc.d3af9290.js" as="script">
-<link rel="preload" href="/zh/assets/js/e02da2c5.b96f4156.js" as="script">
-<link rel="preload" href="/zh/assets/js/37e3b3ea.f93e1258.js" as="script">
-<link rel="preload" href="/zh/assets/js/3a332aed.d2074a04.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/a6aa9e1f.f61a41a4.js" as="script">
+<link rel="preload" href="/zh/assets/js/2d8fe9ee.4742932a.js" as="script">
+<link rel="preload" href="/zh/assets/js/e1a3b18d.448a315e.js" as="script">
+<link rel="preload" href="/zh/assets/js/e451ae2c.59bb1bfd.js" as="script">
+<link rel="preload" href="/zh/assets/js/514de2af.9f0f3f02.js" as="script">
+<link rel="preload" href="/zh/assets/js/5bb67ffc.0e60759a.js" as="script">
+<link rel="preload" href="/zh/assets/js/e02da2c5.14c8e608.js" as="script">
+<link rel="preload" href="/zh/assets/js/37e3b3ea.fec49bbf.js" as="script">
+<link rel="preload" href="/zh/assets/js/3a332aed.49abc7b8.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APIS [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAMESPACE: default</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">STATUS: deployed</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;headers&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token plain"> </span><span c [...]
 A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this  [...]
 In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client request data into <code> [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/a6aa9e1f.55e4f1e9.js"></script>
-<script src="/zh/assets/js/2d8fe9ee.fbf876c8.js"></script>
-<script src="/zh/assets/js/e451ae2c.7c7f3e19.js"></script>
-<script src="/zh/assets/js/514de2af.f6fa3dd7.js"></script>
-<script src="/zh/assets/js/5bb67ffc.d3af9290.js"></script>
-<script src="/zh/assets/js/e02da2c5.b96f4156.js"></script>
-<script src="/zh/assets/js/37e3b3ea.f93e1258.js"></script>
-<script src="/zh/assets/js/3a332aed.d2074a04.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/a6aa9e1f.f61a41a4.js"></script>
+<script src="/zh/assets/js/2d8fe9ee.4742932a.js"></script>
+<script src="/zh/assets/js/e1a3b18d.448a315e.js"></script>
+<script src="/zh/assets/js/e451ae2c.59bb1bfd.js"></script>
+<script src="/zh/assets/js/514de2af.9f0f3f02.js"></script>
+<script src="/zh/assets/js/5bb67ffc.0e60759a.js"></script>
+<script src="/zh/assets/js/e02da2c5.14c8e608.js"></script>
+<script src="/zh/assets/js/37e3b3ea.fec49bbf.js"></script>
+<script src="/zh/assets/js/3a332aed.49abc7b8.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/blog/rss.xml b/zh/blog/rss.xml
index 80a3f73..36932db 100644
--- a/zh/blog/rss.xml
+++ b/zh/blog/rss.xml
@@ -4,10 +4,17 @@
         <title>Apache APISIX™ Blog</title>
         <link>https://apisix.apache.org/blog</link>
         <description>Apache APISIX™ Blog</description>
-        <lastBuildDate>Mon, 08 Feb 2021 00:00:00 GMT</lastBuildDate>
+        <lastBuildDate>Fri, 26 Feb 2021 00:00:00 GMT</lastBuildDate>
         <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
         <generator>https://github.com/jpmonette/feed</generator>
         <item>
+            <title><![CDATA[Install Apache APISIX from Helm Charts]]></title>
+            <link>https://apisix.apache.org/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts</link>
+            <guid>Install Apache APISIX from Helm Charts</guid>
+            <pubDate>Fri, 26 Feb 2021 00:00:00 GMT</pubDate>
+            <description><![CDATA[@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co.]]></description>
+        </item>
+        <item>
             <title><![CDATA[Stable Product Delivery with Cypress]]></title>
             <link>https://apisix.apache.org/zh/blog/2021/02/08/stable-product-delivery-with-cypress</link>
             <guid>Stable Product Delivery with Cypress</guid>
diff --git a/zh/docs/apisix/IGNORE_DOC/index.html b/zh/docs/apisix/IGNORE_DOC/index.html
index a1eaaec..46908e2 100644
--- a/zh/docs/apisix/IGNORE_DOC/index.html
+++ b/zh/docs/apisix/IGNORE_DOC/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.5f91b662.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/601c6eaa.4a1a6653.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.17cd4604.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/601c6eaa.1e8ceecc.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/d73fca9b.5f91b662.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/601c6eaa.4a1a6653.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/d73fca9b.17cd4604.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/601c6eaa.1e8ceecc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/dashboard/IGNORE_DOC/index.html b/zh/docs/dashboard/IGNORE_DOC/index.html
index df85387..cde1cf6 100644
--- a/zh/docs/dashboard/IGNORE_DOC/index.html
+++ b/zh/docs/dashboard/IGNORE_DOC/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/f243156b.4a5376af.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/3393d167.a39dd25a.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/f243156b.9056e1d5.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/3393d167.8a718e77.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/f243156b.4a5376af.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/3393d167.a39dd25a.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/f243156b.9056e1d5.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/3393d167.8a718e77.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/2fa/index.html b/zh/docs/general/2fa/index.html
index d327f95..a68a665 100644
--- a/zh/docs/general/2fa/index.html
+++ b/zh/docs/general/2fa/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">2FA | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-default-cur [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.bcd5abbb.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/3dc9f306.b822db76.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/3dc9f306.0efa0f0c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/zh/assets/js/935f2afb.bcd5abbb.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/3dc9f306.b822db76.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/3dc9f306.0efa0f0c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/committer-guide/index.html b/zh/docs/general/committer-guide/index.html
index 7b95995..86d35e9 100644
--- a/zh/docs/general/committer-guide/index.html
+++ b/zh/docs/general/committer-guide/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Committer Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.bcd5abbb.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/8e784bf3.c6dfa142.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/8e784bf3.85c4ae00.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/zh/assets/js/935f2afb.bcd5abbb.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/8e784bf3.c6dfa142.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/8e784bf3.85c4ae00.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/contributor-guide/index.html b/zh/docs/general/contributor-guide/index.html
index 3e803ca..f245d5b 100644
--- a/zh/docs/general/contributor-guide/index.html
+++ b/zh/docs/general/contributor-guide/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributor Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="do [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.bcd5abbb.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/adbb350b.0e184e37.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/adbb350b.b9d87612.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/zh/assets/js/935f2afb.bcd5abbb.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/adbb350b.0e184e37.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/adbb350b.b9d87612.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/release-guide/index.html b/zh/docs/general/release-guide/index.html
index c21c5d9..8d16a8e 100644
--- a/zh/docs/general/release-guide/index.html
+++ b/zh/docs/general/release-guide/index.html
@@ -11,15 +11,15 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.bcd5abbb.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/7af3052c.0fdbd782.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/7af3052c.a6b94c00.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -69,15 +69,15 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">The vote will be open for at least 72 hours or until necessary number of</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">votes are reached.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Please vote accordingly:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] +1 approve</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] +0 no opinion</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] -1 disapprove with the reason</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
-</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="send-vote-result-thread-to-the-dev-mailing-list"></a>Send VOTE RESULT thread to the dev mailing list<a class="hash-link" href="#send-vote-result-thread-to-the-dev-mailing-list" title="Direct link to heading">#</a></h3><p>Click <a href="https://lists.apache.org/thread.html/r9153da7 [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
+</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="send-vote-result-thread-to-the-dev-mailing-list"></a>Send VOTE RESULT thread to the dev mailing list<a class="hash-link" href="#send-vote-result-thread-to-the-dev-mailing-list" title="Direct link to heading">#</a></h3><p>Click <a href="https://lists.apache.org/thread.html/r9153da7 [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/zh/assets/js/935f2afb.bcd5abbb.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/7af3052c.0fdbd782.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/7af3052c.a6b94c00.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/security/index.html b/zh/docs/general/security/index.html
index 3f848e6..480b66a 100644
--- a/zh/docs/general/security/index.html
+++ b/zh/docs/general/security/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Security | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-defaul [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.bcd5abbb.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/66fbb9c2.4846c3a4.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/66fbb9c2.5a4bf691.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/zh/assets/js/935f2afb.bcd5abbb.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/66fbb9c2.4846c3a4.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/66fbb9c2.5a4bf691.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/subscribe-guide/index.html b/zh/docs/general/subscribe-guide/index.html
index 7277632..cd006bd 100644
--- a/zh/docs/general/subscribe-guide/index.html
+++ b/zh/docs/general/subscribe-guide/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Subscribe Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.bcd5abbb.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/50facf8e.456618e2.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/50facf8e.621498b0.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
 <script src="/zh/assets/js/935f2afb.bcd5abbb.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/50facf8e.456618e2.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/50facf8e.621498b0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/index.html b/zh/docs/index.html
index f4cd00c..49fd120 100644
--- a/zh/docs/index.html
+++ b/zh/docs/index.html
@@ -11,23 +11,23 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//zh/docs"><meta data-react-helmet="true" name="docsearch:language" content="zh [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/zh/assets/js/25b7c3f2.3c5dfa02.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/zh/assets/js/25b7c3f2.288f254a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/3.b8da59b5.js"></script>
-<script src="/zh/assets/js/25b7c3f2.3c5dfa02.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/3.210f7ae8.js"></script>
+<script src="/zh/assets/js/25b7c3f2.288f254a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/CRD-specification/index.html b/zh/docs/ingress-controller/CRD-specification/index.html
index dc486a3..41e8b1d 100644
--- a/zh/docs/ingress-controller/CRD-specification/index.html
+++ b/zh/docs/ingress-controller/CRD-specification/index.html
@@ -11,19 +11,19 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">CRD specification | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="do [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/03b7a20f.1dd07acb.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/03b7a20f.3e314c4e.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 then loads and executes the corresponding plugin based on the matching result, and forwards the request to the specified Upstream.
 To learn more, please check the <a href="https://github.com/apache/apisix/blob/master/doc/architecture-design.md#route" target="_blank" rel="noopener noreferrer">Apache APISIX architecture-design docs</a>.</p><p>Structure example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style=" [...]
 load balancing, health check, retry, timeout parameters and etc.</p><p>Resort to <code>ApisixUpstream</code> and the Kubernetes Service, apisix ingress controller will generates the APISIX Upstream(s).
@@ -42,14 +42,14 @@ In that case, you can create configurations for individual port.</p><div class="
 In the meanwhile, the ApisixUpstream <code>foo</code> sets <code>http</code> scheme for port <code>7000</code> and <code>grpc</code> scheme for <code>7001</code>
 (all ports are the service port). But both ports shares the load balancer configuration.</p><p><code>PortLevelSettings</code> is not mandatory if the service only exposes one port but is useful when multiple ports are defined.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="configuration-references"></a>Configuration References<a class="hash-link" href="#configuration-references" title="Direct link to heading">#</a></h3><table><thead><tr><th>Field</th><t [...]
 To learn more, please check the <a href="https://github.com/apache/apisix/blob/master/doc/architecture-design.md#router" target="_blank" rel="noopener noreferrer">Apache APISIX architecture-design docs</a>.</p><p>Structure example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style= [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/03b7a20f.1dd07acb.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/03b7a20f.3e314c4e.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/FAQ/index.html b/zh/docs/ingress-controller/FAQ/index.html
index 3beb1af..49e9d7c 100644
--- a/zh/docs/ingress-controller/FAQ/index.html
+++ b/zh/docs/ingress-controller/FAQ/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisix [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/9dc47d34.39aeedfe.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/9dc47d34.b037722e.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/9dc47d34.39aeedfe.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/9dc47d34.b037722e.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/IGNORE_DOC/index.html b/zh/docs/ingress-controller/IGNORE_DOC/index.html
index a99a6c5..1fa5c21 100644
--- a/zh/docs/ingress-controller/IGNORE_DOC/index.html
+++ b/zh/docs/ingress-controller/IGNORE_DOC/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/d18db9b0.fb7cccf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/d18db9b0.e9f0068d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/d18db9b0.fb7cccf3.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/d18db9b0.e9f0068d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/contribute/index.html b/zh/docs/ingress-controller/contribute/index.html
index 2d931ec..abbb64f 100644
--- a/zh/docs/ingress-controller/contribute/index.html
+++ b/zh/docs/ingress-controller/contribute/index.html
@@ -11,31 +11,31 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributing to apisix-ingress-controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:doc [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/9c26c05d.4843f673.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/9c26c05d.72846d5e.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 pleasant first experience for you, and that you will return to continue
 contributing.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-contribute"></a>How to contribute<a class="hash-link" href="#how-to-contribute" title="Direct link to heading">#</a></h2><p>Most of the contributions that we receive are code contributions, but you can
 also contribute to the documentation or simply report solid bugs
 for us to fix.</p><p> For new contributors, please take a look at issues with a tag called <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22" target="_blank" rel="noopener noreferrer">Good first issue</a> or <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22" target="_blank" rel="noopener noreferrer">Help wanted</a>.</p><h2><a aria-hidden="true" tabind [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/9c26c05d.4843f673.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/9c26c05d.72846d5e.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/deployments/ack/index.html b/zh/docs/ingress-controller/deployments/ack/index.html
index 503345c..015b2d0 100644
--- a/zh/docs/ingress-controller/deployments/ack/index.html
+++ b/zh/docs/ingress-controller/deployments/ack/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on ACK | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/6967878f.b7234289.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/6967878f.b61ec396.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/6967878f.b7234289.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/6967878f.b61ec396.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/deployments/aws/index.html b/zh/docs/ingress-controller/deployments/aws/index.html
index 29847ef..c28effe 100644
--- a/zh/docs/ingress-controller/deployments/aws/index.html
+++ b/zh/docs/ingress-controller/deployments/aws/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Amazon EKS | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/4e55a385.6598c323.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/4e55a385.c7db50ba.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/4e55a385.6598c323.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/4e55a385.c7db50ba.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/deployments/azure/index.html b/zh/docs/ingress-controller/deployments/azure/index.html
index 84aa2bd..9687841 100644
--- a/zh/docs/ingress-controller/deployments/azure/index.html
+++ b/zh/docs/ingress-controller/deployments/azure/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Azure AKS | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusauru [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/f6cd6006.388c9a35.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/f6cd6006.c7eb2518.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/f6cd6006.388c9a35.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/f6cd6006.c7eb2518.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/deployments/gke/index.html b/zh/docs/ingress-controller/deployments/gke/index.html
index 8c026a8..7f723f8 100644
--- a/zh/docs/ingress-controller/deployments/gke/index.html
+++ b/zh/docs/ingress-controller/deployments/gke/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Google Cloud GKE | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/43aea6af.1907e6ff.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/43aea6af.a9cdd804.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/43aea6af.1907e6ff.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/43aea6af.a9cdd804.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/deployments/k3s-rke/index.html b/zh/docs/ingress-controller/deployments/k3s-rke/index.html
index 7b15f83..48066c2 100644
--- a/zh/docs/ingress-controller/deployments/k3s-rke/index.html
+++ b/zh/docs/ingress-controller/deployments/k3s-rke/index.html
@@ -11,29 +11,29 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on K3S and Rancher RKE | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/6f365930.ba5ad84c.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/6f365930.68778c89.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 It&#x27;s a good choice to use Ingress APISIX as the north-south API gateway in K3S.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="prerequisites"></a>Prerequisites<a class="hash-link" href="#prerequisites" title="Direct link to heading">#</a></h2><ul><li>Install <a href="https://rancher.com/docs/k3s/latest/en/installation/" target="_blank" rel="noopener noreferrer">K3S</a> or <a href="https://rancher.com/docs/rke/latest/en/installation/" target="_blank [...]
 If you are using K3S and you want to expose a <code>LoadBalancer</code> service, try to use <a href="https://github.com/k3s-io/klipper-lb" target="_blank" rel="noopener noreferrer">Klipper</a>.</p><p>Another thing should be concerned that the <code>allow.ipList</code> field should be customized according to the Pod CIDR settings(see <a href="https://rancher.com/docs/k3s/latest/en/installation/install-options/server-config/#networking" target="_blank" rel="noopener noreferrer">K3S</a> or  [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/6f365930.ba5ad84c.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/6f365930.68778c89.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/deployments/kubesphere/index.html b/zh/docs/ingress-controller/deployments/kubesphere/index.html
index 782c0c2..4012b9a 100644
--- a/zh/docs/ingress-controller/deployments/kubesphere/index.html
+++ b/zh/docs/ingress-controller/deployments/kubesphere/index.html
@@ -11,28 +11,28 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on KubeSphere | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/b58143c5.832eab86.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/b58143c5.504fb486.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 If you want to expose a <code>LoadBalancer</code> service, try to use <a href="https://github.com/kubesphere/porter" target="_blank" rel="noopener noreferrer">Porter</a>.</p><p>Another thing that should be concerned that the <code>allow.ipList</code> field should be customized according to the Pod CIDR settings, so that the apisix-ingress-controller instances can access the APISIX instances (resources pushing).</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/b58143c5.832eab86.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/b58143c5.504fb486.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/deployments/minikube/index.html b/zh/docs/ingress-controller/deployments/minikube/index.html
index c4795b3..b39935d 100644
--- a/zh/docs/ingress-controller/deployments/minikube/index.html
+++ b/zh/docs/ingress-controller/deployments/minikube/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Minikube | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/93013804.f959c90b.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/93013804.b3d50039.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/93013804.f959c90b.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/93013804.b3d50039.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/deployments/tke/index.html b/zh/docs/ingress-controller/deployments/tke/index.html
index 0052a6e..e1088d3 100644
--- a/zh/docs/ingress-controller/deployments/tke/index.html
+++ b/zh/docs/ingress-controller/deployments/tke/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Ingress APISIX on Tencent TKE | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusau [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/64288df6.93ae58e4.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/64288df6.8af2c99e.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/64288df6.93ae58e4.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/64288df6.8af2c99e.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/design/index.html b/zh/docs/ingress-controller/design/index.html
index 33a5b25..25127d2 100644
--- a/zh/docs/ingress-controller/design/index.html
+++ b/zh/docs/ingress-controller/design/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Ingress Controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="d [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/e60dd3b0.dd9d4386.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/e60dd3b0.fc1c68b4.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/e60dd3b0.dd9d4386.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/e60dd3b0.fc1c68b4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/development/index.html b/zh/docs/ingress-controller/development/index.html
index 0c2e059..5ef4a5a 100644
--- a/zh/docs/ingress-controller/development/index.html
+++ b/zh/docs/ingress-controller/development/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Developing for Apache APISIX Ingress Controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsear [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/8e27d69a.6bc2010a.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/8e27d69a.5e128735.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/8e27d69a.6bc2010a.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/8e27d69a.5e128735.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/samples/index/index.html b/zh/docs/ingress-controller/samples/index/index.html
index c2bbe02..1101c4a 100644
--- a/zh/docs/ingress-controller/samples/index/index.html
+++ b/zh/docs/ingress-controller/samples/index/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Ingress APISIX Use Examples | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" c [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/33c9e5b3.7ddd5619.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/33c9e5b3.cab725ba.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/33c9e5b3.7ddd5619.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/33c9e5b3.cab725ba.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/samples/proxy-the-httpbin-service-with-ingress/index.html b/zh/docs/ingress-controller/samples/proxy-the-httpbin-service-with-ingress/index.html
index 7e189cc..a8b0433 100644
--- a/zh/docs/ingress-controller/samples/proxy-the-httpbin-service-with-ingress/index.html
+++ b/zh/docs/ingress-controller/samples/proxy-the-httpbin-service-with-ingress/index.html
@@ -11,29 +11,29 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Proxy the httpbin service with Ingress | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/5971cb1d.421fffde.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/5971cb1d.41d6b0fc.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Use ingress.networking.k8s.io/v1beta1 if your Kubernetes cluster</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># version is older than v1.19.0.</span><span class= [...]
 Now try to create it.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">kubectl apply -f httpbin-ingress.yaml</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></di [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/5971cb1d.421fffde.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/5971cb1d.41d6b0fc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/samples/proxy-the-httpbin-service/index.html b/zh/docs/ingress-controller/samples/proxy-the-httpbin-service/index.html
index 6c0122a..c35d6d5 100644
--- a/zh/docs/ingress-controller/samples/proxy-the-httpbin-service/index.html
+++ b/zh/docs/ingress-controller/samples/proxy-the-httpbin-service/index.html
@@ -11,28 +11,28 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Proxy the httpbin service | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" con [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/941c758c.d2278123.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/941c758c.03c0078f.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 Now try to create it.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">kubectl apply -f httpbin-route.yaml</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div> [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/941c758c.d2278123.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/941c758c.03c0078f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/ingress-controller/usage/index.html b/zh/docs/ingress-controller/usage/index.html
index ef1bf65..00217a6 100644
--- a/zh/docs/ingress-controller/usage/index.html
+++ b/zh/docs/ingress-controller/usage/index.html
@@ -11,29 +11,29 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Usage of Ingress controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" c [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be78505.5178dac2.js" as="script">
-<link rel="preload" href="/zh/assets/js/b4a67526.b368103d.js" as="script">
-<link rel="preload" href="/zh/assets/js/17896441.e58bae36.js" as="script">
-<link rel="preload" href="/zh/assets/js/b123c67b.5a8b10cd.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be78505.1d3d300b.js" as="script">
+<link rel="preload" href="/zh/assets/js/b4a67526.67bed789.js" as="script">
+<link rel="preload" href="/zh/assets/js/17896441.bde55444.js" as="script">
+<link rel="preload" href="/zh/assets/js/b123c67b.d714415a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 3. Define route: foo-route, id=3, binding service: foo-service</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -XPUT http://127.0.0.1:9080/apisix/admin/routes/3 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div><d [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/1be78505.5178dac2.js"></script>
-<script src="/zh/assets/js/b4a67526.b368103d.js"></script>
-<script src="/zh/assets/js/17896441.e58bae36.js"></script>
-<script src="/zh/assets/js/b123c67b.5a8b10cd.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/1be78505.1d3d300b.js"></script>
+<script src="/zh/assets/js/b4a67526.67bed789.js"></script>
+<script src="/zh/assets/js/17896441.bde55444.js"></script>
+<script src="/zh/assets/js/b123c67b.d714415a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/downloads/ProjectCard/index.html b/zh/downloads/ProjectCard/index.html
index 7eff070..1d8517a 100644
--- a/zh/downloads/ProjectCard/index.html
+++ b/zh/downloads/ProjectCard/index.html
@@ -11,21 +11,21 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true"></title><link rel="stylesheet" href="/zh/assets/css/styles.68c2735f.css">
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/zh/assets/js/98c69322.997e699b.js" as="script">
-<link rel="preload" href="/zh/assets/js/47f8a22a.09ed66e0.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/zh/assets/js/98c69322.f273488f.js" as="script">
+<link rel="preload" href="/zh/assets/js/47f8a22a.8d2629b4.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div class="ProjectCard__Card-sc-12v8c3p-0 fUOFUE"><div class="ProjectCard__LeftSide-sc-12v8c3p-1 ewHYSJ"><a href="https://github.com/undefined" target="_blank" class="ProjectCard__Title-sc-12v8c3p-2 eXqIcO"><span class="ProjectCard__ShapeBeforeTitle-sc-12v8c3p-4 kjTfns"><svg aria-hidden="true" data-prefix="fas" data-icon="hexagon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="hexagon_svg__svg-inline--fa hexagon_svg__fa-hexagon hexagon_svg__fa-w-18 hexagon_svg__fa-7x">< [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/3.b8da59b5.js"></script>
-<script src="/zh/assets/js/98c69322.997e699b.js"></script>
-<script src="/zh/assets/js/47f8a22a.09ed66e0.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/3.210f7ae8.js"></script>
+<script src="/zh/assets/js/98c69322.f273488f.js"></script>
+<script src="/zh/assets/js/47f8a22a.8d2629b4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/downloads/index.html b/zh/downloads/index.html
index 7662950..59418de 100644
--- a/zh/downloads/index.html
+++ b/zh/downloads/index.html
@@ -11,14 +11,14 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//zh/downloads/"><meta data-react-helmet="true" name="docsearch:language" conte [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/zh/assets/js/98c69322.997e699b.js" as="script">
-<link rel="preload" href="/zh/assets/js/47f8a22a.09ed66e0.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/zh/assets/js/98c69322.f273488f.js" as="script">
+<link rel="preload" href="/zh/assets/js/47f8a22a.8d2629b4.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -26,13 +26,13 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgp -ka KEYS</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div><br>To verify the binaries/sources you can download the relevant asc files for it from main distribution directory and follow the below guide.<div class="codeBlockContent_hGly"><di [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgpv apache-apisix-********.asc</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgp apache-apisix-********.asc</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></div></div><footer class="footer"><div class="container"><div class="row footer__links"><div class="col footer__col"><h4 class="footer__title">ASF</h [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/3.b8da59b5.js"></script>
-<script src="/zh/assets/js/98c69322.997e699b.js"></script>
-<script src="/zh/assets/js/47f8a22a.09ed66e0.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/3.210f7ae8.js"></script>
+<script src="/zh/assets/js/98c69322.f273488f.js"></script>
+<script src="/zh/assets/js/47f8a22a.8d2629b4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html b/zh/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html
index 81149b8..12af86f 100644
--- a/zh/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html
+++ b/zh/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX Ingress Controller 0.1.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.1.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improve basic features, bugfix and adds test cases."><meta  [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/f7488fe8.78be7bf2.js" as="script">
-<link rel="preload" href="/zh/assets/js/12e5767f.f2eec07d.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/f7488fe8.5a138bfc.js" as="script">
+<link rel="preload" href="/zh/assets/js/12e5767f.c8e7b7b5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/f7488fe8.78be7bf2.js"></script>
-<script src="/zh/assets/js/12e5767f.f2eec07d.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/f7488fe8.5a138bfc.js"></script>
+<script src="/zh/assets/js/12e5767f.c8e7b7b5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html b/zh/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html
index d4dfb28..0898fdf 100644
--- a/zh/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html
+++ b/zh/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX Ingress Controller 0.2.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.2.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improve basic features, bugfix and adds test cases."><meta  [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/f7488fe8.78be7bf2.js" as="script">
-<link rel="preload" href="/zh/assets/js/4eed9ed2.303a4d26.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/f7488fe8.5a138bfc.js" as="script">
+<link rel="preload" href="/zh/assets/js/4eed9ed2.cd5421ac.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/f7488fe8.78be7bf2.js"></script>
-<script src="/zh/assets/js/4eed9ed2.303a4d26.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/f7488fe8.5a138bfc.js"></script>
+<script src="/zh/assets/js/4eed9ed2.cd5421ac.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/events/2021/02/09/release-apache-apisix-2.3/index.html b/zh/events/2021/02/09/release-apache-apisix-2.3/index.html
index b0c7241..24c76fe 100644
--- a/zh/events/2021/02/09/release-apache-apisix-2.3/index.html
+++ b/zh/events/2021/02/09/release-apache-apisix-2.3/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.3 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.3 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Change"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" p [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/f7488fe8.78be7bf2.js" as="script">
-<link rel="preload" href="/zh/assets/js/41b4926b.4f4c3e60.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/f7488fe8.5a138bfc.js" as="script">
+<link rel="preload" href="/zh/assets/js/41b4926b.48c46c42.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/f7488fe8.78be7bf2.js"></script>
-<script src="/zh/assets/js/41b4926b.4f4c3e60.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/f7488fe8.5a138bfc.js"></script>
+<script src="/zh/assets/js/41b4926b.48c46c42.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html b/zh/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html
index 9251aee..67d14d7 100644
--- a/zh/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html
+++ b/zh/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX Ingress Controller 0.3.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.3.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improves the program robustness and adds some features."><m [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/f7488fe8.78be7bf2.js" as="script">
-<link rel="preload" href="/zh/assets/js/1be5d2e8.862f8499.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/f7488fe8.5a138bfc.js" as="script">
+<link rel="preload" href="/zh/assets/js/1be5d2e8.b7f18438.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/f7488fe8.78be7bf2.js"></script>
-<script src="/zh/assets/js/1be5d2e8.862f8499.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/f7488fe8.5a138bfc.js"></script>
+<script src="/zh/assets/js/1be5d2e8.b7f18438.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html b/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html
index f8a2311..262e4ea 100644
--- a/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html
+++ b/zh/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html
@@ -11,27 +11,27 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX Dashboard 2.4 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Dashboard 2.4 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improves basic features, bugfix and adds test cases."><meta data-react-helmet="tr [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/ccc49370.b13b15fc.js" as="script">
-<link rel="preload" href="/zh/assets/js/f7488fe8.78be7bf2.js" as="script">
-<link rel="preload" href="/zh/assets/js/d4de91ec.a4fb0674.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/ccc49370.fe9df983.js" as="script">
+<link rel="preload" href="/zh/assets/js/f7488fe8.5a138bfc.js" as="script">
+<link rel="preload" href="/zh/assets/js/d4de91ec.2bb7e97d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/ccc49370.b13b15fc.js"></script>
-<script src="/zh/assets/js/f7488fe8.78be7bf2.js"></script>
-<script src="/zh/assets/js/d4de91ec.a4fb0674.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/ccc49370.fe9df983.js"></script>
+<script src="/zh/assets/js/f7488fe8.5a138bfc.js"></script>
+<script src="/zh/assets/js/d4de91ec.2bb7e97d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/events/index.html b/zh/events/index.html
index 915c735..f350f69 100644
--- a/zh/events/index.html
+++ b/zh/events/index.html
@@ -11,37 +11,37 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apa [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/4.c30f7bca.js" as="script">
-<link rel="preload" href="/zh/assets/js/a6aa9e1f.55e4f1e9.js" as="script">
-<link rel="preload" href="/zh/assets/js/f7488fe8.78be7bf2.js" as="script">
-<link rel="preload" href="/zh/assets/js/bacea567.a3d76742.js" as="script">
-<link rel="preload" href="/zh/assets/js/c119cf3c.5f408f81.js" as="script">
-<link rel="preload" href="/zh/assets/js/17dc512b.9356f2ae.js" as="script">
-<link rel="preload" href="/zh/assets/js/c5594f1a.5101f105.js" as="script">
-<link rel="preload" href="/zh/assets/js/fa919c95.e28dfe07.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/4.dd30949d.js" as="script">
+<link rel="preload" href="/zh/assets/js/a6aa9e1f.f61a41a4.js" as="script">
+<link rel="preload" href="/zh/assets/js/f7488fe8.5a138bfc.js" as="script">
+<link rel="preload" href="/zh/assets/js/bacea567.021a9bbd.js" as="script">
+<link rel="preload" href="/zh/assets/js/c119cf3c.11a45046.js" as="script">
+<link rel="preload" href="/zh/assets/js/17dc512b.da2c7f07.js" as="script">
+<link rel="preload" href="/zh/assets/js/c5594f1a.4254a5bc.js" as="script">
+<link rel="preload" href="/zh/assets/js/fa919c95.bd527bbc.js" as="script">
 <link rel="preload" href="/zh/assets/js/7ecc8185.ae23f9e3.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/4.c30f7bca.js"></script>
-<script src="/zh/assets/js/a6aa9e1f.55e4f1e9.js"></script>
-<script src="/zh/assets/js/f7488fe8.78be7bf2.js"></script>
-<script src="/zh/assets/js/bacea567.a3d76742.js"></script>
-<script src="/zh/assets/js/c119cf3c.5f408f81.js"></script>
-<script src="/zh/assets/js/17dc512b.9356f2ae.js"></script>
-<script src="/zh/assets/js/c5594f1a.5101f105.js"></script>
-<script src="/zh/assets/js/fa919c95.e28dfe07.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/4.dd30949d.js"></script>
+<script src="/zh/assets/js/a6aa9e1f.f61a41a4.js"></script>
+<script src="/zh/assets/js/f7488fe8.5a138bfc.js"></script>
+<script src="/zh/assets/js/bacea567.021a9bbd.js"></script>
+<script src="/zh/assets/js/c119cf3c.11a45046.js"></script>
+<script src="/zh/assets/js/17dc512b.da2c7f07.js"></script>
+<script src="/zh/assets/js/c5594f1a.4254a5bc.js"></script>
+<script src="/zh/assets/js/fa919c95.bd527bbc.js"></script>
 <script src="/zh/assets/js/7ecc8185.ae23f9e3.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/help/index.html b/zh/help/index.html
index 2487b77..d5ba09b 100644
--- a/zh/help/index.html
+++ b/zh/help/index.html
@@ -11,23 +11,23 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//zh/help"><meta data-react-helmet="true" name="docsearch:language" content="zh [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/zh/assets/js/7e37206e.47417889.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/zh/assets/js/7e37206e.25d919d0.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/3.b8da59b5.js"></script>
-<script src="/zh/assets/js/7e37206e.47417889.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/3.210f7ae8.js"></script>
+<script src="/zh/assets/js/7e37206e.25d919d0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/index.html b/zh/index.html
index f36e529..b4ea1fd 100644
--- a/zh/index.html
+++ b/zh/index.html
@@ -11,23 +11,23 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//zh/"><meta data-react-helmet="true" name="docsearch:language" content="zh"><m [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/76.0f6d1c85.js" as="script">
-<link rel="preload" href="/zh/assets/js/c4f5d8e4.59786acd.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/78.82157586.js" as="script">
+<link rel="preload" href="/zh/assets/js/c4f5d8e4.7a3a12be.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div id="docusaurus-base-url-issue-banner-container"></div><nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title> [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/76.0f6d1c85.js"></script>
-<script src="/zh/assets/js/c4f5d8e4.59786acd.js"></script>
+<div id="docusaurus-base-url-issue-banner-container"></div><nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title> [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/78.82157586.js"></script>
+<script src="/zh/assets/js/c4f5d8e4.7a3a12be.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/search/index.html b/zh/search/index.html
index 848aa28..80799d7 100644
--- a/zh/search/index.html
+++ b/zh/search/index.html
@@ -11,21 +11,21 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Search the documentation | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//zh/search"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/71.349eb674.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/73.d01d80fc.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/71.349eb674.js"></script>
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/73.d01d80fc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/sitemap.xml b/zh/sitemap.xml
index e8a1ea0..32c21e5 100644
--- a/zh/sitemap.xml
+++ b/zh/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:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" 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://apisix.apache.org/zh/</loc><changefreq>weekly</changefreq><priority>0.5</priority></u [...]
\ 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:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" 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://apisix.apache.org/zh/</loc><changefreq>weekly</changefreq><priority>0.5</priority></u [...]
\ No newline at end of file
diff --git a/zh/team/index.html b/zh/team/index.html
index f2cb1cc..fe9ca12 100644
--- a/zh/team/index.html
+++ b/zh/team/index.html
@@ -11,23 +11,23 @@
 <link rel="alternate" type="application/rss+xml" href="/zh/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//zh/team"><meta data-react-helmet="true" name="docsearch:language" content="zh [...]
-<link rel="preload" href="/zh/assets/js/styles.48c76938.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.6f215418.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.97d1759b.js" as="script">
-<link rel="preload" href="/zh/assets/js/1.3237074b.js" as="script">
-<link rel="preload" href="/zh/assets/js/2.e4d54c2b.js" as="script">
-<link rel="preload" href="/zh/assets/js/3.b8da59b5.js" as="script">
-<link rel="preload" href="/zh/assets/js/859cc09f.073c77b1.js" as="script">
+<link rel="preload" href="/zh/assets/js/styles.a0e71f6a.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.ec6b69f8.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.090498f9.js" as="script">
+<link rel="preload" href="/zh/assets/js/1.a9e4d29a.js" as="script">
+<link rel="preload" href="/zh/assets/js/2.392ae916.js" as="script">
+<link rel="preload" href="/zh/assets/js/3.210f7ae8.js" as="script">
+<link rel="preload" href="/zh/assets/js/859cc09f.e6a336f2.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
-<script src="/zh/assets/js/styles.48c76938.js"></script>
-<script src="/zh/assets/js/runtime~main.6f215418.js"></script>
-<script src="/zh/assets/js/main.97d1759b.js"></script>
-<script src="/zh/assets/js/1.3237074b.js"></script>
-<script src="/zh/assets/js/2.e4d54c2b.js"></script>
-<script src="/zh/assets/js/3.b8da59b5.js"></script>
-<script src="/zh/assets/js/859cc09f.073c77b1.js"></script>
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<script src="/zh/assets/js/styles.a0e71f6a.js"></script>
+<script src="/zh/assets/js/runtime~main.ec6b69f8.js"></script>
+<script src="/zh/assets/js/main.090498f9.js"></script>
+<script src="/zh/assets/js/1.a9e4d29a.js"></script>
+<script src="/zh/assets/js/2.392ae916.js"></script>
+<script src="/zh/assets/js/3.210f7ae8.js"></script>
+<script src="/zh/assets/js/859cc09f.e6a336f2.js"></script>
 </body>
 </html>
\ No newline at end of file