membphis opened a new issue #1273: [discuss] doc: fix style for "markdown" documents URL: https://github.com/apache/incubator-apisix/issues/1273 How about we use some tools to check the document style? This plugin is nice: https://github.com/DavidAnson/vscode-markdownlint#configure ```diff diff --git a/FAQ.md b/FAQ.md index 166a8b04..e76c172c 100644 --- a/FAQ.md +++ b/FAQ.md @@ -19,11 +19,11 @@ # FAQ -## Why a new API gateway? +## Why a new API gateway There are new requirements for API gateways in the field of microservices: higher flexibility, higher performance requirements, and cloud native. -## What are the differences between APISIX and other API gateways? +## What are the differences between APISIX and other API gateways APISIX is based on etcd to save and synchronize configuration, not relational databases such as Postgres or MySQL. @@ -37,17 +37,17 @@ One of the goals of APISIX design and development is the highest performance in APISIX is the highest performance API gateway with a single-core QPS of 23,000, with an average delay of only 0.6 milliseconds. -## Does APISIX have a console interface? +## Does APISIX have a console interface Yes, in version 0.6 we have dashboard built in, you can operate APISIX through the web interface. -## Can I write my own plugin? +## Can I write my own plugin Of course, APISIX provides flexible custom plugins for developers and businesses to write their own logic. [How to write plugin](doc/plugin-develop.md) -## Why we choose etcd as the configuration center? +## Why we choose etcd as the configuration center For the configuration center, configuration storage is only the most basic function, and APISIX also needs the following features: @@ -59,7 +59,7 @@ For the configuration center, configuration storage is only the most basic funct See more [etcd why](https://github.com/etcd-io/etcd/blob/master/Documentation/learning/why.md#comparison-chart). -## Why is it that installing APISIX dependencies with Luarocks causes timeout, slow or unsuccessful installation? +## Why is it that installing APISIX dependencies with Luarocks causes timeout, slow or unsuccessful installation There are two possibilities when encountering slow luarocks: @@ -71,7 +71,7 @@ Run the `luarocks config rocks_servers` command(this command is supported after If using a proxy doesn't solve this problem, you can add `--verbose` option during installation to see exactly how slow it is. Excluding the first case, only the second that the `git` protocol is blocked. Then we can run `git config --global url."https://".insteadOf git://` to using the 'HTTPS' protocol instead of `git`. -## How to support A/B testing via APISIX? +## How to support A/B testing via APISIX An example, if you want to group by the request param `arg_id`: @@ -79,6 +79,7 @@ An example, if you want to group by the request param `arg_id`: 2. Group B:arg_id > 1000 here is the way: + ```shell curl -i http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { @@ -108,10 +109,12 @@ 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 +<https://github.com/iresty/lua-resty-radixtree#operator-list> ## How to fix OpenResty Installation Failure on MacOS 10.15 -When you install the OpenResty on MacOs 10.15, you may face this error + +When you install the OpenResty on MacOs 10.15, you may face this error. + ```shell > brew install openresty Updating Homebrew... @@ -157,6 +160,7 @@ Update them from Software Update in System Preferences or https://developer.apple.com/download/more/. ``` -This is an OS incompatible issue, you could fix by these two steps +This is an OS incompatible issue, you could fix by these two steps: + 1. `brew edit openresty/brew/openresty` 1. add `\ -fno-stack-check` in with-luajit-xcflags line. diff --git a/doc/admin-api.md b/doc/admin-api.md index c14f0ac5..1143e013 100644 --- a/doc/admin-api.md +++ b/doc/admin-api.md @@ -17,7 +17,6 @@ # --> - Table of contents === @@ -56,7 +55,7 @@ Table of contents |remote_addr|False |Match Rules|The client requests an IP address: `192.168.1.101`, `192.168.1.102`, and CIDR format support `192.168.1.0/24`. In particular, APISIX also fully supports IPv6 address matching: `::1`, `fe80::1`, `fe80::1/64`, etc.|"192.168.1.0/24"| |remote_addrs|False |Match Rules|The `remote_addr` in the form of a list indicates that multiple different IP addresses are allowed, and match any one of them.|{"127.0.0.1", "192.0.0.0/8", "::1"}| |methods |False |Match Rules|If empty or without this option, there are no `method` restrictions, and it can be a combination of one or more: `GET`,`POST`,`PUT`,`DELETE`,`PATCH`, `HEAD`,`OPTIONS`,`CONNECT`,`TRACE`.|{"GET", "POST"}| -|priority |False |Match Rules|If different routes contain the same `uri`, determine which route is matched first based on the attribute` priority`, the default value is 0.|priority = 10| +|priority |False |Match Rules|If different routes contain the same `uri`, determine which route is matched first based on the attribute `priority`, the default value is 0.|priority = 10| |vars |False |Match Rules |A list of one or more `{var, operator, val}` elements, like this: `{{var, operator, val}, {var, operator, val}, ...}`. For example: `{"arg_name", "==", "json"}` means that the current request parameter `name` is `json`. The `var` here is consistent with the internal variable name of Nginx, so you can also use `request_uri`, `host`, etc. For the operator part, the currently supported operators are `==`, `~=`,`>`, `<`, and `~~`. For the `>` and `<` operators, the result is first converted to `number` and then compared. See a list of [supported operators](#available-operators) |{{"arg_name", "==", "json"}, {"arg_age", ">", 18}}| |filter_func|False|Match Rules|User-defined filtering function. You can use it to achieve matching requirements for special scenarios. This function accepts an input parameter named `vars` by default, which you can use to get Nginx variables.|function(vars) return vars["arg_name"] == "json" end| |plugins |False |Plugin|See [Plugin](architecture-design.md#plugin) for more || ```
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services