You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by me...@apache.org on 2020/12/17 14:25:39 UTC

[apisix] branch master updated: docs: lint Markdown for multiple consecutive blank lines (#3047)

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

membphis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix.git


The following commit(s) were added to refs/heads/master by this push:
     new 1f52c70  docs: lint Markdown for multiple consecutive blank lines (#3047)
1f52c70 is described below

commit 1f52c70d841b790a0e4617a3daf53ea3f5b7cdd0
Author: John Bampton <jb...@users.noreply.github.com>
AuthorDate: Fri Dec 18 00:25:30 2020 +1000

    docs: lint Markdown for multiple consecutive blank lines (#3047)
    
    - remove unneeded MD009 - Trailing spaces config entry
    - MD012 - Multiple consecutive blank lines
    
    https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md#md012---multiple-consecutive-blank-lines
---
 .markdownlint.yml                       |  2 --
 CHANGELOG.md                            |  5 -----
 CHANGELOG_CN.md                         | 11 -----------
 CODE_OF_CONDUCT.md                      |  5 -----
 CONTRIBUTING.md                         |  1 -
 FAQ.md                                  |  2 --
 FAQ_CN.md                               |  2 --
 README.md                               |  1 -
 README_CN.md                            |  1 -
 doc/admin-api.md                        |  1 -
 doc/aws.md                              |  9 ---------
 doc/discovery.md                        |  4 ----
 doc/install-dependencies.md             |  1 -
 doc/plugin-develop.md                   |  1 -
 doc/plugins/authz-keycloak.md           |  6 ------
 doc/plugins/batch-requests.md           |  1 -
 doc/plugins/consumer-restriction.md     |  1 -
 doc/plugins/echo.md                     |  1 -
 doc/plugins/http-logger.md              |  1 -
 doc/plugins/ip-restriction.md           |  2 --
 doc/plugins/jwt-auth.md                 |  2 --
 doc/plugins/key-auth.md                 |  3 ---
 doc/plugins/limit-count.md              |  1 -
 doc/plugins/mqtt-proxy.md               |  2 --
 doc/plugins/node-status.md              |  6 ------
 doc/plugins/proxy-mirror.md             |  3 ---
 doc/plugins/referer-restriction.md      |  2 --
 doc/plugins/request-id.md               |  1 -
 doc/plugins/request-validation.md       |  4 ----
 doc/plugins/sls-logger.md               |  1 -
 doc/plugins/syslog.md                   |  1 -
 doc/plugins/wolf-rbac.md                |  5 -----
 doc/plugins/zipkin.md                   |  2 --
 doc/powered-by.md                       |  1 -
 doc/stand-alone.md                      |  1 -
 doc/zh-cn/admin-api.md                  |  3 ---
 doc/zh-cn/batch-processor.md            |  1 -
 doc/zh-cn/discovery.md                  |  4 ----
 doc/zh-cn/install-dependencies.md       |  1 -
 doc/zh-cn/plugins/echo.md               |  1 -
 doc/zh-cn/plugins/hmac-auth.md          |  2 --
 doc/zh-cn/plugins/ip-restriction.md     |  1 -
 doc/zh-cn/plugins/jwt-auth.md           |  3 ---
 doc/zh-cn/plugins/key-auth.md           |  1 -
 doc/zh-cn/plugins/limit-conn.md         |  1 -
 doc/zh-cn/plugins/node-status.md        |  6 ------
 doc/zh-cn/plugins/request-id.md         |  1 -
 doc/zh-cn/plugins/request-validation.md |  5 -----
 doc/zh-cn/plugins/server-info.md        |  2 --
 doc/zh-cn/plugins/sls-logger.md         |  1 -
 doc/zh-cn/plugins/syslog.md             |  2 --
 doc/zh-cn/plugins/tcp-logger.md         |  1 -
 doc/zh-cn/plugins/wolf-rbac.md          |  5 -----
 doc/zh-cn/plugins/zipkin.md             |  2 --
 54 files changed, 136 deletions(-)

diff --git a/.markdownlint.yml b/.markdownlint.yml
index 5f1b4dc..028b846 100644
--- a/.markdownlint.yml
+++ b/.markdownlint.yml
@@ -22,10 +22,8 @@ MD004: false
 MD005: false
 MD006: false
 MD007: false
-MD009: false
 MD010: false
 MD011: false
-MD012: false
 MD013: false
 MD014: false
 MD018: false
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f80a2ee..da9fe49 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -139,13 +139,11 @@ For more changes, please refer to [Milestone](https://github.com/apache/apisix/m
 - doc: fixed `grpc-transcode` plugin path error in `README`. [1946](https://github.com/apache/apisix/pull/1946)
 - doc: removed unnecessary configurations for `k8s` document. [1891](https://github.com/apache/apisix/pull/1891)
 
-
 ## 1.4.1
 
 ### Bugfix
 - Fix: multiple SSL certificates are configured, but only one certificate working fine. [1818](https://github.com/apache/incubator-apisix/pull/1818)
 
-
 ## 1.4.0
 
 ### Core
@@ -163,7 +161,6 @@ For more changes, please refer to [Milestone](https://github.com/apache/apisix/m
 - SSL private key encryption [1678](https://github.com/apache/incubator-apisix/pull/1678)
 - Improvement of docs for multiple plugins
 
-
 ## 1.3.0
 
 The 1.3 version is mainly for security update.
@@ -176,7 +173,6 @@ The 1.3 version is mainly for security update.
 - :sunrise: **add batch request plugin**. [#1388](https://github.com/apache/incubator-apisix/pull/1388)
 - implemented plugin `sys logger`. [#1414](https://github.com/apache/incubator-apisix/pull/1414)
 
-
 ## 1.2.0
 
 The 1.2 version brings many new features, including core and plugins.
@@ -216,7 +212,6 @@ The 1.2 version brings many new features, including core and plugins.
 - the plugin basic-auth needs required field. [#1251](https://github.com/apache/incubator-apisix/pull/1251)
 - check the count of upstream valid node. [#1292](https://github.com/apache/incubator-apisix/pull/1292)
 
-
 ## 1.1.0
 
 This release is mainly to strengthen the stability of the code and add more documentation.
diff --git a/CHANGELOG_CN.md b/CHANGELOG_CN.md
index d51f84e..d64f1e2 100644
--- a/CHANGELOG_CN.md
+++ b/CHANGELOG_CN.md
@@ -33,7 +33,6 @@
 - [0.7.0](#070)
 - [0.6.0](#060)
 
-
 ## 2.1.0
 
 ### Core
@@ -140,7 +139,6 @@
 - 文档:修正 `README` 中 `grpc-transcode` 文档路径。[1946](https://github.com/apache/apisix/pull/1946)
 - 文档: 删除 `k8s` 文档中不必要的配置。[1891](https://github.com/apache/apisix/pull/1891)
 
-
 ## 1.4.1
 
 ### Bugfix
@@ -175,7 +173,6 @@
 - :sunrise: **新增 batch request 插件**. [#1388](https://github.com/apache/incubator-apisix/pull/1388)
 - 实现完成 `sys logger` 插件. [#1414](https://github.com/apache/incubator-apisix/pull/1414)
 
-
 ## 1.2.0
 1.2 版本在内核以及插件上带来了非常多的更新。
 
@@ -214,7 +211,6 @@
 - basic-auth 增加 required 字段. [#1251](https://github.com/apache/incubator-apisix/pull/1251)
 - 检查上游合法节点的个数. [#1292](https://github.com/apache/incubator-apisix/pull/1292)
 
-
 ## 1.1.0
 
 这个版本主要是加强代码的稳定性,以及增加更多的文档。
@@ -249,7 +245,6 @@
 - 增加 wolf-rbac 插件。 [#1095](https://github.com/apache/incubator-apisix/pull/1095)
 - 增加 udp-logger 插件。 [#1070](https://github.com/apache/incubator-apisix/pull/1070)
 
-
 ## 1.0.0
 
 这个版本主要是加强代码的稳定性,以及增加更多的文档。
@@ -287,7 +282,6 @@
 - 安装程序增加了仪表盘开关,支持用户自主选择是否安装仪表板程序。 [#686](https://github.com/apache/incubator-apisix/pull/686)
 - 取消对 R3 路由的支持,并移除 R3 路由模块。 [#725](https://github.com/apache/incubator-apisix/pull/725)
 
-
 ### Plugins
 - :sunrise: **[Redirect URI](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/redirect.md)**: URI 重定向插件。 [#732](https://github.com/apache/incubator-apisix/pull/732)
 - [Proxy Rewrite](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/proxy-rewrite.md):支持 `header` 删除功能。 [#658](https://github.com/apache/incubator-apisix/pull/658)
@@ -308,11 +302,9 @@
 - 在APISIX CLI中跳过 luajit 环境的`check cjson`。[#652](https://github.com/apache/incubator-apisix/pull/652)
 - 配置 `Upstream` 时,选择 `balancer` 类型为 `chash` 时,支持更多Nginx内置变量作为计算key。 [#775](https://github.com/apache/incubator-apisix/pull/775)
 
-
 ### Dependencies
 - 使用 `lua-resty-jsonschema` 全局替换 `lua-rapidjson` 扩展,`lua-resty-jsonschema` 解析速度更快,更容易编译。
 
-
 ## 0.8.0
 > Released on 2019/09/30
 
@@ -341,7 +333,6 @@
     - 允许设置用户自定义函数来做额外的过滤。
     - 使用 `lua-resty-ipmatcher` 替代 `lua-resty-iputils`, `lua-resty-ipmatcher` 支持 IPv6 并且速度更快。
 
-
 ### Bugfix
 - 健康检查: 修复在多 worker 下运行时健康检查 checker 的名字错误。 [#568](https://github.com/apache/incubator-apisix/issues/568)
 
@@ -376,10 +367,8 @@
 ### Dashboard
 - :sunrise: **增加在线版本的 dashboard**,用户不用安装即可[体验 APISIX](http://apisix.iresty.com/). [#374](https://github.com/apache/incubator-apisix/issues/374)
 
-
 [Back to TOC](#table-of-contents)
 
-
 ## 0.6.0
 
 > Released on 2019/08/05
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 3b91613..7a96ea5 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -44,7 +44,6 @@ it can enrich all of us and the technical communities in which we participate.
 
 We strive to:
 
-
 1. __Be open.__ We invite anyone to participate in our community. We preferably use public methods of communication for project-related messages, unless discussing something sensitive. This applies to messages for help or project-related support, too; not only is a public support request much more likely to result in an answer to a question, it also makes sure that any inadvertent mistakes made by people answering will be more easily detected and corrected.
 
 2. __Be `empathetic`, welcoming, friendly, and patient.__ We work together to resolve conflict, assume good intentions, and do our best to act in an empathetic fashion. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one. We should be respectful when dealing with other community members as well as with people outside our community.
@@ -74,7 +73,6 @@ We strive to:
 
 7. __Step down considerately.__ Members of every project come and go. When somebody leaves or disengages from the project they should tell people they are leaving and take the proper steps to ensure that others can pick up where they left off. In doing so, they should remain respectful of those who continue to participate in the project and should not misrepresent the project's goals or achievements. Likewise, community members should respect any individual's choice to leave the project.</p>
 
-
 ## Diversity Statement ##
 
 Apache welcomes and encourages participation by everyone. We are committed to being a community that everyone feels good about joining. Although we may not be able to satisfy everyone, we will always work to treat everyone well.
@@ -107,15 +105,12 @@ or one of our volunteers:
 
 If the violation is in documentation or code, for example inappropriate pronoun usage or word choice within official documentation, we ask that people report these privately to the project in question at private@<em>project</em>.apache.org, and, if they have sufficient ability within the project, to resolve or remove the concerning material, being mindful of the perspective of the person originally reporting the issue.
 
-
 ## End Notes ##
 
 This Code defines __empathy__ as "a vicarious participation in the emotions, ideas, or opinions of others; the ability to imagine oneself in the condition or predicament of another." __Empathetic__ is the adjectival form of empathy.
 
-
 This statement thanks the following, on which it draws for content and inspiration:
 
-
   * [CouchDB Project Code of conduct](http://couchdb.apache.org/conduct.html)
   * [Fedora Project Code of Conduct](http://fedoraproject.org/code-of-conduct)
   * [Django Code of Conduct](https://www.djangoproject.com/conduct/)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 488e64e..0863684 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -37,7 +37,6 @@ for us to fix.
 
 * If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/apache/apisix/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
 
-
 ## How to add a new feature or change an existing one
 
 _Before making any significant changes, please [open an issue](https://github.com/apache/apisix/issues)._ Discussing your proposed changes ahead of time will make the contribution process smooth for everyone.
diff --git a/FAQ.md b/FAQ.md
index a5eb53a..b1453b3 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -107,7 +107,6 @@ curl -i http://127.0.0.1:9080/apisix/admin/routes/2 -H 'X-API-KEY: edd1c9f034335
 }'
 ```
 
-
 Here is the operator list of current `lua-resty-radixtree`:
 https://github.com/iresty/lua-resty-radixtree#operator-list
 
@@ -192,7 +191,6 @@ Server: APISIX web server
 </html>
 ```
 
-
 ## How to fix OpenResty Installation Failure on MacOS 10.15
 When you install the OpenResty on MacOs 10.15, you may face this error
 
diff --git a/FAQ_CN.md b/FAQ_CN.md
index e9da543..f7d46fd 100644
--- a/FAQ_CN.md
+++ b/FAQ_CN.md
@@ -23,7 +23,6 @@
 
 微服务领域对 API 网关有新的需求:更高的灵活性、更高的性能要求,以及云原生的贴合。
 
-
 ## APISIX 和其他的 API 网关有什么不同之处?
 
 APISIX 基于 etcd 来完成配置的保存和同步,而不是 postgres 或者 MySQL 这类关系型数据库。
@@ -110,7 +109,6 @@ curl -i http://127.0.0.1:9080/apisix/admin/routes/2 -H 'X-API-KEY: edd1c9f034335
 }'
 ```
 
-
 更多的 lua-resty-radixtree 匹配操作,可查看操作列表:
 https://github.com/iresty/lua-resty-radixtree#operator-list
 
diff --git a/README.md b/README.md
index b0bd791..c6533c6 100644
--- a/README.md
+++ b/README.md
@@ -294,7 +294,6 @@ Using AWS's 8 core server, APISIX's QPS reach to 140,000 with a latency of only
 
 Benchmark comparison test [details data](https://gist.github.com/membphis/137db97a4bf64d3653aa42f3e016bd01)
 
-
 ## Community
 
 - Mailing List: Mail to dev-subscribe@apisix.apache.org, follow the reply to subscribe the mailing list.
diff --git a/README_CN.md b/README_CN.md
index 4afb8e1..275dd54 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -292,7 +292,6 @@ CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubun
 
 性能对比测试[详细内容如下](https://gist.github.com/membphis/137db97a4bf64d3653aa42f3e016bd01)。
 
-
 ## 社区
 
 - 邮件列表 - 发送任意内容到 dev-subscribe@apisix.apache.org 后,根据回复以订阅邮件列表。
diff --git a/doc/admin-api.md b/doc/admin-api.md
index 7085b2d..10a7f58 100644
--- a/doc/admin-api.md
+++ b/doc/admin-api.md
@@ -555,7 +555,6 @@ In addition to the basic complex equalization algorithm selection, APISIX's Upst
 |create_time|optional| epoch timestamp in second, like `1602883670`, will be created automatically if missing|
 |update_time|optional| epoch timestamp in second, like `1602883670`, will be created automatically if missing|
 
-
 Config Example:
 
 ```shell
diff --git a/doc/aws.md b/doc/aws.md
index 71b6f02..42de1f2 100644
--- a/doc/aws.md
+++ b/doc/aws.md
@@ -21,8 +21,6 @@
 
 [APISIX](https://github.com/apache/apisix) is a cloud-native microservices API gateway, delivering the ultimate performance, security, open source and scalable platform for all your APIs and microservices.
 
-
-
 ## Architecture
 
 This reference architecture walks you through building **APISIX** as a serverless container API Gateway on top of AWS Fargate with AWS CDK.
@@ -167,8 +165,6 @@ new ApiSixStack(app, 'apisix-stack-dev', { env: devEnv });
 app.synth();
 ```
 
-
-
 ## Deploy the APISIX Stack with AWS CDK
 
 ```bash
@@ -210,7 +206,6 @@ Address: 44.226.102.63
 
 Configure the IP addresses returned as your upstream nodes in your **APISIX** dashboard followed by the **Services** and **Routes** configuration. Let's say we have a `/index.php` as the URI for the first route for our first **Service** from the **Upstream** IP addresses.
 
-
 ![](images/aws-nlb-ip-addr.png)
 ![](images/aws-define-service.png)
 ![](images/aws-define-route.png)
@@ -229,7 +224,6 @@ Now we have been successfully running **APISIX** in AWS Fargate as serverless co
 $ cdk destroy
 ```
 
-
 ## Running APISIX in AWS China Regions
 
 update `src/main.ts`
@@ -246,10 +240,8 @@ update `src/main.ts`
 ```
 _(read [here](https://github.com/iresty/docker-apisix/blob/9a731f698171f4838e9bc0f1c05d6dda130ca89b/example/docker-compose.yml#L18-L19) for more reference)_
 
-
 Run `cdk deploy` and specify your preferred AWS region in China.
 
-
 ```bash
 # let's say we have another AWS_PROFILE for China regions called 'cn'
 # make sure you have aws configure --profile=cn properly.
@@ -271,7 +263,6 @@ apiSix.ApiSixServiceServiceURLF6EC7872 = http://apiSi-ApiSi-123HOROQKWZKA-126832
 
 Open the `apiSix.ApiSixDashboardURL` URL and log in to configure your **APISIX** in AWS China region.
 
-
 _TBD_
 
 ## Decouple APISIX and etcd3 on AWS
diff --git a/doc/discovery.md b/doc/discovery.md
index feb6cc6..91218c4 100644
--- a/doc/discovery.md
+++ b/doc/discovery.md
@@ -55,7 +55,6 @@ It is very easy for APISIX to extend the discovery client, the basic steps are a
 
 3. Convert the registry data into data in APISIX;
 
-
 ### the example of Eureka
 
 #### Implementation of eureka.lua
@@ -182,7 +181,6 @@ discovery:
       read: 5000                     # 5000ms
 ```
 
-
 ## Upstream setting
 
 Here is an example of routing a request with a URL of "/user/*" to a service which named "user-service" and use eureka discovery client in the registry :
@@ -245,5 +243,3 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/2 -H 'X-API-KEY: edd1c9f034335f
 Suppose both A-SERVICE and B-SERVICE provide a `/test` API. The above configuration allows access to A-SERVICE's `/test` API through `/a/test` and B-SERVICE's `/test` API through `/b/test`.
 
 **Notice**:When configuring `upstream.service_name`,  `upstream.nodes` will no longer take effect, but will be replaced by 'nodes' obtained from the registry.
-
-
diff --git a/doc/install-dependencies.md b/doc/install-dependencies.md
index 5ebe871..88c4812 100644
--- a/doc/install-dependencies.md
+++ b/doc/install-dependencies.md
@@ -34,7 +34,6 @@ Note
 
 - If you want use Tengine instead of OpenResty, please take a look at this installation step script [Install Tengine at Ubuntu](../.travis/linux_tengine_runner.sh).
 
-
 CentOS 7
 ========
 
diff --git a/doc/plugin-develop.md b/doc/plugin-develop.md
index e483574..147fffd 100644
--- a/doc/plugin-develop.md
+++ b/doc/plugin-develop.md
@@ -162,7 +162,6 @@ local _M = {
 }
 ```
 
-
 ## choose phase to run
 
 Determine which phase to run, generally access or rewrite. If you don't know the [Openresty life cycle](https://openresty-reference.readthedocs.io/en/latest/Directives/), it's
diff --git a/doc/plugins/authz-keycloak.md b/doc/plugins/authz-keycloak.md
index a37aba4..4cf64b9 100644
--- a/doc/plugins/authz-keycloak.md
+++ b/doc/plugins/authz-keycloak.md
@@ -27,7 +27,6 @@
 - [**Disable Plugin**](#disable-plugin)
 - [**Examples**](#examples)
 
-
 ## Name
 
 `authz-keycloak` is an authorization plugin to be used with the Keycloak Identity Server. Keycloak is an OAuth/OIDC and
@@ -48,8 +47,6 @@ For more information on Keycloak, refer to [Keycloak Authorization Docs](https:/
 | ssl_verify              | boolean       | optional    | true                                          |                                                 | Verify if SSL cert matches hostname.                                                                                                                        |
 | policy_enforcement_mode | string        | optional    | "ENFORCING"                                   | ["ENFORCING", "PERMISSIVE"]                     |                                                                                                                                                             |
 
-
-
 ### Policy Enforcement Mode
 
 Specifies how policies are enforced when processing authorization requests sent to the server.
@@ -62,7 +59,6 @@ Specifies how policies are enforced when processing authorization requests sent
 
 - Requests are allowed even when there is no policy associated with a given resource.
 
-
 ## How To Enable
 
 Create a `route` and enable the `authz-keycloak` plugin on the route:
@@ -87,14 +83,12 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
 }
 ```
 
-
 ## Test Plugin
 
 ```shell
 curl http://127.0.0.1:9080/get -H 'Authorization: Bearer {JWT Token}'
 ```
 
-
 ## Disable Plugin
 
 Remove the corresponding json configuration in the plugin configuration to disable the `authz-keycloak`.
diff --git a/doc/plugins/batch-requests.md b/doc/plugins/batch-requests.md
index 463a9ac..9800431 100644
--- a/doc/plugins/batch-requests.md
+++ b/doc/plugins/batch-requests.md
@@ -69,7 +69,6 @@ curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/batch-requests -H 'X-API
 | ---------------- | ------- | ------ | ------------- | ------- | ------------------------------------------------ |
 | max_body_size       | integer  | required   |  1048576  |    > 0  | the maximum of request body size in bytes |
 
-
 ## Batch API Request/Response
 The plugin will create a API in `apisix` to handle your batch request.
 
diff --git a/doc/plugins/consumer-restriction.md b/doc/plugins/consumer-restriction.md
index 4cc3152..d5e2516 100644
--- a/doc/plugins/consumer-restriction.md
+++ b/doc/plugins/consumer-restriction.md
@@ -27,7 +27,6 @@
     - [How to restrict service_id](#how-to-restrict-service_id)
   - [Disable Plugin](#disable-plugin)
 
-
 ## Introduction
 
 The `consumer-restriction` makes corresponding access restrictions based on different objects selected.
diff --git a/doc/plugins/echo.md b/doc/plugins/echo.md
index 6b6db5b..a4aadcc 100644
--- a/doc/plugins/echo.md
+++ b/doc/plugins/echo.md
@@ -26,7 +26,6 @@
 - [**Test Plugin**](#test-plugin)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 `echo` is a a useful plugin to help users understand as fully as possible how to develop an APISIX plugin.
diff --git a/doc/plugins/http-logger.md b/doc/plugins/http-logger.md
index 9feb6d6..3129c79 100644
--- a/doc/plugins/http-logger.md
+++ b/doc/plugins/http-logger.md
@@ -28,7 +28,6 @@
 - [**Metadata**](#metadata)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 `http-logger` is a plugin which push Log data requests to HTTP/HTTPS servers.
diff --git a/doc/plugins/ip-restriction.md b/doc/plugins/ip-restriction.md
index 07bc9f0..936e967 100644
--- a/doc/plugins/ip-restriction.md
+++ b/doc/plugins/ip-restriction.md
@@ -26,7 +26,6 @@
 - [**Test Plugin**](#test-plugin)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 The `ip-restriction` can restrict access to a Service or a Route by either
@@ -133,7 +132,6 @@ HTTP/1.1 403 Forbidden
 {"message":"Your IP address is not allowed"}
 ```
 
-
 ## Disable Plugin
 
 When you want to disable the `ip-restriction` plugin, it is very simple,
diff --git a/doc/plugins/jwt-auth.md b/doc/plugins/jwt-auth.md
index c95fe0a..8a0f90a 100644
--- a/doc/plugins/jwt-auth.md
+++ b/doc/plugins/jwt-auth.md
@@ -27,7 +27,6 @@
 - [**Test Plugin**](#test-plugin)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 `jwt-auth` is an authentication plugin that need to work with `consumer`. Add JWT Authentication to a `service` or `route`.
@@ -206,4 +205,3 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -X PUT -d value='
     }
 }'
 ```
-
diff --git a/doc/plugins/key-auth.md b/doc/plugins/key-auth.md
index ee6be50..27fbd63 100644
--- a/doc/plugins/key-auth.md
+++ b/doc/plugins/key-auth.md
@@ -26,7 +26,6 @@
 - [**Test Plugin**](#test-plugin)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 `key-auth` is an authentication plugin, it should work with `consumer` together.
@@ -35,12 +34,10 @@ Add Key Authentication (also sometimes referred to as an API key) to a Service o
 
 ## Attributes
 
-
 | Name | Type   | Requirement | Default | Valid | Description                                                                  |
 | ---- | ------ | ----------- | ------- | ----- | ---------------------------------------------------------------------------- |
 | key  | string | required    |         |       | different consumer objects should use different values, it should be unique. |
 
-
 ## How To Enable
 
 Two steps are required:
diff --git a/doc/plugins/limit-count.md b/doc/plugins/limit-count.md
index eaf1f81..636cdd5 100644
--- a/doc/plugins/limit-count.md
+++ b/doc/plugins/limit-count.md
@@ -46,7 +46,6 @@ Limit request rate by a fixed number of requests in a given time window.
 | redis_timeout  | integer | optional             | 1000    | [1,...]                                                                  | When using the `redis` policy, this property specifies the timeout in milliseconds of any command submitted to the Redis server.                                                                                                                                                                            |
 | redis_cluster_nodes | array | optional |         |                                                              | When using `redis-cluster` policy,This property is a list of addresses of Redis cluster service nodes. |
 
-
 **Key can be customized by the user, only need to modify a line of code of the plug-in to complete.  It is a security consideration that is not open in the plugin.**
 
 ## How To Enable
diff --git a/doc/plugins/mqtt-proxy.md b/doc/plugins/mqtt-proxy.md
index 8d0d56b..088c94e 100644
--- a/doc/plugins/mqtt-proxy.md
+++ b/doc/plugins/mqtt-proxy.md
@@ -26,7 +26,6 @@
 - [**Test Plugin**](#test-plugin)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 The plugin `mqtt-proxy` only works in stream model, it help you to dynamic load
@@ -43,7 +42,6 @@ And this plugin both support MQTT protocol [3.1.*](http://docs.oasis-open.org/mq
 | upstream.ip    | string  | required    |         |       | IP address of upstream, will forward current request to.                               |
 | upstream.port  | number  | required    |         |       | Port of upstream, will forward current request to.                                     |
 
-
 ## How To Enable
 
 To enable this plugin, we need to enable the stream_proxy configuration in `conf/config.yaml` first.
diff --git a/doc/plugins/node-status.md b/doc/plugins/node-status.md
index 37ea6a6..c7b40bf 100644
--- a/doc/plugins/node-status.md
+++ b/doc/plugins/node-status.md
@@ -28,23 +28,19 @@
 - [**Test Plugin**](#test-plugin)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 `node-status` is a plugin which we could get request status information through it's API.
 
-
 ## Attributes
 
 None
 
-
 ## API
 
 This plugin will add `/apisix/status` to get status information.
 You may need to use [interceptors](../plugin-interceptors.md) to protect it.
 
-
 ## How To Enable
 
 1. Configure `node-status` in the plugin list of the configuration file `conf/config.yaml`,
@@ -83,7 +79,6 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f
 You have to configure `node-status` in the configuration file `apisix/conf/config.yaml` before creating a route like this.
 And this plugin will not make any difference in future requests, so usually we don't set this plugin when creating routes.
 
-
 ## Test Plugin
 
 1. Request with uri `/apisix/status`
@@ -114,7 +109,6 @@ Server: APISIX web server
 | reading      | the current number of connections where APISIX is reading the request header                   |
 | id           | APISIX's uid which is saved in apisix/conf/apisix.uid  |
 
-
 ## Disable Plugin
 
 1. You can delete `node-status` in the plugin list of the configuration file `apisix/conf/config.yaml`,
diff --git a/doc/plugins/proxy-mirror.md b/doc/plugins/proxy-mirror.md
index 5e40faf..f150342 100644
--- a/doc/plugins/proxy-mirror.md
+++ b/doc/plugins/proxy-mirror.md
@@ -31,7 +31,6 @@ The proxy-mirror plugin, which provides the ability to mirror client requests.
 | ---- | ------ | ----------- | ------- | ----- | --------------------------------------------------------------------------------------------------------------------------- |
 | host | string | optional    |         |       | Specify a mirror service address, e.g. http://127.0.0.1:9797 (address needs to contain schema: http or https, not URI part) |
 
-
 ### Examples
 
 #### Enable the plugin
@@ -74,12 +73,10 @@ hello world
 > Since the specified mirror address is 127.0.0.1:9797, so to verify whether this plugin is in effect, we need to confirm on the service with port 9797.
 > For example, we can start a simple server:  python -m SimpleHTTPServer 9797
 
-
 ## Disable Plugin
 
 Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:
 
-
 ```shell
 curl http://127.0.0.1:9080/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
 {
diff --git a/doc/plugins/referer-restriction.md b/doc/plugins/referer-restriction.md
index f177a3b..171a2bc 100644
--- a/doc/plugins/referer-restriction.md
+++ b/doc/plugins/referer-restriction.md
@@ -26,7 +26,6 @@
 - [**Test Plugin**](#test-plugin)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 The `referer-restriction` can restrict access to a Service or a Route by
@@ -113,4 +112,3 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -H 'X-API-KEY: edd1c9f03433
 ```
 
 The `referer-restriction` plugin has been disabled now. It works for other plugins.
-
diff --git a/doc/plugins/request-id.md b/doc/plugins/request-id.md
index 00534fa..6fbb8bc 100644
--- a/doc/plugins/request-id.md
+++ b/doc/plugins/request-id.md
@@ -27,7 +27,6 @@
 - [**Disable Plugin**](#disable-plugin)
 - [**Examples**](#examples)
 
-
 ## Name
 
 `request-id` plugin adds a unique ID (UUID) to each request proxied through APISIX. This plugin can be used to track an
diff --git a/doc/plugins/request-validation.md b/doc/plugins/request-validation.md
index f864679..060e126 100644
--- a/doc/plugins/request-validation.md
+++ b/doc/plugins/request-validation.md
@@ -27,7 +27,6 @@
 - [**Disable Plugin**](#disable-plugin)
 - [**Examples**](#examples)
 
-
 ## Name
 
 `request-validation` plugin validates the requests before forwarding to an upstream service. The validation plugin uses
@@ -102,7 +101,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
 }
 ```
 
-
 ## Examples:
 
 **`Enum` validate:**
@@ -123,7 +121,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
 }
 ```
 
-
 **`Boolean` validate:**
 
 ```json
@@ -196,7 +193,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
 }
 ```
 
-
 **`Array` validate:**
 
 ```json
diff --git a/doc/plugins/sls-logger.md b/doc/plugins/sls-logger.md
index c2e0482..5195004 100644
--- a/doc/plugins/sls-logger.md
+++ b/doc/plugins/sls-logger.md
@@ -116,4 +116,3 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f
     }
 }'
 ```
-
diff --git a/doc/plugins/syslog.md b/doc/plugins/syslog.md
index e61d6f9..545746d 100644
--- a/doc/plugins/syslog.md
+++ b/doc/plugins/syslog.md
@@ -26,7 +26,6 @@
 - [**Test Plugin**](#test-plugin)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 `sys` is a plugin which push Log data requests to Syslog.
diff --git a/doc/plugins/wolf-rbac.md b/doc/plugins/wolf-rbac.md
index 3690453..78935c9 100644
--- a/doc/plugins/wolf-rbac.md
+++ b/doc/plugins/wolf-rbac.md
@@ -33,7 +33,6 @@
 `wolf-rbac` is an authentication and authorization (rbac) plugin. It needs to work with `consumer`. Also need to add `wolf-rbac` to a `service` or `route`.
 The rbac feature is provided by [wolf](https://github.com/iGeeky/wolf). For more information about `wolf`, please refer to [wolf documentation](https://github.com/iGeeky/wolf).
 
-
 ## Attributes
 
 | Name          | Type   | Requirement | Default                  | Valid | Description                                               |
@@ -62,7 +61,6 @@ You may need to use [interceptors](../plugin-interceptors.md) to protect it.
 
 [Wolf-console usage](https://github.com/iGeeky/wolf/blob/master/docs/usage.md)
 
-
 ## How To Enable
 
 1. set a consumer and config the value of the `wolf-rbac`。
@@ -138,7 +136,6 @@ curl http://127.0.0.1:9080/apisix/plugin/wolf-rbac/login -i \
 -d 'appid=restful&username=test&password=user-password'
 ```
 
-
 #### try request with token
 
 * without token
@@ -197,7 +194,6 @@ HTTP/1.1 200 OK
 <!DOCTYPE html>
 ```
 
-
 #### Get `RBAC` user information
 
 ```shell
@@ -257,4 +253,3 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f1
     }
 }'
 ```
-
diff --git a/doc/plugins/zipkin.md b/doc/plugins/zipkin.md
index 81528a1..b545612 100644
--- a/doc/plugins/zipkin.md
+++ b/doc/plugins/zipkin.md
@@ -26,7 +26,6 @@
 - [**Test Plugin**](#test-plugin)
 - [**Disable Plugin**](#disable-plugin)
 
-
 ## Name
 
 [Zipkin](https://github.com/openzipkin/zipkin) is a OpenTracing plugin.
@@ -166,4 +165,3 @@ func main(){
 
 }
 ```
-
diff --git a/doc/powered-by.md b/doc/powered-by.md
index f940388..a400415 100644
--- a/doc/powered-by.md
+++ b/doc/powered-by.md
@@ -54,7 +54,6 @@ Users are encouraged to add themselves to this page, [issue](https://github.com/
 1. <a href="https://www.zuzuche.com/" rel="nofollow">zuzuche 租租车</a>
 1. <a href="https://www.zybang.com/" rel="nofollow">zybang 作业帮</a>
 
-
 <img src="https://raw.githubusercontent.com/iresty/iresty.com/master/user-wall.jpg" width="900" height="500">
 
 # User Cases
diff --git a/doc/stand-alone.md b/doc/stand-alone.md
index 44c5428..25fa1f0 100644
--- a/doc/stand-alone.md
+++ b/doc/stand-alone.md
@@ -101,7 +101,6 @@ routes:
 #END
 ```
 
-
 #### How to config Router + Service
 
 ```yml
diff --git a/doc/zh-cn/admin-api.md b/doc/zh-cn/admin-api.md
index de519b2..29d77ce 100644
--- a/doc/zh-cn/admin-api.md
+++ b/doc/zh-cn/admin-api.md
@@ -44,8 +44,6 @@
 |PATCH    |/apisix/admin/routes/{id}|{...}|标准 PATCH ,修改已有 Route 的部分属性,其他不涉及的属性会原样保留;如果你要删除某个属性,将该属性的值设置为null 即可删除;特别地,当需要修改属性的值为数组时,该属性将全量更新|
 |PATCH    |/apisix/admin/routes/{id}/{path}|{...}|SubPath PATCH,通过 {path} 指定 Route 要更新的属性,全量更新该属性的数据,其他不涉及的属性会原样保留。两种 PATCH 的区别可以参考后面的示例|
 
-
-
 > URL 请求参数:
 
 |名字      |可选项   |类型 |说明        |示例|
@@ -322,7 +320,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f13
 |PATCH    |/apisix/admin/services/{id}|{...}|标准 PATCH ,修改已有 Service 的部分属性,其他不涉及的属性会原样保留;如果你要删除某个属性,将该属性的值设置为null 即可删除;特别地,当需要修改属性的值为数组时,该属性将全量更新|
 |PATCH    |/apisix/admin/services/{id}/{path}|{...}|SubPath PATCH,通过 {path} 指定 Service 需要更新的属性,全量更新该属性的数据,其他不涉及的属性会原样保留|
 
-
 > body 请求参数:
 
 |名字      |可选项   |类型 |说明        |示例|
diff --git a/doc/zh-cn/batch-processor.md b/doc/zh-cn/batch-processor.md
index e9cfe28..199c30f 100644
--- a/doc/zh-cn/batch-processor.md
+++ b/doc/zh-cn/batch-processor.md
@@ -63,7 +63,6 @@ if batch_processor then
 end
 ```
 
-
 注意:请确保批处理的最大大小(条目数)在函数执行的范围内。
 刷新批处理的计时器基于“ inactive_timeout”配置运行。因此,为了获得最佳使用效果,
 保持“ inactive_timeout”小于“ buffer_duration”。
diff --git a/doc/zh-cn/discovery.md b/doc/zh-cn/discovery.md
index 454f3f1..0c52900 100644
--- a/doc/zh-cn/discovery.md
+++ b/doc/zh-cn/discovery.md
@@ -43,7 +43,6 @@
 
 常见的注册中心:Eureka, Etcd, Consul, Nacos, Zookeeper等
 
-
 ## 如何扩展注册中心?
 
 ### 基本步骤
@@ -253,7 +252,4 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/2 -H 'X-API-KEY: edd1c9f034335f
 
 假如 A-SERVICE 和 B-SERVICE 都提供了一个 `/test` 的接口,通过上面的配置,可以通过 `/a/test` 访问 A-SERVICE 的 `/test` 接口,通过 `/b/test` 访问 B-SERVICE 的 `/test` 接口。
 
-
 **注意**:配置 `upstream.service_name` 后 `upstream.nodes` 将不再生效,而是使用从注册中心的数据来替换,即使注册中心的数据是空的。
-
-
diff --git a/doc/zh-cn/install-dependencies.md b/doc/zh-cn/install-dependencies.md
index f8c017b..d7bea83 100644
--- a/doc/zh-cn/install-dependencies.md
+++ b/doc/zh-cn/install-dependencies.md
@@ -33,7 +33,6 @@
 
 - 如果你要想使用 Tengine 替代 OpenResty,请参考 [Install Tengine at Ubuntu](../../.travis/linux_tengine_runner.sh)。
 
-
 CentOS 7
 ========
 
diff --git a/doc/zh-cn/plugins/echo.md b/doc/zh-cn/plugins/echo.md
index 9c01b19..9195ef4 100644
--- a/doc/zh-cn/plugins/echo.md
+++ b/doc/zh-cn/plugins/echo.md
@@ -30,7 +30,6 @@
 
 echo 可以帮助用户尽可能全面地了解如何开发APISIX插件。
 
-
 该插件展示了如何在常见的 phase 中实现相应的功能,常见的 phase 包括:init, rewrite, access, balancer, header filer, body filter 以及 log。
 
 **注意:该插件仅用作示例,并没有处理一些特别的场景。请勿将之用于生产环境上!**
diff --git a/doc/zh-cn/plugins/hmac-auth.md b/doc/zh-cn/plugins/hmac-auth.md
index 6a0a77f..cc60c4c 100644
--- a/doc/zh-cn/plugins/hmac-auth.md
+++ b/doc/zh-cn/plugins/hmac-auth.md
@@ -172,7 +172,6 @@ Accept-Ranges: bytes
 <html lang="cn">
 ```
 
-
 ## 自定义 header 名称
 
 我们可以在 `conf/config.yaml` 中,`plugin_attr` 下添加插件的属性配置来自定义参数 header 名称。
@@ -201,7 +200,6 @@ Accept-Ranges: bytes
 <html lang="cn">
 ```
 
-
 ## 禁用插件
 
 当你想去掉 `hmac-auth` 插件的时候,很简单,在插件的配置中把对应的 `json` 配置删除即可,无须重启服务,即刻生效:
diff --git a/doc/zh-cn/plugins/ip-restriction.md b/doc/zh-cn/plugins/ip-restriction.md
index 7e4a126..8a0dc62 100644
--- a/doc/zh-cn/plugins/ip-restriction.md
+++ b/doc/zh-cn/plugins/ip-restriction.md
@@ -102,4 +102,3 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1  -H 'X-API-KEY: edd1c9f0343
 ```
 
 现在就已移除 `ip-restriction` 插件,其它插件的开启和移除也类似。
-
diff --git a/doc/zh-cn/plugins/jwt-auth.md b/doc/zh-cn/plugins/jwt-auth.md
index 2bf0914..19a677e 100644
--- a/doc/zh-cn/plugins/jwt-auth.md
+++ b/doc/zh-cn/plugins/jwt-auth.md
@@ -27,7 +27,6 @@
 - [**测试插件**](#测试插件)
 - [**禁用插件**](#禁用插件)
 
-
 ## 名字
 
 `jwt-auth` 是一个认证插件,它需要与 `consumer` 一起配合才能工作。
@@ -38,7 +37,6 @@
 
 ## 属性
 
-
 | 名称           | 类型    | 必选项 | 默认值    | 有效值                       | 描述                                                                                           |
 |:--------------|:--------|:------|:--------|:----------------------------|:-----------------------------------------------------------------------------------------------|
 | key           | string  | 必须   |         |                             | 不同的 `consumer` 对象应有不同的值,它应当是唯一的。不同 consumer 使用了相同的 `key` ,将会出现请求匹配异常。 |
@@ -204,4 +202,3 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -X PUT -d value='
     }
 }'
 ```
-
diff --git a/doc/zh-cn/plugins/key-auth.md b/doc/zh-cn/plugins/key-auth.md
index 08597e2..da6d878 100644
--- a/doc/zh-cn/plugins/key-auth.md
+++ b/doc/zh-cn/plugins/key-auth.md
@@ -26,7 +26,6 @@
 - [**测试插件**](#测试插件)
 - [**禁用插件**](#禁用插件)
 
-
 ## 名字
 
 `key-auth` 是一个认证插件,它需要与 `consumer` 一起配合才能工作。
diff --git a/doc/zh-cn/plugins/limit-conn.md b/doc/zh-cn/plugins/limit-conn.md
index 3f1cac1..1ce872f 100644
--- a/doc/zh-cn/plugins/limit-conn.md
+++ b/doc/zh-cn/plugins/limit-conn.md
@@ -107,4 +107,3 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f13
 ```
 
 现在就已经移除了 limit-conn 插件了。其他插件的开启和移除也是同样的方法。
-
diff --git a/doc/zh-cn/plugins/node-status.md b/doc/zh-cn/plugins/node-status.md
index c266a7a..900a3a6 100644
--- a/doc/zh-cn/plugins/node-status.md
+++ b/doc/zh-cn/plugins/node-status.md
@@ -28,22 +28,18 @@
 - [**测试插件**](#测试插件)
 - [**禁用插件**](#禁用插件)
 
-
 ## 插件简介
 
 `node-status` 是 `APISIX` 的请求状态查询插件,返回基本的状态信息。
 
-
 ## 插件属性
 
 无。
 
-
 ## 插件接口
 
 插件增加接口 `/apisix/status`,可通过 [interceptors](plugin-interceptors.md) 保护该接口。
 
-
 ## 启用插件
 
 1. 配置文件 `conf/config.yaml` 的 plugin list 中配置 `node-status`
@@ -80,7 +76,6 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f
 
 发送该请求的前提是 `apisix/conf/config.yaml` 中已经配置 `node-status`,此时 `node-status` 插件对该请求处理无影响,所以一般不会将 `node-status` 插件设置到路由中。
 
-
 ## 测试插件
 
 1. 发送请求
@@ -111,7 +106,6 @@ Server: APISIX web server
 | reading      | 当前正在读取请求头的连接数                   |
 | id           | APISIX uid 信息,保存在 apisix/conf/apisix.uid  |
 
-
 ## 禁用插件
 
 1. 配置文件 `apisix/conf/config.yaml` 的 plugin list 中删除 `node-status`
diff --git a/doc/zh-cn/plugins/request-id.md b/doc/zh-cn/plugins/request-id.md
index b0d6e4b..565be68 100644
--- a/doc/zh-cn/plugins/request-id.md
+++ b/doc/zh-cn/plugins/request-id.md
@@ -28,7 +28,6 @@
 - [**禁用插件**](#禁用插件)
 - [**示例**](#示例)
 
-
 ## 名称
 
 `request-id` 插件通过 APISIX 为每一个请求代理添加唯一 ID(UUID),以用于追踪 API 请求。该插件在 `header_name` 已经在请求中存在时不会为请求添加新的 ID
diff --git a/doc/zh-cn/plugins/request-validation.md b/doc/zh-cn/plugins/request-validation.md
index 0f52338..7db3291 100644
--- a/doc/zh-cn/plugins/request-validation.md
+++ b/doc/zh-cn/plugins/request-validation.md
@@ -33,7 +33,6 @@
 
 该插件使用 `Json Schema` 进行数据验证,有关 `Json Schema` 的更多信息,请参阅 [JSON schema](https://github.com/api7/jsonschema)。
 
-
 ## 属性
 
 | Name          | Type   | Requirement | Default | Valid | Description                       |
@@ -70,7 +69,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
 }
 ```
 
-
 ## 测试插件
 
 ```shell
@@ -82,7 +80,6 @@ curl --header "Content-Type: application/json" \
 
 如果 `Schema` 验证失败,将返回 `400 bad request` 错误。
 
-
 ## 禁用插件
 
 在路由 `plugins` 配置块中删除 `request-validation` 配置,即可禁用该插件。
@@ -102,7 +99,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
 }
 ```
 
-
 ## 示例
 
 **枚举(Enums)验证:**
@@ -195,7 +191,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
 }
 ```
 
-
 **数组(Array)验证:**
 
 ```json
diff --git a/doc/zh-cn/plugins/server-info.md b/doc/zh-cn/plugins/server-info.md
index 9642da5..49230e2 100644
--- a/doc/zh-cn/plugins/server-info.md
+++ b/doc/zh-cn/plugins/server-info.md
@@ -87,12 +87,10 @@ plugin_attr:
     report_ttl: 3600
 ```
 
-
 ## 测试插件
 
 Apache APISIX Dashboard 会收集上报到 etcd 中的服务信息,在启用这个插件后,你可以通过 APISIX Dashboard 来查看这些数据。
 
-
 ## 禁用插件
 
 通过移除配置文件 `apisix/conf/config.yaml` 插件列表中的 `server-info`,即可方便地禁用该插件。
diff --git a/doc/zh-cn/plugins/sls-logger.md b/doc/zh-cn/plugins/sls-logger.md
index 892a3fd..0676f8f 100644
--- a/doc/zh-cn/plugins/sls-logger.md
+++ b/doc/zh-cn/plugins/sls-logger.md
@@ -31,7 +31,6 @@
 
 `sls-logger` 是使用[RF5424](https://tools.ietf.org/html/rfc5424)标准将日志数据发送到以JSON格式发送到[阿里云日志服务](https://help.aliyun.com/document_detail/112903.html?spm=a2c4g.11186623.6.763.21321b47wcwt1u)。
 
-
 该插件提供了将Log Data作为批处理推送到阿里云日志服务器的功能。如果您没有收到日志数据,请放心一些时间,它会在我们的批处理处理器中的计时器功能到期后自动发送日志。
 
 有关Apache APISIX中Batch-Processor的更多信息,请参考:
diff --git a/doc/zh-cn/plugins/syslog.md b/doc/zh-cn/plugins/syslog.md
index e8fe5dd..9d2597f 100644
--- a/doc/zh-cn/plugins/syslog.md
+++ b/doc/zh-cn/plugins/syslog.md
@@ -26,7 +26,6 @@
 - [**测试插件**](#test-plugin)
 - [**禁用插件**](#disable-plugin)
 
-
 ## 定义
 
 `sys` 是一个将Log data请求推送到Syslog的插件。
@@ -89,7 +88,6 @@ hello, world
 
 ## 禁用插件
 
-
 想要禁用“sys-logger”插件,是非常简单的,将对应的插件配置从json配置删除,就会立即生效,不需要重新启动服务:
 
 ```shell
diff --git a/doc/zh-cn/plugins/tcp-logger.md b/doc/zh-cn/plugins/tcp-logger.md
index 4699f88..ea71575 100644
--- a/doc/zh-cn/plugins/tcp-logger.md
+++ b/doc/zh-cn/plugins/tcp-logger.md
@@ -54,7 +54,6 @@
 | retry_delay      | integer | 可选   | 1      | [0,...] | 如果执行失败,则应延迟执行流程的秒数             |
 | include_req_body | boolean | 可选   |        |         | 是否包括请求 body                                |
 
-
 ## 如何开启
 
 1. 下面例子展示了如何为指定路由开启 `tcp-logger` 插件的。
diff --git a/doc/zh-cn/plugins/wolf-rbac.md b/doc/zh-cn/plugins/wolf-rbac.md
index f739a59..e6628a9 100644
--- a/doc/zh-cn/plugins/wolf-rbac.md
+++ b/doc/zh-cn/plugins/wolf-rbac.md
@@ -33,7 +33,6 @@
 `wolf-rbac` 是一个认证及授权(rbac)插件,它需要与 `consumer` 一起配合才能工作。同时需要添加 `wolf-rbac` 到一个 `service` 或 `route` 中。
 rbac功能由[wolf](https://github.com/iGeeky/wolf)提供, 有关 `wolf` 的更多信息, 请参考[wolf文档](https://github.com/iGeeky/wolf)。
 
-
 ## 属性
 
 | 名称          | 类型   | 必选项 | 默认值                   | 有效值 | 描述                                                             |
@@ -62,7 +61,6 @@ rbac功能由[wolf](https://github.com/iGeeky/wolf)提供, 有关 `wolf` 的更
 
 [Wolf管理使用](https://github.com/iGeeky/wolf/blob/master/docs/usage.md)
 
-
 ## 如何启用
 
 1. 创建一个 consumer 对象,并设置插件 `wolf-rbac` 的值。
@@ -138,7 +136,6 @@ curl http://127.0.0.1:9080/apisix/plugin/wolf-rbac/login -i \
 -d 'appid=restful&username=test&password=user-password'
 ```
 
-
 #### 使用获取到的 token 进行请求尝试
 
 * 缺少 token
@@ -235,7 +232,6 @@ HTTP/1.1 200 OK
 {"message":"success to change password"}
 ```
 
-
 ## 禁用插件
 
 当你想去掉 `rbac-wolf` 插件的时候,很简单,在routes中的插件配置中把对应的 `插件` 配置删除即可,无须重启服务,即刻生效:
@@ -255,4 +251,3 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f1
     }
 }'
 ```
-
diff --git a/doc/zh-cn/plugins/zipkin.md b/doc/zh-cn/plugins/zipkin.md
index 4e299c4..673dbe0 100644
--- a/doc/zh-cn/plugins/zipkin.md
+++ b/doc/zh-cn/plugins/zipkin.md
@@ -125,7 +125,6 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -H 'X-API-KEY: edd1c9f03433
 
 现在就已经移除了 Zipkin 插件了。其他插件的开启和移除也是同样的方法。
 
-
 ## 上游服务是Golang的示例代码
 
 ```golang
@@ -164,4 +163,3 @@ func main(){
 
 }
 ```
-