From aba3f90a90ee0ad335150af2087f5c24151667d4 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Thu, 11 Jul 2024 10:51:36 +0800 Subject: [PATCH] Fix zh copywriting by use AutoCorrect. --- .autocorrectignore | 2 + .autocorrectrc | 4 + README.md | 11 +- community/02-how-to-subscribe.md | 4 +- community/04-release.md | 8 +- community/05-how-to-vote-a-committer-pmc.md | 2 +- .../03-connect/02-http-connector.md | 2 +- .../03-connect/10-file-connector.md | 8 +- .../03-connect/11-kafka-connector.md | 4 +- .../meetup-content-review.md | 2 +- .../current/02-how-to-subscribe.md | 18 +-- .../current/03-how-to-use-email.md | 8 +- .../current/04-release.md | 120 +++++++++--------- .../current/06-how-to-sign-apache-icla.md | 44 +++---- .../current/07-contact.md | 10 +- .../current/contribute/01-contribute.md | 8 +- .../current/contribute/02-write-unit-test.md | 2 +- .../03-connect/02-http-connector.md | 58 ++++----- .../03-connect/10-file-connector.md | 2 +- .../03-connect/11-kafka-connector.md | 2 +- package.json | 1 + 21 files changed, 168 insertions(+), 152 deletions(-) create mode 100644 .autocorrectignore create mode 100644 .autocorrectrc diff --git a/.autocorrectignore b/.autocorrectignore new file mode 100644 index 0000000000..9bf2e3307d --- /dev/null +++ b/.autocorrectignore @@ -0,0 +1,2 @@ +versioned_docs/ +version-*/ \ No newline at end of file diff --git a/.autocorrectrc b/.autocorrectrc new file mode 100644 index 0000000000..2df372e437 --- /dev/null +++ b/.autocorrectrc @@ -0,0 +1,4 @@ +rules: + space-bracket: 0 +context: + codeblock: 0 diff --git a/README.md b/README.md index 3159b87ed0..9b99fc8749 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,16 @@ npm run build npm run serve ``` +## Check contents style + +Before you commit your changes, you can check the style of the contents by running the following command: + +```sh +$ npm run autocorrect --lint +``` + +And then follow the instructions to fix the style issues. + ## Sync Documentation from `apache/eventmesh` The `npm run fetch` script (`scripts/fetch.ts`) clones the `apache/eventmesh` repository and copies the documentations to `docs` and `i18n/zh/docusaurus-plugin-content-docs`. To update the documentation, please create a pull request in the `apache/eventmesh` repository. @@ -38,4 +48,3 @@ npm run fetch npm run start -- --locale en ``` - diff --git a/community/02-how-to-subscribe.md b/community/02-how-to-subscribe.md index 7fa07cb4cb..63c26c3430 100644 --- a/community/02-how-to-subscribe.md +++ b/community/02-how-to-subscribe.md @@ -24,7 +24,7 @@ As long as you subscribe to this mailing list, you can get the latest developmen ## 1. Subscribe to the mailing list **For example,Take subscribing to the dev@eventmesh.apache.org mailing list** -The steps are as follows: +The steps are as follows: 1. Send an email without any content or subject: `dev-subscribe@eventmesh.apache.org` 2. Wait until you receive an email with the subject line `confirm subscribe to dev@eventmesh.apache.org` (if you have not received it for a long time, please confirm whether the email is blocked by your email, if you have not been blocked and will receive a reply for a long time, return to step 1) 3. Reply directly to the email without changing the subject line or adding the email content. @@ -32,7 +32,7 @@ The steps are as follows: 5. If you receive an email from (4), you have successfully subscribed to the email. To initiate a discussion, you can send an email directly to `dev@eventmesh.apache.org`, which will be sent to everyone who subscribed to the mailing list. ## 2. Unsubscribe from the mailing list -The steps for unsubscribing to a mailing list are similar to those for subscribing to a mailing list:: +The steps for unsubscribing to a mailing list are similar to those for subscribing to a mailing list:: 1. Send an email without any content or subject to: `dev-unsubscribe@eventmesh.apache.org` 2. Wait until you receive an email with the subject line `confirm unsubscribe from dev@eventmesh.apache.org` 3. Reply directly to the email without changing the subject line or adding the email content diff --git a/community/04-release.md b/community/04-release.md index 1d18f665b3..9f86b43cc7 100644 --- a/community/04-release.md +++ b/community/04-release.md @@ -31,7 +31,7 @@ $ gpg --version #Check the version, it should be 2.x According to the prompt, generate the key -> Note:please use Apache mail box generate GPG Key +> Note: please use Apache mail box generate GPG Key ```shell $ gpg --full-gen-key @@ -94,7 +94,7 @@ $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 579C25F5 # Verify wheth default-key 28681CB1 ``` -**If there are multiple public keys, useless keys can also be deleted:** +**If there are multiple public keys, useless keys can also be deleted:** ```shell $ gpg --delete-secret-keys 29BBC3CB # first delete the private key and specify the key id @@ -250,7 +250,7 @@ Execute the following command, you need to sign and encrypt files such as jar, s $ gradle signMavenJavaPublication publish ``` -After the above command is executed successfully, the version to be released will be automatically uploaded to Apache's staging repository. All Artifacts that are deployed to the remote [maven repository](http://repository.apache.org/) will be in the staging state,visit https://repository.apache.org/#stagingRepositories ,log in with Apache's LDAP account, You will see the uploaded version, and the content of the `Repository` column is ${STAGING.REPOSITORY}. Click `Close` to tell Nexus that the build is complete and only then will the build be usable. If there is a problem with the electronic signature, `Close` will fail, and you can view the failure information through `Activity`. +After the above command is executed successfully, the version to be released will be automatically uploaded to Apache's staging repository. All Artifacts that are deployed to the remote [maven repository](http://repository.apache.org/) will be in the staging state, visit https://repository.apache.org/#stagingRepositories ,log in with Apache's LDAP account, You will see the uploaded version, and the content of the `Repository` column is ${STAGING.REPOSITORY}. Click `Close` to tell Nexus that the build is complete and only then will the build be usable. If there is a problem with the electronic signature, `Close` will fail, and you can view the failure information through `Activity`. @@ -604,7 +604,7 @@ https://eventmesh.apache.org/download/ https://eventmesh.apache.org/zh/download/ -Download links for GPG signature files and hash verification files should use this prefix:`https://downloads.apache.org/eventmesh/` +Download links for GPG signature files and hash verification files should use this prefix:`https://downloads.apache.org/eventmesh/` > Note: The project download link should use https://www.apache.org/dyn/closer.lua instead of closer.cgi or mirrors.cgi diff --git a/community/05-how-to-vote-a-committer-pmc.md b/community/05-how-to-vote-a-committer-pmc.md index 646c9e4f5a..fa1217a94b 100644 --- a/community/05-how-to-vote-a-committer-pmc.md +++ b/community/05-how-to-vote-a-committer-pmc.md @@ -243,7 +243,7 @@ After receiving the notification email that the account was created successfully - Enter [Apache Account Utility Platform] (https://id.apache.org/), create a password, set up a personal email address (`forwarding email address`) and a GitHub account (`Your GitHub Username`). - If you want to use `xxx@apache.org` mail service, please refer to [here](https://infra.apache.org/committer-email.html). Gmail is recommended as this forwarding mode is not easily found in most email service setups. -- Follow【Authorize GitHub 2FA wiki】(https://help.github.com/articles/configuring-two-factor-authentication-via-a-totp-mobile-app/) to enable two-factor authorization (2FA) in [Github ](http://github.com/). When you set 2FA to "off", it will be delisted from the corresponding Apache committer write permission group until you set it again. (**Note: pay attention to recovery codes like passwords!**) +- Follow [Authorize GitHub 2FA wiki](https://help.github.com/articles/configuring-two-factor-authentication-via-a-totp-mobile-app/) to enable two-factor authorization (2FA) in [Github ](http://github.com/). When you set 2FA to "off", it will be delisted from the corresponding Apache committer write permission group until you set it again. (**Note: pay attention to recovery codes like passwords!**) - Use the [GitBox Account Linking Utility] (https://gitbox.apache.org/setup/) to obtain the write permission of the EventMesh project. - [eventmesh-website](https://eventmesh.apache.org/team) related page update diff --git a/docs/design-document/03-connect/02-http-connector.md b/docs/design-document/03-connect/02-http-connector.md index b62b77695f..c773fe8773 100644 --- a/docs/design-document/03-connect/02-http-connector.md +++ b/docs/design-document/03-connect/02-http-connector.md @@ -159,7 +159,7 @@ The data format of the message sent by the HTTP sink connector is as follows: - time: the time the request was sent - uuid: request unique identifier, one-to-one with the uuid of the callback data structure in webhook mode - eventId: event ID, composed of type and offset -- data:actual data to be sent +- data: actual data to be sent ```json { diff --git a/docs/design-document/03-connect/10-file-connector.md b/docs/design-document/03-connect/10-file-connector.md index 5924545b3a..dd823a5b60 100644 --- a/docs/design-document/03-connect/10-file-connector.md +++ b/docs/design-document/03-connect/10-file-connector.md @@ -1,10 +1,10 @@ # File -## FileSinkConnector:Writes File file from EventMesh +## FileSinkConnector: Writes File file from EventMesh 1. Start your EventMesh Runtime. 2. Enable sinkConnector and check `sink-config.yml`. -3. Started FileConnectServer,It will subscribe to the topic defined in `pubSubConfig.subject` in the EventMesh Runtime,And write the data to the path located : `connectorConfig.topic`/Year/Month/Day ; the file named:【 `connectorConfig.topic` + Current time Hour (24 hours) + timestamp 】. +3. Started FileConnectServer, It will subscribe to the topic defined in `pubSubConfig.subject` in the EventMesh Runtime, And write the data to the path located : `connectorConfig.topic`/Year/Month/Day ; the file named:【 `connectorConfig.topic` + Current time Hour (24 hours) + timestamp 】. 4. Using the Topic specified in `pubSubConfig.subject`, send a message to EventMesh, which you will persist in the file. ```yaml @@ -24,11 +24,11 @@ connectorConfig: topic: TopicTest ``` -## FileSourceConnector:Read from File to EventMesh +## FileSourceConnector: Read from File to EventMesh 1. Start your EventMesh Runtime. 2. Enable sinkConnector and check `source-config.yml`. -3. Started FileConnectServer,It sends the data read from `connectorConfig.filePath` to `pubSubConfig.subject` in the EventMesh Runtime. +3. Started FileConnectServer, It sends the data read from `connectorConfig.filePath` to `pubSubConfig.subject` in the EventMesh Runtime. 4. The append to the file content is recognized, and you receive the message in EventMesh. ```yaml diff --git a/docs/design-document/03-connect/11-kafka-connector.md b/docs/design-document/03-connect/11-kafka-connector.md index 7ff65580b9..c8a0178111 100644 --- a/docs/design-document/03-connect/11-kafka-connector.md +++ b/docs/design-document/03-connect/11-kafka-connector.md @@ -1,6 +1,6 @@ # Kafka -## KafkaSinkConnector:From EventMesh to Kafka +## KafkaSinkConnector: From EventMesh to Kafka 1. Start your EventMesh Runtime. 2. Enable sinkConnector and check `sink-config.yml`. @@ -27,7 +27,7 @@ connectorConfig: valueConverter: org.apache.kafka.common.serialization.StringSerializer ``` -## KafkaSourceConnector:From Kafka to EventMesh +## KafkaSourceConnector: From Kafka to EventMesh 1. Start your EventMesh Runtime. 2. Enable sourceConnector and check `source-config.yml`. diff --git a/i18n/zh/docusaurus-plugin-content-blog/meetup-content-review.md b/i18n/zh/docusaurus-plugin-content-blog/meetup-content-review.md index 3ba4e29c5f..1bfa127fb4 100644 --- a/i18n/zh/docusaurus-plugin-content-blog/meetup-content-review.md +++ b/i18n/zh/docusaurus-plugin-content-blog/meetup-content-review.md @@ -2,4 +2,4 @@ |**Data**|**Topic & Videos**| |:----|:----| -|17/05/2022|[解决SaaS组合式应用集成标准化问题--EventMesh在华为的实践应用](https://www.bilibili.com/video/BV1cA4y1d7uw/?vd_source=7fa3cce048d504c8a511cfe78a2ec8c5)| +|17/05/2022|[解决 SaaS 组合式应用集成标准化问题--EventMesh 在华为的实践应用](https://www.bilibili.com/video/BV1cA4y1d7uw/?vd_source=7fa3cce048d504c8a511cfe78a2ec8c5)| diff --git a/i18n/zh/docusaurus-plugin-content-docs-community/current/02-how-to-subscribe.md b/i18n/zh/docusaurus-plugin-content-docs-community/current/02-how-to-subscribe.md index 0de35f8188..70580d742f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs-community/current/02-how-to-subscribe.md +++ b/i18n/zh/docusaurus-plugin-content-docs-community/current/02-how-to-subscribe.md @@ -9,16 +9,16 @@ Apache 为每个项目配置了一系列邮件列表。邮件列表是 Apache 社区日常运维中的很多事情都是通过邮件列表来承载的,比如技术讨论、任何想法或建议、项目问答、新功能/特性/重大变更的决定和通知、版本发布投票等。只要是和项目相关的,都可以在这里发起讨论。 -只要订阅这个邮件列表,就可以第一时间了解EventMesh社区的最新动态,与社区保持同步。 +只要订阅这个邮件列表,就可以第一时间了解 EventMesh 社区的最新动态,与社区保持同步。 -**EventMesh项目邮件列表** +**EventMesh 项目邮件列表** -|名称|描述|订阅邮件|退订邮件|邮件归档| +|名称 | 描述 | 订阅邮件 | 退订邮件 | 邮件归档| |:-----|:--------|:------|:-------|:-----| -| [users@eventmesh.apache.org](mailto:users@eventmesh.apache.org)|用户讨论| [订阅](mailto:users-subscribe@eventmesh.apache.org)| [退订](mailto:users-unsubscribe@eventmesh.apache.org)| [归档](https://lists.apache.org/list.html?users@eventmesh.apache.org)| +| [users@eventmesh.apache.org](mailto:users@eventmesh.apache.org)|用户讨论 | [订阅](mailto:users-subscribe@eventmesh.apache.org)| [退订](mailto:users-unsubscribe@eventmesh.apache.org)| [归档](https://lists.apache.org/list.html?users@eventmesh.apache.org)| | [dev@eventmesh.apache.org](mailto:dev@eventmesh.apache.org) | 社区活动信息 | [订阅](mailto:dev-subscribe@eventmesh.apache.org) | [退订](mailto:dev-unsubscribe@eventmesh.apache.org) | [归档](https://lists.apache.org/list.html?dev@eventmesh.apache.org) | | [commits@eventmesh.apache.org](mailto:commits@eventmesh.apache.org) | 代码库更新信息 | [订阅](mailto:commits-subscribe@eventmesh.apache.org) | [退订](mailto:commits-unsubscribe@eventmesh.apache.org) | [归档](https://lists.apache.org/list.html?commits@eventmesh.apache.org) | -| [issues@eventmesh.apache.org](mailto:issues@eventmesh.apache.org) | 问题或PR的评论和审查 | [订阅](mailto:issues-subscribe@eventmesh.apache.org) | [退订](mailto:issues-unsubscribe@eventmesh.apache.org) | [归档](https://lists.apache.org/list.html?issues@eventmesh.apache.org) | +| [issues@eventmesh.apache.org](mailto:issues@eventmesh.apache.org) | 问题或 PR 的评论和审查 | [订阅](mailto:issues-subscribe@eventmesh.apache.org) | [退订](mailto:issues-unsubscribe@eventmesh.apache.org) | [归档](https://lists.apache.org/list.html?issues@eventmesh.apache.org) | ## 1. 订阅邮件列表 @@ -27,7 +27,7 @@ Apache 为每个项目配置了一系列邮件列表。邮件列表是 Apache 步骤如下: 1. 发送一封没有任何内容和主题的邮件:`dev-subscribe@eventmesh.apache.org` -2. 等到收到一封主题为`确认订阅dev@eventmesh.apache.org`的邮件(如果长时间没有收到,请确认邮件是否被您的邮箱屏蔽,如果有未被屏蔽,长时间会收到回复,返回步骤1) +2. 等到收到一封主题为`确认订阅dev@eventmesh.apache.org`的邮件(如果长时间没有收到,请确认邮件是否被您的邮箱屏蔽,如果有未被屏蔽,长时间会收到回复,返回步骤 1) 3. 直接回复电子邮件,不更改主题行或添加电子邮件内容。 4. 等到您收到一封主题为“WELCOME to dev@eventmesh.apache.org”的电子邮件。 5. 如果您收到来自(4)的邮件,则您已成功订阅该邮件。要发起讨论,您可以直接发送电子邮件至 `dev@eventmesh.apache.org`,这将发送给订阅邮件列表的每个人。 @@ -43,11 +43,11 @@ Apache 为每个项目配置了一系列邮件列表。邮件列表是 Apache ## 3. 相关问题 -> EventMesh的issues地址[https://github.com/apache/eventmesh/issues](https://github.com/apache/eventmesh/issues) +> EventMesh 的 issues 地址[https://github.com/apache/eventmesh/issues](https://github.com/apache/eventmesh/issues) -对于新的问题/想法,您可以通过\[new issues\]创建一个新的issue,并尽可能详细地描述issue,以便社区成员跟进、讨论和解决。对于项目的任何问题,建议先创建issue进行记录和跟进,这样整个过程可以很好的保存和归档,方便后续用户检索。 +对于新的问题/想法,您可以通过\[new issues\]创建一个新的 issue,并尽可能详细地描述 issue,以便社区成员跟进、讨论和解决。对于项目的任何问题,建议先创建 issue 进行记录和跟进,这样整个过程可以很好的保存和归档,方便后续用户检索。 -对于存在的问题,如果大家有兴趣,可以回复讨论,不限。对于任务/BUG类型的问题,有兴趣的可以关注或直接参与任务。非常欢迎社区伙伴为 EventMesh 贡献自己的力量。 +对于存在的问题,如果大家有兴趣,可以回复讨论,不限。对于任务/BUG 类型的问题,有兴趣的可以关注或直接参与任务。非常欢迎社区伙伴为 EventMesh 贡献自己的力量。 ## 4.邮件使用 diff --git a/i18n/zh/docusaurus-plugin-content-docs-community/current/03-how-to-use-email.md b/i18n/zh/docusaurus-plugin-content-docs-community/current/03-how-to-use-email.md index 10f933cc0b..557f38cc00 100644 --- a/i18n/zh/docusaurus-plugin-content-docs-community/current/03-how-to-use-email.md +++ b/i18n/zh/docusaurus-plugin-content-docs-community/current/03-how-to-use-email.md @@ -9,7 +9,7 @@ sidebar_position: 1 > 当成为 Committer 后,你就会拥有一个 Apache 邮箱,本教程基于 `Gmail` 使用 Apache 邮箱。 -#### 1. 登录Gmail +#### 1. 登录 Gmail * [Gmail's official website](https://gmail.google.com) 在这里 @@ -37,12 +37,12 @@ Your ApacheID is: xxxx #### 5. 添加 Apache 邮箱 -* 登录到 [id.apache.org](https://id.apache.org/), 配置你的apache邮箱转发地址 +* 登录到 [id.apache.org](https://id.apache.org/), 配置你的 apache 邮箱转发地址 ![forwarding-email](/images/email/forwarding-email.png) -* 添加apache邮箱至Gmail配置 +* 添加 apache 邮箱至 Gmail 配置 ![add-apache-email](/images/email/add-apache-email.png) -> 未配置前,默认使用Gmail邮箱发送,可以添加apache邮箱作为默认发送邮箱。这个过程需要相关的配置和邮箱来确认和验证。 +> 未配置前,默认使用 Gmail 邮箱发送,可以添加 apache 邮箱作为默认发送邮箱。这个过程需要相关的配置和邮箱来确认和验证。 diff --git a/i18n/zh/docusaurus-plugin-content-docs-community/current/04-release.md b/i18n/zh/docusaurus-plugin-content-docs-community/current/04-release.md index 943611a792..551a5e48f1 100644 --- a/i18n/zh/docusaurus-plugin-content-docs-community/current/04-release.md +++ b/i18n/zh/docusaurus-plugin-content-docs-community/current/04-release.md @@ -9,7 +9,7 @@ sidebar_position: 3 Source Release 是 Apache 关注的重点,也是发布的必须内容;而 Binary Release 是可选项, -请参考以下链接,找到更多关于 ASF 的发布指南: +请参考以下链接,找到更多关于 ASF 的发布指南: - [Apache Release Guide](http://www.apache.org/dev/release-publishing) - [Apache Release Policy](http://www.apache.org/dev/release.html) @@ -19,19 +19,19 @@ Source Release 是 Apache 关注的重点,也是发布的必须内容;而 Bi 主要包括签名工具、Maven 仓库认证相关准备 -### 1.安装GPG +### 1.安装 GPG -在[GnuPG官网](https://www.gnupg.org/download/index.html)下载安装包。GnuPG的1.x版本和2.x版本的命令有细微差别,下列说明以**GnuPG-2.x**版本为例 +在[GnuPG 官网](https://www.gnupg.org/download/index.html)下载安装包。GnuPG 的 1.x 版本和 2.x 版本的命令有细微差别,下列说明以**GnuPG-2.x**版本为例 ```sh $ gpg --version #检查版本,应该为2.x ``` -### 2.用gpg生成key +### 2.用 gpg 生成 key 根据提示,生成 key -> 注意:请使用Apache邮箱生成GPG的Key +> 注意:请使用 Apache 邮箱生成 GPG 的 Key ```shell $ gpg --full-gen-key @@ -130,13 +130,13 @@ uid [ultimate] mikexue sub rsa4096 2021-04-26 [E] ``` -登录 [https://id.apache.org](https://id.apache.org/),将上面的 fingerprint (即 F84A 0041 D70B 37AF 9C7B F0B3 39F4 29D7 579C 25F5) 粘贴到自己的用户信息中 OpenPGP Public Key Primary Fingerprint +登录 [https://id.apache.org](https://id.apache.org/),将上面的 fingerprint(即 F84A 0041 D70B 37AF 9C7B F0B3 39F4 29D7 579C 25F5)粘贴到自己的用户信息中 OpenPGP Public Key Primary Fingerprint -## 发布Apache Maven仓库 +## 发布 Apache Maven 仓库 -> 注:EventMesh使用Gradle构建,需修改gradle相关配置 +> 注:EventMesh 使用 Gradle 构建,需修改 gradle 相关配置 ### 1.导出私钥文件 @@ -146,15 +146,15 @@ $ gpg --export-secret-keys -o secring.gpg #私钥文件妥善保管,后面配 ### 2.准备分支 -从主干分支拉取新分支作为发布分支,如现在要发布$`{release_version}`版本,则从master分支拉出新分支`${release_version}-prepare`,此后`${release_version}` Release Candidates涉及的修改及打标签等都在`${release_version}-prepare`分支进行,最终发布完成后合入主干分支。 +从主干分支拉取新分支作为发布分支,如现在要发布$`{release_version}`版本,则从 master 分支拉出新分支`${release_version}-prepare`,此后`${release_version}` Release Candidates 涉及的修改及打标签等都在`${release_version}-prepare`分支进行,最终发布完成后合入主干分支。 ### 3.更新版本说明 -更新官网项目的如下文件,并提交至master分支: +更新官网项目的如下文件,并提交至 master 分支: https://github.com/apache/eventmesh-site/tree/master/events/release-notes -### 4.配置根项目下gradle.properties文件 +### 4.配置根项目下 gradle.properties 文件 ```shell group=org.apache.eventmesh @@ -173,16 +173,16 @@ apachePassWord= signEnabled=true ``` -### 5.检查子模块下gradle.properties文件 +### 5.检查子模块下 gradle.properties 文件 ```shell group=org.apache.eventmesh version=${release_version} ``` -### 6.检查并配置根项目下build.gradle文件 +### 6.检查并配置根项目下 build.gradle 文件 -该文件check下,大部分情况下不需要变更 +该文件 check 下,大部分情况下不需要变更 ```shell publishing { @@ -245,30 +245,30 @@ signing { ### 7.上传发布包 -执行如下命令,需要对jar、源码包、doc和pom等文件签名加密 +执行如下命令,需要对 jar、源码包、doc 和 pom 等文件签名加密 ```shell $ gradle signMavenJavaPublication publish ``` -上述命令执行成功后,待发布版本会自动上传到Apache的临时筹备仓库(staging repository)。所有被deploy到远程[maven仓库](http://repository.apache.org/)的Artifacts都会处于staging状态,访问https://repository.apache.org/#stagingRepositories,使用Apache的LDAP账户登录后,就会看到上传的版本,`Repository`列的内容即为${STAGING.REPOSITORY}。点击`Close`来告诉Nexus这个构建已经完成,只有这样该版本才是可用的。如果电子签名等出现问题,`Close`会失败,可以通过`Activity`查看失败信息。 +上述命令执行成功后,待发布版本会自动上传到 Apache 的临时筹备仓库(staging repository)。所有被 deploy 到远程[maven 仓库](http://repository.apache.org/)的 Artifacts 都会处于 staging 状态,访问 https://repository.apache.org/#stagingRepositories,使用 Apache 的 LDAP 账户登录后,就会看到上传的版本,`Repository`列的内容即为${STAGING.REPOSITORY}。点击`Close`来告诉 Nexus 这个构建已经完成,只有这样该版本才是可用的。如果电子签名等出现问题,`Close`会失败,可以通过`Activity`查看失败信息。 -## 发布Apache SVN仓库 +## 发布 Apache SVN 仓库 -### 1.准备svn本机环境(Apache使用svn托管项目的发布内容) +### 1.准备 svn 本机环境(Apache 使用 svn 托管项目的发布内容) -### 2.checkout到本地目录 +### 2.checkout 到本地目录 ```shell $ svn checkout https://dist.apache.org/repos/dist/dev/eventmesh/ # 假定本地目录为 ~/apache/eventmesh ``` -### 3.添加gpg公钥 +### 3.添加 gpg 公钥 -添加public key到[KEYS](https://dist.apache.org/repos/dist/dev/eventmesh/KEYS)文件并提交到SVN仓库(第一次做发布的人需要做这个操作,具体操作参考KEYS文件里的说明)。KEYS主要是让参与投票的人在本地导入,用来校验sign的正确性 +添加 public key 到[KEYS](https://dist.apache.org/repos/dist/dev/eventmesh/KEYS)文件并提交到 SVN 仓库(第一次做发布的人需要做这个操作,具体操作参考 KEYS 文件里的说明)。KEYS 主要是让参与投票的人在本地导入,用来校验 sign 的正确性 Windows @@ -283,16 +283,16 @@ $ gpg --armor --export | out-file -append KEYS -encoding utf8 $ (gpg --list-sigs && gpg --armor --export ) >> KEYS ``` -### 4.添加待发布内容到SVN目录 +### 4.添加待发布内容到 SVN 目录 ```shell $ cd ~/apache/eventmesh # eventmesh svn根目录 $ mkdir ${release_version}-${rc_version} ``` -#### 4.1 创建tag +#### 4.1 创建 tag -在`${release_version}-prepare`分支上创建tag,需带有rc版本,为预发布版本 +在`${release_version}-prepare`分支上创建 tag,需带有 rc 版本,为预发布版本 ```shell $ git tag -a v{$release_version}-{$rc_version} -m "Tagging the ${release_version} first Release Candidate (Candidates start at zero)" @@ -301,9 +301,9 @@ $ git push origin --tags #### 4.2 打包源码 -检查项目源码命名,将源码命名为`apache-eventmesh-${release_version}-src`,将源码打包为tar.gz格式 +检查项目源码命名,将源码命名为`apache-eventmesh-${release_version}-src`,将源码打包为 tar.gz 格式 -> 注:需要将源码中的可执行文件,空目录,无用文件,无用目录删除,包括.git目录,.github目录,.gradle目录,.gitignore文件,gradle目录,build目录,gradlew文件,gradlew.bat文件等 +> 注:需要将源码中的可执行文件,空目录,无用文件,无用目录删除,包括.git 目录,.github 目录,.gradle 目录,.gitignore 文件,gradle 目录,build 目录,gradlew 文件,gradlew.bat 文件等 ```shell $ tar -czvf apache-eventmesh-${release_version}-source.tar.gz apache-eventmesh-${release_version}-src @@ -325,18 +325,18 @@ $ ./gradlew clean dist && ./gradlew installPlugin $ tar -czvf apache-eventmesh-${release_version}-bin.tar.gz apache-eventmesh-${release_version} ``` -压缩source包、bin包,并将相关的压缩包拷贝到svn本地仓库下`/apache/eventmesh/${release_version}-${rc_version}` +压缩 source 包、bin 包,并将相关的压缩包拷贝到 svn 本地仓库下`/apache/eventmesh/${release_version}-${rc_version}` -### 5.生成签名/sha512文件 +### 5.生成签名/sha512 文件 -> 针对源码包与二进制包生成签名/sha512文件 +> 针对源码包与二进制包生成签名/sha512 文件 ```shell $ for i in *.tar.gz; do echo $i; gpg --print-md SHA512 $i > $i.sha512 ; done #计算sha512 $ for i in *.tar.gz; do echo $i; gpg --armor --output $i.asc --detach-sig $i ; done #计算签名 ``` -### 6.提交到Apache SVN +### 6.提交到 Apache SVN ```shell $ cd ~/apache/eventmesh # eventmesh svn根目录 @@ -344,11 +344,11 @@ $ svn status $ svn commit -m 'prepare for ${release_version}-${rc_version}' ``` -## 验证Release Candidates +## 验证 Release Candidates 详细检查列表请参考官方的[check list](https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist) -从以下地址下载要发布的Release Candidates到本地环境: +从以下地址下载要发布的 Release Candidates 到本地环境: ```shell https://dist.apache.org/repos/dist/dev/eventmesh/${release_version}-${rc_version}/ @@ -356,11 +356,11 @@ https://dist.apache.org/repos/dist/dev/eventmesh/${release_version}-${rc_version 然后开始验证环节,验证包含但不限于以下内容和形式 -### 1.检查签名和hash等信息 +### 1.检查签名和 hash 等信息 > 由于操作系统不同,检查的命令或有差异,具体可参考[官方检查步骤](https://www.apache.org/info/verification.html) -#### 1.1检查sha512哈希 +#### 1.1 检查 sha512 哈希 > Mac OS/Linux @@ -380,9 +380,9 @@ $ certUtil -hashfile apache-eventmesh-${release_version}-bin.tar.gz SHA512 #并将输出内容与 apache-eventmesh-${release_version}-${rc_version}-bin.tar.gz.sha512文件内容作对比 ``` -#### 1.2检查gpg签名 +#### 1.2 检查 gpg 签名 -首先导入发布人公钥。从svn仓库导入KEYS到本地环境。(发布版本的人不需要再导入,帮助做验证的人需要导入,用户名填发版人的即可) +首先导入发布人公钥。从 svn 仓库导入 KEYS 到本地环境。(发布版本的人不需要再导入,帮助做验证的人需要导入,用户名填发版人的即可) ```shell $ curl https://dist.apache.org/repos/dist/dev/eventmesh/KEYS >> KEYS @@ -414,41 +414,41 @@ $ gpg --verify apache-eventmesh-${release_version}-bin.tar.gz.asc apache-eventme ### 2.检查源码包的文件内容 -解压缩`apache-eventmesh-${release_version}-source.tar.gz`,进行如下检查: +解压缩`apache-eventmesh-${release_version}-source.tar.gz`,进行如下检查: -- 检查源码包是否包含由于包含不必要文件,致使tar包过于庞大 +- 检查源码包是否包含由于包含不必要文件,致使 tar 包过于庞大 - 存在`LICENSE`和`NOTICE`文件 - `NOTICE`文件中的年份正确 - 只存在文本文件,不存在二进制文件 -- 所有文件的开头都有ASF许可证 (可以使用skywalking-eyes工具的`license-eye header check`命令检查) -- 能够正确编译,单元测试可以通过 (`./gradlew build`) (目前支持JAVA 8/gradle 7.0/idea 2021.1.1及以上) +- 所有文件的开头都有 ASF 许可证 (可以使用 skywalking-eyes 工具的`license-eye header check`命令检查) +- 能够正确编译,单元测试可以通过 (`./gradlew build`) (目前支持 JAVA 8/gradle 7.0/idea 2021.1.1 及以上) - 检查是否有多余文件或文件夹,例如空文件夹等 ### 3.检查二进制包的文件内容 - 存在`LICENSE`和`NOTICE`文件 - `NOTICE`文件中的年份正确 -- 所有文本文件开头都有ASF许可证 (可以使用skywalking-eyes工具的`license-eye header check`命令检查) -- 根据[ASF第三方许可证政策](https://apache.org/legal/resolved.html),检查第三方依赖的许可证: - - 第三方依赖的许可证与Apache-2.0兼容 (运行`checkDeniedLicense `任务,关注`tools/dist-license`目录下新增的license文件的兼容性) +- 所有文本文件开头都有 ASF 许可证 (可以使用 skywalking-eyes 工具的`license-eye header check`命令检查) +- 根据[ASF 第三方许可证政策](https://apache.org/legal/resolved.html),检查第三方依赖的许可证: + - 第三方依赖的许可证与 Apache-2.0 兼容 (运行`checkDeniedLicense `任务,关注`tools/dist-license`目录下新增的 license 文件的兼容性) - 所有第三方依赖的许可证都在`LICENSE`文件中声名 - - 依赖许可证的完整版全部在`licenses`目录 (关注`generateDistLicense`任务的日志警告,补充过时工件的license内容) - - 如果依赖的是Apache许可证并且存在`NOTICE`文件,那么这些`NOTICE`文件也需要加入到版本的`NOTICE`文件中 + - 依赖许可证的完整版全部在`licenses`目录 (关注`generateDistLicense`任务的日志警告,补充过时工件的 license 内容) + - 如果依赖的是 Apache 许可证并且存在`NOTICE`文件,那么这些`NOTICE`文件也需要加入到版本的`NOTICE`文件中 ## 发起投票 > EventMesh 已经孵化毕业,只需要进行社区投票 -- EventMesh社区投票,发送邮件至:`dev@eventmesh.apache.org` +- EventMesh 社区投票,发送邮件至:`dev@eventmesh.apache.org` - 在社区投票的邮件正文中的${Your EventMesh Release Manager},填写负责本次发布的人员,一般是邮件发送人 -### 1.EventMesh社区投票阶段 +### 1.EventMesh 社区投票阶段 -1. EventMesh社区投票,发起投票邮件到`dev@eventmesh.apache.org`。PMC需要先按照文档检查版本的正确性,然后再进行投票。经过至少72小时并统计到3个`+1 PMC member`票后,即可进入下一阶段的投票。 -2. 宣布投票结果,发起投票结果邮件到`dev@eventmesh.apache.org`。 +1. EventMesh 社区投票,发起投票邮件到`dev@eventmesh.apache.org`。PMC 需要先按照文档检查版本的正确性,然后再进行投票。经过至少 72 小时并统计到 3 个`+1 PMC member`票后,即可进入下一阶段的投票。 +2. 宣布投票结果,发起投票结果邮件到`dev@eventmesh.apache.org`。 -### 2.EventMesh社区投票模板 +### 2.EventMesh 社区投票模板 标题: @@ -564,7 +564,7 @@ $ git branch -d ${release_version}-prepare ### 2.迁移源码与二进制包 -将源码和二进制包从svn的`dev`目录移动到`release`目录 +将源码和二进制包从 svn 的`dev`目录移动到`release`目录 ```shell $ svn mv https://dist.apache.org/repos/dist/dev/eventmesh/${release_version}-${rc_version} https://dist.apache.org/repos/dist/release/eventmesh/ -m "transfer packages for ${release_version}-${rc_version}" #移动源码包与二进制包 @@ -572,7 +572,7 @@ $ svn delete https://dist.apache.org/repos/dist/release/eventmesh/KEYS -m "delet $ svn cp https://dist.apache.org/repos/dist/dev/eventmesh/KEYS https://dist.apache.org/repos/dist/release/eventmesh/ -m "transfer KEYS for ${release_version}-${rc_version}" #拷贝dev目录KEYS到release目录 ``` -### 3.确认dev和release下的包是否正确 +### 3.确认 dev 和 release 下的包是否正确 - 确认[dev](https://dist.apache.org/repos/dist/dev/eventmesh/)下的`${release_version}-${rc_version}`已被删除 - 删除[release](https://dist.apache.org/repos/dist/release/eventmesh/)目录下上一个版本的发布包,这些包会被自动保存在[这里](https://archive.apache.org/dist/eventmesh/) @@ -581,16 +581,16 @@ $ svn cp https://dist.apache.org/repos/dist/dev/eventmesh/KEYS https://dist.apac $ svn delete https://dist.apache.org/repos/dist/release/eventmesh/${last_release_version} -m "Delete ${last_release_version}" ``` -### 4.在Apache Staging仓库发布版本 +### 4.在 Apache Staging 仓库发布版本 -- 登录http://repository.apache.org,使用Apache账号登录 -- 点击左侧的Staging repositories, -- 搜索EventMesh关键字,选择你最近上传的仓库,投票邮件中指定的仓库 +- 登录 http://repository.apache.org,使用 Apache 账号登录 +- 点击左侧的 Staging repositories, +- 搜索 EventMesh 关键字,选择你最近上传的仓库,投票邮件中指定的仓库 - 点击上方的`Release`按钮,这个过程会进行一系列检查 -> 等仓库同步到其他数据源,一般需要24小时 +> 等仓库同步到其他数据源,一般需要 24 小时 -### 5.GitHub版本发布 +### 5.GitHub 版本发布 1.Tag the commit (on which the vote happened) with the release version without `-${RELEASE_CANDIDATE}`. 例如:after a successful vote on `v1.2-rc5`, the hash will be tagged again with `v1.2` only. @@ -606,13 +606,13 @@ https://eventmesh.apache.org/download/ https://eventmesh.apache.org/zh/download/ -GPG签名文件和哈希校验文件的下载连接应该使用这个前缀:`https://downloads.apache.org/eventmesh/` +GPG 签名文件和哈希校验文件的下载连接应该使用这个前缀:`https://downloads.apache.org/eventmesh/` > 注意:项目下载链接应该使用 https://www.apache.org/dyn/closer.lua 而不是 closer.cgi 或者 mirrors.cgi ### 7.邮件通知版本发布完成 -> 请确保Apache Staging仓库已发布成功,一般是在该步骤的24小时后发布邮件 +> 请确保 Apache Staging 仓库已发布成功,一般是在该步骤的 24 小时后发布邮件 发邮件到 `dev@eventmesh.apache.org` 、 `announce@apache.org` diff --git a/i18n/zh/docusaurus-plugin-content-docs-community/current/06-how-to-sign-apache-icla.md b/i18n/zh/docusaurus-plugin-content-docs-community/current/06-how-to-sign-apache-icla.md index 44d3a25fa6..d1ad4bcbb2 100644 --- a/i18n/zh/docusaurus-plugin-content-docs-community/current/06-how-to-sign-apache-icla.md +++ b/i18n/zh/docusaurus-plugin-content-docs-community/current/06-how-to-sign-apache-icla.md @@ -4,43 +4,43 @@ sidebar_position: 5 --- ## Apache ICLA 签署流程指南 ->注:本文参考 shenyu-website项目的Apache ICLA 签署流程指南文档 https://shenyu.apache.org/zh/community/icla/ +>注:本文参考 shenyu-website 项目的 Apache ICLA 签署流程指南文档 https://shenyu.apache.org/zh/community/icla/ -Apache CLA 全称 Apache Contributor License Agreement,签署ICLA的目的是定义向ASF贡献的文档,保护知识产权,避免后续法律纠纷。ICLA在官方存档后生效,贡献者方可参与Apache项目。 +Apache CLA 全称 Apache Contributor License Agreement,签署 ICLA 的目的是定义向 ASF 贡献的文档,保护知识产权,避免后续法律纠纷。ICLA 在官方存档后生效,贡献者方可参与 Apache 项目。 -当我们需要签署ICLA时步骤如下: +当我们需要签署 ICLA 时步骤如下: -**1. 打开链接 [官网Licenses](https://www.apache.org/licenses/#clas) 在Contributor License Agreements 下找到 [CLAs](https://www.apache.org/licenses/contributor-agreements.html#clas) 并进入页面。** +**1. 打开链接 [官网 Licenses](https://www.apache.org/licenses/#clas) 在 Contributor License Agreements 下找到 [CLAs](https://www.apache.org/licenses/contributor-agreements.html#clas) 并进入页面。** ![page_link](https://user-images.githubusercontent.com/29391030/153529738-96f3f75a-41e5-4947-b290-c4ea29b101f1.png) -**2. 在页面上方我们可以看到两个下载链接,选择 [ICLA(个人CLA)](https://www.apache.org/licenses/icla.pdf) 并下载文件。** +**2. 在页面上方我们可以看到两个下载链接,选择 [ICLA(个人 CLA)](https://www.apache.org/licenses/icla.pdf) 并下载文件。** ![download](https://user-images.githubusercontent.com/29391030/153529788-a874aab9-786b-4131-a388-c0b5e31bdb8a.png) -**3. 打开PDF,ICLA需要填写的是两个部分,均需要全英文填写。** +**3. 打开 PDF,ICLA 需要填写的是两个部分,均需要全英文填写。** -> 注意事项: +> 注意事项: > - 姓名需要填写拼音,姓与名之间空一格,首字母均为大写,名在前姓氏在后。 -> - Committer相关的签署,则preferred Apache id(s)是必填项。 +> - Committer 相关的签署,则 preferred Apache id(s)是必填项。 填写说明: -- **Full name**:全名:名字在前,姓氏在后,例如:如果你叫 “张大强”,就写 “Daqiang Zhang” +- **Full name**:全名:名字在前,姓氏在后,例如:如果你叫“张大强”,就写“Daqiang Zhang” - **Public name**:可以不填,默认和 `Full name` 相同 -- **Postal Address**:英文地址,需要填写邮政编码,并详细到门牌号(xx单元xxx) +- **Postal Address**:英文地址,需要填写邮政编码,并详细到门牌号(xx 单元 xxx) - **E-mail**:邮箱地址 - **(optional) preferred Apache id(s)**:选择一个 [Apache committer](http://people.apache.org/committer-index.html) 页面不存在的 **SVN ID** - **(optional) notify project**:Apache EventMesh ![information](https://user-images.githubusercontent.com/7869972/172194397-deca4649-32c1-4584-8525-2a387ca80ac6.png) -**4.文件最下方的署名。** 官网支持手写或者[PDF签名软件](https://smallpdf.com/cn/sign-pdf) +**4.文件最下方的署名。** 官网支持手写或者[PDF 签名软件](https://smallpdf.com/cn/sign-pdf) ![sign](https://user-images.githubusercontent.com/29391030/153529853-e6869cd4-7193-4403-8ebe-3d5b65e1d310.png) -**5.签署完之后将icla.pdf命令为 `姓名拼音-icla.pdf` 发送到导师提供的邮箱(邮箱地址为`secretary@apache.org`),下面是邮件模板:** +**5.签署完之后将 icla.pdf 命令为 `姓名拼音-icla.pdf` 发送到导师提供的邮箱(邮箱地址为`secretary@apache.org`),下面是邮件模板:** -> 注意事项: +> 注意事项: > 这里不要抄送 `private@eventmesh.apache.org`,否则会得到反馈:`Please do not cc anyone when you submit your ICLA because it contains PII.` > 上面 ICLA 中 notify project 已经写明了要通知的项目,会默认转发到 `private@eventmesh.apache.org` @@ -56,23 +56,23 @@ is my ICLA information. Thanks! ``` -**6.邮箱发送成功之后Apache EventMesh 官方社区告知下** +**6.邮箱发送成功之后 Apache EventMesh 官方社区告知下** -## 手动签名和PDF软件签名DEMO +## 手动签名和 PDF 软件签名 DEMO -> PDF在线签名 -> - 下载PDF源文件 +> PDF 在线签名 +> - 下载 PDF 源文件 > - 填写项目与个人信息 -> - 打开PDF在线签署网址 如 https://smallpdf.com/cn/sign-pdf +> - 打开 PDF 在线签署网址 如 https://smallpdf.com/cn/sign-pdf > - 进入签名 -> - 保存下载已签名pdf +> - 保存下载已签名 pdf > - 发送到指定邮箱 > 手写签名 -> - 下载PDF源文件 -> - 填写项目与个人信息n +> - 下载 PDF 源文件 +> - 填写项目与个人信息 n > - 打印文件 > - 手写签名 -> - 拍照转成**单个pdf** 文件 +> - 拍照转成**单个 pdf** 文件 > - 发送到指定邮箱 \ No newline at end of file diff --git a/i18n/zh/docusaurus-plugin-content-docs-community/current/07-contact.md b/i18n/zh/docusaurus-plugin-content-docs-community/current/07-contact.md index d1fe694c39..43b1f06d12 100644 --- a/i18n/zh/docusaurus-plugin-content-docs-community/current/07-contact.md +++ b/i18n/zh/docusaurus-plugin-content-docs-community/current/07-contact.md @@ -15,10 +15,10 @@ sidebar_position: 6 ## 邮件列表 -|名称|描述|订阅邮件|退订邮件|邮件归档| +|名称 | 描述 | 订阅邮件 | 退订邮件 | 邮件归档| |-|-|-|-|-| -|用户|用户讨论|[订阅](mailto:users-subscribe@eventmesh.apache.org)|[退订](mailto:users-unsubscribe@eventmesh.apache.org)|[归档](https://lists.apache.org/list.html?users@eventmesh.apache.org)| -|开发|开发讨论 (设计文档, 问题等.)|[订阅](mailto:dev-subscribe@eventmesh.apache.org)|[退订](mailto:dev-unsubscribe@eventmesh.apache.org)|[归档](https://lists.apache.org/list.html?dev@eventmesh.apache.org)| -|提交记录|提交到关联的仓库记录| [订阅](mailto:commits-subscribe@eventmesh.apache.org) |[退订](mailto:commits-unsubscribe@eventmesh.apache.org) |[归档](https://lists.apache.org/list.html?commits@eventmesh.apache.org)| -|问题|问题或PR的评论和审查| [订阅](mailto:commits-subscribe@eventmesh.apache.org) |[退订](mailto:commits-unsubscribe@eventmesh.apache.org) |[归档](https://lists.apache.org/list.html?issues@eventmesh.apache.org)| +|用户 | 用户讨论|[订阅](mailto:users-subscribe@eventmesh.apache.org)|[退订](mailto:users-unsubscribe@eventmesh.apache.org)|[归档](https://lists.apache.org/list.html?users@eventmesh.apache.org)| +|开发 | 开发讨论 (设计文档,问题等.)|[订阅](mailto:dev-subscribe@eventmesh.apache.org)|[退订](mailto:dev-unsubscribe@eventmesh.apache.org)|[归档](https://lists.apache.org/list.html?dev@eventmesh.apache.org)| +|提交记录 | 提交到关联的仓库记录 | [订阅](mailto:commits-subscribe@eventmesh.apache.org) |[退订](mailto:commits-unsubscribe@eventmesh.apache.org) |[归档](https://lists.apache.org/list.html?commits@eventmesh.apache.org)| +|问题 | 问题或 PR 的评论和审查 | [订阅](mailto:commits-subscribe@eventmesh.apache.org) |[退订](mailto:commits-unsubscribe@eventmesh.apache.org) |[归档](https://lists.apache.org/list.html?issues@eventmesh.apache.org)| diff --git a/i18n/zh/docusaurus-plugin-content-docs-community/current/contribute/01-contribute.md b/i18n/zh/docusaurus-plugin-content-docs-community/current/contribute/01-contribute.md index 34674529e3..e9a7053180 100644 --- a/i18n/zh/docusaurus-plugin-content-docs-community/current/contribute/01-contribute.md +++ b/i18n/zh/docusaurus-plugin-content-docs-community/current/contribute/01-contribute.md @@ -89,7 +89,7 @@ Your Forked Repository -> Settings -> Actions -> General -> Workflow Permissions 1. fork 项目到自己的远程仓库 -2. clone fork到本地仓库 +2. clone fork 到本地仓库 ```git git clone git@github.com:yourgithub/eventmesh.git @@ -109,9 +109,9 @@ git rebase upstream_master 5. 提交您的更改(确保您的提交信息简洁) -6. 将你的提交推送到你fork的远程仓库 +6. 将你的提交推送到你 fork 的远程仓库 -7. 创建Pull Request +7. 创建 Pull Request ## 解释 @@ -135,7 +135,7 @@ Fork 仓库:从原仓库 fork 到您的账号中的个人仓库是一个 Fork ### 功能实现,重构 -- 如果你打算实现一个新特性(或重构),一定要通过 issue 或其他方式与 EventMesh 核心开发团队进行沟通,并在沟通过程中详细描述新特性(或重构)、机制和场景. +- 如果你打算实现一个新特性(或重构),一定要通过 issue 或其他方式与 EventMesh 核心开发团队进行沟通,并在沟通过程中详细描述新特性(或重构)、机制和场景。 ### 文档改进 diff --git a/i18n/zh/docusaurus-plugin-content-docs-community/current/contribute/02-write-unit-test.md b/i18n/zh/docusaurus-plugin-content-docs-community/current/contribute/02-write-unit-test.md index 7447ca09f3..53609f8fdb 100644 --- a/i18n/zh/docusaurus-plugin-content-docs-community/current/contribute/02-write-unit-test.md +++ b/i18n/zh/docusaurus-plugin-content-docs-community/current/contribute/02-write-unit-test.md @@ -18,7 +18,7 @@ sidebar_position: 1 - 单元测试类:`src/test/java/org/apache/eventmesh/common/protocol/http/body/BaseResponseBodyTest.java` - 单元测试配置文件:`src/test/resources/configuration.properties` - 单元测试类的包名应该和被测试的类的包名相同 -- 单元测试的类的名字应该是`{被测试的类名+}Test`。 比如: +- 单元测试的类的名字应该是`{被测试的类名+}Test`。比如: - 将被测试的类是:`EventMeshUtil` - 单元测试类的类名就是: `EventMeshUtilTest` - 每个单元测试的名字必须是 `test{+方法名}`,比如: diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/02-http-connector.md b/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/02-http-connector.md index 710e47b8bb..7b1ce79242 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/02-http-connector.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/02-http-connector.md @@ -70,25 +70,25 @@ curl --location --request POST 'http://localhost:3755/test' \ HTTP sink connector 拥有两种模式:common 和 webhook。 -首先,无论是哪种模式,都具备sinkConnector的基本功能,即将消息发送给目标HTTP服务器。当收到HTTP服务器的响应时,common模式只关心响应的状态码,以判断是否发送成功,而webook模式除了关心是否发送成功以外,还将响应的数据(称为回调数据)进行存储,并对外提供回调数据暴露服务。两者的具体差别如下: +首先,无论是哪种模式,都具备 sinkConnector 的基本功能,即将消息发送给目标 HTTP 服务器。当收到 HTTP 服务器的响应时,common 模式只关心响应的状态码,以判断是否发送成功,而 webook 模式除了关心是否发送成功以外,还将响应的数据(称为回调数据)进行存储,并对外提供回调数据暴露服务。两者的具体差别如下: - 默认空闲 TCP 连接超时时间 - common模式的默认值为5000ms,webhook模式则为15000ms。 + common 模式的默认值为 5000ms,webhook 模式则为 15000ms。 - 响应结果的处理 - common模式只关心响应的状态码,而webhook模式还会存储回调数据,并对外提供回调数据暴露服务。 + common 模式只关心响应的状态码,而 webhook 模式还会存储回调数据,并对外提供回调数据暴露服务。 ### 配置 使用 HTTP sink connector 前,需要进行 sink 的配置。 -- 请在 `/resource/server-config.yml` 中配置 `sinkEnable`为`true` 以开启sink 功能。 +- 请在 `/resource/server-config.yml` 中配置 `sinkEnable`为`true` 以开启 sink 功能。 -- 请在 `/resource/sink-config.yml`中配置 sink connector,在此仅说明 `connectorConfig` 下的配置: +- 请在 `/resource/sink-config.yml`中配置 sink connector,在此仅说明 `connectorConfig` 下的配置: - common模式的最简配置: + common 模式的最简配置: ```yaml connectorConfig: @@ -97,7 +97,7 @@ HTTP sink connector 拥有两种模式:common 和 webhook。 - http://127.0.0.1:8987/test ``` - webhook模式的最简配置: + webhook 模式的最简配置: ```yaml connectorConfig: @@ -113,22 +113,22 @@ HTTP sink connector 的所有配置如下: | 属性 | 类型 | 是否必填 | 说明 | 备注 | |---------------------------------|---------|--------|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| connectorName | String | 是 | connector名称 | | -| urls | List | 是 | 接收消息的URL列表 | HTTP协议默认端口为80,HTTPS协议则为443
合法URL格式为:
http://127.0.0.1:8987/test
http://127.0.0.1/test
https://example.com:4943/test
https://example.com/test
| -| keepAlive | Boolean | 否 | 是否使用HTTP持久连接 | 默认:true | -| keepAliveTimeout | Integer | 否 | HTTP持久连接超时时长 | 单位:ms,默认:60000 | -| connectionTimeout | Integer | 否 | TCP连接超时时长 | 单位:ms,默认:5000 | -| idleTimeout | Integer | 否 | TCP空闲超时时长 | 单位:ms,默认:5000(common),15000(webhook) | -| maxConnectionPoolSize | Integer | 否 | 客户端的最大HTTP连接数 | 默认:5 | +| connectorName | String | 是 | connector 名称 | | +| urls | List | 是 | 接收消息的 URL 列表 | HTTP 协议默认端口为 80,HTTPS 协议则为 443
合法 URL 格式为:
http://127.0.0.1:8987/test
http://127.0.0.1/test
https://example.com:4943/test
https://example.com/test
| +| keepAlive | Boolean | 否 | 是否使用 HTTP 持久连接 | 默认:true | +| keepAliveTimeout | Integer | 否 | HTTP 持久连接超时时长 | 单位:ms,默认:60000 | +| connectionTimeout | Integer | 否 | TCP 连接超时时长 | 单位:ms,默认:5000 | +| idleTimeout | Integer | 否 | TCP 空闲超时时长 | 单位:ms,默认:5000(common),15000(webhook) | +| maxConnectionPoolSize | Integer | 否 | 客户端的最大 HTTP 连接数 | 默认:5 | | retryConfig | Object | | 重试机制的相关配置 | | | retryConfig.maxRetries | Integer | 否 | 最大重试次数 | 不包含首次尝试,默认:2 | | retryConfig.interval | Integer | 否 | 重试间隔 | 单位:ms,默认:2000 | -| retryConfig.retryOnNonSuccess | Boolean | 否 | 是否重试收到非2xx响应的请求 | 默认:false,仅重试网络层面的错误请求 | -| webhookConfig | Object | | Webhook模式的相关配置 | | -| webhookConfig.activate | Boolean | 否 | 是否启用Webhook模式 | 默认:false | -| webhookConfig.exportPath | String | 否 | 回调数据暴露路径 | 默认:/export
请求方式固定为GET
请求参数有
type:peek(默认值,获取数据)/poll(获取并删除数据)
pageNum:当type为peek时,必须大于0,当type为poll时,该参数无效
pageSize:必须大于0 | +| retryConfig.retryOnNonSuccess | Boolean | 否 | 是否重试收到非 2xx 响应的请求 | 默认:false,仅重试网络层面的错误请求 | +| webhookConfig | Object | | Webhook 模式的相关配置 | | +| webhookConfig.activate | Boolean | 否 | 是否启用 Webhook 模式 | 默认:false | +| webhookConfig.exportPath | String | 否 | 回调数据暴露路径 | 默认:/export
请求方式固定为 GET
请求参数有
type:peek(默认值,获取数据)/poll(获取并删除数据)
pageNum:当 type 为 peek 时,必须大于 0,当 type 为 poll 时,该参数无效
pageSize:必须大于 0 | | webhookConfig.port | Integer | 是(启用时) | 回调数据暴露端口 | | -| webhookConfig.serverIdleTimeout | Integer | 否 | 暴露回调数据的服务器的TCP空闲超时时长 | 单位:ms,默认:5000 | +| webhookConfig.serverIdleTimeout | Integer | 否 | 暴露回调数据的服务器的 TCP 空闲超时时长 | 单位:ms,默认:5000 | | webhookConfig.maxStorageSize | Integer | 否 | 存储回调数据队列的最大值 | 默认:5000 | ### 启动 @@ -136,17 +136,17 @@ HTTP sink connector 的所有配置如下: 1. 启动 EventMesh Runtime 2. 启动 eventmesh-connector-http -完成之后,向 EventMesh 发送消息,然后你的消息就会通过HTTP请求发生给目标HTTP服务器了。如果启用webhook模式,则还会同时开启一个 +完成之后,向 EventMesh 发送消息,然后你的消息就会通过 HTTP 请求发生给目标 HTTP 服务器了。如果启用 webhook 模式,则还会同时开启一个 HTTP 服务器对外提供回调数据暴露服务。 ### 数据格式 HTTP sink connector 发送消息的数据格式如下: -- type:由connectorName、协议、模式所组成 +- type:由 connectorName、协议、模式所组成 - time:发送请求的时间 -- uuid:请求唯一标识,在webhook模式中和回调数据结构的uuid一一对应 -- eventId:事件ID,由type和offset组成 +- uuid:请求唯一标识,在 webhook 模式中和回调数据结构的 uuid 一一对应 +- eventId:事件 ID,由 type 和 offset 组成 - data:实际需要发送的数据 ```json @@ -159,21 +159,21 @@ HTTP sink connector 发送消息的数据格式如下: } ``` -启用webhook模式时,则还会同时开启一个 HTTP 服务器对外提供回调数据暴露服务。获取的回调数据格式如下: +启用 webhook 模式时,则还会同时开启一个 HTTP 服务器对外提供回调数据暴露服务。获取的回调数据格式如下: - pageNum:当前页数 - pageSize:每页的大小 - pageItems:获取的回调数据数组 -- pageItem的字段含义如下: +- pageItem 的字段含义如下: - data:从回调服务器返回的回调数据 - metadata:元数据,字段含义如下: - - url: 获取回调数据的URL - - code:请求回调数据得到的响应状态码,如果发生的网络层面的错误(无法收到响应),则为-1 + - url: 获取回调数据的 URL + - code:请求回调数据得到的响应状态码,如果发生的网络层面的错误(无法收到响应),则为 -1 - message:请求回调数据得到的响应信息,如果发生的网络层面的错误(无法收到响应),则为相关异常信息 - - uuid:请求回调数据的唯一请求标识,和上面发送消息时所携带的uuid一一对应 + - uuid:请求回调数据的唯一请求标识,和上面发送消息时所携带的 uuid 一一对应 - receivedTime:请求回调数据得到的响应时间 - retryNum:重试次数 - - retriedBy:如果发送重试,则记录被重试的请求的uuid,否则为null + - retriedBy:如果发送重试,则记录被重试的请求的 uuid,否则为 null ```json { diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/10-file-connector.md b/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/10-file-connector.md index 82e7c027a7..6db28dba7d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/10-file-connector.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/10-file-connector.md @@ -4,7 +4,7 @@ 1. 启动你的 EventMesh Runtime。 2. 启用 sinkConnector 并检查 `sink-config.yml`。 -3. 启动你的 FileConnectServer,它将订阅到 EventMesh Runtime 中 `pubSubConfig.subject` 中定义的主题,并将数据写入到 路径位于: `connectorConfig.topic`/年/月/日 ;名为: 【 `connectorConfig.topic` + 当前时间小时位(24小时制) + 时间戳 】的文件。 +3. 启动你的 FileConnectServer,它将订阅到 EventMesh Runtime 中 `pubSubConfig.subject` 中定义的主题,并将数据写入到 路径位于: `connectorConfig.topic`/年/月/日;名为: 【 `connectorConfig.topic` + 当前时间小时位(24 小时制) + 时间戳】的文件。 4. 使用在 `pubSubConfig.subject` 中指定的 Topic,向 EventMesh 发送消息,然后你将在 文件 中持久化该消息。 ```yaml diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/11-kafka-connector.md b/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/11-kafka-connector.md index dc5fb02403..528ecc38c7 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/11-kafka-connector.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/design-document/03-connect/11-kafka-connector.md @@ -31,7 +31,7 @@ connectorConfig: 1. 启动你的 EventMesh Runtime。 2. 启用 sourceConnector 并检查 `source-config.yml`。 -3. 启动你的 KafkaConnectServer,它将订阅 Kafka的 `connectorConfig.topic `,并将读取的数据发送到 EventMesh Runtime 中的 `pubSubConfig.subject`。 +3. 启动你的 KafkaConnectServer,它将订阅 Kafka 的 `connectorConfig.topic `,并将读取的数据发送到 EventMesh Runtime 中的 `pubSubConfig.subject`。 4. 向 Kafka 发送一个消息,然后你将在 EventMesh 中接收到该消息。 ```yaml diff --git a/package.json b/package.json index a4c0728b40..c857174272 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "@types/react-router-dom": "^5.1.7", "@typescript-eslint/eslint-plugin": "^5.17.0", "@typescript-eslint/parser": "^5.17.0", + "autocorrect-node": "^2.10.0", "eslint": "^8.12.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^16.2.0",