You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by gi...@apache.org on 2021/01/20 03:11:21 UTC

[incubator-dolphinscheduler-website] branch asf-site updated: Automated deployment: c3ef8445ce923222dc5a95949504894b3147c87f

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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 0aeccab  Automated deployment: c3ef8445ce923222dc5a95949504894b3147c87f
0aeccab is described below

commit 0aeccabdba67be2888c1dad44f0b278c55112e72
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Wed Jan 20 03:10:57 2021 +0000

    Automated deployment: c3ef8445ce923222dc5a95949504894b3147c87f
---
 build/blog.css                                     |   4 +-
 build/blog.js                                      |  14 +-
 build/blog.md.css                                  |  12 +
 build/{blogDetail.md.js => blog.md.js}             |  14 +-
 build/blogDetail.md.css                            |  12 -
 build/community.css                                |   4 +-
 build/community.js                                 |  12 +-
 build/community.md.css                             |   4 +-
 build/community.md.js                              |  12 +-
 build/docs.md.css                                  |  13 +
 build/{documentation.md.js => docs.md.js}          |  12 +-
 build/documentation.md.css                         |  13 -
 build/download.md.css                              |  13 +
 build/{blogDetail.md.js => download.md.js}         |  14 +-
 build/home.css                                     |   2 +-
 build/home.js                                      |  14 +-
 download/en-us/download.md                         |  56 --
 download/zh-cn/download.md                         |  56 --
 en-us/blog/architecture-design.html                |  10 +-
 en-us/blog/architecture-design.json                |   4 +-
 en-us/blog/index.html                              |   2 +-
 en-us/blog/meetup_2019_10_26.html                  |   6 +-
 en-us/blog/meetup_2019_10_26.json                  |   2 +-
 en-us/blog/meetup_2019_12_08.html                  |   6 +-
 en-us/blog/meetup_2019_12_08.json                  |   2 +-
 en-us/community/development/DS-License.html        |   2 +-
 en-us/community/development/DS-License.json        |   2 +-
 .../community/development/become a committer.html  |   2 +-
 .../community/development/become a committer.json  |   2 +-
 en-us/community/development/code-conduct.html      |   2 +-
 en-us/community/development/code-conduct.json      |   2 +-
 en-us/community/development/commit-message.html    |   2 +-
 en-us/community/development/commit-message.json    |   2 +-
 en-us/community/development/contribute.html        |   2 +-
 en-us/community/development/contribute.json        |   2 +-
 en-us/community/development/document.html          |   2 +-
 en-us/community/development/document.json          |   2 +-
 en-us/community/development/issue.html             |   2 +-
 en-us/community/development/issue.json             |   2 +-
 en-us/community/development/microbench.html        |  12 +-
 en-us/community/development/microbench.json        |   4 +-
 en-us/community/development/pull-request.html      |   2 +-
 en-us/community/development/pull-request.json      |   2 +-
 en-us/community/development/submit-code.html       |   2 +-
 en-us/community/development/submit-code.json       |   2 +-
 en-us/community/development/subscribe.html         |   2 +-
 en-us/community/development/subscribe.json         |   2 +-
 en-us/community/example.html                       |   2 +-
 en-us/community/example.json                       |   2 +-
 en-us/community/index.html                         |   2 +-
 en-us/community/release.html                       |  24 +-
 en-us/community/release.json                       |   4 +-
 en-us/community/security.html                      |   2 +-
 en-us/community/security.json                      |   2 +-
 en-us/community/team.html                          |   4 +-
 en-us/community/team.json                          |   4 +-
 en-us/docs/1.2.0/user_doc/backend-deployment.html  |   8 +-
 en-us/docs/1.2.0/user_doc/backend-deployment.json  |   4 +-
 en-us/docs/1.2.0/user_doc/cluster-deployment.html  |  84 +-
 en-us/docs/1.2.0/user_doc/cluster-deployment.json  |   4 +-
 en-us/docs/1.2.0/user_doc/frontend-deployment.html |   8 +-
 en-us/docs/1.2.0/user_doc/frontend-deployment.json |   4 +-
 .../docs/1.2.0/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.2.0/user_doc/hardware-environment.json  |   2 +-
 en-us/docs/1.2.0/user_doc/metadata-1.2.html        |   6 +-
 en-us/docs/1.2.0/user_doc/metadata-1.2.json        |   2 +-
 en-us/docs/1.2.0/user_doc/quick-start.html         |   6 +-
 en-us/docs/1.2.0/user_doc/quick-start.json         |   2 +-
 .../docs/1.2.0/user_doc/standalone-deployment.html |  88 +--
 .../docs/1.2.0/user_doc/standalone-deployment.json |   4 +-
 en-us/docs/1.2.0/user_doc/system-manual.html       |   6 +-
 en-us/docs/1.2.0/user_doc/system-manual.json       |   2 +-
 en-us/docs/1.2.0/user_doc/upgrade.html             |   8 +-
 en-us/docs/1.2.0/user_doc/upgrade.json             |   4 +-
 en-us/docs/1.2.1/user_doc/architecture-design.html |  10 +-
 en-us/docs/1.2.1/user_doc/architecture-design.json |   4 +-
 en-us/docs/1.2.1/user_doc/backend-deployment.html  |   8 +-
 en-us/docs/1.2.1/user_doc/backend-deployment.json  |   4 +-
 en-us/docs/1.2.1/user_doc/frontend-deployment.html |   8 +-
 en-us/docs/1.2.1/user_doc/frontend-deployment.json |   4 +-
 .../docs/1.2.1/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.2.1/user_doc/hardware-environment.json  |   2 +-
 en-us/docs/1.2.1/user_doc/metadata-1.2.html        |   6 +-
 en-us/docs/1.2.1/user_doc/metadata-1.2.json        |   2 +-
 en-us/docs/1.2.1/user_doc/plugin-development.html  |   6 +-
 en-us/docs/1.2.1/user_doc/plugin-development.json  |   2 +-
 en-us/docs/1.2.1/user_doc/quick-start.html         |   6 +-
 en-us/docs/1.2.1/user_doc/quick-start.json         |   2 +-
 en-us/docs/1.2.1/user_doc/system-manual.html       |   6 +-
 en-us/docs/1.2.1/user_doc/system-manual.json       |   2 +-
 en-us/docs/1.2.1/user_doc/upgrade.html             |   8 +-
 en-us/docs/1.2.1/user_doc/upgrade.json             |   4 +-
 en-us/docs/1.3.1/user_doc/architecture-design.html |  12 +-
 en-us/docs/1.3.1/user_doc/architecture-design.json |   4 +-
 en-us/docs/1.3.1/user_doc/cluster-deployment.html  |  80 +-
 en-us/docs/1.3.1/user_doc/cluster-deployment.json  |   4 +-
 en-us/docs/1.3.1/user_doc/configuration-file.html  |  86 +--
 en-us/docs/1.3.1/user_doc/configuration-file.json  |   4 +-
 .../docs/1.3.1/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.3.1/user_doc/hardware-environment.json  |   2 +-
 en-us/docs/1.3.1/user_doc/metadata-1.3.html        |   6 +-
 en-us/docs/1.3.1/user_doc/metadata-1.3.json        |   2 +-
 en-us/docs/1.3.1/user_doc/quick-start.html         |   6 +-
 en-us/docs/1.3.1/user_doc/quick-start.json         |   2 +-
 .../docs/1.3.1/user_doc/standalone-deployment.html |  78 +-
 .../docs/1.3.1/user_doc/standalone-deployment.json |   4 +-
 en-us/docs/1.3.1/user_doc/system-manual.html       |   6 +-
 en-us/docs/1.3.1/user_doc/system-manual.json       |   2 +-
 en-us/docs/1.3.1/user_doc/task-structure.html      | 848 ++++++++++-----------
 en-us/docs/1.3.1/user_doc/task-structure.json      |   4 +-
 en-us/docs/1.3.1/user_doc/upgrade.html             |  14 +-
 en-us/docs/1.3.1/user_doc/upgrade.json             |   4 +-
 en-us/docs/1.3.2/user_doc/cluster-deployment.html  |  80 +-
 en-us/docs/1.3.2/user_doc/cluster-deployment.json  |   4 +-
 .../docs/1.3.2/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.3.2/user_doc/hardware-environment.json  |   2 +-
 en-us/docs/1.3.2/user_doc/metadata-1.3.html        |   6 +-
 en-us/docs/1.3.2/user_doc/metadata-1.3.json        |   2 +-
 en-us/docs/1.3.2/user_doc/quick-start.html         |   6 +-
 en-us/docs/1.3.2/user_doc/quick-start.json         |   2 +-
 .../docs/1.3.2/user_doc/standalone-deployment.html |  78 +-
 .../docs/1.3.2/user_doc/standalone-deployment.json |   4 +-
 en-us/docs/1.3.2/user_doc/system-manual.html       |   6 +-
 en-us/docs/1.3.2/user_doc/system-manual.json       |   2 +-
 en-us/docs/1.3.2/user_doc/upgrade.html             |  16 +-
 en-us/docs/1.3.2/user_doc/upgrade.json             |   4 +-
 en-us/docs/1.3.3/user_doc/cluster-deployment.html  |  80 +-
 en-us/docs/1.3.3/user_doc/cluster-deployment.json  |   4 +-
 .../docs/1.3.3/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.3.3/user_doc/hardware-environment.json  |   2 +-
 en-us/docs/1.3.3/user_doc/metadata-1.3.html        |   6 +-
 en-us/docs/1.3.3/user_doc/metadata-1.3.json        |   2 +-
 en-us/docs/1.3.3/user_doc/quick-start.html         |   6 +-
 en-us/docs/1.3.3/user_doc/quick-start.json         |   2 +-
 .../docs/1.3.3/user_doc/standalone-deployment.html |  78 +-
 .../docs/1.3.3/user_doc/standalone-deployment.json |   4 +-
 en-us/docs/1.3.3/user_doc/system-manual.html       |   6 +-
 en-us/docs/1.3.3/user_doc/system-manual.json       |   2 +-
 en-us/docs/1.3.3/user_doc/upgrade.html             |  16 +-
 en-us/docs/1.3.3/user_doc/upgrade.json             |   4 +-
 en-us/docs/1.3.4/user_doc/build-docker-image.html  |  22 +-
 en-us/docs/1.3.4/user_doc/build-docker-image.json  |   4 +-
 en-us/docs/1.3.4/user_doc/cluster-deployment.html  |  80 +-
 en-us/docs/1.3.4/user_doc/cluster-deployment.json  |   4 +-
 en-us/docs/1.3.4/user_doc/configuration-file.html  |  92 +--
 en-us/docs/1.3.4/user_doc/configuration-file.json  |   4 +-
 en-us/docs/1.3.4/user_doc/docker-deployment.html   |   6 +-
 en-us/docs/1.3.4/user_doc/docker-deployment.json   |   2 +-
 .../docs/1.3.4/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.3.4/user_doc/hardware-environment.json  |   2 +-
 en-us/docs/1.3.4/user_doc/metadata-1.3.html        |   6 +-
 en-us/docs/1.3.4/user_doc/metadata-1.3.json        |   2 +-
 en-us/docs/1.3.4/user_doc/quick-start.html         |   6 +-
 en-us/docs/1.3.4/user_doc/quick-start.json         |   2 +-
 .../docs/1.3.4/user_doc/standalone-deployment.html |  78 +-
 .../docs/1.3.4/user_doc/standalone-deployment.json |   4 +-
 en-us/docs/1.3.4/user_doc/system-manual.html       |   6 +-
 en-us/docs/1.3.4/user_doc/system-manual.json       |   2 +-
 en-us/docs/1.3.4/user_doc/task-structure.html      | 848 ++++++++++-----------
 en-us/docs/1.3.4/user_doc/task-structure.json      |   4 +-
 en-us/docs/1.3.4/user_doc/upgrade.html             |  16 +-
 en-us/docs/1.3.4/user_doc/upgrade.json             |   4 +-
 en-us/docs/development/DS-License.html             |   6 +-
 en-us/docs/development/DS-License.json             |   2 +-
 en-us/docs/development/architecture-design.html    |  10 +-
 en-us/docs/development/architecture-design.json    |   4 +-
 en-us/docs/development/backend-development.html    |   6 +-
 en-us/docs/development/backend-development.json    |   2 +-
 en-us/docs/development/become a committer.html     |   6 +-
 en-us/docs/development/become a committer.json     |   2 +-
 en-us/docs/development/code-conduct.html           |   6 +-
 en-us/docs/development/code-conduct.json           |   2 +-
 en-us/docs/development/commit-message.html         |   6 +-
 en-us/docs/development/commit-message.json         |   2 +-
 en-us/docs/development/contribute.html             |   6 +-
 en-us/docs/development/contribute.json             |   2 +-
 en-us/docs/development/developers.html             |   6 +-
 en-us/docs/development/developers.json             |   2 +-
 .../development/development-environment-setup.html |   6 +-
 .../development/development-environment-setup.json |   2 +-
 en-us/docs/development/document.html               |   6 +-
 en-us/docs/development/document.json               |   2 +-
 en-us/docs/development/download.html               |   6 +-
 en-us/docs/development/download.json               |   2 +-
 en-us/docs/development/frontend-development.html   |   6 +-
 en-us/docs/development/frontend-development.json   |   2 +-
 en-us/docs/development/issue.html                  |   6 +-
 en-us/docs/development/issue.json                  |   2 +-
 en-us/docs/development/microbench.html             |  16 +-
 en-us/docs/development/microbench.json             |   4 +-
 en-us/docs/development/plugin-development.html     |   6 +-
 en-us/docs/development/plugin-development.json     |   2 +-
 en-us/docs/development/pull-request.html           |   6 +-
 en-us/docs/development/pull-request.json           |   2 +-
 en-us/docs/development/release.html                |  28 +-
 en-us/docs/development/release.json                |   4 +-
 en-us/docs/development/submit-code.html            |   6 +-
 en-us/docs/development/submit-code.json            |   2 +-
 en-us/docs/development/subscribe.html              |   6 +-
 en-us/docs/development/subscribe.json              |   2 +-
 en-us/docs/development/unit-test.html              |   6 +-
 en-us/docs/development/unit-test.json              |   2 +-
 en-us/docs/release/download.html                   |   6 +-
 en-us/docs/release/download.json                   |   2 +-
 en-us/docs/release/faq.html                        |  12 +-
 en-us/docs/release/faq.json                        |   4 +-
 en-us/docs/user_doc/deployment.html                |   6 +-
 en-us/docs/user_doc/deployment.json                |   2 +-
 en-us/docs/user_doc/upgrade.html                   |   6 +-
 en-us/docs/user_doc/upgrade.json                   |   2 +-
 en-us/{docs/release => download}/download.html     |   6 +-
 en-us/{docs/release => download}/download.json     |   2 +-
 en-us/index.html                                   |   2 +-
 file/2019-10-26/DolphinScheduler_dailidong.pptx    | Bin 0 -> 4114616 bytes
 file/2019-10-26/DolphinScheduler_guowei.pptx       | Bin 0 -> 3418180 bytes
 file/2019-10-26/DolphinScheduler_qiaozhanwei.pptx  | Bin 0 -> 2400256 bytes
 file/2019-10-26/DolphinScheduler_zhangzongyao.pptx | Bin 0 -> 15214291 bytes
 file/2019-10-26/Dolphinescheduler_baoqiwu.pptx     | Bin 0 -> 13194710 bytes
 file/2019-12-08/DolphinScheduler_liuxiaochun.pptx  | Bin 0 -> 1594353 bytes
 file/2019-12-08/DolphinScheduler_yangshuang.pptx   | Bin 0 -> 10711812 bytes
 file/2019-12-08/ShardingSphere_panjuan.pptx        | Bin 0 -> 1430892 bytes
 file/2019-12-08/ShardingSphere_zhangyonglun.pptx   | Bin 0 -> 3125502 bytes
 .../DolphinScheduler_Feature_Roadmap.pdf           | Bin 0 -> 9271550 bytes
 file/2020-07-25/DolphinScheduler_lijie.pptx        | Bin 0 -> 4739681 bytes
 file/2020-07-25/DolphinScheduler_qiaozhanwei.pptx  | Bin 0 -> 21891789 bytes
 file/2020-09-05/DolphinScheduler_baoliang.pptx     | Bin 0 -> 15382417 bytes
 file/2020-09-05/DolphinScheduler_liuhuijuan.pdf    | Bin 0 -> 3143732 bytes
 file/2020-10-24/DolphinScheduler&K8s_liwenhe.pptx  | Bin 0 -> 2604056 bytes
 .../Hudi&DolphinScheduler_yanghua&zhaoyuwei.pptx   | Bin 0 -> 8767049 bytes
 ... - DolphinScheduler Introduction & Roadmap.pptx | Bin 0 -> 10790573 bytes
 ...hitecture breakthrough of DolphinScheduler.pptx | Bin 0 -> 20700238 bytes
 img/2019-10-26-discussion.jpg                      | Bin
 img/2019-10-26-user.jpg                            | Bin
 img/Statistics.png                                 | Bin
 img/addtenant.png                                  | Bin
 img/alarm-group-en.png                             | Bin
 img/alibaba.png                                    | Bin
 img/alibaba_hover.png                              | Bin
 img/apachecon-na-2018.png                          | Bin
 img/architecture.jpg                               | Bin
 img/architecture.png                               | Bin
 img/arrow.png                                      | Bin
 img/auth-project-en.png                            | Bin
 img/auth_project.png                               | Bin
 img/auth_user.png                                  | Bin
 img/brhtqqzh.jpeg                                  | Bin
 img/complement-en.png                              | Bin
 img/complement.png                                 | Bin
 img/creat_token.png                                | Bin
 img/create-datasource-en.png                       | Bin
 img/create-file.png                                | Bin
 img/create-queue-en.png                            | Bin
 img/create-queue.png                               | Bin
 img/create-tenant-en.png                           | Bin
 img/create-user-en.png                             | Bin
 img/create_project_en.png                          | Bin
 img/current-node-en.png                            | Bin
 img/dag0.png                                       | Bin
 img/dag1.png                                       | Bin
 img/dag2.png                                       | Bin
 img/dag3.png                                       | Bin
 img/dag4.png                                       | Bin
 img/dag_examples_cn.jpg                            | Bin
 img/db-monitor-en.png                              | Bin
 img/delete.png                                     | Bin
 img/delete_dependencies_en.png                     | Bin
 img/depend-node.png                                | Bin
 img/depend-node2.png                               | Bin
 img/depend-node3.png                               | Bin
 img/dependent-nodes-en.png                         | Bin
 img/dependent_edit.png                             | Bin
 img/distributed_lock_procss.png                    | Bin
 img/documents.png                                  | Bin
 img/double-click-en.png                            | Bin
 img/ds_gray.png                                    | Bin
 img/ds_gray.svg                                    |   0
 img/edit-datasource-en.png                         | Bin
 img/editDag.png                                    | Bin
 img/feature_hogh.png                               | Bin
 img/feature_loadbalances.png                       | Bin
 img/feature_maintenance.png                        | Bin
 img/feature_runtime.png                            | Bin
 img/feature_service.png                            | Bin
 img/feature_transpart.png                          | Bin
 img/file-manage-en.png                             | Bin
 img/file-manage.png                                | Bin
 img/file-upload-en.png                             | Bin
 img/file-view-en.png                               | Bin
 img/file_create.png                                | Bin
 img/file_detail.png                                | Bin
 img/file_rename.png                                | Bin
 img/file_upload.png                                | Bin
 img/flink.png                                      | Bin
 img/flink_edit.png                                 | Bin
 img/gant-pic.png                                   | Bin
 img/gantt-en.png                                   | Bin
 img/global_param.png                               | Bin
 img/global_parameter.png                           | Bin
 img/global_parameters_en.png                       | Bin
 img/hell_dag.png                                   | Bin
 img/hive-en.png                                    | Bin
 img/hive_edit.png                                  | Bin
 img/hive_edit2.png                                 | Bin
 img/hive_kerberos.png                              | Bin
 img/hlogo_colorful.png                             | Bin
 img/hlogo_colorful.svg                             |   0
 img/hlogo_white.png                                | Bin
 img/hlogo_white.svg                                |   0
 img/home.png                                       | Bin
 img/home_en.png                                    | Bin
 img/http.png                                       | Bin
 img/http_edit.png                                  | Bin
 img/incubator-dolphinscheduler-1.1.0.png           | Bin
 img/instance-detail.png                            | Bin
 img/instance-list.png                              | Bin
 img/instance-runs-en.png                           | Bin
 img/instanceViewLog.png                            | Bin
 img/issue.png                                      | Bin
 img/java-program-en.png                            | Bin
 img/kerberos-en.png                                | Bin
 img/line.png                                       | Bin
 img/local_parameter.png                            | Bin
 img/log_en.png                                     | Bin
 img/login.png                                      | Bin
 img/login_en.png                                   | Bin
 img/mail_edit.png                                  | Bin
 img/mailinglist.png                                | Bin
 img/mailinglist_hover.png                          | Bin
 img/master-jk.png                                  | Bin
 img/master-monitor-en.png                          | Bin
 img/meetup.png                                     | Bin
 img/meetup_20191026.jpg                            | Bin
 img/mr_edit.png                                    | Bin
 img/mr_java.png                                    | Bin
 img/mysql-en.png                                   | Bin
 img/mysql-jk.png                                   | Bin
 img/mysql_edit.png                                 | Bin
 img/node-setting-en.png                            | Bin
 img/online.png                                     | Bin
 img/operation-en.png                               | Bin
 img/postgresql_edit.png                            | Bin
 img/principal-en.png                               | Bin
 img/procedure_edit.png                             | Bin
 img/process-instances-en.png                       | Bin
 img/process_definition_en.png                      | Bin
 img/process_definitions_en.png                     | Bin
 img/project-home.png                               | Bin
 img/project.png                                    | Bin
 img/project_home_en.png                            | Bin
 img/pullrequest.png                                | Bin
 img/python-program-en.png                          | Bin
 img/quick_start.png                                | Bin
 img/redirect.png                                   | Bin
 img/rename-en.png                                  | Bin
 img/review_img4.jpg                                | Bin
 img/review_img4.png                                | Bin
 img/run-work.png                                   | Bin
 img/run_params.png                                 | Bin
 img/run_params_button.png                          | Bin
 img/segmentfault.png                               | Bin
 img/segmentfault_hover.png                         | Bin
 img/shell-en.png                                   | Bin
 img/shell.png                                      | Bin
 img/shell_dag.png                                  | Bin
 img/so-icon-hover.png                              | Bin
 img/so-icon.png                                    | Bin
 img/spark-submit-en.png                            | Bin
 img/spark_datesource.png                           | Bin
 img/spark_edit.png                                 | Bin
 img/sparksql_kerberos.png                          | Bin
 img/sql-node.png                                   | Bin
 img/sql-node2.png                                  | Bin
 img/start-process-en.png                           | Bin
 img/statistics-en.png                              | Bin
 img/sub-process-en.png                             | Bin
 img/subprocess_edit.png                            | Bin
 img/system/arrow_down.png                          | Bin
 img/system/arrow_right.png                         | Bin
 img/system/blog.png                                | Bin
 img/system/community.png                           | Bin
 img/system/docs.png                                | Bin
 img/system/docs_hover.png                          | Bin
 img/system/docs_normal.png                         | Bin
 img/system/download.png                            | Bin 0 -> 3802 bytes
 img/system/menu_gray.png                           | Bin
 img/system/menu_white.png                          | Bin
 img/system/next.png                                | Bin
 img/system/prev.png                                | Bin
 img/task-execution-en.png                          | Bin
 img/task-instances-en.png                          | Bin
 img/task-list.png                                  | Bin
 img/task-log.png                                   | Bin
 img/task-log2.png                                  | Bin
 img/task_en.png                                    | Bin
 img/task_history.png                               | Bin
 img/time-schedule.png                              | Bin
 img/time-schedule2.png                             | Bin
 img/time-schedule3.png                             | Bin
 img/timeManagement.png                             | Bin
 img/timer-en.png                                   | Bin
 img/timing-en.png                                  | Bin
 img/timing.png                                     | Bin
 img/token-en.png                                   | Bin
 img/tree.png                                       | Bin
 img/twitter.png                                    | Bin
 img/twitter_hover.png                              | Bin
 img/udf-function.png                               | Bin
 img/udf_edit.png                                   | Bin
 img/user-defined-en.png                            | Bin
 img/user-defined1-en.png                           | Bin
 img/useredit2.png                                  | Bin
 img/users_aisino.jpg                               | Bin
 img/users_alibaba.png                              | Bin
 img/users_banyunkeji.jpg                           | Bin
 img/users_changan.jpg                              | Bin
 img/users_cttc.jpg                                 | Bin
 img/users_danyuanzi.jpg                            | Bin
 img/users_dida.jpg                                 | Bin
 img/users_dongxinbeiyou.jpg                        | Bin
 img/users_duodian.jpg                              | Bin
 img/users_fenghuang.jpg                            | Bin
 img/users_hualala.jpg                              | Bin
 img/users_huanqiu.jpg                              | Bin
 img/users_huarunwanjia.jpg                         | Bin
 img/users_jiliguala.jpg                            | Bin
 img/users_meituan.jpg                              | Bin
 img/users_pingan.jpg                               | Bin
 img/users_quanwai.jpg                              | Bin
 img/users_shuidi.jpg                               | Bin
 img/users_shulankeji.jpg                           | Bin
 img/users_shulidata.jpg                            | Bin
 img/users_sifangweiye.jpg                          | Bin
 img/users_tianchuang.jpg                           | Bin
 img/users_weimo.jpg                                | Bin
 img/users_xiaobangguihua.jpg                       | Bin
 img/users_xinweisulian.jpg                         | Bin
 img/users_xueqiu.jpg                               | Bin
 img/users_yiguan.jpg                               | Bin
 img/users_yousukuaidi.jpg                          | Bin
 img/users_yuxueyuan.jpg                            | Bin
 img/users_zhongruanguoji.jpg                       | Bin
 img/users_zhongshan.jpg                            | Bin
 img/view-log-en.png                                | Bin
 img/weekly-A-en.png                                | Bin
 img/weekly-A1-en.png                               | Bin
 img/weekly-A2-en.png                               | Bin
 img/weibo.png                                      | Bin
 img/weibo_hover.png                                | Bin
 img/work_list.png                                  | Bin
 img/worker-group-en.png                            | Bin
 img/worker-jk.png                                  | Bin
 img/worker-monitor-en.png                          | Bin
 img/worker1.png                                    | Bin
 img/worker_group.png                               | Bin
 img/worker_group_en.png                            | Bin
 img/workflow-instances-en.png                      | Bin
 img/zk-jk.png                                      | Bin
 img/zookeeper-en.png                               | Bin
 img/zookeeper-monitor-en.png                       | Bin
 index.html                                         |  25 +-
 sitemap.xml                                        |   0
 zh-cn/blog/architecture-design.html                |  10 +-
 zh-cn/blog/architecture-design.json                |   4 +-
 zh-cn/blog/index.html                              |   2 +-
 zh-cn/blog/live_online_2020_05_26.html             |   6 +-
 zh-cn/blog/live_online_2020_05_26.json             |   2 +-
 zh-cn/blog/meetup_2019_10_26.html                  |   6 +-
 zh-cn/blog/meetup_2019_10_26.json                  |   2 +-
 zh-cn/blog/meetup_2019_12_08.html                  |   6 +-
 zh-cn/blog/meetup_2019_12_08.json                  |   2 +-
 zh-cn/community/development/DS-License.html        |   2 +-
 zh-cn/community/development/DS-License.json        |   2 +-
 .../community/development/become a committer.html  |   2 +-
 .../community/development/become a committer.json  |   2 +-
 zh-cn/community/development/code-conduct.html      |   2 +-
 zh-cn/community/development/code-conduct.json      |   2 +-
 zh-cn/community/development/commit-message.html    |   2 +-
 zh-cn/community/development/commit-message.json    |   2 +-
 zh-cn/community/development/contribute.html        |   2 +-
 zh-cn/community/development/contribute.json        |   2 +-
 zh-cn/community/development/document.html          |   2 +-
 zh-cn/community/development/document.json          |   2 +-
 zh-cn/community/development/issue.html             |   2 +-
 zh-cn/community/development/issue.json             |   2 +-
 zh-cn/community/development/microbench.html        |  12 +-
 zh-cn/community/development/microbench.json        |   4 +-
 zh-cn/community/development/pull-request.html      |   2 +-
 zh-cn/community/development/pull-request.json      |   2 +-
 zh-cn/community/development/submit-code.html       |   2 +-
 zh-cn/community/development/submit-code.json       |   2 +-
 zh-cn/community/development/subscribe.html         |   2 +-
 zh-cn/community/development/subscribe.json         |   2 +-
 zh-cn/community/example.html                       |   2 +-
 zh-cn/community/example.json                       |   2 +-
 zh-cn/community/index.html                         |   2 +-
 zh-cn/community/release.html                       |  24 +-
 zh-cn/community/release.json                       |   4 +-
 zh-cn/community/security.html                      |   2 +-
 zh-cn/community/security.json                      |   2 +-
 zh-cn/community/team.html                          |   4 +-
 zh-cn/community/team.json                          |   4 +-
 zh-cn/docs/1.2.0/user_doc/backend-deployment.html  |  16 +-
 zh-cn/docs/1.2.0/user_doc/backend-deployment.json  |   4 +-
 zh-cn/docs/1.2.0/user_doc/cluster-deployment.html  |  82 +-
 zh-cn/docs/1.2.0/user_doc/cluster-deployment.json  |   4 +-
 zh-cn/docs/1.2.0/user_doc/deployparam.html         | 146 ++--
 zh-cn/docs/1.2.0/user_doc/deployparam.json         |   4 +-
 zh-cn/docs/1.2.0/user_doc/frontend-deployment.html |   8 +-
 zh-cn/docs/1.2.0/user_doc/frontend-deployment.json |   4 +-
 .../docs/1.2.0/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.2.0/user_doc/hardware-environment.json  |   2 +-
 .../1.2.0/user_doc/masterserver-code-analysis.html |   6 +-
 .../1.2.0/user_doc/masterserver-code-analysis.json |   2 +-
 zh-cn/docs/1.2.0/user_doc/metadata-1.2.html        |   6 +-
 zh-cn/docs/1.2.0/user_doc/metadata-1.2.json        |   2 +-
 zh-cn/docs/1.2.0/user_doc/quick-start.html         |   6 +-
 zh-cn/docs/1.2.0/user_doc/quick-start.json         |   2 +-
 .../docs/1.2.0/user_doc/standalone-deployment.html |  88 +--
 .../docs/1.2.0/user_doc/standalone-deployment.json |   4 +-
 zh-cn/docs/1.2.0/user_doc/system-manual.html       |   6 +-
 zh-cn/docs/1.2.0/user_doc/system-manual.json       |   2 +-
 zh-cn/docs/1.2.0/user_doc/upgrade.html             |   8 +-
 zh-cn/docs/1.2.0/user_doc/upgrade.json             |   4 +-
 zh-cn/docs/1.2.1/user_doc/architecture-design.html |  10 +-
 zh-cn/docs/1.2.1/user_doc/architecture-design.json |   4 +-
 zh-cn/docs/1.2.1/user_doc/backend-deployment.html  |  16 +-
 zh-cn/docs/1.2.1/user_doc/backend-deployment.json  |   4 +-
 zh-cn/docs/1.2.1/user_doc/cluster-deployment.html  |  76 +-
 zh-cn/docs/1.2.1/user_doc/cluster-deployment.json  |   4 +-
 zh-cn/docs/1.2.1/user_doc/deployparam.html         | 118 +--
 zh-cn/docs/1.2.1/user_doc/deployparam.json         |   4 +-
 zh-cn/docs/1.2.1/user_doc/frontend-deployment.html |   8 +-
 zh-cn/docs/1.2.1/user_doc/frontend-deployment.json |   4 +-
 .../docs/1.2.1/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.2.1/user_doc/hardware-environment.json  |   2 +-
 zh-cn/docs/1.2.1/user_doc/metadata-1.2.html        |   6 +-
 zh-cn/docs/1.2.1/user_doc/metadata-1.2.json        |   2 +-
 zh-cn/docs/1.2.1/user_doc/microbench.html          |  16 +-
 zh-cn/docs/1.2.1/user_doc/microbench.json          |   4 +-
 zh-cn/docs/1.2.1/user_doc/plugin-development.html  |   6 +-
 zh-cn/docs/1.2.1/user_doc/plugin-development.json  |   2 +-
 zh-cn/docs/1.2.1/user_doc/quick-start.html         |   6 +-
 zh-cn/docs/1.2.1/user_doc/quick-start.json         |   2 +-
 .../docs/1.2.1/user_doc/standalone-deployment.html |  86 +--
 .../docs/1.2.1/user_doc/standalone-deployment.json |   4 +-
 zh-cn/docs/1.2.1/user_doc/system-manual.html       |   6 +-
 zh-cn/docs/1.2.1/user_doc/system-manual.json       |   2 +-
 zh-cn/docs/1.2.1/user_doc/upgrade.html             |   8 +-
 zh-cn/docs/1.2.1/user_doc/upgrade.json             |   4 +-
 zh-cn/docs/1.3.1/user_doc/architecture-design.html |  10 +-
 zh-cn/docs/1.3.1/user_doc/architecture-design.json |   4 +-
 zh-cn/docs/1.3.1/user_doc/cluster-deployment.html  |  82 +-
 zh-cn/docs/1.3.1/user_doc/cluster-deployment.json  |   4 +-
 zh-cn/docs/1.3.1/user_doc/configuration-file.html  |  86 +--
 zh-cn/docs/1.3.1/user_doc/configuration-file.json  |   4 +-
 .../docs/1.3.1/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.3.1/user_doc/hardware-environment.json  |   2 +-
 zh-cn/docs/1.3.1/user_doc/metadata-1.3.html        |   6 +-
 zh-cn/docs/1.3.1/user_doc/metadata-1.3.json        |   2 +-
 zh-cn/docs/1.3.1/user_doc/quick-start.html         |   8 +-
 zh-cn/docs/1.3.1/user_doc/quick-start.json         |   4 +-
 .../docs/1.3.1/user_doc/standalone-deployment.html |  82 +-
 .../docs/1.3.1/user_doc/standalone-deployment.json |   4 +-
 zh-cn/docs/1.3.1/user_doc/system-manual.html       |   6 +-
 zh-cn/docs/1.3.1/user_doc/system-manual.json       |   2 +-
 zh-cn/docs/1.3.1/user_doc/task-structure.html      | 848 ++++++++++-----------
 zh-cn/docs/1.3.1/user_doc/task-structure.json      |   4 +-
 zh-cn/docs/1.3.1/user_doc/upgrade.html             |  14 +-
 zh-cn/docs/1.3.1/user_doc/upgrade.json             |   4 +-
 zh-cn/docs/1.3.2/user_doc/architecture-design.html |  10 +-
 zh-cn/docs/1.3.2/user_doc/architecture-design.json |   4 +-
 zh-cn/docs/1.3.2/user_doc/cluster-deployment.html  |  82 +-
 zh-cn/docs/1.3.2/user_doc/cluster-deployment.json  |   4 +-
 zh-cn/docs/1.3.2/user_doc/configuration-file.html  |  86 +--
 zh-cn/docs/1.3.2/user_doc/configuration-file.json  |   4 +-
 zh-cn/docs/1.3.2/user_doc/expansion-reduction.html |  42 +-
 zh-cn/docs/1.3.2/user_doc/expansion-reduction.json |   4 +-
 .../docs/1.3.2/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.3.2/user_doc/hardware-environment.json  |   2 +-
 zh-cn/docs/1.3.2/user_doc/metadata-1.3.html        |   6 +-
 zh-cn/docs/1.3.2/user_doc/metadata-1.3.json        |   2 +-
 zh-cn/docs/1.3.2/user_doc/quick-start.html         |   8 +-
 zh-cn/docs/1.3.2/user_doc/quick-start.json         |   4 +-
 .../docs/1.3.2/user_doc/standalone-deployment.html |  82 +-
 .../docs/1.3.2/user_doc/standalone-deployment.json |   4 +-
 zh-cn/docs/1.3.2/user_doc/system-manual.html       |   6 +-
 zh-cn/docs/1.3.2/user_doc/system-manual.json       |   2 +-
 zh-cn/docs/1.3.2/user_doc/task-structure.html      | 848 ++++++++++-----------
 zh-cn/docs/1.3.2/user_doc/task-structure.json      |   4 +-
 zh-cn/docs/1.3.2/user_doc/upgrade.html             |  14 +-
 zh-cn/docs/1.3.2/user_doc/upgrade.json             |   4 +-
 zh-cn/docs/1.3.3/user_doc/architecture-design.html |  10 +-
 zh-cn/docs/1.3.3/user_doc/architecture-design.json |   4 +-
 zh-cn/docs/1.3.3/user_doc/cluster-deployment.html  |  86 +--
 zh-cn/docs/1.3.3/user_doc/cluster-deployment.json  |   4 +-
 zh-cn/docs/1.3.3/user_doc/configuration-file.html  |  86 +--
 zh-cn/docs/1.3.3/user_doc/configuration-file.json  |   4 +-
 zh-cn/docs/1.3.3/user_doc/expansion-reduction.html |  42 +-
 zh-cn/docs/1.3.3/user_doc/expansion-reduction.json |   4 +-
 .../docs/1.3.3/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.3.3/user_doc/hardware-environment.json  |   2 +-
 zh-cn/docs/1.3.3/user_doc/metadata-1.3.html        |   6 +-
 zh-cn/docs/1.3.3/user_doc/metadata-1.3.json        |   2 +-
 zh-cn/docs/1.3.3/user_doc/quick-start.html         |   6 +-
 zh-cn/docs/1.3.3/user_doc/quick-start.json         |   2 +-
 .../docs/1.3.3/user_doc/standalone-deployment.html |  86 +--
 .../docs/1.3.3/user_doc/standalone-deployment.json |   4 +-
 zh-cn/docs/1.3.3/user_doc/system-manual.html       |   6 +-
 zh-cn/docs/1.3.3/user_doc/system-manual.json       |   2 +-
 zh-cn/docs/1.3.3/user_doc/task-structure.html      | 848 ++++++++++-----------
 zh-cn/docs/1.3.3/user_doc/task-structure.json      |   4 +-
 zh-cn/docs/1.3.3/user_doc/upgrade.html             |  14 +-
 zh-cn/docs/1.3.3/user_doc/upgrade.json             |   4 +-
 zh-cn/docs/1.3.4/user_doc/architecture-design.html |  10 +-
 zh-cn/docs/1.3.4/user_doc/architecture-design.json |   4 +-
 zh-cn/docs/1.3.4/user_doc/build-docker-image.html  |  22 +-
 zh-cn/docs/1.3.4/user_doc/build-docker-image.json  |   4 +-
 zh-cn/docs/1.3.4/user_doc/cluster-deployment.html  |  82 +-
 zh-cn/docs/1.3.4/user_doc/cluster-deployment.json  |   4 +-
 zh-cn/docs/1.3.4/user_doc/configuration-file.html  |  86 +--
 zh-cn/docs/1.3.4/user_doc/configuration-file.json  |   4 +-
 zh-cn/docs/1.3.4/user_doc/docker-deployment.html   |   6 +-
 zh-cn/docs/1.3.4/user_doc/docker-deployment.json   |   2 +-
 zh-cn/docs/1.3.4/user_doc/expansion-reduction.html |  42 +-
 zh-cn/docs/1.3.4/user_doc/expansion-reduction.json |   4 +-
 .../docs/1.3.4/user_doc/hardware-environment.html  |   6 +-
 .../docs/1.3.4/user_doc/hardware-environment.json  |   2 +-
 zh-cn/docs/1.3.4/user_doc/metadata-1.3.html        |   6 +-
 zh-cn/docs/1.3.4/user_doc/metadata-1.3.json        |   2 +-
 zh-cn/docs/1.3.4/user_doc/quick-start.html         |   6 +-
 zh-cn/docs/1.3.4/user_doc/quick-start.json         |   2 +-
 .../docs/1.3.4/user_doc/standalone-deployment.html |  82 +-
 .../docs/1.3.4/user_doc/standalone-deployment.json |   4 +-
 zh-cn/docs/1.3.4/user_doc/system-manual.html       |   6 +-
 zh-cn/docs/1.3.4/user_doc/system-manual.json       |   2 +-
 zh-cn/docs/1.3.4/user_doc/task-structure.html      | 848 ++++++++++-----------
 zh-cn/docs/1.3.4/user_doc/task-structure.json      |   4 +-
 zh-cn/docs/1.3.4/user_doc/upgrade.html             |  14 +-
 zh-cn/docs/1.3.4/user_doc/upgrade.json             |   4 +-
 zh-cn/docs/development/DS-License.html             |   6 +-
 zh-cn/docs/development/DS-License.json             |   2 +-
 zh-cn/docs/development/architecture-design.html    |  10 +-
 zh-cn/docs/development/architecture-design.json    |   4 +-
 zh-cn/docs/development/backend-development.html    |   6 +-
 zh-cn/docs/development/backend-development.json    |   2 +-
 zh-cn/docs/development/become a committer.html     |   6 +-
 zh-cn/docs/development/become a committer.json     |   2 +-
 zh-cn/docs/development/code-conduct.html           |   6 +-
 zh-cn/docs/development/code-conduct.json           |   2 +-
 zh-cn/docs/development/commit-message.html         |   6 +-
 zh-cn/docs/development/commit-message.json         |   2 +-
 zh-cn/docs/development/contribute.html             |   6 +-
 zh-cn/docs/development/contribute.json             |   2 +-
 zh-cn/docs/development/developers.html             |   6 +-
 zh-cn/docs/development/developers.json             |   2 +-
 .../development/development-environment-setup.html |   6 +-
 .../development/development-environment-setup.json |   2 +-
 zh-cn/docs/development/document.html               |   6 +-
 zh-cn/docs/development/document.json               |   2 +-
 zh-cn/docs/development/download.html               |   6 +-
 zh-cn/docs/development/download.json               |   2 +-
 zh-cn/docs/development/frontend-development.html   |   6 +-
 zh-cn/docs/development/frontend-development.json   |   2 +-
 zh-cn/docs/development/issue.html                  |   6 +-
 zh-cn/docs/development/issue.json                  |   2 +-
 zh-cn/docs/development/microbench.html             |  16 +-
 zh-cn/docs/development/microbench.json             |   4 +-
 zh-cn/docs/development/plugin-development.html     |   6 +-
 zh-cn/docs/development/plugin-development.json     |   2 +-
 zh-cn/docs/development/pull-request.html           |   6 +-
 zh-cn/docs/development/pull-request.json           |   2 +-
 zh-cn/docs/development/release.html                |  34 +-
 zh-cn/docs/development/release.json                |   4 +-
 zh-cn/docs/development/submit-code.html            |   6 +-
 zh-cn/docs/development/submit-code.json            |   2 +-
 zh-cn/docs/development/subscribe.html              |   6 +-
 zh-cn/docs/development/subscribe.json              |   2 +-
 zh-cn/docs/development/unit-test.html              |   6 +-
 zh-cn/docs/development/unit-test.json              |   2 +-
 zh-cn/docs/release/download.html                   |   6 +-
 zh-cn/docs/release/download.json                   |   2 +-
 zh-cn/docs/release/faq.html                        |  14 +-
 zh-cn/docs/release/faq.json                        |   4 +-
 zh-cn/{docs/release => download}/download.html     |   6 +-
 zh-cn/{docs/release => download}/download.json     |   2 +-
 zh-cn/index.html                                   |   2 +-
 686 files changed, 4926 insertions(+), 5022 deletions(-)

diff --git a/build/blog.css b/build/blog.css
index 7885745..c21a4b2 100644
--- a/build/blog.css
+++ b/build/blog.css
@@ -5,10 +5,10 @@
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
  *       
- */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
+ */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
 .ant-menu{background:none}.ant-menu-horizontal{border-bottom:0}.ant-menu-submenu-title{padding:0 15px !important}.header-container{position:fixed;left:0;top:0;width:100%;z-index:1000;background-color:#fff}.header-container-primary{background-color:transparent}.header-container-normal{background-color:#fff;box-shadow:0 2px 10px 0 rgba(0,0,0,0.08)}.header-container .header-body{max-width:1280px;margin:0 auto;height:66px;line-height:66px}.header-container .header-body .logo{margin-top:10px; [...]
+.footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
 .bar{margin-top:66px;background-image:linear-gradient(-90deg, #2D303A 0%, #2D303A 51%, #41444C 100%)}.bar .bar-body{max-width:1280px;margin:0 auto;height:200px;line-height:200px;font-family:Avenir-Heavy;font-size:36px;color:#FFF;position:relative}.bar .bar-body::before{content:'';height:100%;position:absolute;left:42px;top:0;opacity:0.3;border-left:1px solid #FFFFFF}.bar .bar-body::after{content:'';height:16px;position:absolute;left:40px;top:50%;margin:auto 0;border-left:4px solid #FFFFF [...]
 .page-slider{overflow:hidden}.page-slider .slider-list{overflow:visible}.page-slider .slider-list .slider-page{overflow:hidden;display:inline-block;vertical-align:top}.page-slider .slider-control{overflow:hidden}.page-slider .slider-control img{display:inline-block;width:52px;height:52px;cursor:pointer}.page-slider .slider-control .slider-control-prev{float:left}.page-slider .slider-control .slider-control-prev-hidden{display:none}.page-slider .slider-control .slider-control-next{float:r [...]
 .blog-item{box-sizing:border-box;display:block;width:100%;padding:20px;margin-bottom:40px;background:#F8F8F8}.blog-item .title img{width:16px;height:20px;margin-right:8px}.blog-item .title span{font-family:Avenir-Heavy;font-size:20px;color:#666666}.blog-item .brief-info{padding:12px 0 20px}.blog-item .brief-info .author{font-family:Avenir-Heavy;font-size:14px;color:#999;margin-right:8px}.blog-item .brief-info img{width:14px;height:14px}.blog-item .brief-info .date{float:right;font-family [...]
-.footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
 @font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
diff --git a/build/blog.js b/build/blog.js
index 9d4ceed..9038692 100644
--- a/build/blog.js
+++ b/build/blog.js
@@ -1,16 +1,16 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=1208)}([function(e,t){e.expor [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=1210)}([function(e,t){e.expor [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Ar,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
+return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Ar,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة" [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,7 +150,7 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
+var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
  * UAParser.js v0.7.23
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):6010
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
diff --git a/build/blog.md.css b/build/blog.md.css
new file mode 100644
index 0000000..0326d7b
--- /dev/null
+++ b/build/blog.md.css
@@ -0,0 +1,12 @@
+/*!
+ * 
+ * antd v3.26.20
+ * 
+ * Copyright 2015-present, Alipay, Inc.
+ * All rights reserved.
+ *       
+ */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
+.ant-menu{background:none}.ant-menu-horizontal{border-bottom:0}.ant-menu-submenu-title{padding:0 15px !important}.header-container{position:fixed;left:0;top:0;width:100%;z-index:1000;background-color:#fff}.header-container-primary{background-color:transparent}.header-container-normal{background-color:#fff;box-shadow:0 2px 10px 0 rgba(0,0,0,0.08)}.header-container .header-body{max-width:1280px;margin:0 auto;height:66px;line-height:66px}.header-container .header-body .logo{margin-top:10px; [...]
+.footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
+@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
+@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
diff --git a/build/blogDetail.md.js b/build/blog.md.js
similarity index 89%
copy from build/blogDetail.md.js
copy to build/blog.md.js
index c6532a9..00dc90d 100644
--- a/build/blogDetail.md.js
+++ b/build/blog.md.js
@@ -1,16 +1,16 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=1216)}([function(e,t){e.expor [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=1208)}([function(e,t){e.expor [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Yr,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
+return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Yr,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة" [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,7 +150,7 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
+var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
  * UAParser.js v0.7.23
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):6010
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
diff --git a/build/blogDetail.md.css b/build/blogDetail.md.css
deleted file mode 100644
index 624cba2..0000000
--- a/build/blogDetail.md.css
+++ /dev/null
@@ -1,12 +0,0 @@
-/*!
- * 
- * antd v3.26.20
- * 
- * Copyright 2015-present, Alipay, Inc.
- * All rights reserved.
- *       
- */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
-.ant-menu{background:none}.ant-menu-horizontal{border-bottom:0}.ant-menu-submenu-title{padding:0 15px !important}.header-container{position:fixed;left:0;top:0;width:100%;z-index:1000;background-color:#fff}.header-container-primary{background-color:transparent}.header-container-normal{background-color:#fff;box-shadow:0 2px 10px 0 rgba(0,0,0,0.08)}.header-container .header-body{max-width:1280px;margin:0 auto;height:66px;line-height:66px}.header-container .header-body .logo{margin-top:10px; [...]
-.footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
-@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
-@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
diff --git a/build/community.css b/build/community.css
index f3c2d31..f9ea6cc 100644
--- a/build/community.css
+++ b/build/community.css
@@ -5,10 +5,10 @@
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
  *       
- */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
+ */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
 .ant-menu{background:none}.ant-menu-horizontal{border-bottom:0}.ant-menu-submenu-title{padding:0 15px !important}.header-container{position:fixed;left:0;top:0;width:100%;z-index:1000;background-color:#fff}.header-container-primary{background-color:transparent}.header-container-normal{background-color:#fff;box-shadow:0 2px 10px 0 rgba(0,0,0,0.08)}.header-container .header-body{max-width:1280px;margin:0 auto;height:66px;line-height:66px}.header-container .header-body .logo{margin-top:10px; [...]
-.bar{margin-top:66px;background-image:linear-gradient(-90deg, #2D303A 0%, #2D303A 51%, #41444C 100%)}.bar .bar-body{max-width:1280px;margin:0 auto;height:200px;line-height:200px;font-family:Avenir-Heavy;font-size:36px;color:#FFF;position:relative}.bar .bar-body::before{content:'';height:100%;position:absolute;left:42px;top:0;opacity:0.3;border-left:1px solid #FFFFFF}.bar .bar-body::after{content:'';height:16px;position:absolute;left:40px;top:50%;margin:auto 0;border-left:4px solid #FFFFF [...]
 .footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
+.bar{margin-top:66px;background-image:linear-gradient(-90deg, #2D303A 0%, #2D303A 51%, #41444C 100%)}.bar .bar-body{max-width:1280px;margin:0 auto;height:200px;line-height:200px;font-family:Avenir-Heavy;font-size:36px;color:#FFF;position:relative}.bar .bar-body::before{content:'';height:100%;position:absolute;left:42px;top:0;opacity:0.3;border-left:1px solid #FFFFFF}.bar .bar-body::after{content:'';height:16px;position:absolute;left:40px;top:50%;margin:auto 0;border-left:4px solid #FFFFF [...]
 .sidemenu{background:#F2F3F7;width:295px;position:relative;display:inline-block;padding:20px 0}.sidemenu .sidemenu-toggle{text-align:center;cursor:pointer;position:absolute;top:0;width:40px;right:-40px;height:30px;line-height:30px;background:#F2F3F7;border-radius:0 4px 4px 0;display:none}.sidemenu .sidemenu-toggle img{width:16px;text-align:center;vertical-align:middle}.sidemenu ul{list-style:none;padding:0;margin:0}.sidemenu li{line-height:0}.sidemenu span,.sidemenu a{box-sizing:border-b [...]
 .slider{overflow:hidden}.slider .slider-list{overflow:visible}.slider .slider-list .slider-screen{display:inline-flex;justify-content:space-around;overflow:hidden}.slider .slider-control{text-align:center;margin-top:20px}.slider .slider-control .slider-control-item{cursor:pointer;display:inline-block;width:20px;height:4px;margin-right:4px;background:#ccc}.slider .slider-control .slider-control-item-active{width:40px;height:6px;background-image:linear-gradient(-90deg, #2D303A 0%, #2D303A  [...]
 @font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
diff --git a/build/community.js b/build/community.js
index 616e92f..fa6a502 100644
--- a/build/community.js
+++ b/build/community.js
@@ -3,14 +3,14 @@
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Ar,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
+return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Ar,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة" [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,7 +150,7 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
+var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
  * UAParser.js v0.7.23
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):6010
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
diff --git a/build/community.md.css b/build/community.md.css
index aef2866..a2d21ea 100644
--- a/build/community.md.css
+++ b/build/community.md.css
@@ -5,9 +5,9 @@
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
  *       
- */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
+ */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
 .ant-menu{background:none}.ant-menu-horizontal{border-bottom:0}.ant-menu-submenu-title{padding:0 15px !important}.header-container{position:fixed;left:0;top:0;width:100%;z-index:1000;background-color:#fff}.header-container-primary{background-color:transparent}.header-container-normal{background-color:#fff;box-shadow:0 2px 10px 0 rgba(0,0,0,0.08)}.header-container .header-body{max-width:1280px;margin:0 auto;height:66px;line-height:66px}.header-container .header-body .logo{margin-top:10px; [...]
-.bar{margin-top:66px;background-image:linear-gradient(-90deg, #2D303A 0%, #2D303A 51%, #41444C 100%)}.bar .bar-body{max-width:1280px;margin:0 auto;height:200px;line-height:200px;font-family:Avenir-Heavy;font-size:36px;color:#FFF;position:relative}.bar .bar-body::before{content:'';height:100%;position:absolute;left:42px;top:0;opacity:0.3;border-left:1px solid #FFFFFF}.bar .bar-body::after{content:'';height:16px;position:absolute;left:40px;top:50%;margin:auto 0;border-left:4px solid #FFFFF [...]
 .footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
 @font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
+.bar{margin-top:66px;background-image:linear-gradient(-90deg, #2D303A 0%, #2D303A 51%, #41444C 100%)}.bar .bar-body{max-width:1280px;margin:0 auto;height:200px;line-height:200px;font-family:Avenir-Heavy;font-size:36px;color:#FFF;position:relative}.bar .bar-body::before{content:'';height:100%;position:absolute;left:42px;top:0;opacity:0.3;border-left:1px solid #FFFFFF}.bar .bar-body::after{content:'';height:16px;position:absolute;left:40px;top:50%;margin:auto 0;border-left:4px solid #FFFFF [...]
 .sidemenu{background:#F2F3F7;width:295px;position:relative;display:inline-block;padding:20px 0}.sidemenu .sidemenu-toggle{text-align:center;cursor:pointer;position:absolute;top:0;width:40px;right:-40px;height:30px;line-height:30px;background:#F2F3F7;border-radius:0 4px 4px 0;display:none}.sidemenu .sidemenu-toggle img{width:16px;text-align:center;vertical-align:middle}.sidemenu ul{list-style:none;padding:0;margin:0}.sidemenu li{line-height:0}.sidemenu span,.sidemenu a{box-sizing:border-b [...]
diff --git a/build/community.md.js b/build/community.md.js
index def4df0..9a0ef25 100644
--- a/build/community.md.js
+++ b/build/community.md.js
@@ -3,14 +3,14 @@
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Yr,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
+return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Yr,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة" [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,7 +150,7 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,y=a?Symbol.for("react.suspense"):60113,v=a?Symb [...]
+var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,y=a?Symbol.for("react.suspense"):60113,v=a?Symb [...]
  * UAParser.js v0.7.23
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):6010
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
diff --git a/build/docs.md.css b/build/docs.md.css
new file mode 100644
index 0000000..a2d21ea
--- /dev/null
+++ b/build/docs.md.css
@@ -0,0 +1,13 @@
+/*!
+ * 
+ * antd v3.26.20
+ * 
+ * Copyright 2015-present, Alipay, Inc.
+ * All rights reserved.
+ *       
+ */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
+.ant-menu{background:none}.ant-menu-horizontal{border-bottom:0}.ant-menu-submenu-title{padding:0 15px !important}.header-container{position:fixed;left:0;top:0;width:100%;z-index:1000;background-color:#fff}.header-container-primary{background-color:transparent}.header-container-normal{background-color:#fff;box-shadow:0 2px 10px 0 rgba(0,0,0,0.08)}.header-container .header-body{max-width:1280px;margin:0 auto;height:66px;line-height:66px}.header-container .header-body .logo{margin-top:10px; [...]
+.footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
+@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
+.bar{margin-top:66px;background-image:linear-gradient(-90deg, #2D303A 0%, #2D303A 51%, #41444C 100%)}.bar .bar-body{max-width:1280px;margin:0 auto;height:200px;line-height:200px;font-family:Avenir-Heavy;font-size:36px;color:#FFF;position:relative}.bar .bar-body::before{content:'';height:100%;position:absolute;left:42px;top:0;opacity:0.3;border-left:1px solid #FFFFFF}.bar .bar-body::after{content:'';height:16px;position:absolute;left:40px;top:50%;margin:auto 0;border-left:4px solid #FFFFF [...]
+.sidemenu{background:#F2F3F7;width:295px;position:relative;display:inline-block;padding:20px 0}.sidemenu .sidemenu-toggle{text-align:center;cursor:pointer;position:absolute;top:0;width:40px;right:-40px;height:30px;line-height:30px;background:#F2F3F7;border-radius:0 4px 4px 0;display:none}.sidemenu .sidemenu-toggle img{width:16px;text-align:center;vertical-align:middle}.sidemenu ul{list-style:none;padding:0;margin:0}.sidemenu li{line-height:0}.sidemenu span,.sidemenu a{box-sizing:border-b [...]
diff --git a/build/documentation.md.js b/build/docs.md.js
similarity index 88%
rename from build/documentation.md.js
rename to build/docs.md.js
index 53bc3df..30a97e0 100644
--- a/build/documentation.md.js
+++ b/build/docs.md.js
@@ -3,14 +3,14 @@
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Yr,si.clone=Br,si.get=Ur,si.milliseconds=Qa,si.seconds=Za,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Zr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
+return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Yr,si.clone=Br,si.get=Ur,si.milliseconds=Qa,si.seconds=Za,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Zr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة" [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,7 +150,7 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,y=a?Symbol.for("react.suspense"):60113,v=a?Symb [...]
+var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,y=a?Symbol.for("react.suspense"):60113,v=a?Symb [...]
  * UAParser.js v0.7.23
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):6010
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
diff --git a/build/documentation.md.css b/build/documentation.md.css
deleted file mode 100644
index aef2866..0000000
--- a/build/documentation.md.css
+++ /dev/null
@@ -1,13 +0,0 @@
-/*!
- * 
- * antd v3.26.20
- * 
- * Copyright 2015-present, Alipay, Inc.
- * All rights reserved.
- *       
- */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
-.ant-menu{background:none}.ant-menu-horizontal{border-bottom:0}.ant-menu-submenu-title{padding:0 15px !important}.header-container{position:fixed;left:0;top:0;width:100%;z-index:1000;background-color:#fff}.header-container-primary{background-color:transparent}.header-container-normal{background-color:#fff;box-shadow:0 2px 10px 0 rgba(0,0,0,0.08)}.header-container .header-body{max-width:1280px;margin:0 auto;height:66px;line-height:66px}.header-container .header-body .logo{margin-top:10px; [...]
-.bar{margin-top:66px;background-image:linear-gradient(-90deg, #2D303A 0%, #2D303A 51%, #41444C 100%)}.bar .bar-body{max-width:1280px;margin:0 auto;height:200px;line-height:200px;font-family:Avenir-Heavy;font-size:36px;color:#FFF;position:relative}.bar .bar-body::before{content:'';height:100%;position:absolute;left:42px;top:0;opacity:0.3;border-left:1px solid #FFFFFF}.bar .bar-body::after{content:'';height:16px;position:absolute;left:40px;top:50%;margin:auto 0;border-left:4px solid #FFFFF [...]
-.footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
-@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
-.sidemenu{background:#F2F3F7;width:295px;position:relative;display:inline-block;padding:20px 0}.sidemenu .sidemenu-toggle{text-align:center;cursor:pointer;position:absolute;top:0;width:40px;right:-40px;height:30px;line-height:30px;background:#F2F3F7;border-radius:0 4px 4px 0;display:none}.sidemenu .sidemenu-toggle img{width:16px;text-align:center;vertical-align:middle}.sidemenu ul{list-style:none;padding:0;margin:0}.sidemenu li{line-height:0}.sidemenu span,.sidemenu a{box-sizing:border-b [...]
diff --git a/build/download.md.css b/build/download.md.css
new file mode 100644
index 0000000..a2d21ea
--- /dev/null
+++ b/build/download.md.css
@@ -0,0 +1,13 @@
+/*!
+ * 
+ * antd v3.26.20
+ * 
+ * Copyright 2015-present, Alipay, Inc.
+ * All rights reserved.
+ *       
+ */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
+.ant-menu{background:none}.ant-menu-horizontal{border-bottom:0}.ant-menu-submenu-title{padding:0 15px !important}.header-container{position:fixed;left:0;top:0;width:100%;z-index:1000;background-color:#fff}.header-container-primary{background-color:transparent}.header-container-normal{background-color:#fff;box-shadow:0 2px 10px 0 rgba(0,0,0,0.08)}.header-container .header-body{max-width:1280px;margin:0 auto;height:66px;line-height:66px}.header-container .header-body .logo{margin-top:10px; [...]
+.footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
+@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWU [...]
+.bar{margin-top:66px;background-image:linear-gradient(-90deg, #2D303A 0%, #2D303A 51%, #41444C 100%)}.bar .bar-body{max-width:1280px;margin:0 auto;height:200px;line-height:200px;font-family:Avenir-Heavy;font-size:36px;color:#FFF;position:relative}.bar .bar-body::before{content:'';height:100%;position:absolute;left:42px;top:0;opacity:0.3;border-left:1px solid #FFFFFF}.bar .bar-body::after{content:'';height:16px;position:absolute;left:40px;top:50%;margin:auto 0;border-left:4px solid #FFFFF [...]
+.sidemenu{background:#F2F3F7;width:295px;position:relative;display:inline-block;padding:20px 0}.sidemenu .sidemenu-toggle{text-align:center;cursor:pointer;position:absolute;top:0;width:40px;right:-40px;height:30px;line-height:30px;background:#F2F3F7;border-radius:0 4px 4px 0;display:none}.sidemenu .sidemenu-toggle img{width:16px;text-align:center;vertical-align:middle}.sidemenu ul{list-style:none;padding:0;margin:0}.sidemenu li{line-height:0}.sidemenu span,.sidemenu a{box-sizing:border-b [...]
diff --git a/build/blogDetail.md.js b/build/download.md.js
similarity index 89%
rename from build/blogDetail.md.js
rename to build/download.md.js
index c6532a9..c707ea9 100644
--- a/build/blogDetail.md.js
+++ b/build/download.md.js
@@ -1,16 +1,16 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=1216)}([function(e,t){e.expor [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=1235)}([function(e,t){e.expor [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Yr,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
+return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Yr,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة" [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,7 +150,7 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
+var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
  * UAParser.js v0.7.23
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):6010
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
diff --git a/build/home.css b/build/home.css
index 6badb41..84a6afa 100644
--- a/build/home.css
+++ b/build/home.css
@@ -5,7 +5,7 @@
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
  *       
- */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
+ */html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,0.65);fo [...]
 .ant-menu{background:none}.ant-menu-horizontal{border-bottom:0}.ant-menu-submenu-title{padding:0 15px !important}.header-container{position:fixed;left:0;top:0;width:100%;z-index:1000;background-color:#fff}.header-container-primary{background-color:transparent}.header-container-normal{background-color:#fff;box-shadow:0 2px 10px 0 rgba(0,0,0,0.08)}.header-container .header-body{max-width:1280px;margin:0 auto;height:66px;line-height:66px}.header-container .header-body .logo{margin-top:10px; [...]
 .footer-container{background:#F8F8F8}.footer-container .footer-body{max-width:1280px;margin:0 auto;box-sizing:border-box;padding:40px 40px 0}@media screen and (max-width: 640px){.footer-container .footer-body{padding-left:20px;padding-right:20px}}.footer-container .footer-body img{width:125px;height:56px;margin-bottom:10px;vertical-align:middle}.footer-container .footer-body .cols-container{margin-bottom:60px}.footer-container .footer-body .cols-container .col{display:inline-block;box-si [...]
 .button{box-sizing:border-box;display:inline-block;height:48px;line-height:48px;min-width:140px;font-family:Avenir-Heavy;font-size:16px;color:#FFF;text-align:center;border-radius:4px;text-decoration:none}.button-primary{background:#4190FF}.button-normal{background:transparent;border:1px solid #fff}
diff --git a/build/home.js b/build/home.js
index 49bd4f0..6e05983 100644
--- a/build/home.js
+++ b/build/home.js
@@ -1,16 +1,16 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=1235)}([function(e,t){e.expor [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=1237)}([function(e,t){e.expor [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var a={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Ar,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
+return si.isValid=Dt,si.abs=zr,si.add=Nr,si.subtract=Vr,si.as=Ir,si.asMilliseconds=Ka,si.asSeconds=Wa,si.asMinutes=Ba,si.asHours=Ua,si.asDays=qa,si.asWeeks=Ga,si.asMonths=Ja,si.asQuarters=Xa,si.asYears=$a,si.valueOf=Kr,si._bubble=Ar,si.clone=Br,si.get=Ur,si.milliseconds=Za,si.seconds=Qa,si.minutes=ei,si.hours=ti,si.days=ni,si.weeks=Gr,si.months=ri,si.years=oi,si.humanize=Qr,si.toISOString=to,si.toString=to,si.toJSON=to,si.locale=Tn,si.localeData=Pn,si.toIsoString=O("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة" [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,7 +150,7 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
+var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,y=a?Symb [...]
  * UAParser.js v0.7.23
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ var a="function"==typeof Symbol&&Symbol.for,i=a?Symbol.for("react.element"):6010
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,a,i,c,s=0;s<t.length&&!i;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof a&&a.length>0?2==a.length?"function"==typeof a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
diff --git a/download/en-us/download.md b/download/en-us/download.md
deleted file mode 100644
index e53babb..0000000
--- a/download/en-us/download.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# Download the DolphinScheduler releases
-
-Use the links below to download the Apache DolphinScheduler from one of our mirrors.
-
-**Only source code releases are official Apache releases: Windows and Linux binary distributions are just for end user convenience.**
-
-
-## DolphinScheduler
-| Date | Version| | Downloads |
-|:---:|:--:|:--:|:--:|
-| Dec. 29th, 2020 | 1.3.4 | Source code| [[src]](https://www.apache.org/dyn/closer.cgi/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-src.zip) [[asc]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-src.zip.asc) [[sha512]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://www.apache.org/dyn/closer.cgi/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin.tar.gz) [[asc]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin.tar.gz.sha512)|
-| Nov. 9th, 2020 | 1.3.3 | Source code| [[src]](https://www.apache.org/dyn/closer.cgi/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-src.zip) [[asc]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-src.zip.asc) [[sha512]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://www.apache.org/dyn/closer.cgi/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz) [[asc]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz.sha512)|
-| Sep. 1th, 2020 | 1.3.2 | Source code| [[src]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-src.zip) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-src.zip.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin.tar.gz.sha512)|
-| July. 13th, 2020 | 1.3.1 | Source code| [[src]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-src.zip) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-src.zip.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-bin.tar.gz.sha512)|
-| Feb. 24th, 2020 | 1.2.1 | Source code| [[src]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-src.zip) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-src.zip.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-dolphinscheduler-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-dolphinscheduler-bin.tar.gz.sha512)|
-| Jan. 2th, 2020 | 1.2.0 | Source code| [[src]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-src.zip) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-src.zip.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-src.zip.sha512)|
-| | | Backend Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin.tar.g [...]
-| | | Frontend Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-front-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-front-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-front-bin.tar.gz.sha512)|
-
-# Verify the releases
-[PGP signatures KEYS](https://downloads.apache.org/incubator/dolphinscheduler/KEYS)
-
-It is essential that you verify the integrity of the downloaded files using the PGP or SHA signatures. The PGP signatures can be verified using GPG or PGP. Please download the KEYS as well as the asc signature files for relevant distribution. It is recommended to get these files from the main distribution directory and not from the mirrors.
-
-```
-gpg -i KEYS
-
-or
-
-pgpk -a KEYS
-
-or
-
-pgp -ka KEYS
-```
-
-To verify the binaries/sources you can download the relevant asc files for it from main distribution directory and follow the below guide.
-
-```
-gpg --verify apache-dolphinscheduler-incubating********.asc apache-dolphinscheduler-incubating*********
-
-or
-
-pgpv apache-dolphinscheduler-incubating********.asc
-
-or
-
-pgp apache-dolphinscheduler-incubating********.asc
-```
-
-<br/>
diff --git a/download/zh-cn/download.md b/download/zh-cn/download.md
deleted file mode 100644
index 6b53638..0000000
--- a/download/zh-cn/download.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# 下载DolphinScheduler发布版本
-
-使用下面的链接,从Apache DolphinScheduler的镜像下载。
-
-**只有源码包属于Apache官方发布包,二进制发布包只是为了方便用户使用。**
-
-## DolphinScheduler
-| 日期 | 版本| | 下载 |
-|:---:|:--:|:--:|:--:|
-| Dec. 29th, 2020 | 1.3.4 | Source code| [[src]](https://www.apache.org/dyn/closer.cgi/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-src.zip) [[asc]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-src.zip.asc) [[sha512]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://www.apache.org/dyn/closer.cgi/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin.tar.gz) [[asc]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.4/apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin.tar.gz.sha512)|
-| Nov. 9th, 2020 | 1.3.3 | Source code| [[src]](https://www.apache.org/dyn/closer.cgi/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-src.zip) [[asc]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-src.zip.asc) [[sha512]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://www.apache.org/dyn/closer.cgi/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz) [[asc]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://downloads.apache.org/incubator/dolphinscheduler/1.3.3/apache-dolphinscheduler-incubating-1.3.3-dolphinscheduler-bin.tar.gz.sha512)|
-| Sep. 1th, 2020 | 1.3.2 | Source code| [[src]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-src.zip) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-src.zip.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin.tar.gz.sha512)|
-| July. 13th, 2020 | 1.3.1 | Source code| [[src]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-src.zip) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-src.zip.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.3.1/apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-bin.tar.gz.sha512)|
-| Feb. 24th, 2020 | 1.2.1 | Source code| [[src]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-src.zip) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-src.zip.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-src.zip.sha512)|
-| | | Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-dolphinscheduler-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-dolphinscheduler-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.1/apache-dolphinscheduler-incubating-1.2.1-dolphinscheduler-bin.tar.gz.sha512)|
-| Jan. 2th, 2020 | 1.2.0 | Source code| [[src]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-src.zip) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-src.zip.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-src.zip.sha512)|
-| | | Backend Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin.tar.g [...]
-| | | Frontend Binary Distribution| [[tar]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-front-bin.tar.gz) [[asc]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-front-bin.tar.gz.asc) [[sha512]](https://archive.apache.org/dist/incubator/dolphinscheduler/1.2.0/apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-front-bin.tar.gz.sha512)|
-
-
-# 验证版本
-[PGP signatures KEYS](https://downloads.apache.org/incubator/dolphinscheduler/KEYS)
-
-使用PGP或SHA签名验证下载文件的完整性至关重要。可以使用GPG或PGP验证PGP签名。请下载KEYS以及发布的asc签名文件。建议从主发布目录而不是镜像中获取这些文件。
-
-```
-gpg -i KEYS
-
-or
-
-pgpk -a KEYS
-
-or
-
-pgp -ka KEYS
-```
-
-要验证二进制文件/源,您可以从主发布目录下载相关的asc文件,并按照以下指南进行操作。
-
-```
-gpg --verify apache-dolphinscheduler-incubating********.asc apache-dolphinscheduler-incubating*********
-
-or
-
-pgpv apache-dolphinscheduler-incubating********.asc
-
-or
-
-pgp apache-dolphinscheduler-incubating********.asc
-```
-
-<br/>
diff --git a/en-us/blog/architecture-design.html b/en-us/blog/architecture-design.html
index e0f91f0..b51fcfa 100644
--- a/en-us/blog/architecture-design.html
+++ b/en-us/blog/architecture-design.html
@@ -7,10 +7,10 @@
   <meta name="description" content="architecture-design" />
   <title>architecture-design</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/blogDetail.md.css" />
+  <link rel="stylesheet" href="/build/blog.md.css" />
 </head>
 <body>
-  <div id="root"><div class="blog-detail-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant- [...]
+  <div id="root"><div class="blog-detail-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant- [...]
 <p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>
 <h3>1.Noun Interpretation</h3>
 <p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the following picture:</p>
@@ -258,7 +258,7 @@ Interfaces include workflow creation, definition, query, modification, release,
         String activeFile = currentlyActiveFile;
         <span class="hljs-comment">// thread name: taskThreadName-processDefineId_processInstanceId_taskInstanceId</span>
         String threadName = event.getThreadName();
-        String[] threadNameArr = threadName.split(<span class="hljs-string">"-"</span>);
+        String[] threadNameArr = threadName.split(<span class="hljs-string">&quot;-&quot;</span>);
         <span class="hljs-comment">// logId = processDefineId_processInstanceId_taskInstanceId</span>
         String logId = threadNameArr[<span class="hljs-number">1</span>];
         ...
@@ -278,7 +278,7 @@ Public <span class="hljs-class"><span class="hljs-keyword">class</span> <span cl
 
     <span class="hljs-meta">@Override</span>
     <span class="hljs-function">Public FilterReply <span class="hljs-title">decide</span><span class="hljs-params">(ILoggingEvent event)</span> </span>{
-        If (event.getThreadName().startsWith(<span class="hljs-string">"TaskLogInfo-"</span>)){
+        If (event.getThreadName().startsWith(<span class="hljs-string">&quot;TaskLogInfo-&quot;</span>)){
             Return FilterReply.ACCEPT;
         }
         Return FilterReply.DENY;
@@ -291,7 +291,7 @@ Public <span class="hljs-class"><span class="hljs-keyword">class</span> <span cl
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/blogDetail.md.js"></script>
+  <script src="/build/blog.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/blog/architecture-design.json b/en-us/blog/architecture-design.json
index 80298b9..3bda1ae 100644
--- a/en-us/blog/architecture-design.json
+++ b/en-us/blog/architecture-design.json
@@ -1,6 +1,6 @@
 {
   "filename": "architecture-design.md",
-  "__html": "<h2>Architecture Design</h2>\n<p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>\n<h3>1.Noun Interpretation</h3>\n<p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the fol [...]
-  "link": "/en-us/blog/architecture-design.html",
+  "__html": "<h2>Architecture Design</h2>\n<p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>\n<h3>1.Noun Interpretation</h3>\n<p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the fol [...]
+  "link": "/dist/en-us/blog/architecture-design.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/blog/index.html b/en-us/blog/index.html
index 4badd2b..3d0b273 100644
--- a/en-us/blog/index.html
+++ b/en-us/blog/index.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/blog.css" />
 </head>
 <body>
-  <div id="root"><div class="blog-list-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant-me [...]
+  <div id="root"><div class="blog-list-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant-me [...]
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
diff --git a/en-us/blog/meetup_2019_10_26.html b/en-us/blog/meetup_2019_10_26.html
index 9d0e229..c5310b3 100644
--- a/en-us/blog/meetup_2019_10_26.html
+++ b/en-us/blog/meetup_2019_10_26.html
@@ -7,10 +7,10 @@
   <meta name="description" content="meetup_2019_10_26" />
   <title>meetup_2019_10_26</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/blogDetail.md.css" />
+  <link rel="stylesheet" href="/build/blog.md.css" />
 </head>
 <body>
-  <div id="root"><div class="blog-detail-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant- [...]
+  <div id="root"><div class="blog-detail-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant- [...]
 Apache Dolphin Scheduler(Incubating) Meetup has been held successfully in Shanghai 2019.10.26.</p>
 <p>Address: Shanghai Changning Yuyuan Road 1107 Chuangyi space (Hongji) 3r20</p>
 <p>The meetup was begin at 2:00 pm, and close at about 5:00 pm.</p>
@@ -27,7 +27,7 @@ Apache Dolphin Scheduler(Incubating) Meetup has been held successfully in Shangh
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/blogDetail.md.js"></script>
+  <script src="/build/blog.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/blog/meetup_2019_10_26.json b/en-us/blog/meetup_2019_10_26.json
index db21a73..7a1e098 100644
--- a/en-us/blog/meetup_2019_10_26.json
+++ b/en-us/blog/meetup_2019_10_26.json
@@ -1,6 +1,6 @@
 {
   "filename": "meetup_2019_10_26.md",
   "__html": "<p><img src=\"/img/2019-10-26-user.jpg\" alt=\"avatar\">\nApache Dolphin Scheduler(Incubating) Meetup has been held successfully in Shanghai 2019.10.26.</p>\n<p>Address: Shanghai Changning Yuyuan Road 1107 Chuangyi space (Hongji) 3r20</p>\n<p>The meetup was begin at 2:00 pm, and close at about 5:00 pm.</p>\n<p>The Agenda is as following:</p>\n<ul>\n<li>Introduction/overview of DolphinScheduler (William-GuoWei 14:00-14:20). <a href=\"/file/2019-10-26/DolphinScheduler_guowei.p [...]
-  "link": "/en-us/blog/meetup_2019_10_26.html",
+  "link": "/dist/en-us/blog/meetup_2019_10_26.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/blog/meetup_2019_12_08.html b/en-us/blog/meetup_2019_12_08.html
index 3f09677..8835085 100644
--- a/en-us/blog/meetup_2019_12_08.html
+++ b/en-us/blog/meetup_2019_12_08.html
@@ -7,10 +7,10 @@
   <meta name="description" content="meetup_2019_12_08" />
   <title>meetup_2019_12_08</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/blogDetail.md.css" />
+  <link rel="stylesheet" href="/build/blog.md.css" />
 </head>
 <body>
-  <div id="root"><div class="blog-detail-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant- [...]
+  <div id="root"><div class="blog-detail-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant- [...]
 <p>Apache ShardingSphere &amp; DolphinScheduler joint Meetup</p>
 <p>Address: 7th Floor, Haizhi Venture Capital Building, No. 34 Beijing Haidian Street</p>
 <p>Meeting time: December 8, 2019 14:00 ~ 17: 30</p>
@@ -38,7 +38,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/blogDetail.md.js"></script>
+  <script src="/build/blog.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/blog/meetup_2019_12_08.json b/en-us/blog/meetup_2019_12_08.json
index 19aef89..ac7dbf8 100644
--- a/en-us/blog/meetup_2019_12_08.json
+++ b/en-us/blog/meetup_2019_12_08.json
@@ -1,6 +1,6 @@
 {
   "filename": "meetup_2019_12_08.md",
   "__html": "<p><img src=\"/img/2019-12-08/941576036700_.pic_hd.jpg\" alt=\"avatar\"></p>\n<p>Apache ShardingSphere &amp; DolphinScheduler joint Meetup</p>\n<p>Address: 7th Floor, Haizhi Venture Capital Building, No. 34 Beijing Haidian Street</p>\n<p>Meeting time: December 8, 2019 14:00 ~ 17: 30</p>\n<p><strong>Meetup description</strong></p>\n<p>Today, open source is blooming in China, and the open source trend is unstoppable. The Apache community already has more than 10 open source pr [...]
-  "link": "/en-us/blog/meetup_2019_12_08.html",
+  "link": "/dist/en-us/blog/meetup_2019_12_08.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/development/DS-License.html b/en-us/community/development/DS-License.html
index 13f9a66..b845c8b 100644
--- a/en-us/community/development/DS-License.html
+++ b/en-us/community/development/DS-License.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>As we know that DolphinScheduler is an open-source undergoing incubation project at The Apache Software Foundation (ASF), which means that you have to follow the Apache way to become the DolphinScheduler contributor. Furthermore, Apache has extremely strict rules according to the License. This passage will explain the ASF license and how to avoid License risks at the early stage when you participate in DolphinScheduler.</p>
 <p>Note: This article only applies to the Apache projects.</p>
 <h3>Licenses Could be Accepted to the Apache Project</h3>
diff --git a/en-us/community/development/DS-License.json b/en-us/community/development/DS-License.json
index 6a8ea12..613d58a 100644
--- a/en-us/community/development/DS-License.json
+++ b/en-us/community/development/DS-License.json
@@ -1,6 +1,6 @@
 {
   "filename": "DS-License.md",
   "__html": "<h2>DolphinScheduler-Contributor-License Policy</h2>\n<p>As we know that DolphinScheduler is an open-source undergoing incubation project at The Apache Software Foundation (ASF), which means that you have to follow the Apache way to become the DolphinScheduler contributor. Furthermore, Apache has extremely strict rules according to the License. This passage will explain the ASF license and how to avoid License risks at the early stage when you participate in DolphinScheduler [...]
-  "link": "/en-us/community/development/DS-License.html",
+  "link": "/dist/en-us/community/development/DS-License.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/development/become a committer.html b/en-us/community/development/become a committer.html
index 1b177aa..f680190 100644
--- a/en-us/community/development/become a committer.html	
+++ b/en-us/community/development/become a committer.html	
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>Anyone can be a contributor to an Apache project. Being a contributor simply means that you take an interest in the project and contribute in some way, ranging from asking sensible questions (which documents the project and provides feedback to developers) through to providing new features as patches.</p>
 <p>If you become a valuable contributor to the project you may well be invited to become a committer. Committer is a term used at the ASF to signify someone who is committed to a particular project. It brings with it the privilege of write access to the project repository and resources.</p>
 <p>In Dolphinscheduler(incubating) community, if a committer who have earned even more merit, can be invited to be a part of the Podling Project Management Committee (PPMC).</p>
diff --git a/en-us/community/development/become a committer.json b/en-us/community/development/become a committer.json
index bc52d6e..1dfca2c 100644
--- a/en-us/community/development/become a committer.json	
+++ b/en-us/community/development/become a committer.json	
@@ -1,6 +1,6 @@
 {
   "filename": "become a committer.md",
   "__html": "<h1>How to become DolphinScheduler committer</h1>\n<p>Anyone can be a contributor to an Apache project. Being a contributor simply means that you take an interest in the project and contribute in some way, ranging from asking sensible questions (which documents the project and provides feedback to developers) through to providing new features as patches.</p>\n<p>If you become a valuable contributor to the project you may well be invited to become a committer. Committer is a  [...]
-  "link": "/en-us/community/development/become a committer.html",
+  "link": "/dist/en-us/community/development/become a committer.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/development/code-conduct.html b/en-us/community/development/code-conduct.html
index d554997..d89bc2c 100644
--- a/en-us/community/development/code-conduct.html
+++ b/en-us/community/development/code-conduct.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>The following Code of Conduct is based on full compliance with the <a href="https://www.apache.org/foundation/policies/conduct.html">Apache Software Foundation Code of Conduct</a>.</p>
 <h3>Development philosophy.</h3>
 <ul>
diff --git a/en-us/community/development/code-conduct.json b/en-us/community/development/code-conduct.json
index 514333f..9961c44 100644
--- a/en-us/community/development/code-conduct.json
+++ b/en-us/community/development/code-conduct.json
@@ -1,6 +1,6 @@
 {
   "filename": "code-conduct.md",
   "__html": "<h2>Code of Conduct</h2>\n<p>The following Code of Conduct is based on full compliance with the <a href=\"https://www.apache.org/foundation/policies/conduct.html\">Apache Software Foundation Code of Conduct</a>.</p>\n<h3>Development philosophy.</h3>\n<ul>\n<li><strong>Consistent</strong> code style, naming, and usage are consistent.</li>\n<li><strong>Easy to read</strong> code is obvious, easy to read and understand, when debugging one knows the intent of the code.</li>\n<li [...]
-  "link": "/en-us/community/development/code-conduct.html",
+  "link": "/dist/en-us/community/development/code-conduct.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/development/commit-message.html b/en-us/community/development/commit-message.html
index dc97df5..e7798eb 100644
--- a/en-us/community/development/commit-message.html
+++ b/en-us/community/development/commit-message.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <h3>Preface</h3>
 <p>A good commit message can help other developers (or future developers) quickly understand the context of related changes, and can also help project managers determine whether the commit is suitable for inclusion in the release. But when we checked the commit logs of many open source projects, we found an interesting problem. Some developers have very good code quality, but the commit message record is rather confusing. When other contributors or learners are viewing the code, it can’t [...]
 The purpose of the changes before and after the submission, as Peter Hutterer said:Re-establishing the context of a piece of code is wasteful. We can’t avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit message shows whether a developer is a good collaborator. Therefore, DolphinScheduler developed the protocol in conjunction with other communities and official Apache documents.</p>
diff --git a/en-us/community/development/commit-message.json b/en-us/community/development/commit-message.json
index 01e4abd..ee31fbd 100644
--- a/en-us/community/development/commit-message.json
+++ b/en-us/community/development/commit-message.json
@@ -1,7 +1,7 @@
 {
   "filename": "commit-message.md",
   "__html": "<h2>DolphinScheduler-Contributor-CommitMessage</h2>\n<h3>Preface</h3>\n<p>A good commit message can help other developers (or future developers) quickly understand the context of related changes, and can also help project managers determine whether the commit is suitable for inclusion in the release. But when we checked the commit logs of many open source projects, we found an interesting problem. Some developers have very good code quality, but the commit message record is  [...]
-  "link": "/en-us/community/development/commit-message.html",
+  "link": "/dist/en-us/community/development/commit-message.html",
   "meta": {
     "title": "Commit Message",
     "keywords": "DolphinScheduler, commit message, contibuting",
diff --git a/en-us/community/development/contribute.html b/en-us/community/development/contribute.html
index 06b1a42..3618a71 100644
--- a/en-us/community/development/contribute.html
+++ b/en-us/community/development/contribute.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>First of all, thank you very much for choosing and using DolphinScheduler, and welcome to join the DolphinScheduler family!</p>
 <p>We encourage any form of participation in the community that will eventually become Committer or PPMC Such as:</p>
 <ul>
diff --git a/en-us/community/development/contribute.json b/en-us/community/development/contribute.json
index d703fa0..5e556a6 100644
--- a/en-us/community/development/contribute.json
+++ b/en-us/community/development/contribute.json
@@ -1,6 +1,6 @@
 {
   "filename": "contribute.md",
   "__html": "<h2>Contribute</h2>\n<p>First of all, thank you very much for choosing and using DolphinScheduler, and welcome to join the DolphinScheduler family!</p>\n<p>We encourage any form of participation in the community that will eventually become Committer or PPMC Such as:</p>\n<ul>\n<li>Problems will be encountered via github on the <a href=\"https://github.com/apache/incubator-dolphinscheduler/issues\">issue</a> form feedback out.</li>\n<li>Answer the issue questions that others  [...]
-  "link": "/en-us/community/development/contribute.html",
+  "link": "/dist/en-us/community/development/contribute.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/development/document.html b/en-us/community/development/document.html
index 24164e9..66f8ac2 100644
--- a/en-us/community/development/document.html
+++ b/en-us/community/development/document.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>Good documentation is critical for any type of software. Any contribution that can improve the DolphinScheduler documentation is welcome.</p>
 <h3>Get the document project.</h3>
 <p>Documentation for the DolphinScheduler project is maintained in a separate <a href="https://github.com/apache/incubator-dolphinscheduler-website">git repository</a>.</p>
diff --git a/en-us/community/development/document.json b/en-us/community/development/document.json
index fb0523f..88da741 100644
--- a/en-us/community/development/document.json
+++ b/en-us/community/development/document.json
@@ -1,6 +1,6 @@
 {
   "filename": "document.md",
   "__html": "<h2>Contribute documentation.</h2>\n<p>Good documentation is critical for any type of software. Any contribution that can improve the DolphinScheduler documentation is welcome.</p>\n<h3>Get the document project.</h3>\n<p>Documentation for the DolphinScheduler project is maintained in a separate <a href=\"https://github.com/apache/incubator-dolphinscheduler-website\">git repository</a>.</p>\n<p>First you need to fork the document project into your own github repository, and t [...]
-  "link": "/en-us/community/development/document.html",
+  "link": "/dist/en-us/community/development/document.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/development/issue.html b/en-us/community/development/issue.html
index c057d17..9a34f9e 100644
--- a/en-us/community/development/issue.html
+++ b/en-us/community/development/issue.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>Issues function is used to track various Features, Bugs, Functions, etc. The project maintainer can organize the tasks to be completed through issues.</p>
 <p>Issue is an important step in drawing out a feature or bug,
 and the contents that can be discussed in an issue are not limited to the features, the causes of the existing bugs, the research on preliminary scheme, and the corresponding implementation design and code design.</p>
diff --git a/en-us/community/development/issue.json b/en-us/community/development/issue.json
index 947bec9..a11ae0e 100644
--- a/en-us/community/development/issue.json
+++ b/en-us/community/development/issue.json
@@ -1,6 +1,6 @@
 {
   "filename": "issue.md",
   "__html": "<h2>Preface</h2>\n<p>Issues function is used to track various Features, Bugs, Functions, etc. The project maintainer can organize the tasks to be completed through issues.</p>\n<p>Issue is an important step in drawing out a feature or bug,\nand the contents that can be discussed in an issue are not limited to the features, the causes of the existing bugs, the research on preliminary scheme, and the corresponding implementation design and code design.</p>\n<p>And only when th [...]
-  "link": "/en-us/community/development/issue.html",
+  "link": "/dist/en-us/community/development/issue.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/development/microbench.html b/en-us/community/development/microbench.html
index 34a00fd..0371c7c 100644
--- a/en-us/community/development/microbench.html
+++ b/en-us/community/development/microbench.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>All optimization must be based on data verification, and blind optimization is rejected. Based on this, we provide the MicroBench module.</p>
 <p>The MicroBench module is based on the OpenJDK JMH component (HotSpot's recommended benchmark test program). When you start benchmarking, you don't need additional dependencies.</p>
 <p>JMH, the Java MicroBenchmark Harness, is a tool suite dedicated to code microbenchmark testing. What is Micro Benchmark? Simply put, it is based on method-level benchmark testing, with an accuracy of microseconds. When you locate a hot method and want to further optimize the performance of the method, you can use JMH to quantitatively analyze the optimized results.</p>
@@ -47,17 +47,17 @@
 <p>You can specify these parameters at startup,-DmeasureIterations, -DperfReportDir (output benchmark test result file directory), -DwarmupIterations, -DforkCount</p>
 <h3>DolphinScheduler-MicroBench Introduction</h3>
 <p>It is generally not recommended to use fewer cycles when running tests. However, a smaller number of tests helps to verify the work during the benchmark test. After the verification is over, run a large number of benchmark tests.</p>
-<pre><code class="language-java"><span class="hljs-meta">@Warmup</span>(iterations = <span class="hljs-number">2</span>, time = <span class="hljs-number">1</span>)
-<span class="hljs-meta">@Measurement</span>(iterations = <span class="hljs-number">4</span>, time = <span class="hljs-number">1</span>)
-<span class="hljs-meta">@State</span>(Scope.Benchmark)
+<pre><code class="language-java"><span class="hljs-meta">@Warmup(iterations = 2, time = 1)</span>
+<span class="hljs-meta">@Measurement(iterations = 4, time = 1)</span>
+<span class="hljs-meta">@State(Scope.Benchmark)</span>
 <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">EnumBenchMark</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">AbstractBaseBenchmark</span> </span>{
 
 }
 </code></pre>
 <p>This can run benchmarks at the method level or the class level. Command line parameters will override the parameters on the annotation.</p>
 <pre><code class="language-java"><span class="hljs-meta">@Benchmark</span> <span class="hljs-comment">// Method annotation, indicating that the method is an object that needs to be benchmarked.</span>
-<span class="hljs-meta">@BenchmarkMode</span>(Mode.AverageTime) <span class="hljs-comment">// Optional benchmark test mode is obtained through enumeration</span>
-<span class="hljs-meta">@OutputTimeUnit</span>(TimeUnit.MICROSECONDS) <span class="hljs-comment">// Output time unit</span>
+<span class="hljs-meta">@BenchmarkMode(Mode.AverageTime)</span> <span class="hljs-comment">// Optional benchmark test mode is obtained through enumeration</span>
+<span class="hljs-meta">@OutputTimeUnit(TimeUnit.MICROSECONDS)</span> <span class="hljs-comment">// Output time unit</span>
 <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">enumStaticMapTest</span><span class="hljs-params">()</span> </span>{
     TestTypeEnum.newGetNameByType(testNum);
 }
diff --git a/en-us/community/development/microbench.json b/en-us/community/development/microbench.json
index 98ed6bf..f492a16 100644
--- a/en-us/community/development/microbench.json
+++ b/en-us/community/development/microbench.json
@@ -1,7 +1,7 @@
 {
   "filename": "microbench.md",
-  "__html": "<h2>DolphinSchedulerMicroBench Microbenchmark</h2>\n<p>All optimization must be based on data verification, and blind optimization is rejected. Based on this, we provide the MicroBench module.</p>\n<p>The MicroBench module is based on the OpenJDK JMH component (HotSpot's recommended benchmark test program). When you start benchmarking, you don't need additional dependencies.</p>\n<p>JMH, the Java MicroBenchmark Harness, is a tool suite dedicated to code microbenchmark testin [...]
-  "link": "/en-us/community/development/microbench.html",
+  "__html": "<h2>DolphinSchedulerMicroBench Microbenchmark</h2>\n<p>All optimization must be based on data verification, and blind optimization is rejected. Based on this, we provide the MicroBench module.</p>\n<p>The MicroBench module is based on the OpenJDK JMH component (HotSpot's recommended benchmark test program). When you start benchmarking, you don't need additional dependencies.</p>\n<p>JMH, the Java MicroBenchmark Harness, is a tool suite dedicated to code microbenchmark testin [...]
+  "link": "/dist/en-us/community/development/microbench.html",
   "meta": {
     "title": "Micro BenchMark Notice",
     "keywords": "dolphinscheduler, microbenchmark",
diff --git a/en-us/community/development/pull-request.html b/en-us/community/development/pull-request.html
index 1472810..df43169 100644
--- a/en-us/community/development/pull-request.html
+++ b/en-us/community/development/pull-request.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>Pull Request is a way of software cooperation, which is a process of bringing code involving different functions into the trunk. During this process, the code can be discussed, reviewed, and modified.</p>
 <p>In Pull Request, we try not to discuss the implementation of the code. The general implementation of the code and its logic should be determined in Issue. In the Pull Request, we only focus on the code format and code specification, so as to avoid wasting time caused by different opinions on implementation.</p>
 <h2>Specification</h2>
diff --git a/en-us/community/development/pull-request.json b/en-us/community/development/pull-request.json
index 589023e..c7fdb09 100644
--- a/en-us/community/development/pull-request.json
+++ b/en-us/community/development/pull-request.json
@@ -1,6 +1,6 @@
 {
   "filename": "pull-request.md",
   "__html": "<h2>Preface</h2>\n<p>Pull Request is a way of software cooperation, which is a process of bringing code involving different functions into the trunk. During this process, the code can be discussed, reviewed, and modified.</p>\n<p>In Pull Request, we try not to discuss the implementation of the code. The general implementation of the code and its logic should be determined in Issue. In the Pull Request, we only focus on the code format and code specification, so as to avoid w [...]
-  "link": "/en-us/community/development/pull-request.html",
+  "link": "/dist/en-us/community/development/pull-request.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/development/submit-code.html b/en-us/community/development/submit-code.html
index 530feb2..668ba87 100644
--- a/en-us/community/development/submit-code.html
+++ b/en-us/community/development/submit-code.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <ul>
 <li>
 <p>First from the remote repository <em><a href="https://github.com/apache/incubator-dolphinscheduler.git">https://github.com/apache/incubator-dolphinscheduler.git</a></em> fork a copy of the code into your own repository</p>
diff --git a/en-us/community/development/submit-code.json b/en-us/community/development/submit-code.json
index eed469f..4edc456 100644
--- a/en-us/community/development/submit-code.json
+++ b/en-us/community/development/submit-code.json
@@ -1,6 +1,6 @@
 {
   "filename": "submit-code.md",
   "__html": "<h4>How to submit</h4>\n<ul>\n<li>\n<p>First from the remote repository <em><a href=\"https://github.com/apache/incubator-dolphinscheduler.git\">https://github.com/apache/incubator-dolphinscheduler.git</a></em> fork a copy of the code into your own repository</p>\n</li>\n<li>\n<p>There are currently three branches in the remote repository:</p>\n<ul>\n<li>master           normal delivery branch\nAfter the stable release, merge the code from the stable branch into the master.< [...]
-  "link": "/en-us/community/development/submit-code.html",
+  "link": "/dist/en-us/community/development/submit-code.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/development/subscribe.html b/en-us/community/development/subscribe.html
index e990c9d..c92d69a 100644
--- a/en-us/community/development/subscribe.html
+++ b/en-us/community/development/subscribe.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>In the process of using DolphinScheduler, if you have any questions or ideas, suggestions, you can participate in the DolphinScheduler community building through the Apache mailing list. Sending a subscription email is also very simple, the steps are as follows:</p>
 <ol>
 <li>
diff --git a/en-us/community/development/subscribe.json b/en-us/community/development/subscribe.json
index fa6de5e..a18ff31 100644
--- a/en-us/community/development/subscribe.json
+++ b/en-us/community/development/subscribe.json
@@ -1,6 +1,6 @@
 {
   "filename": "subscribe.md",
   "__html": "<p>It is highly recommended to subscribe to the development mailing list to keep up-to-date with the community.</p>\n<p>In the process of using DolphinScheduler, if you have any questions or ideas, suggestions, you can participate in the DolphinScheduler community building through the Apache mailing list. Sending a subscription email is also very simple, the steps are as follows:</p>\n<ol>\n<li>\n<p>Send an email to <a href=\"mailto:dev-subscribe@dolphinscheduler.apache.org\ [...]
-  "link": "/en-us/community/development/subscribe.html",
+  "link": "/dist/en-us/community/development/subscribe.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/example.html b/en-us/community/example.html
index b61fdc0..2692045 100644
--- a/en-us/community/example.html
+++ b/en-us/community/example.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 </div></section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a man [...]
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
diff --git a/en-us/community/example.json b/en-us/community/example.json
index d5d492c..b0621cb 100644
--- a/en-us/community/example.json
+++ b/en-us/community/example.json
@@ -1,6 +1,6 @@
 {
   "filename": "example.md",
   "__html": "<h2>Architecture Design</h2>\n",
-  "link": "/en-us/community/example.html",
+  "link": "/dist/en-us/community/example.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/index.html b/en-us/community/index.html
index fd195fd..744a090 100644
--- a/en-us/community/index.html
+++ b/en-us/community/index.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.css" />
 </head>
 <body>
-  <div id="root"><div class="community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant-me [...]
+  <div id="root"><div class="community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant-me [...]
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
diff --git a/en-us/community/release.html b/en-us/community/release.html
index 506291b..1330290 100644
--- a/en-us/community/release.html
+++ b/en-us/community/release.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <h3>Install GPG</h3>
 <p>Download installation package on <a href="https://www.gnupg.org/download/index.html">official GnuPG website</a>.
 The command of GnuPG 1.x version can differ a little from that of 2.x version.
@@ -57,7 +57,7 @@ Real name: ${Input username}
 Email address: ${Input email}
 Comment: ${Input comment}
 You selected this USER-ID:
-   "${Inputed username} (${Inputed comment}) &lt;${Inputed email}&gt;"
+   &quot;${Inputed username} (${Inputed comment}) &lt;${Inputed email}&gt;&quot;
 
 Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
 You need a Passphrase to protect your secret key. # Input passwords
@@ -108,7 +108,7 @@ git checkout -b ${RELEASE.VERSION}-release
 git push origin ${RELEASE.VERSION}-release
 </code></pre>
 <h3>Pre-Release Check</h3>
-<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments="-DskipTests" -DautoVersionSubmodules=true -DdryRun=true -Dusername=${Github username}
+<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments=&quot;-DskipTests&quot; -DautoVersionSubmodules=true -DdryRun=true -Dusername=${Github username}
 </code></pre>
 <p>-Prelease: choose release profile, which will pack all the source codes, jar files and executable binary packages.</p>
 <p>-DautoVersionSubmodules=true:it can make the version number is inputted only once and not for each sub-module.</p>
@@ -118,7 +118,7 @@ git push origin ${RELEASE.VERSION}-release
 <pre><code class="language-shell">mvn release:clean
 </code></pre>
 <p>Then, prepare to execute the release.</p>
-<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments="-DskipTests" -DautoVersionSubmodules=true -DpushChanges=false -Dusername=${Github username}
+<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments=&quot;-DskipTests&quot; -DautoVersionSubmodules=true -DpushChanges=false -Dusername=${Github username}
 </code></pre>
 <p>It is basically the same as the previous rehearsal command, but deleting -DdryRun=true parameter.</p>
 <p>-DpushChanges=false:do not submit the edited version number and tag to Github automatically.</p>
@@ -127,7 +127,7 @@ git push origin ${RELEASE.VERSION}-release
 git push origin --tags
 </code></pre>
 <h3>Deploy the Release</h3>
-<pre><code class="language-shell">mvn release:perform -Prelease -Darguments="-DskipTests" -DautoVersionSubmodules=true -Dusername=${Github username}
+<pre><code class="language-shell">mvn release:perform -Prelease -Darguments=&quot;-DskipTests&quot; -DautoVersionSubmodules=true -Dusername=${Github username}
 </code></pre>
 <p>After that command is executed, the version to be released will be uploaded to Apache staging repository automatically.
 Visit <a href="https://repository.apache.org/#stagingRepositories">https://repository.apache.org/#stagingRepositories</a> and use Apache LDAP account to log in; then you can see the uploaded version, the content of <code>Repository</code> column is the ${STAGING.REPOSITORY}.
@@ -165,7 +165,7 @@ shasum -b -a 512 apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinsc
 </code></pre>
 <h3>Commit to Apache SVN</h3>
 <pre><code class="language-shell">svn add *
-svn --username=${APACHE LDAP username} commit -m "release ${RELEASE.VERSION}"
+svn --username=${APACHE LDAP username} commit -m &quot;release ${RELEASE.VERSION}&quot;
 </code></pre>
 <h2>Check Release</h2>
 <h3>Check sha512 hash</h3>
@@ -177,13 +177,13 @@ shasum -c apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinscheduler
 Import KEYS from SVN repository to local. (The releaser does not need to import again; the checking assistant needs to import it, with the user name filled as the releaser's. )</p>
 <pre><code class="language-shell">curl https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/KEYS &gt;&gt; KEYS
 gpg --import KEYS
-gpg --edit-key "${GPG username of releaser}"
+gpg --edit-key &quot;${GPG username of releaser}&quot;
 <span class="hljs-meta">  &gt;</span><span class="bash"> trust</span>
 
-Please decide how far you trust this user to correctly verify other users' keys
+Please decide how far you trust this user to correctly verify other users&#x27; keys
 (by looking at passports, checking fingerprints from different sources, etc.)
 
-  1 = I don't know or won't say
+  1 = I don&#x27;t know or won&#x27;t say
   2 = I do NOT trust
   3 = I trust marginally
   4 = I trust fully
@@ -433,8 +433,8 @@ I will process to publish the release and send ANNOUNCE.
 </code></pre>
 <h3>Find DolphinScheduler in staging repository and click <code>Release</code></h3>
 <p>###. Update the download page</p>
-<pre><code>https://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html
-https://dolphinscheduler.apache.org/zh-cn/docs/user_doc/download.html
+<pre><code>https://dolphinscheduler.apache.org/en-us/download/download.html
+https://dolphinscheduler.apache.org/zh-cn/download/download.html
 </code></pre>
 <h3>Send e-mail to <code>general@incubator.apache.org</code> and <code>dev@dolphinscheduler.apache.org</code> to announce the release is finished</h3>
 <p>Announcement e-mail template:</p>
@@ -450,7 +450,7 @@ Dolphin Scheduler is a distributed and easy-to-expand visual DAG workflow schedu
 dedicated to solving the complex dependencies in data processing, making the scheduling system out of the box for data processing.
 
 
-Download Links: http://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html
+Download Links: https://dolphinscheduler.apache.org/en-us/download/download.html
 
 Release Notes: https://github.com/apache/incubator-dolphinscheduler/blob/${RELEASE.VERSION}/ReleaseNotes.md
 
diff --git a/en-us/community/release.json b/en-us/community/release.json
index 2702bad..d06ec67 100644
--- a/en-us/community/release.json
+++ b/en-us/community/release.json
@@ -1,6 +1,6 @@
 {
   "filename": "release.md",
-  "__html": "<h2>GPG Settings</h2>\n<h3>Install GPG</h3>\n<p>Download installation package on <a href=\"https://www.gnupg.org/download/index.html\">official GnuPG website</a>.\nThe command of GnuPG 1.x version can differ a little from that of 2.x version.\nThe following instructions take <code>GnuPG-2.1.23</code> version for example.</p>\n<p>After the installation, execute the following command to check the version number.</p>\n<pre><code class=\"language-shell\">gpg --version\n</code></ [...]
-  "link": "/en-us/community/release.html",
+  "__html": "<h2>GPG Settings</h2>\n<h3>Install GPG</h3>\n<p>Download installation package on <a href=\"https://www.gnupg.org/download/index.html\">official GnuPG website</a>.\nThe command of GnuPG 1.x version can differ a little from that of 2.x version.\nThe following instructions take <code>GnuPG-2.1.23</code> version for example.</p>\n<p>After the installation, execute the following command to check the version number.</p>\n<pre><code class=\"language-shell\">gpg --version\n</code></ [...]
+  "link": "/dist/en-us/community/release.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/security.html b/en-us/community/security.html
index 8e7246e..2c7f0af 100644
--- a/en-us/community/security.html
+++ b/en-us/community/security.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. Apache DolphinScheduler is also very concerned Security issues related to its features and functionality.</p>
 <p>If you have apprehensions regarding DolphinScheduler’s security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Security Team by dropping a mail at <a href="mailto:security@apache.org">security@apache.org</a>. Please specify the project name as DolphinScheduler in the email and provide a description of the relevant problem or potential threat. You are also urged to recommend the way to reproduce and replicate the issue. The apache secu [...]
 <p>Please pay attention to report the security issue on the security email before disclosing it on public domain.</p>
diff --git a/en-us/community/security.json b/en-us/community/security.json
index 0261eb6..1d8c4e4 100644
--- a/en-us/community/security.json
+++ b/en-us/community/security.json
@@ -1,6 +1,6 @@
 {
   "filename": "security.md",
   "__html": "<h2>Security</h2>\n<p>The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. Apache DolphinScheduler is also very concerned Security issues related to its features and functionality.</p>\n<p>If you have apprehensions regarding DolphinScheduler’s security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Security Team by dropping a mail at <a href=\"mailto:security@apache. [...]
-  "link": "/en-us/community/security.html",
+  "link": "/dist/en-us/community/security.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/community/team.html b/en-us/community/team.html
index d8d0e43..c2a4a94 100644
--- a/en-us/community/team.html
+++ b/en-us/community/team.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/community.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
+  <div id="root"><div class="md2html community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClas [...]
 <p>The DolphinScheduler team is comprised of Members and Contributors. Members have direct access to the source of DolphinScheduler project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. All contributions to DolphinScheduler are greatly appreciated, whether for trivial cleanups, big new features or other material rewards.</p>
 <h2>Members</h2>
 <h3>Mentors</h3>
@@ -202,7 +202,7 @@
 <li><a href="https://github.com/apache/incubator-dolphinscheduler-maven-plugin/graphs/contributors">DolphinScheduler maven plugin</a></li>
 </ul>
 <h2>Becoming a Committer</h2>
-<p>DolphinScheduler follows the Apache way to build the community. Anyone can become a committer once they have contributed sufficiently to the project and earned the trust. Read <a href="https://dolphinscheduler.apache.org/en-us/docs/development/contribute.html">Contributing Guides</a> to take part in the community.</p>
+<p>DolphinScheduler follows the Apache way to build the community. Anyone can become a committer once they have contributed sufficiently to the project and earned the trust. Read <a href="/en-us/docs/development/contribute.html">Contributing Guides</a> to take part in the community.</p>
 <p>The DolphinScheduler community follows the <a href="http://community.apache.org/newcommitter.html">Apache Community’s process</a> on accepting a new committer.</p>
 <ol>
 <li>Start the discussion and vote in @private. Only current (P)PMC member could nominate.</li>
diff --git a/en-us/community/team.json b/en-us/community/team.json
index c4cd143..088e76c 100644
--- a/en-us/community/team.json
+++ b/en-us/community/team.json
@@ -1,7 +1,7 @@
 {
   "filename": "team.md",
-  "__html": "<h1>DolphinScheduler Team</h1>\n<p>The DolphinScheduler team is comprised of Members and Contributors. Members have direct access to the source of DolphinScheduler project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. All contributions to DolphinScheduler are greatly appreciated, whether for trivial cleanups, big new features or other ma [...]
-  "link": "/en-us/community/team.html",
+  "__html": "<h1>DolphinScheduler Team</h1>\n<p>The DolphinScheduler team is comprised of Members and Contributors. Members have direct access to the source of DolphinScheduler project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. All contributions to DolphinScheduler are greatly appreciated, whether for trivial cleanups, big new features or other ma [...]
+  "link": "/dist/en-us/community/team.html",
   "meta": {
     "title": "Team",
     "linkTitle": "Team",
diff --git a/en-us/docs/1.2.0/user_doc/backend-deployment.html b/en-us/docs/1.2.0/user_doc/backend-deployment.html
index 2a1b03c..04af3b8 100644
--- a/en-us/docs/1.2.0/user_doc/backend-deployment.html
+++ b/en-us/docs/1.2.0/user_doc/backend-deployment.html
@@ -7,17 +7,17 @@
   <meta name="description" content="backend-deployment" />
   <title>backend-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>There are two deployment modes for the backend:</p>
 <ul>
 <li>automatic deployment</li>
 <li>source code compile and then deployment</li>
 </ul>
 <h2>Preparations</h2>
-<p>Download the latest version of the installation package, download address:  <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">download</a>,
+<p>Download the latest version of the installation package, download address:  <a href="/en-us/download/download.html">download</a>,
 download apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-backend-bin.tar.gz</p>
 <h4>Preparations 1: Installation of basic software (self-installation of required items)</h4>
 <ul>
@@ -243,7 +243,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.0/user_doc/backend-deployment.json b/en-us/docs/1.2.0/user_doc/backend-deployment.json
index 822cb93..348c11a 100644
--- a/en-us/docs/1.2.0/user_doc/backend-deployment.json
+++ b/en-us/docs/1.2.0/user_doc/backend-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "backend-deployment.md",
-  "__html": "<h1>Backend Deployment Document</h1>\n<p>There are two deployment modes for the backend:</p>\n<ul>\n<li>automatic deployment</li>\n<li>source code compile and then deployment</li>\n</ul>\n<h2>Preparations</h2>\n<p>Download the latest version of the installation package, download address:  <a href=\"https://dolphinscheduler.apache.org/en-us/docs/release/download.html\">download</a>,\ndownload apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-backend-bin.tar.gz</p>\n<h [...]
-  "link": "/en-us/docs/1.2.0/user_doc/backend-deployment.html",
+  "__html": "<h1>Backend Deployment Document</h1>\n<p>There are two deployment modes for the backend:</p>\n<ul>\n<li>automatic deployment</li>\n<li>source code compile and then deployment</li>\n</ul>\n<h2>Preparations</h2>\n<p>Download the latest version of the installation package, download address:  <a href=\"/en-us/download/download.html\">download</a>,\ndownload apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-backend-bin.tar.gz</p>\n<h4>Preparations 1: Installation of basic [...]
+  "link": "/dist/en-us/docs/1.2.0/user_doc/backend-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.0/user_doc/cluster-deployment.html b/en-us/docs/1.2.0/user_doc/cluster-deployment.html
index ed25dea..d2c2577 100644
--- a/en-us/docs/1.2.0/user_doc/cluster-deployment.html
+++ b/en-us/docs/1.2.0/user_doc/cluster-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="cluster-deployment" />
   <title>cluster-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>DolphinScheduler Cluster deployment is divided into two parts: backend deployment and frontend deployment.</p>
 <h1>1、Backend Deployment</h1>
 <h3>1.1: Before you begin (please install requirement basic software by yourself)</h3>
@@ -24,7 +24,7 @@
 </code></pre>
 <h3>1.2: Download the backend package.</h3>
 <ul>
-<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a> (Take 1.2.0 for an example). Download the package and move to the installation and deployment directory. Then unzip it.</li>
+<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a> (Take 1.2.0 for an example). Download the package and move to the installation and deployment directory. Then unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Do not choose a deployment directory with a high-privilege directory such as / root or / home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -42,11 +42,11 @@ mv apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin  dolphi
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> Set the user password, please modify it yourself. The following takes dolphinscheduler123 as an example.</span>
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler123&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> Configure sudo passwordless</span>
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+echo &#x27;dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; &gt;&gt; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 </code></pre>
 <pre><code> Notes:
  - Because the task execution service is based on 'sudo -u {linux-user}' to switch between different Linux users to implement multi-tenant running jobs, the deployment user needs to have sudo permissions and is passwordless. The first-time learners who can ignore it if they don't understand.
@@ -94,7 +94,7 @@ done
 <p>On ds1, switch to the deployment user and configure ssh passwordless login</p>
 <pre><code class="language-shell">su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -126,8 +126,8 @@ done
 <li>After entering the database command line window, execute the database initialization command and set the user and password. <strong>Note: {user} and {password} need to be replaced with a specific database username and password</strong></li>
 </ul>
 <pre><code class="language-mysql">   mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
    mysql&gt; flush privileges;
 </code></pre>
 <ul>
@@ -183,89 +183,89 @@ export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_
 <li>
 <p>Modify the parameters in the one-click deployment script <code>install.sh</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address</span>
-dbhost="192.168.xx.xx:3306"
+dbhost=&quot;192.168.xx.xx:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database schema name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database username</span>
-username="xxx"    
+username=&quot;xxx&quot;    
 <span class="hljs-meta">
-#</span><span class="bash"> Database password, <span class="hljs-keyword">if</span> there are special characters, please use <span class="hljs-string">'\'</span> escape, you need to modify the specific value of {passowrd} <span class="hljs-built_in">set</span> above</span>
-passowrd="xxx"
+#</span><span class="bash"> Database password, <span class="hljs-keyword">if</span> there are special characters, please use <span class="hljs-string">&#x27;\&#x27;</span> escape, you need to modify the specific value of {passowrd} <span class="hljs-built_in">set</span> above</span>
+passowrd=&quot;xxx&quot;
 <span class="hljs-meta">
-#</span><span class="bash"> The directory <span class="hljs-built_in">where</span> DS is installed, such as: <span class="hljs-string">'/opt/soft/dolphinscheduler'</span>, <span class="hljs-built_in">which</span> is different from the current directory.</span>
-installPath="/opt/soft/dolphinscheduler"
+#</span><span class="bash"> The directory <span class="hljs-built_in">where</span> DS is installed, such as: <span class="hljs-string">&#x27;/opt/soft/dolphinscheduler&#x27;</span>, <span class="hljs-built_in">which</span> is different from the current directory.</span>
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> The system user created <span class="hljs-keyword">in</span> section 1.3.</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Zookeeper cluster address</span>
-zkQuorum="192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"
+zkQuorum=&quot;192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machines <span class="hljs-built_in">which</span> the DS service is deployed</span>
-ips="ds1,ds2,ds3,ds4"
+ips=&quot;ds1,ds2,ds3,ds4&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machines <span class="hljs-built_in">which</span> the master service is deployed</span>
-masters="ds1,ds2"
+masters=&quot;ds1,ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machines <span class="hljs-built_in">which</span> the worker service is deployed</span>
-workers="ds3,ds4"
+workers=&quot;ds3,ds4&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machines <span class="hljs-built_in">which</span> the alert service is deployed</span>
-alertServer="ds2"
+alertServer=&quot;ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machines <span class="hljs-built_in">which</span> the api service is deployed</span>
-apiServers="ds1"
+apiServers=&quot;ds1&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> EMail configuration, taking QQ mailbox as an example</span>
 <span class="hljs-meta">#</span><span class="bash"> EMail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> EMail server address</span>
-mailServerHost="smtp.exmail.qq.com"
+mailServerHost=&quot;smtp.exmail.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> EMail server Port</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mailSender and mailUser can be the same one.</span>
 <span class="hljs-meta">#</span><span class="bash"> Sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Receiver</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> EMail password</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Set <span class="hljs-literal">true</span> <span class="hljs-keyword">if</span> the mailbox is TLS protocol, otherwise <span class="hljs-built_in">set</span> to <span class="hljs-literal">false</span>.</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Mail service address value, refer to mailServerHost above.</span>
-sslTrust="smtp.exmail.qq.com"
+sslTrust=&quot;smtp.exmail.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Set <span class="hljs-literal">true</span> <span class="hljs-keyword">if</span> the mailbox is SSL protocol, otherwise <span class="hljs-built_in">set</span> to <span class="hljs-literal">false</span>. Note: starttlsEnable and sslEnable cannot be <span class="hljs-literal">true</span> at the same time.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Download path of excel</span>
-xlsFilePath="/tmp/xls"
+xlsFilePath=&quot;/tmp/xls&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Where are some sql and other resource files used <span class="hljs-keyword">for</span> business uploaded. Can be <span class="hljs-built_in">set</span>: HDFS, S3, NONE. If a standalone wants to use the <span class="hljs-built_in">local</span> file system, please configure it as HDFS, because HDFS supports the <span class="hljs-built_in">local</span> file system; <span class="hljs-keyword">if</span> you <span class="hljs-keyword">do</span> not need the resource [...]
-resUploadStartupType="HDFS"
+resUploadStartupType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Note: If you want to upload to HDFS and the NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and Configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or host name.</span>
-defaultFS="hdfs://mycluster:8020"
+defaultFS=&quot;hdfs://mycluster:8020&quot;
 <span class="hljs-meta">
 
-#</span><span class="bash"> If the ResourceManager is HA, configure it as the active-standby IP or hostname of the ResourceManager node, such as <span class="hljs-string">"192.168.xx.xx, 192.168.xx.xx"</span>; otherwise, <span class="hljs-keyword">if</span> it is a single ResourceManager or yarn is not used at all, please configure yarnHaIps = <span class="hljs-string">""</span>. That<span class="hljs-string">'s it, I don'</span>t use yarn here, the configuration is <span class="hljs-str [...]
-yarnHaIps=""
+#</span><span class="bash"> If the ResourceManager is HA, configure it as the active-standby IP or hostname of the ResourceManager node, such as <span class="hljs-string">&quot;192.168.xx.xx, 192.168.xx.xx&quot;</span>; otherwise, <span class="hljs-keyword">if</span> it is a single ResourceManager or yarn is not used at all, please configure yarnHaIps = <span class="hljs-string">&quot;&quot;</span>. That<span class="hljs-string">&#x27;s it, I don&#x27;</span>t use yarn here, the configur [...]
+yarnHaIps=&quot;&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> If it is a single ResourceManager, configure it as the ResourceManager node ip or hostname, otherwise, keep the default value. Yarn is not used here, keep the default.</span>
-singleYarnIp="ark1"
+singleYarnIp=&quot;ark1&quot;
 </code></pre>
 <p><em>Attention:</em></p>
 <ul>
@@ -316,7 +316,7 @@ sh: bin/dolphinscheduler-daemon.sh: No such file or directory
     |—— dolphinscheduler-logger-server.log
 </code></pre>
 <h1>2. Frontend Deployment</h1>
-<p>Please download the latest version of the frontend installation package to the server deployment directory, download address: [Download] (<a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">https://dolphinscheduler.apache.org/en-us/docs/release/download.html</a>) (Take 1.2.0 version as an example ), Upload the tar.gz package to this directory after downloading and unzip it.</p>
+<p>Please download the latest version of the frontend installation package to the server deployment directory, download address: [Download] (/en-us/download/download.html) (Take 1.2.0 version as an example ), Upload the tar.gz package to this directory after downloading and unzip it.</p>
 <pre><code class="language-shell">cd /opt/dolphinscheduler;
 
 tar -zxvf apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-front-bin.tar.gz -C /opt/dolphinscheduler;
@@ -395,7 +395,7 @@ server {
         proxy_read_timeout 30s;
         proxy_send_timeout 12s;
         proxy_set_header Upgrade $http_upgrade;
-        proxy_set_header Connection "upgrade";
+        proxy_set_header Connection &quot;upgrade&quot;;
     }
     #error_page  404              /404.html;
     # redirect server error pages to the static page /50x.html
@@ -466,7 +466,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.0/user_doc/cluster-deployment.json b/en-us/docs/1.2.0/user_doc/cluster-deployment.json
index b43107d..83eebfb 100644
--- a/en-us/docs/1.2.0/user_doc/cluster-deployment.json
+++ b/en-us/docs/1.2.0/user_doc/cluster-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "cluster-deployment.md",
-  "__html": "<h1>Cluster Deployment</h1>\n<p>DolphinScheduler Cluster deployment is divided into two parts: backend deployment and frontend deployment.</p>\n<h1>1、Backend Deployment</h1>\n<h3>1.1: Before you begin (please install requirement basic software by yourself)</h3>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7): Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+):  Required. Double-check configure JAVA_HOME and PATH [...]
-  "link": "/en-us/docs/1.2.0/user_doc/cluster-deployment.html",
+  "__html": "<h1>Cluster Deployment</h1>\n<p>DolphinScheduler Cluster deployment is divided into two parts: backend deployment and frontend deployment.</p>\n<h1>1、Backend Deployment</h1>\n<h3>1.1: Before you begin (please install requirement basic software by yourself)</h3>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7): Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+):  Required. Double-check configure JAVA_HOME and PATH [...]
+  "link": "/dist/en-us/docs/1.2.0/user_doc/cluster-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.0/user_doc/frontend-deployment.html b/en-us/docs/1.2.0/user_doc/frontend-deployment.html
index df8b23d..6839750 100644
--- a/en-us/docs/1.2.0/user_doc/frontend-deployment.html
+++ b/en-us/docs/1.2.0/user_doc/frontend-deployment.html
@@ -7,14 +7,14 @@
   <meta name="description" content="frontend-deployment" />
   <title>frontend-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>The front-end has three deployment modes: automated deployment, manual deployment and compiled source deployment.</p>
 <h2>Preparations</h2>
 <h4>Download the installation package</h4>
-<p>Please download the latest version of the installation package, download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">download</a></p>
+<p>Please download the latest version of the installation package, download address: <a href="/en-us/download/download.html">download</a></p>
 <p>After downloading apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz,
 decompress<code>tar -zxvf apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz ./</code>and enter the<code>dolphinscheduler-ui</code>directory</p>
 <h2>Deployment</h2>
@@ -111,7 +111,7 @@ client_max_body_size 1024m
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.0/user_doc/frontend-deployment.json b/en-us/docs/1.2.0/user_doc/frontend-deployment.json
index 7ecc3b5..1c432a3 100644
--- a/en-us/docs/1.2.0/user_doc/frontend-deployment.json
+++ b/en-us/docs/1.2.0/user_doc/frontend-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "frontend-deployment.md",
-  "__html": "<h1>frontend-deployment</h1>\n<p>The front-end has three deployment modes: automated deployment, manual deployment and compiled source deployment.</p>\n<h2>Preparations</h2>\n<h4>Download the installation package</h4>\n<p>Please download the latest version of the installation package, download address: <a href=\"https://dolphinscheduler.apache.org/en-us/docs/release/download.html\">download</a></p>\n<p>After downloading apache-dolphinscheduler-incubating-x.x.x-dolphinschedul [...]
-  "link": "/en-us/docs/1.2.0/user_doc/frontend-deployment.html",
+  "__html": "<h1>frontend-deployment</h1>\n<p>The front-end has three deployment modes: automated deployment, manual deployment and compiled source deployment.</p>\n<h2>Preparations</h2>\n<h4>Download the installation package</h4>\n<p>Please download the latest version of the installation package, download address: <a href=\"/en-us/download/download.html\">download</a></p>\n<p>After downloading apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz,\ndecompress<code>t [...]
+  "link": "/dist/en-us/docs/1.2.0/user_doc/frontend-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.0/user_doc/hardware-environment.html b/en-us/docs/1.2.0/user_doc/hardware-environment.html
index 385d72a..2a4d24c 100644
--- a/en-us/docs/1.2.0/user_doc/hardware-environment.html
+++ b/en-us/docs/1.2.0/user_doc/hardware-environment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="hardware-environment" />
   <title>hardware-environment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>
 <h2>1. Linux operating system version requirements</h2>
 <table>
@@ -119,7 +119,7 @@ The above Linux operating systems can run on physical servers and mainstream vir
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.0/user_doc/hardware-environment.json b/en-us/docs/1.2.0/user_doc/hardware-environment.json
index 20f1853..bfd24ed 100644
--- a/en-us/docs/1.2.0/user_doc/hardware-environment.json
+++ b/en-us/docs/1.2.0/user_doc/hardware-environment.json
@@ -1,6 +1,6 @@
 {
   "filename": "hardware-environment.md",
   "__html": "<h1>Hareware Environment</h1>\n<p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>\n<h2>1. Linux operating system version requirements</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:left\">OS</th>\n<th style=\"text-align:center\">Version</th>\n</tr>\n</thead>\n [...]
-  "link": "/en-us/docs/1.2.0/user_doc/hardware-environment.html",
+  "link": "/dist/en-us/docs/1.2.0/user_doc/hardware-environment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.0/user_doc/metadata-1.2.html b/en-us/docs/1.2.0/user_doc/metadata-1.2.html
index 122e14e..c4e8a28 100644
--- a/en-us/docs/1.2.0/user_doc/metadata-1.2.html
+++ b/en-us/docs/1.2.0/user_doc/metadata-1.2.html
@@ -7,10 +7,10 @@
   <meta name="description" content="metadata-1.2" />
   <title>metadata-1.2</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p><a name="V5KOl"></a></p>
 <h3>Dolphin Scheduler 1.2 DB Table Overview</h3>
 <table>
@@ -646,7 +646,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.0/user_doc/metadata-1.2.json b/en-us/docs/1.2.0/user_doc/metadata-1.2.json
index 4bef6fe..50528dd 100644
--- a/en-us/docs/1.2.0/user_doc/metadata-1.2.json
+++ b/en-us/docs/1.2.0/user_doc/metadata-1.2.json
@@ -1,6 +1,6 @@
 {
   "filename": "metadata-1.2.md",
   "__html": "<h1>Dolphin Scheduler 1.2 MetaData</h1>\n<p><a name=\"V5KOl\"></a></p>\n<h3>Dolphin Scheduler 1.2 DB Table Overview</h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Table Name</th>\n<th style=\"text-align:center\">Comment</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">t_ds_access_token</td>\n<td style=\"text-align:center\">token for access ds backend</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">t_ds_alert</td>\n<td style=\"text-align [...]
-  "link": "/en-us/docs/1.2.0/user_doc/metadata-1.2.html",
+  "link": "/dist/en-us/docs/1.2.0/user_doc/metadata-1.2.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.0/user_doc/quick-start.html b/en-us/docs/1.2.0/user_doc/quick-start.html
index 6240e38..046cd7f 100644
--- a/en-us/docs/1.2.0/user_doc/quick-start.html
+++ b/en-us/docs/1.2.0/user_doc/quick-start.html
@@ -7,10 +7,10 @@
   <meta name="description" content="quick-start" />
   <title>quick-start</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <ul>
 <li>
 <p>Administrator user login</p>
@@ -88,7 +88,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.0/user_doc/quick-start.json b/en-us/docs/1.2.0/user_doc/quick-start.json
index 0ae9c4f..8d92a8b 100644
--- a/en-us/docs/1.2.0/user_doc/quick-start.json
+++ b/en-us/docs/1.2.0/user_doc/quick-start.json
@@ -1,6 +1,6 @@
 {
   "filename": "quick-start.md",
   "__html": "<h1>Quick Start</h1>\n<ul>\n<li>\n<p>Administrator user login</p>\n<blockquote>\n<p>Address:192.168.xx.xx:8888  Username and password:admin/dolphinscheduler123</p>\n</blockquote>\n</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/login_en.png\" width=\"60%\" />\n </p>\n<ul>\n<li>Create queue</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/create-queue-en.png\" width=\"60%\" />\n </p>\n<ul>\n<li>Create tenant  <p align=\"center\">\n<img src=\"/img/create-tenant-en. [...]
-  "link": "/en-us/docs/1.2.0/user_doc/quick-start.html",
+  "link": "/dist/en-us/docs/1.2.0/user_doc/quick-start.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.0/user_doc/standalone-deployment.html b/en-us/docs/1.2.0/user_doc/standalone-deployment.html
index 0ba5408..f0f8c45 100644
--- a/en-us/docs/1.2.0/user_doc/standalone-deployment.html
+++ b/en-us/docs/1.2.0/user_doc/standalone-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="standalone-deployment" />
   <title>standalone-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>DolphinScheduler Standalone deployment is divided into two parts: backend deployment and frontend deployment.</p>
 <h1>1. Backend Deployment</h1>
 <h3>1.1: Before you begin (please install requirement basic software by yourself)</h3>
@@ -24,7 +24,7 @@
 </code></pre>
 <h3>1.2: Download the backend package.</h3>
 <ul>
-<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a> (Take 1.2.0 for an example). Download the package and move to the installation and deployment directory. Then unzip it.</li>
+<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a> (Take 1.2.0 for an example). Download the package and move to the installation and deployment directory. Then unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Do not choose a deployment directory with a high-privilege directory such as / root or / home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -42,13 +42,13 @@ mv apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-backend-bin  dolphi
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> setup password</span>
-echo "dolphinscheduler" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> setup sudo passwordless</span>
-sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+sed -i &#x27;$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 <span class="hljs-meta">
-#</span><span class="bash"> Modify the directory permissions so that the deployment user has operation permissions on the dolphinscheduler-backend directory </span>
+#</span><span class="bash"> Modify the directory permissions so that the deployment user has operation permissions on the dolphinscheduler-backend directory</span> 
 chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-backend
 </code></pre>
 <pre><code> Notes:
@@ -62,7 +62,7 @@ chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-backend
 </ul>
 <pre><code class="language-shell">su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -77,8 +77,8 @@ chmod 600 ~/.ssh/authorized_keys
 <li>
 <p>After entering the database command line window, execute the database initialization command and set the user and password. <strong>Note: {user} and {password} need to be replaced with a specific database username and password</strong></p>
 <pre><code class="language-mysql">mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
 mysql&gt; flush privileges;
 </code></pre>
 </li>
@@ -139,93 +139,93 @@ export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_
 <li>
 <p>Modify the parameters in the one-click deployment script <code>install.sh</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address</span>
-dbhost="localhost:3306"
+dbhost=&quot;localhost:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database schema name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database username</span>
-username="xxx"    
+username=&quot;xxx&quot;    
 <span class="hljs-meta">
-#</span><span class="bash"> Database password, <span class="hljs-keyword">if</span> there are special characters, please use <span class="hljs-string">'\'</span> escape, you need to modify the specific value of {passowrd} <span class="hljs-built_in">set</span> above</span>
-passowrd="xxx"
+#</span><span class="bash"> Database password, <span class="hljs-keyword">if</span> there are special characters, please use <span class="hljs-string">&#x27;\&#x27;</span> escape, you need to modify the specific value of {passowrd} <span class="hljs-built_in">set</span> above</span>
+passowrd=&quot;xxx&quot;
 <span class="hljs-meta">
-#</span><span class="bash"> The directory <span class="hljs-built_in">where</span> DS is installed, such as: <span class="hljs-string">'/opt/soft/dolphinscheduler'</span>, <span class="hljs-built_in">which</span> is different from the current directory.</span>
-installPath="/opt/soft/dolphinscheduler"
+#</span><span class="bash"> The directory <span class="hljs-built_in">where</span> DS is installed, such as: <span class="hljs-string">&#x27;/opt/soft/dolphinscheduler&#x27;</span>, <span class="hljs-built_in">which</span> is different from the current directory.</span>
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> The system user created <span class="hljs-keyword">in</span> section 1.3.</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Zookeeper connection address, standalone machine is localhost:2181, port must be provided.</span>
-zkQuorum="localhost:2181"
+zkQuorum=&quot;localhost:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machine <span class="hljs-built_in">which</span> the DS service is deployed, <span class="hljs-built_in">set</span> localhost</span>
-ips="localhost"
+ips=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machine <span class="hljs-built_in">which</span> the master service is deployed, <span class="hljs-built_in">set</span> localhost</span>
-masters="localhost"
+masters=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machine <span class="hljs-built_in">which</span> the worker service is deployed, <span class="hljs-built_in">set</span> localhost</span>
-workers="localhost"
+workers=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machine <span class="hljs-built_in">which</span> the alert service is deployed, <span class="hljs-built_in">set</span> localhost</span>
-alertServer="localhost"
+alertServer=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On machine <span class="hljs-built_in">which</span> the api service is deployed, <span class="hljs-built_in">set</span> localhost</span>
-apiServers="localhost"
+apiServers=&quot;localhost&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> EMail configuration, taking QQ mailbox as an example</span>
 <span class="hljs-meta">#</span><span class="bash"> EMail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> EMail server address</span>
-mailServerHost="smtp.exmail.qq.com"
+mailServerHost=&quot;smtp.exmail.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> EMail server Port</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mailSender and mailUser can be the same one.</span>
 <span class="hljs-meta">#</span><span class="bash"> Sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Receiver</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> EMail password</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Set <span class="hljs-literal">true</span> <span class="hljs-keyword">if</span> the mailbox is TLS protocol, otherwise <span class="hljs-built_in">set</span> to <span class="hljs-literal">false</span>.</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Mail service address value, refer to mailServerHost above.</span>
-sslTrust="smtp.exmail.qq.com"
+sslTrust=&quot;smtp.exmail.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Set <span class="hljs-literal">true</span> <span class="hljs-keyword">if</span> the mailbox is SSL protocol, otherwise <span class="hljs-built_in">set</span> to <span class="hljs-literal">false</span>. Note: starttlsEnable and sslEnable cannot be <span class="hljs-literal">true</span> at the same time.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Download path of excel</span>
-xlsFilePath="/tmp/xls"
+xlsFilePath=&quot;/tmp/xls&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Where are some sql and other resource files used <span class="hljs-keyword">for</span> business uploaded. Can be <span class="hljs-built_in">set</span>: HDFS, S3, NONE. If a standalone wants to use the <span class="hljs-built_in">local</span> file system, please configure it as HDFS, because HDFS supports the <span class="hljs-built_in">local</span> file system; <span class="hljs-keyword">if</span> you <span class="hljs-keyword">do</span> not need the resource [...]
-resUploadStartupType="HDFS"
+resUploadStartupType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Take the <span class="hljs-built_in">local</span> file system as an example.</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: If you want to upload resource files to HDFS and the NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and Configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or host name.</span>
-defaultFS="file:///data/dolphinscheduler"    # hdfs://{ip|hostname}:8020
+defaultFS=&quot;file:///data/dolphinscheduler&quot;    # hdfs://{ip|hostname}:8020
 <span class="hljs-meta">
 
-#</span><span class="bash"> If the ResourceManager is HA, configure it as the active-standby IP or hostname of the ResourceManager node, such as <span class="hljs-string">"192.168.xx.xx, 192.168.xx.xx"</span>; otherwise, <span class="hljs-keyword">if</span> it is a single ResourceManager or yarn is not used at all, please configure yarnHaIps = <span class="hljs-string">""</span>. That<span class="hljs-string">'s it, I don'</span>t use yarn here, the configuration is <span class="hljs-str [...]
-yarnHaIps=""
+#</span><span class="bash"> If the ResourceManager is HA, configure it as the active-standby IP or hostname of the ResourceManager node, such as <span class="hljs-string">&quot;192.168.xx.xx, 192.168.xx.xx&quot;</span>; otherwise, <span class="hljs-keyword">if</span> it is a single ResourceManager or yarn is not used at all, please configure yarnHaIps = <span class="hljs-string">&quot;&quot;</span>. That<span class="hljs-string">&#x27;s it, I don&#x27;</span>t use yarn here, the configur [...]
+yarnHaIps=&quot;&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> If it is a single ResourceManager, configure it as the ResourceManager node ip or hostname, otherwise, keep the default value. Yarn is not used here, keep the default.</span>
-singleYarnIp="ark1"
+singleYarnIp=&quot;ark1&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Since HDFS supports the <span class="hljs-built_in">local</span> file system, you need to ensure that the <span class="hljs-built_in">local</span> folder exists and has <span class="hljs-built_in">read</span> and write permissions.</span>
-hdfsPath="/data/dolphinscheduler"
+hdfsPath=&quot;/data/dolphinscheduler&quot;
 </code></pre>
 <p><em>Note: If you plan to use the <code>Resource Center</code> function, execute the following command:</em></p>
 <pre><code class="language-shell">sudo mkdir /data/dolphinscheduler
@@ -276,7 +276,7 @@ sh: bin/dolphinscheduler-daemon.sh: No such file or directory
     |—— dolphinscheduler-logger-server.log
 </code></pre>
 <h1>2. Frontend Deployment</h1>
-<p>Please download the latest version of the frontend installation package to the server deployment directory, download address: [Download] (<a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">https://dolphinscheduler.apache.org/en-us/docs/release/download.html</a>) (Take 1.2.0 version as an example ), Upload the tar.gz package to this directory after downloading and unzip it.</p>
+<p>Please download the latest version of the frontend installation package to the server deployment directory, download address: [Download] (/en-us/download/download.html) (Take 1.2.0 version as an example ), Upload the tar.gz package to this directory after downloading and unzip it.</p>
 <pre><code class="language-shell">cd /opt/dolphinscheduler;
 
 tar -zxvf apache-dolphinscheduler-incubating-1.2.0-dolphinscheduler-front-bin.tar.gz -C /opt/dolphinscheduler;
@@ -355,7 +355,7 @@ server {
         proxy_read_timeout 30s;
         proxy_send_timeout 12s;
         proxy_set_header Upgrade $http_upgrade;
-        proxy_set_header Connection "upgrade";
+        proxy_set_header Connection &quot;upgrade&quot;;
     }
     #error_page  404              /404.html;
     # redirect server error pages to the static page /50x.html
@@ -426,7 +426,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.0/user_doc/standalone-deployment.json b/en-us/docs/1.2.0/user_doc/standalone-deployment.json
index d2009f7..562f82c 100644
--- a/en-us/docs/1.2.0/user_doc/standalone-deployment.json
+++ b/en-us/docs/1.2.0/user_doc/standalone-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "standalone-deployment.md",
-  "__html": "<h1>Standalone Deployment</h1>\n<p>DolphinScheduler Standalone deployment is divided into two parts: backend deployment and frontend deployment.</p>\n<h1>1. Backend Deployment</h1>\n<h3>1.1: Before you begin (please install requirement basic software by yourself)</h3>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.6 or 5.7): Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+):  Required. Double-check configure JAVA [...]
-  "link": "/en-us/docs/1.2.0/user_doc/standalone-deployment.html",
+  "__html": "<h1>Standalone Deployment</h1>\n<p>DolphinScheduler Standalone deployment is divided into two parts: backend deployment and frontend deployment.</p>\n<h1>1. Backend Deployment</h1>\n<h3>1.1: Before you begin (please install requirement basic software by yourself)</h3>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.6 or 5.7): Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+):  Required. Double-check configure JAVA [...]
+  "link": "/dist/en-us/docs/1.2.0/user_doc/standalone-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.0/user_doc/system-manual.html b/en-us/docs/1.2.0/user_doc/system-manual.html
index 2b79411..2d029d8 100644
--- a/en-us/docs/1.2.0/user_doc/system-manual.html
+++ b/en-us/docs/1.2.0/user_doc/system-manual.html
@@ -7,10 +7,10 @@
   <meta name="description" content="system-manual" />
   <title>system-manual</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>Operational Guidelines</h2>
 <h3>Home page</h3>
 <p>The homepage contains task status statistics, process status statistics, and workflow definition statistics for all user projects.</p>
@@ -763,7 +763,7 @@ conf/common/hadoop.properties
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.0/user_doc/system-manual.json b/en-us/docs/1.2.0/user_doc/system-manual.json
index bd7978d..e83366c 100644
--- a/en-us/docs/1.2.0/user_doc/system-manual.json
+++ b/en-us/docs/1.2.0/user_doc/system-manual.json
@@ -1,6 +1,6 @@
 {
   "filename": "system-manual.md",
   "__html": "<h1>System Use Manual</h1>\n<h2>Operational Guidelines</h2>\n<h3>Home page</h3>\n<p>The homepage contains task status statistics, process status statistics, and workflow definition statistics for all user projects.</p>\n<p align=\"center\">\n      <img src=\"/img/home_en.png\" width=\"80%\" />\n </p>\n<h3>Create a project</h3>\n<ul>\n<li>Click &quot;Project - &gt; Create Project&quot;, enter project name,  description, and click &quot;Submit&quot; to create a new project.</l [...]
-  "link": "/en-us/docs/1.2.0/user_doc/system-manual.html",
+  "link": "/dist/en-us/docs/1.2.0/user_doc/system-manual.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.0/user_doc/upgrade.html b/en-us/docs/1.2.0/user_doc/upgrade.html
index f23a23a..17edff5 100644
--- a/en-us/docs/1.2.0/user_doc/upgrade.html
+++ b/en-us/docs/1.2.0/user_doc/upgrade.html
@@ -7,16 +7,16 @@
   <meta name="description" content="upgrade" />
   <title>upgrade</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>1. Back up the previous version of the files and database</h2>
 <h2>2. Stop all services of dolphinscheduler</h2>
 <p><code>sh ./script/stop-all.sh</code></p>
 <h2>3. Download the new version of the installation package</h2>
 <ul>
-<li><a href="https://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html">download</a>, download the latest version of the front and back installation packages (backend referred to as dolphinscheduler-backend, front end referred to as dolphinscheduler-front)</li>
+<li><a href="/en-us/download/download.html">download</a>, download the latest version of the front and back installation packages (backend referred to as dolphinscheduler-backend, front end referred to as dolphinscheduler-front)</li>
 <li>The following upgrade operations need to be performed in the new version of the directory</li>
 </ul>
 <h2>4. Database upgrade</h2>
@@ -52,7 +52,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.0/user_doc/upgrade.json b/en-us/docs/1.2.0/user_doc/upgrade.json
index 79db523..43402ef 100644
--- a/en-us/docs/1.2.0/user_doc/upgrade.json
+++ b/en-us/docs/1.2.0/user_doc/upgrade.json
@@ -1,6 +1,6 @@
 {
   "filename": "upgrade.md",
-  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up the previous version of the files and database</h2>\n<h2>2. Stop all services of dolphinscheduler</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version of the installation package</h2>\n<ul>\n<li><a href=\"https://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html\">download</a>, download the latest version of the front and back installation packages (backend referred to a [...]
-  "link": "/en-us/docs/1.2.0/user_doc/upgrade.html",
+  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up the previous version of the files and database</h2>\n<h2>2. Stop all services of dolphinscheduler</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version of the installation package</h2>\n<ul>\n<li><a href=\"/en-us/download/download.html\">download</a>, download the latest version of the front and back installation packages (backend referred to as dolphinscheduler-backend, front end re [...]
+  "link": "/dist/en-us/docs/1.2.0/user_doc/upgrade.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.1/user_doc/architecture-design.html b/en-us/docs/1.2.1/user_doc/architecture-design.html
index d4bc39e..75c1174 100644
--- a/en-us/docs/1.2.1/user_doc/architecture-design.html
+++ b/en-us/docs/1.2.1/user_doc/architecture-design.html
@@ -7,10 +7,10 @@
   <meta name="description" content="architecture-design" />
   <title>architecture-design</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>
 <h3>1.Noun Interpretation</h3>
 <p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the following picture:</p>
@@ -258,7 +258,7 @@ Interfaces include workflow creation, definition, query, modification, release,
         String activeFile = currentlyActiveFile;
         <span class="hljs-comment">// thread name: taskThreadName-processDefineId_processInstanceId_taskInstanceId</span>
         String threadName = event.getThreadName();
-        String[] threadNameArr = threadName.split(<span class="hljs-string">"-"</span>);
+        String[] threadNameArr = threadName.split(<span class="hljs-string">&quot;-&quot;</span>);
         <span class="hljs-comment">// logId = processDefineId_processInstanceId_taskInstanceId</span>
         String logId = threadNameArr[<span class="hljs-number">1</span>];
         ...
@@ -278,7 +278,7 @@ Public <span class="hljs-class"><span class="hljs-keyword">class</span> <span cl
 
     <span class="hljs-meta">@Override</span>
     <span class="hljs-function">Public FilterReply <span class="hljs-title">decide</span><span class="hljs-params">(ILoggingEvent event)</span> </span>{
-        If (event.getThreadName().startsWith(<span class="hljs-string">"TaskLogInfo-"</span>)){
+        If (event.getThreadName().startsWith(<span class="hljs-string">&quot;TaskLogInfo-&quot;</span>)){
             Return FilterReply.ACCEPT;
         }
         Return FilterReply.DENY;
@@ -291,7 +291,7 @@ Public <span class="hljs-class"><span class="hljs-keyword">class</span> <span cl
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.1/user_doc/architecture-design.json b/en-us/docs/1.2.1/user_doc/architecture-design.json
index f78ce5e..1cecd2f 100644
--- a/en-us/docs/1.2.1/user_doc/architecture-design.json
+++ b/en-us/docs/1.2.1/user_doc/architecture-design.json
@@ -1,6 +1,6 @@
 {
   "filename": "architecture-design.md",
-  "__html": "<h2>Architecture Design</h2>\n<p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>\n<h3>1.Noun Interpretation</h3>\n<p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the fol [...]
-  "link": "/en-us/docs/1.2.1/user_doc/architecture-design.html",
+  "__html": "<h2>Architecture Design</h2>\n<p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>\n<h3>1.Noun Interpretation</h3>\n<p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the fol [...]
+  "link": "/dist/en-us/docs/1.2.1/user_doc/architecture-design.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.1/user_doc/backend-deployment.html b/en-us/docs/1.2.1/user_doc/backend-deployment.html
index 2a1b03c..04af3b8 100644
--- a/en-us/docs/1.2.1/user_doc/backend-deployment.html
+++ b/en-us/docs/1.2.1/user_doc/backend-deployment.html
@@ -7,17 +7,17 @@
   <meta name="description" content="backend-deployment" />
   <title>backend-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>There are two deployment modes for the backend:</p>
 <ul>
 <li>automatic deployment</li>
 <li>source code compile and then deployment</li>
 </ul>
 <h2>Preparations</h2>
-<p>Download the latest version of the installation package, download address:  <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">download</a>,
+<p>Download the latest version of the installation package, download address:  <a href="/en-us/download/download.html">download</a>,
 download apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-backend-bin.tar.gz</p>
 <h4>Preparations 1: Installation of basic software (self-installation of required items)</h4>
 <ul>
@@ -243,7 +243,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.1/user_doc/backend-deployment.json b/en-us/docs/1.2.1/user_doc/backend-deployment.json
index d95f6e6..d1acc40 100644
--- a/en-us/docs/1.2.1/user_doc/backend-deployment.json
+++ b/en-us/docs/1.2.1/user_doc/backend-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "backend-deployment.md",
-  "__html": "<h1>Backend Deployment Document</h1>\n<p>There are two deployment modes for the backend:</p>\n<ul>\n<li>automatic deployment</li>\n<li>source code compile and then deployment</li>\n</ul>\n<h2>Preparations</h2>\n<p>Download the latest version of the installation package, download address:  <a href=\"https://dolphinscheduler.apache.org/en-us/docs/release/download.html\">download</a>,\ndownload apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-backend-bin.tar.gz</p>\n<h [...]
-  "link": "/en-us/docs/1.2.1/user_doc/backend-deployment.html",
+  "__html": "<h1>Backend Deployment Document</h1>\n<p>There are two deployment modes for the backend:</p>\n<ul>\n<li>automatic deployment</li>\n<li>source code compile and then deployment</li>\n</ul>\n<h2>Preparations</h2>\n<p>Download the latest version of the installation package, download address:  <a href=\"/en-us/download/download.html\">download</a>,\ndownload apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-backend-bin.tar.gz</p>\n<h4>Preparations 1: Installation of basic [...]
+  "link": "/dist/en-us/docs/1.2.1/user_doc/backend-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.1/user_doc/frontend-deployment.html b/en-us/docs/1.2.1/user_doc/frontend-deployment.html
index 43082ad..8bd272e 100644
--- a/en-us/docs/1.2.1/user_doc/frontend-deployment.html
+++ b/en-us/docs/1.2.1/user_doc/frontend-deployment.html
@@ -7,14 +7,14 @@
   <meta name="description" content="frontend-deployment" />
   <title>frontend-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>The front-end has three deployment modes: automated deployment, manual deployment and compiled source deployment.</p>
 <h2>Preparations</h2>
 <h4>Download the installation package</h4>
-<p>Please download the latest version of the installation package, download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">download</a></p>
+<p>Please download the latest version of the installation package, download address: <a href="/en-us/download/download.html">download</a></p>
 <p>After downloading apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz,
 decompress<code>tar -zxvf apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz ./</code>and enter the<code>dolphinscheduler-ui</code>directory</p>
 <h2>Deployment</h2>
@@ -112,7 +112,7 @@ client_max_body_size 1024m
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.1/user_doc/frontend-deployment.json b/en-us/docs/1.2.1/user_doc/frontend-deployment.json
index 1ff415f..6428b91 100644
--- a/en-us/docs/1.2.1/user_doc/frontend-deployment.json
+++ b/en-us/docs/1.2.1/user_doc/frontend-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "frontend-deployment.md",
-  "__html": "<h1>frontend-deployment</h1>\n<p>The front-end has three deployment modes: automated deployment, manual deployment and compiled source deployment.</p>\n<h2>Preparations</h2>\n<h4>Download the installation package</h4>\n<p>Please download the latest version of the installation package, download address: <a href=\"https://dolphinscheduler.apache.org/en-us/docs/release/download.html\">download</a></p>\n<p>After downloading apache-dolphinscheduler-incubating-x.x.x-dolphinschedul [...]
-  "link": "/en-us/docs/1.2.1/user_doc/frontend-deployment.html",
+  "__html": "<h1>frontend-deployment</h1>\n<p>The front-end has three deployment modes: automated deployment, manual deployment and compiled source deployment.</p>\n<h2>Preparations</h2>\n<h4>Download the installation package</h4>\n<p>Please download the latest version of the installation package, download address: <a href=\"/en-us/download/download.html\">download</a></p>\n<p>After downloading apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz,\ndecompress<code>t [...]
+  "link": "/dist/en-us/docs/1.2.1/user_doc/frontend-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.1/user_doc/hardware-environment.html b/en-us/docs/1.2.1/user_doc/hardware-environment.html
index 385d72a..2a4d24c 100644
--- a/en-us/docs/1.2.1/user_doc/hardware-environment.html
+++ b/en-us/docs/1.2.1/user_doc/hardware-environment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="hardware-environment" />
   <title>hardware-environment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>
 <h2>1. Linux operating system version requirements</h2>
 <table>
@@ -119,7 +119,7 @@ The above Linux operating systems can run on physical servers and mainstream vir
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.1/user_doc/hardware-environment.json b/en-us/docs/1.2.1/user_doc/hardware-environment.json
index 49d8979..fb15f74 100644
--- a/en-us/docs/1.2.1/user_doc/hardware-environment.json
+++ b/en-us/docs/1.2.1/user_doc/hardware-environment.json
@@ -1,6 +1,6 @@
 {
   "filename": "hardware-environment.md",
   "__html": "<h1>Hareware Environment</h1>\n<p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>\n<h2>1. Linux operating system version requirements</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:left\">OS</th>\n<th style=\"text-align:center\">Version</th>\n</tr>\n</thead>\n [...]
-  "link": "/en-us/docs/1.2.1/user_doc/hardware-environment.html",
+  "link": "/dist/en-us/docs/1.2.1/user_doc/hardware-environment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.1/user_doc/metadata-1.2.html b/en-us/docs/1.2.1/user_doc/metadata-1.2.html
index 122e14e..c4e8a28 100644
--- a/en-us/docs/1.2.1/user_doc/metadata-1.2.html
+++ b/en-us/docs/1.2.1/user_doc/metadata-1.2.html
@@ -7,10 +7,10 @@
   <meta name="description" content="metadata-1.2" />
   <title>metadata-1.2</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p><a name="V5KOl"></a></p>
 <h3>Dolphin Scheduler 1.2 DB Table Overview</h3>
 <table>
@@ -646,7 +646,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.1/user_doc/metadata-1.2.json b/en-us/docs/1.2.1/user_doc/metadata-1.2.json
index 29160ad..6b1cf11 100644
--- a/en-us/docs/1.2.1/user_doc/metadata-1.2.json
+++ b/en-us/docs/1.2.1/user_doc/metadata-1.2.json
@@ -1,6 +1,6 @@
 {
   "filename": "metadata-1.2.md",
   "__html": "<h1>Dolphin Scheduler 1.2 MetaData</h1>\n<p><a name=\"V5KOl\"></a></p>\n<h3>Dolphin Scheduler 1.2 DB Table Overview</h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Table Name</th>\n<th style=\"text-align:center\">Comment</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">t_ds_access_token</td>\n<td style=\"text-align:center\">token for access ds backend</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">t_ds_alert</td>\n<td style=\"text-align [...]
-  "link": "/en-us/docs/1.2.1/user_doc/metadata-1.2.html",
+  "link": "/dist/en-us/docs/1.2.1/user_doc/metadata-1.2.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.1/user_doc/plugin-development.html b/en-us/docs/1.2.1/user_doc/plugin-development.html
index b2ec56a..450ee03 100644
--- a/en-us/docs/1.2.1/user_doc/plugin-development.html
+++ b/en-us/docs/1.2.1/user_doc/plugin-development.html
@@ -7,10 +7,10 @@
   <meta name="description" content="plugin-development" />
   <title>plugin-development</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Remind:Currently, task plugin development does not support hot deployment.</p>
 <h3>Shell-based tasks</h3>
 <h4>YARN-based calculations (see MapReduceTask)</h4>
@@ -68,7 +68,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.1/user_doc/plugin-development.json b/en-us/docs/1.2.1/user_doc/plugin-development.json
index d9de6b7..e2b4ca9 100644
--- a/en-us/docs/1.2.1/user_doc/plugin-development.json
+++ b/en-us/docs/1.2.1/user_doc/plugin-development.json
@@ -1,6 +1,6 @@
 {
   "filename": "plugin-development.md",
   "__html": "<h2>Task Plugin Development</h2>\n<p>Remind:Currently, task plugin development does not support hot deployment.</p>\n<h3>Shell-based tasks</h3>\n<h4>YARN-based calculations (see MapReduceTask)</h4>\n<ul>\n<li>Need to be <strong>cn.dolphinscheduler.server.worker.task</strong> Down <strong>TaskManager</strong> Create a custom task in the class (also need to register the corresponding task type in TaskType)</li>\n<li>Need to inherit<strong>cn.dolphinscheduler.server.worker.task [...]
-  "link": "/en-us/docs/1.2.1/user_doc/plugin-development.html",
+  "link": "/dist/en-us/docs/1.2.1/user_doc/plugin-development.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.1/user_doc/quick-start.html b/en-us/docs/1.2.1/user_doc/quick-start.html
index 6240e38..046cd7f 100644
--- a/en-us/docs/1.2.1/user_doc/quick-start.html
+++ b/en-us/docs/1.2.1/user_doc/quick-start.html
@@ -7,10 +7,10 @@
   <meta name="description" content="quick-start" />
   <title>quick-start</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <ul>
 <li>
 <p>Administrator user login</p>
@@ -88,7 +88,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.1/user_doc/quick-start.json b/en-us/docs/1.2.1/user_doc/quick-start.json
index 6fb2179..f738ce8 100644
--- a/en-us/docs/1.2.1/user_doc/quick-start.json
+++ b/en-us/docs/1.2.1/user_doc/quick-start.json
@@ -1,6 +1,6 @@
 {
   "filename": "quick-start.md",
   "__html": "<h1>Quick Start</h1>\n<ul>\n<li>\n<p>Administrator user login</p>\n<blockquote>\n<p>Address:192.168.xx.xx:8888  Username and password:admin/dolphinscheduler123</p>\n</blockquote>\n</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/login_en.png\" width=\"60%\" />\n </p>\n<ul>\n<li>Create queue</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/create-queue-en.png\" width=\"60%\" />\n </p>\n<ul>\n<li>Create tenant  <p align=\"center\">\n<img src=\"/img/create-tenant-en. [...]
-  "link": "/en-us/docs/1.2.1/user_doc/quick-start.html",
+  "link": "/dist/en-us/docs/1.2.1/user_doc/quick-start.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.1/user_doc/system-manual.html b/en-us/docs/1.2.1/user_doc/system-manual.html
index 2b79411..2d029d8 100644
--- a/en-us/docs/1.2.1/user_doc/system-manual.html
+++ b/en-us/docs/1.2.1/user_doc/system-manual.html
@@ -7,10 +7,10 @@
   <meta name="description" content="system-manual" />
   <title>system-manual</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>Operational Guidelines</h2>
 <h3>Home page</h3>
 <p>The homepage contains task status statistics, process status statistics, and workflow definition statistics for all user projects.</p>
@@ -763,7 +763,7 @@ conf/common/hadoop.properties
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.1/user_doc/system-manual.json b/en-us/docs/1.2.1/user_doc/system-manual.json
index 177893a..03cd96d 100644
--- a/en-us/docs/1.2.1/user_doc/system-manual.json
+++ b/en-us/docs/1.2.1/user_doc/system-manual.json
@@ -1,6 +1,6 @@
 {
   "filename": "system-manual.md",
   "__html": "<h1>System Use Manual</h1>\n<h2>Operational Guidelines</h2>\n<h3>Home page</h3>\n<p>The homepage contains task status statistics, process status statistics, and workflow definition statistics for all user projects.</p>\n<p align=\"center\">\n      <img src=\"/img/home_en.png\" width=\"80%\" />\n </p>\n<h3>Create a project</h3>\n<ul>\n<li>Click &quot;Project - &gt; Create Project&quot;, enter project name,  description, and click &quot;Submit&quot; to create a new project.</l [...]
-  "link": "/en-us/docs/1.2.1/user_doc/system-manual.html",
+  "link": "/dist/en-us/docs/1.2.1/user_doc/system-manual.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.2.1/user_doc/upgrade.html b/en-us/docs/1.2.1/user_doc/upgrade.html
index f23a23a..17edff5 100644
--- a/en-us/docs/1.2.1/user_doc/upgrade.html
+++ b/en-us/docs/1.2.1/user_doc/upgrade.html
@@ -7,16 +7,16 @@
   <meta name="description" content="upgrade" />
   <title>upgrade</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>1. Back up the previous version of the files and database</h2>
 <h2>2. Stop all services of dolphinscheduler</h2>
 <p><code>sh ./script/stop-all.sh</code></p>
 <h2>3. Download the new version of the installation package</h2>
 <ul>
-<li><a href="https://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html">download</a>, download the latest version of the front and back installation packages (backend referred to as dolphinscheduler-backend, front end referred to as dolphinscheduler-front)</li>
+<li><a href="/en-us/download/download.html">download</a>, download the latest version of the front and back installation packages (backend referred to as dolphinscheduler-backend, front end referred to as dolphinscheduler-front)</li>
 <li>The following upgrade operations need to be performed in the new version of the directory</li>
 </ul>
 <h2>4. Database upgrade</h2>
@@ -52,7 +52,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.2.1/user_doc/upgrade.json b/en-us/docs/1.2.1/user_doc/upgrade.json
index 8f89628..396608c 100644
--- a/en-us/docs/1.2.1/user_doc/upgrade.json
+++ b/en-us/docs/1.2.1/user_doc/upgrade.json
@@ -1,6 +1,6 @@
 {
   "filename": "upgrade.md",
-  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up the previous version of the files and database</h2>\n<h2>2. Stop all services of dolphinscheduler</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version of the installation package</h2>\n<ul>\n<li><a href=\"https://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html\">download</a>, download the latest version of the front and back installation packages (backend referred to a [...]
-  "link": "/en-us/docs/1.2.1/user_doc/upgrade.html",
+  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up the previous version of the files and database</h2>\n<h2>2. Stop all services of dolphinscheduler</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version of the installation package</h2>\n<ul>\n<li><a href=\"/en-us/download/download.html\">download</a>, download the latest version of the front and back installation packages (backend referred to as dolphinscheduler-backend, front end re [...]
+  "link": "/dist/en-us/docs/1.2.1/user_doc/upgrade.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/architecture-design.html b/en-us/docs/1.3.1/user_doc/architecture-design.html
index cdec875..46c0274 100644
--- a/en-us/docs/1.3.1/user_doc/architecture-design.html
+++ b/en-us/docs/1.3.1/user_doc/architecture-design.html
@@ -7,10 +7,10 @@
   <meta name="description" content="architecture-design" />
   <title>architecture-design</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Before explaining the architecture of the scheduling system, let's first understand the commonly used terms of the scheduling system</p>
 <h3>1.Glossary</h3>
 <p><strong>DAG:</strong> The full name is Directed Acyclic Graph, referred to as DAG. Task tasks in the workflow are assembled in the form of a directed acyclic graph, and topological traversal is performed from nodes with zero degrees of entry until there are no subsequent nodes. Examples are as follows:</p>
@@ -103,7 +103,7 @@ Server provides monitoring services based on netty. Worker</p>
 </li>
 <li>
 <p><strong>UI</strong></p>
-<p>The front-end page of the system provides various visual operation interfaces of the system,See more at<a href="/zh-cn/docs/user_doc/system-manual.html" target="_self"> System User Manual </a>section。</p>
+<p>The front-end page of the system provides various visual operation interfaces of the system,See more at<a href="/en-us/docs/user_doc/system-manual.html" target="_self"> System User Manual </a>section。</p>
 </li>
 </ul>
 <h4>2.3 Architecture design ideas</h4>
@@ -275,7 +275,7 @@ After the fault tolerance of ZooKeeper Master is completed, it is re-scheduled b
        String activeFile = currentlyActiveFile;
        <span class="hljs-comment">// thread name: taskThreadName-processDefineId_processInstanceId_taskInstanceId</span>
        String threadName = event.getThreadName();
-       String[] threadNameArr = threadName.split(<span class="hljs-string">"-"</span>);
+       String[] threadNameArr = threadName.split(<span class="hljs-string">&quot;-&quot;</span>);
        <span class="hljs-comment">// logId = processDefineId_processInstanceId_taskInstanceId</span>
        String logId = threadNameArr[<span class="hljs-number">1</span>];
        ...
@@ -299,7 +299,7 @@ After the fault tolerance of ZooKeeper Master is completed, it is re-scheduled b
 
    <span class="hljs-meta">@Override</span>
    <span class="hljs-function"><span class="hljs-keyword">public</span> FilterReply <span class="hljs-title">decide</span><span class="hljs-params">(ILoggingEvent event)</span> </span>{
-       <span class="hljs-keyword">if</span> (event.getThreadName().startsWith(<span class="hljs-string">"TaskLogInfo-"</span>)){
+       <span class="hljs-keyword">if</span> (event.getThreadName().startsWith(<span class="hljs-string">&quot;TaskLogInfo-&quot;</span>)){
            <span class="hljs-keyword">return</span> FilterReply.ACCEPT;
        }
        <span class="hljs-keyword">return</span> FilterReply.DENY;
@@ -339,7 +339,7 @@ After the fault tolerance of ZooKeeper Master is completed, it is re-scheduled b
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/architecture-design.json b/en-us/docs/1.3.1/user_doc/architecture-design.json
index 25a3e00..112db92 100644
--- a/en-us/docs/1.3.1/user_doc/architecture-design.json
+++ b/en-us/docs/1.3.1/user_doc/architecture-design.json
@@ -1,6 +1,6 @@
 {
   "filename": "architecture-design.md",
-  "__html": "<h2>System Architecture Design</h2>\n<p>Before explaining the architecture of the scheduling system, let's first understand the commonly used terms of the scheduling system</p>\n<h3>1.Glossary</h3>\n<p><strong>DAG:</strong> The full name is Directed Acyclic Graph, referred to as DAG. Task tasks in the workflow are assembled in the form of a directed acyclic graph, and topological traversal is performed from nodes with zero degrees of entry until there are no subsequent nodes [...]
-  "link": "/en-us/docs/1.3.1/user_doc/architecture-design.html",
+  "__html": "<h2>System Architecture Design</h2>\n<p>Before explaining the architecture of the scheduling system, let's first understand the commonly used terms of the scheduling system</p>\n<h3>1.Glossary</h3>\n<p><strong>DAG:</strong> The full name is Directed Acyclic Graph, referred to as DAG. Task tasks in the workflow are assembled in the form of a directed acyclic graph, and topological traversal is performed from nodes with zero degrees of entry until there are no subsequent nodes [...]
+  "link": "/dist/en-us/docs/1.3.1/user_doc/architecture-design.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/cluster-deployment.html b/en-us/docs/1.3.1/user_doc/cluster-deployment.html
index 6de34bd..6f416b8 100644
--- a/en-us/docs/1.3.1/user_doc/cluster-deployment.html
+++ b/en-us/docs/1.3.1/user_doc/cluster-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="cluster-deployment" />
   <title>cluster-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h1>1、Before you begin (please install requirement basic software by yourself)</h1>
 <ul>
 <li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>
@@ -22,7 +22,7 @@
 </code></pre>
 <h1>2、Download the binary package.</h1>
 <ul>
-<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
+<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Do not choose a deployment directory with a high-privilege directory such as / root or / home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -40,11 +40,11 @@ mv apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-bin  dolphinschedul
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> Set the user password, please modify it yourself. The following takes dolphinscheduler123 as an example.</span>
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler123&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> Configure sudo passwordless</span>
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+echo &#x27;dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; &gt;&gt; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 
 </code></pre>
 <pre><code> Notes:
@@ -93,7 +93,7 @@ done
 <p>On ds1, switch to the deployment user and configure ssh passwordless login</p>
 <pre><code class="language-shell"> su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -127,8 +127,8 @@ done
 <li>After entering the database command line window, execute the database initialization command and set the user and password. <strong>Note: {user} and {password} need to be replaced with a specific database username and password</strong></li>
 </ul>
 <pre><code class="language-mysql">   mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
    mysql&gt; flush privileges;
 </code></pre>
 <ul>
@@ -190,110 +190,110 @@ done
 <li>
 <p>Modify the parameters in the one-click deployment config file <code>conf/config/install_config.conf</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address and port</span>
-dbhost="192.168.xx.xx:3306"
+dbhost=&quot;192.168.xx.xx:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database username</span>
-username="xxx"
+username=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database password</span>
 <span class="hljs-meta">#</span><span class="bash"> NOTICE: <span class="hljs-keyword">if</span> there are special characters, please use the \ to escape, <span class="hljs-keyword">for</span> example, `[` escape to `\[`</span>
-password="xxx"
+password=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash">Zookeeper cluster</span>
-zkQuorum="192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"
+zkQuorum=&quot;192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Note: the target installation path <span class="hljs-keyword">for</span> dolphinscheduler, please not config as the same as the current path (<span class="hljs-built_in">pwd</span>)</span>
-installPath="/opt/soft/dolphinscheduler"
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> deployment user</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: the deployment user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled, the root directory needs to be created by itself</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> alert config,take QQ email <span class="hljs-keyword">for</span> example</span>
 <span class="hljs-meta">#</span><span class="bash"> mail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server host</span>
-mailServerHost="smtp.qq.com"
+mailServerHost=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server port</span>
 <span class="hljs-meta">#</span><span class="bash"> note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, make sure the port is correct.</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail user</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender password</span>
 <span class="hljs-meta">#</span><span class="bash"> note: The mail.passwd is email service authorization code, not the email login password.</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported。</span>
 <span class="hljs-meta">#</span><span class="bash"> note: only one of TLS and SSL can be <span class="hljs-keyword">in</span> the <span class="hljs-literal">true</span> state.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> note: sslTrust is the same as mailServerHost</span>
-sslTrust="smtp.qq.com"
+sslTrust=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> resource storage <span class="hljs-built_in">type</span>:HDFS,S3,NONE</span>
-resourceStorageType="HDFS"
+resourceStorageType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> If resourceStorageType = HDFS, and your Hadoop Cluster NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or host name.</span>
 <span class="hljs-meta">#</span><span class="bash"> <span class="hljs-keyword">if</span> S3,write S3 address,HA,<span class="hljs-keyword">for</span> example :s3a://dolphinscheduler,</span>
 <span class="hljs-meta">#</span><span class="bash"> Note,s3 be sure to create the root directory /dolphinscheduler</span>
-defaultFS="hdfs://mycluster:8020"
+defaultFS=&quot;hdfs://mycluster:8020&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> <span class="hljs-keyword">if</span> not use hadoop resourcemanager, please keep default value; <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span>, please <span class="hljs-built_in">type</span> the HA ips ; <span class="hljs-keyword">if</span> resourcemanager is single, make this value empty</span>
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
+yarnHaIps=&quot;192.168.xx.xx,192.168.xx.xx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span> or not use resourcemanager, please skip this value setting; If resourcemanager is single, you only need to replace yarnIp1 to actual resourcemanager hostname.</span>
-singleYarnIp="yarnIp1"
+singleYarnIp=&quot;yarnIp1&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have <span class="hljs-built_in">read</span> write permissions。/dolphinscheduler is recommended</span>
-resourceUploadPath="/dolphinscheduler"
+resourceUploadPath=&quot;/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> who have permissions to create directory under HDFS/S3 root path</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> kerberos is enabled, please config hdfsRootUser=</span>
-hdfsRootUser="hdfs"
+hdfsRootUser=&quot;hdfs&quot;
 <span class="hljs-meta">
 
 
 #</span><span class="bash"> install hosts</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: install the scheduled hostname list. If it is pseudo-distributed, just write a pseudo-distributed hostname</span>
-ips="ds1,ds2,ds3,ds4"
+ips=&quot;ds1,ds2,ds3,ds4&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> ssh port, default 22</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> ssh port is not default, modify here</span>
-sshPort="22"
+sshPort=&quot;22&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run master machine</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: list of hosts hostname <span class="hljs-keyword">for</span> deploying master</span>
-masters="ds1,ds2"
+masters=&quot;ds1,ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run worker machine</span>
-<span class="hljs-meta">#</span><span class="bash"> note: need to write the worker group name of each worker, the default value is <span class="hljs-string">"default"</span></span>
-workers="ds3:default,ds4:default"
+<span class="hljs-meta">#</span><span class="bash"> note: need to write the worker group name of each worker, the default value is <span class="hljs-string">&quot;default&quot;</span></span>
+workers=&quot;ds3:default,ds4:default&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run alert machine</span>
 <span class="hljs-meta">#</span><span class="bash"> note: list of machine hostnames <span class="hljs-keyword">for</span> deploying alert server</span>
-alertServer="ds2"
+alertServer=&quot;ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run api machine</span>
 <span class="hljs-meta">#</span><span class="bash"> note: list of machine hostnames <span class="hljs-keyword">for</span> deploying api server</span>
-apiServers="ds1"
+apiServers=&quot;ds1&quot;
 
 </code></pre>
 <p><em>Attention:</em></p>
@@ -387,7 +387,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/cluster-deployment.json b/en-us/docs/1.3.1/user_doc/cluster-deployment.json
index ab1cb84..73be3c2 100644
--- a/en-us/docs/1.3.1/user_doc/cluster-deployment.json
+++ b/en-us/docs/1.3.1/user_doc/cluster-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "cluster-deployment.md",
-  "__html": "<h1>Cluster Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile</li>\n<li>ZooKeeper (3.4.6+) :Required</li>\n<li>Hadoop (2.6+) or MinIO :Optional. If you need to upload a [...]
-  "link": "/en-us/docs/1.3.1/user_doc/cluster-deployment.html",
+  "__html": "<h1>Cluster Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile</li>\n<li>ZooKeeper (3.4.6+) :Required</li>\n<li>Hadoop (2.6+) or MinIO :Optional. If you need to upload a [...]
+  "link": "/dist/en-us/docs/1.3.1/user_doc/cluster-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/configuration-file.html b/en-us/docs/1.3.1/user_doc/configuration-file.html
index cd8aa8e..67f4a08 100644
--- a/en-us/docs/1.3.1/user_doc/configuration-file.html
+++ b/en-us/docs/1.3.1/user_doc/configuration-file.html
@@ -7,10 +7,10 @@
   <meta name="description" content="configuration-file" />
   <title>configuration-file</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>This document is a description of the dolphinscheduler configuration file, and the version is for dolphinscheduler-1.3.x.</p>
 <h1>Directory Structure</h1>
 <p>All configuration files of dolphinscheduler are currently in the [conf] directory.</p>
@@ -136,7 +136,7 @@
 <a href="http://start-all.sh/stop-all.sh">start-all.sh/stop-all.sh</a> eventually starts and shuts down the cluster through <a href="http://dolphinscheduler-daemon.sh">dolphinscheduler-daemon.sh</a>.
 At present, DS has only made a basic setting. Please set the JVM parameters according to the actual situation of their resources.</p>
 <p>The default simplified parameters are as follows:</p>
-<pre><code class="language-bash"><span class="hljs-built_in">export</span> DOLPHINSCHEDULER_OPTS=<span class="hljs-string">"
+<pre><code class="language-bash"><span class="hljs-built_in">export</span> DOLPHINSCHEDULER_OPTS=<span class="hljs-string">&quot;
 -server 
 -Xmx16g 
 -Xms1g 
@@ -146,7 +146,7 @@ At present, DS has only made a basic setting. Please set the JVM parameters acco
 -XX:+UseFastAccessorMethods 
 -XX:+UseCMSInitiatingOccupancyOnly 
 -XX:CMSInitiatingOccupancyFraction=70
-"</span>
+&quot;</span>
 </code></pre>
 <blockquote>
 <p>It is not recommended to set &quot;-XX:DisableExplicitGC&quot;, DS uses Netty for communication. Setting this parameter may cause memory leaks.</p>
@@ -821,117 +821,117 @@ Such as::dolphinscheduler-daemon.sh、datasource.properties、zookeeper.properti
 <span class="hljs-comment">#      Examples: `[` Escape to `\[`</span>
 
 <span class="hljs-comment"># Database type, currently only supports postgresql or mysql</span>
-dbtype=<span class="hljs-string">"mysql"</span>
+dbtype=<span class="hljs-string">&quot;mysql&quot;</span>
 
 <span class="hljs-comment"># Database address &amp; port</span>
-dbhost=<span class="hljs-string">"192.168.xx.xx:3306"</span>
+dbhost=<span class="hljs-string">&quot;192.168.xx.xx:3306&quot;</span>
 
 <span class="hljs-comment"># Database Name</span>
-dbname=<span class="hljs-string">"dolphinscheduler"</span>
+dbname=<span class="hljs-string">&quot;dolphinscheduler&quot;</span>
 
 
 <span class="hljs-comment"># Database Username</span>
-username=<span class="hljs-string">"xx"</span>
+username=<span class="hljs-string">&quot;xx&quot;</span>
 
 <span class="hljs-comment"># Database Password</span>
-password=<span class="hljs-string">"xx"</span>
+password=<span class="hljs-string">&quot;xx&quot;</span>
 
 <span class="hljs-comment"># Zookeeper address</span>
-zkQuorum=<span class="hljs-string">"192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"</span>
+zkQuorum=<span class="hljs-string">&quot;192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181&quot;</span>
 
 <span class="hljs-comment"># Where to install DS, such as: /data1_1T/dolphinscheduler,</span>
-installPath=<span class="hljs-string">"/data1_1T/dolphinscheduler"</span>
+installPath=<span class="hljs-string">&quot;/data1_1T/dolphinscheduler&quot;</span>
 
 <span class="hljs-comment"># Which user to use for deployment</span>
 <span class="hljs-comment"># Note: The deployment user needs sudo permissions and can operate hdfs.</span>
 <span class="hljs-comment">#     If you use hdfs, the root directory must be created by the user. Otherwise, there will be permissions related issues.</span>
-deployUser=<span class="hljs-string">"dolphinscheduler"</span>
+deployUser=<span class="hljs-string">&quot;dolphinscheduler&quot;</span>
 
 
 <span class="hljs-comment"># The following is the alarm service configuration</span>
 <span class="hljs-comment"># Mail server address</span>
-mailServerHost=<span class="hljs-string">"smtp.exmail.qq.com"</span>
+mailServerHost=<span class="hljs-string">&quot;smtp.exmail.qq.com&quot;</span>
 
 <span class="hljs-comment"># Mail Server Port</span>
-mailServerPort=<span class="hljs-string">"25"</span>
+mailServerPort=<span class="hljs-string">&quot;25&quot;</span>
 
 <span class="hljs-comment"># Sender</span>
-mailSender=<span class="hljs-string">"xxxxxxxxxx"</span>
+mailSender=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
 
 <span class="hljs-comment"># Sending user</span>
-mailUser=<span class="hljs-string">"xxxxxxxxxx"</span>
+mailUser=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
 
 <span class="hljs-comment"># email Password</span>
-mailPassword=<span class="hljs-string">"xxxxxxxxxx"</span>
+mailPassword=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
 
 <span class="hljs-comment"># TLS protocol mailbox is set to true, otherwise set to false</span>
-starttlsEnable=<span class="hljs-string">"true"</span>
+starttlsEnable=<span class="hljs-string">&quot;true&quot;</span>
 
 <span class="hljs-comment"># The mailbox with SSL protocol enabled is set to true, otherwise it is false. Note: starttlsEnable and sslEnable cannot be true at the same time</span>
-sslEnable=<span class="hljs-string">"false"</span>
+sslEnable=<span class="hljs-string">&quot;false&quot;</span>
 
 <span class="hljs-comment"># Mail service address value, same as mailServerHost</span>
-sslTrust=<span class="hljs-string">"smtp.exmail.qq.com"</span>
+sslTrust=<span class="hljs-string">&quot;smtp.exmail.qq.com&quot;</span>
 
 <span class="hljs-comment">#Where to upload resource files such as sql used for business, you can set: HDFS, S3, NONE. If you want to upload to HDFS, please configure as HDFS; if you do not need the resource upload function, please select NONE.</span>
-resourceStorageType=<span class="hljs-string">"NONE"</span>
+resourceStorageType=<span class="hljs-string">&quot;NONE&quot;</span>
 
 <span class="hljs-comment"># if S3,write S3 address,HA,for example :s3a://dolphinscheduler,</span>
 <span class="hljs-comment"># Note,s3 be sure to create the root directory /dolphinscheduler</span>
-defaultFS=<span class="hljs-string">"hdfs://mycluster:8020"</span>
+defaultFS=<span class="hljs-string">&quot;hdfs://mycluster:8020&quot;</span>
 
 <span class="hljs-comment"># If the resourceStorageType is S3, the parameters to be configured are as follows:</span>
-s3Endpoint=<span class="hljs-string">"http://192.168.xx.xx:9010"</span>
-s3AccessKey=<span class="hljs-string">"xxxxxxxxxx"</span>
-s3SecretKey=<span class="hljs-string">"xxxxxxxxxx"</span>
+s3Endpoint=<span class="hljs-string">&quot;http://192.168.xx.xx:9010&quot;</span>
+s3AccessKey=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
+s3SecretKey=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
 
-<span class="hljs-comment"># If the ResourceManager is HA, configure it as the primary and secondary ip or hostname of the ResourceManager node, such as "192.168.xx.xx, 192.168.xx.xx", otherwise if it is a single ResourceManager or yarn is not used at all, please configure yarnHaIps="" That’s it, if yarn is not used, configure it as ""</span>
-yarnHaIps=<span class="hljs-string">"192.168.xx.xx,192.168.xx.xx"</span>
+<span class="hljs-comment"># If the ResourceManager is HA, configure it as the primary and secondary ip or hostname of the ResourceManager node, such as &quot;192.168.xx.xx, 192.168.xx.xx&quot;, otherwise if it is a single ResourceManager or yarn is not used at all, please configure yarnHaIps=&quot;&quot; That’s it, if yarn is not used, configure it as &quot;&quot;</span>
+yarnHaIps=<span class="hljs-string">&quot;192.168.xx.xx,192.168.xx.xx&quot;</span>
 
 <span class="hljs-comment"># If it is a single ResourceManager, configure it as the ResourceManager node ip or host name, otherwise keep the default value.</span>
-singleYarnIp=<span class="hljs-string">"yarnIp1"</span>
+singleYarnIp=<span class="hljs-string">&quot;yarnIp1&quot;</span>
 
 <span class="hljs-comment"># The storage path of resource files in HDFS/S3</span>
-resourceUploadPath=<span class="hljs-string">"/dolphinscheduler"</span>
+resourceUploadPath=<span class="hljs-string">&quot;/dolphinscheduler&quot;</span>
 
 
 <span class="hljs-comment"># HDFS/S3  Operating user</span>
-hdfsRootUser=<span class="hljs-string">"hdfs"</span>
+hdfsRootUser=<span class="hljs-string">&quot;hdfs&quot;</span>
 
 <span class="hljs-comment"># The following is the kerberos configuration</span>
 
 <span class="hljs-comment"># Whether kerberos is turned on</span>
-kerberosStartUp=<span class="hljs-string">"false"</span>
+kerberosStartUp=<span class="hljs-string">&quot;false&quot;</span>
 <span class="hljs-comment"># kdc krb5 config file path</span>
-krb5ConfPath=<span class="hljs-string">"<span class="hljs-variable">$installPath</span>/conf/krb5.conf"</span>
+krb5ConfPath=<span class="hljs-string">&quot;<span class="hljs-variable">$installPath</span>/conf/krb5.conf&quot;</span>
 <span class="hljs-comment"># keytab username</span>
-keytabUserName=<span class="hljs-string">"hdfs-mycluster@ESZ.COM"</span>
+keytabUserName=<span class="hljs-string">&quot;hdfs-mycluster@ESZ.COM&quot;</span>
 <span class="hljs-comment"># username keytab path</span>
-keytabPath=<span class="hljs-string">"<span class="hljs-variable">$installPath</span>/conf/hdfs.headless.keytab"</span>
+keytabPath=<span class="hljs-string">&quot;<span class="hljs-variable">$installPath</span>/conf/hdfs.headless.keytab&quot;</span>
 
 
 <span class="hljs-comment"># api service port</span>
-apiServerPort=<span class="hljs-string">"12345"</span>
+apiServerPort=<span class="hljs-string">&quot;12345&quot;</span>
 
 
 <span class="hljs-comment"># Hostname of all hosts where DS is deployed</span>
-ips=<span class="hljs-string">"ds1,ds2,ds3,ds4,ds5"</span>
+ips=<span class="hljs-string">&quot;ds1,ds2,ds3,ds4,ds5&quot;</span>
 
 <span class="hljs-comment"># ssh port, default 22</span>
-sshPort=<span class="hljs-string">"22"</span>
+sshPort=<span class="hljs-string">&quot;22&quot;</span>
 
 <span class="hljs-comment"># Deploy master service host</span>
-masters=<span class="hljs-string">"ds1,ds2"</span>
+masters=<span class="hljs-string">&quot;ds1,ds2&quot;</span>
 
 <span class="hljs-comment"># The host where the worker service is deployed</span>
-<span class="hljs-comment"># Note: Each worker needs to set a worker group name, the default value is "default"</span>
-workers=<span class="hljs-string">"ds1:default,ds2:default,ds3:default,ds4:default,ds5:default"</span>
+<span class="hljs-comment"># Note: Each worker needs to set a worker group name, the default value is &quot;default&quot;</span>
+workers=<span class="hljs-string">&quot;ds1:default,ds2:default,ds3:default,ds4:default,ds5:default&quot;</span>
 
 <span class="hljs-comment">#  Deploy the alert service host</span>
-alertServer=<span class="hljs-string">"ds3"</span>
+alertServer=<span class="hljs-string">&quot;ds3&quot;</span>
 
 <span class="hljs-comment"># Deploy api service host</span>
-apiServers=<span class="hljs-string">"ds1"</span>
+apiServers=<span class="hljs-string">&quot;ds1&quot;</span>
 </code></pre>
 <h2>11.dolphinscheduler_env.sh [Environment variable configuration]</h2>
 <p>When submitting a task through a shell-like method, the environment variables in the configuration file are loaded into the host.
@@ -980,7 +980,7 @@ The types of tasks involved are: Shell tasks, Python tasks, Spark tasks, Flink t
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/configuration-file.json b/en-us/docs/1.3.1/user_doc/configuration-file.json
index 1bc1a27..7fef01d 100644
--- a/en-us/docs/1.3.1/user_doc/configuration-file.json
+++ b/en-us/docs/1.3.1/user_doc/configuration-file.json
@@ -1,6 +1,6 @@
 {
   "filename": "configuration-file.md",
-  "__html": "<h1>Foreword</h1>\n<p>This document is a description of the dolphinscheduler configuration file, and the version is for dolphinscheduler-1.3.x.</p>\n<h1>Directory Structure</h1>\n<p>All configuration files of dolphinscheduler are currently in the [conf] directory.</p>\n<p>For a more intuitive understanding of the location of the [conf] directory and the configuration files it contains, please see the simplified description of the dolphinscheduler installation directory below [...]
-  "link": "/en-us/docs/1.3.1/user_doc/configuration-file.html",
+  "__html": "<h1>Foreword</h1>\n<p>This document is a description of the dolphinscheduler configuration file, and the version is for dolphinscheduler-1.3.x.</p>\n<h1>Directory Structure</h1>\n<p>All configuration files of dolphinscheduler are currently in the [conf] directory.</p>\n<p>For a more intuitive understanding of the location of the [conf] directory and the configuration files it contains, please see the simplified description of the dolphinscheduler installation directory below [...]
+  "link": "/dist/en-us/docs/1.3.1/user_doc/configuration-file.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/hardware-environment.html b/en-us/docs/1.3.1/user_doc/hardware-environment.html
index 60272fa..75de4c6 100644
--- a/en-us/docs/1.3.1/user_doc/hardware-environment.html
+++ b/en-us/docs/1.3.1/user_doc/hardware-environment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="hardware-environment" />
   <title>hardware-environment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>
 <h2>1. Linux operating system version requirements</h2>
 <table>
@@ -114,7 +114,7 @@ The above Linux operating systems can run on physical servers and mainstream vir
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/hardware-environment.json b/en-us/docs/1.3.1/user_doc/hardware-environment.json
index 115dd5e..9af3a70 100644
--- a/en-us/docs/1.3.1/user_doc/hardware-environment.json
+++ b/en-us/docs/1.3.1/user_doc/hardware-environment.json
@@ -1,6 +1,6 @@
 {
   "filename": "hardware-environment.md",
   "__html": "<h1>Hareware Environment</h1>\n<p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>\n<h2>1. Linux operating system version requirements</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:left\">OS</th>\n<th style=\"text-align:center\">Version</th>\n</tr>\n</thead>\n [...]
-  "link": "/en-us/docs/1.3.1/user_doc/hardware-environment.html",
+  "link": "/dist/en-us/docs/1.3.1/user_doc/hardware-environment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/metadata-1.3.html b/en-us/docs/1.3.1/user_doc/metadata-1.3.html
index bd57f09..ac22b54 100644
--- a/en-us/docs/1.3.1/user_doc/metadata-1.3.html
+++ b/en-us/docs/1.3.1/user_doc/metadata-1.3.html
@@ -7,10 +7,10 @@
   <meta name="description" content="metadata-1.3" />
   <title>metadata-1.3</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p><a name="25Ald"></a></p>
 <h3>Table overview</h3>
 <table>
@@ -730,7 +730,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/metadata-1.3.json b/en-us/docs/1.3.1/user_doc/metadata-1.3.json
index 5216bef..47f2994 100644
--- a/en-us/docs/1.3.1/user_doc/metadata-1.3.json
+++ b/en-us/docs/1.3.1/user_doc/metadata-1.3.json
@@ -1,6 +1,6 @@
 {
   "filename": "metadata-1.3.md",
   "__html": "<h1>Dolphin Scheduler 1.3 Metadata document</h1>\n<p><a name=\"25Ald\"></a></p>\n<h3>Table overview</h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Table Name</th>\n<th style=\"text-align:center\">Table information</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">t_ds_access_token</td>\n<td style=\"text-align:center\">Access the token of the ds backend</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">t_ds_alert</td>\n<td style=\"text-alig [...]
-  "link": "/en-us/docs/1.3.1/user_doc/metadata-1.3.html",
+  "link": "/dist/en-us/docs/1.3.1/user_doc/metadata-1.3.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/quick-start.html b/en-us/docs/1.3.1/user_doc/quick-start.html
index a662d71..16c2357 100644
--- a/en-us/docs/1.3.1/user_doc/quick-start.html
+++ b/en-us/docs/1.3.1/user_doc/quick-start.html
@@ -7,10 +7,10 @@
   <meta name="description" content="quick-start" />
   <title>quick-start</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <ul>
 <li>
 <p>Administrator user login</p>
@@ -88,7 +88,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/quick-start.json b/en-us/docs/1.3.1/user_doc/quick-start.json
index 8d86435..c9e3671 100644
--- a/en-us/docs/1.3.1/user_doc/quick-start.json
+++ b/en-us/docs/1.3.1/user_doc/quick-start.json
@@ -1,6 +1,6 @@
 {
   "filename": "quick-start.md",
   "__html": "<h1>Quick Start</h1>\n<ul>\n<li>\n<p>Administrator user login</p>\n<blockquote>\n<p>Address:<a href=\"http://192.168.xx.xx:12345/dolphinscheduler\">http://192.168.xx.xx:12345/dolphinscheduler</a>  Username and password:admin/dolphinscheduler123</p>\n</blockquote>\n</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/login_en.png\" width=\"60%\" />\n </p>\n<ul>\n<li>Create queue</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/create-queue-en.png\" width=\"60%\" />\n < [...]
-  "link": "/en-us/docs/1.3.1/user_doc/quick-start.html",
+  "link": "/dist/en-us/docs/1.3.1/user_doc/quick-start.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/standalone-deployment.html b/en-us/docs/1.3.1/user_doc/standalone-deployment.html
index 3e018a5..da4a635 100644
--- a/en-us/docs/1.3.1/user_doc/standalone-deployment.html
+++ b/en-us/docs/1.3.1/user_doc/standalone-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="standalone-deployment" />
   <title>standalone-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h1>1、Before you begin (please install requirement basic software by yourself)</h1>
 <ul>
 <li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>
@@ -22,7 +22,7 @@
 </code></pre>
 <h1>2、Download the binary package.</h1>
 <ul>
-<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
+<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Do not choose a deployment directory with a high-privilege directory such as / root or / home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -40,11 +40,11 @@ mv apache-dolphinscheduler-incubating-1.3.1-dolphinscheduler-bin  dolphinschedul
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> Set the user password, please modify it yourself. The following takes dolphinscheduler123 as an example.</span>
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler123&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> Configure sudo passwordless</span>
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+echo &#x27;dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; &gt;&gt; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 
 </code></pre>
 <pre><code> Notes:
@@ -93,7 +93,7 @@ done
 <p>On ds1, switch to the deployment user and configure ssh passwordless login</p>
 <pre><code class="language-shell"> su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -127,8 +127,8 @@ done
 <li>After entering the database command line window, execute the database initialization command and set the user and password. <strong>Note: {user} and {password} need to be replaced with a specific database username and password</strong></li>
 </ul>
 <pre><code class="language-mysql">   mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
    mysql&gt; flush privileges;
 </code></pre>
 <ul>
@@ -190,103 +190,103 @@ done
 <li>
 <p>Modify the parameters in the one-click deployment config file <code>conf/config/install_config.conf</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address and port</span>
-dbhost="localhost:3306"
+dbhost=&quot;localhost:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database username</span>
-username="xxx"
+username=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database password</span>
 <span class="hljs-meta">#</span><span class="bash"> NOTICE: <span class="hljs-keyword">if</span> there are special characters, please use the \ to escape, <span class="hljs-keyword">for</span> example, `[` escape to `\[`</span>
-password="xxx"
+password=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Zookeeper address, localhost:2181, remember the port 2181</span>
-zkQuorum="localhost:2181"
+zkQuorum=&quot;localhost:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Note: the target installation path <span class="hljs-keyword">for</span> dolphinscheduler, please not config as the same as the current path (<span class="hljs-built_in">pwd</span>)</span>
-installPath="/opt/soft/dolphinscheduler"
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> deployment user</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: the deployment user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled, the root directory needs to be created by itself</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> alert config,take QQ email <span class="hljs-keyword">for</span> example</span>
 <span class="hljs-meta">#</span><span class="bash"> mail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server host</span>
-mailServerHost="smtp.qq.com"
+mailServerHost=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server port</span>
 <span class="hljs-meta">#</span><span class="bash"> note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, make sure the port is correct.</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail user</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender password</span>
 <span class="hljs-meta">#</span><span class="bash"> note: The mail.passwd is email service authorization code, not the email login password.</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported。</span>
 <span class="hljs-meta">#</span><span class="bash"> note: only one of TLS and SSL can be <span class="hljs-keyword">in</span> the <span class="hljs-literal">true</span> state.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> note: sslTrust is the same as mailServerHost</span>
-sslTrust="smtp.qq.com"
+sslTrust=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> resource storage <span class="hljs-built_in">type</span>:HDFS,S3,NONE</span>
-resourceStorageType="HDFS"
+resourceStorageType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> here is an example of saving to a <span class="hljs-built_in">local</span> file system</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: If you want to upload resource files to HDFS and the NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and Configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or host name.</span>
-defaultFS="file:///data/dolphinscheduler"
+defaultFS=&quot;file:///data/dolphinscheduler&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> <span class="hljs-keyword">if</span> not use hadoop resourcemanager, please keep default value; <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span>, please <span class="hljs-built_in">type</span> the HA ips ; <span class="hljs-keyword">if</span> resourcemanager is single, make this value empty</span>
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
+yarnHaIps=&quot;192.168.xx.xx,192.168.xx.xx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span> or not use resourcemanager, please skip this value setting; If resourcemanager is single, you only need to replace yarnIp1 to actual resourcemanager hostname.</span>
-singleYarnIp="yarnIp1"
+singleYarnIp=&quot;yarnIp1&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have <span class="hljs-built_in">read</span> write permissions。/dolphinscheduler is recommended</span>
-resourceUploadPath="/data/dolphinscheduler"
+resourceUploadPath=&quot;/data/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> specify the user who have permissions to create directory under HDFS/S3 root path</span>
-hdfsRootUser="hdfs"
+hdfsRootUser=&quot;hdfs&quot;
 <span class="hljs-meta">
 
 
 #</span><span class="bash"> On <span class="hljs-built_in">which</span> machines to deploy the DS service, choose localhost <span class="hljs-keyword">for</span> this machine</span>
-ips="localhost"
+ips=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> ssh port, default 22</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> ssh port is not default, modify here</span>
-sshPort="22"
+sshPort=&quot;22&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run master machine</span>
-masters="localhost"
+masters=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run worker machine</span>
-workers="localhost"
+workers=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run alert machine</span>
-alertServer="localhost"
+alertServer=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run api machine</span>
-apiServers="localhost"
+apiServers=&quot;localhost&quot;
 
 </code></pre>
 <p><em>Attention:</em></p>
@@ -380,7 +380,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/standalone-deployment.json b/en-us/docs/1.3.1/user_doc/standalone-deployment.json
index dc433c8..bbddcf4 100644
--- a/en-us/docs/1.3.1/user_doc/standalone-deployment.json
+++ b/en-us/docs/1.3.1/user_doc/standalone-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "standalone-deployment.md",
-  "__html": "<h1>Standalone Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile</li>\n<li>ZooKeeper (3.4.6+) :Required</li>\n<li>Hadoop (2.6+) or MinIO :Optional. If you need to uploa [...]
-  "link": "/en-us/docs/1.3.1/user_doc/standalone-deployment.html",
+  "__html": "<h1>Standalone Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile</li>\n<li>ZooKeeper (3.4.6+) :Required</li>\n<li>Hadoop (2.6+) or MinIO :Optional. If you need to uploa [...]
+  "link": "/dist/en-us/docs/1.3.1/user_doc/standalone-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/system-manual.html b/en-us/docs/1.3.1/user_doc/system-manual.html
index 2132bb6..c32618d 100644
--- a/en-us/docs/1.3.1/user_doc/system-manual.html
+++ b/en-us/docs/1.3.1/user_doc/system-manual.html
@@ -7,10 +7,10 @@
   <meta name="description" content="system-manual" />
   <title>system-manual</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>Get started quickly</h2>
 <blockquote>
 <p>Please refer to<a href="quick-start.html">Get started quickly</a></p>
@@ -970,7 +970,7 @@ example:</li>
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/system-manual.json b/en-us/docs/1.3.1/user_doc/system-manual.json
index 057ac25..7ca45ac 100644
--- a/en-us/docs/1.3.1/user_doc/system-manual.json
+++ b/en-us/docs/1.3.1/user_doc/system-manual.json
@@ -1,6 +1,6 @@
 {
   "filename": "system-manual.md",
   "__html": "<h1>System User Manual</h1>\n<h2>Get started quickly</h2>\n<blockquote>\n<p>Please refer to<a href=\"quick-start.html\">Get started quickly</a></p>\n</blockquote>\n<h2>Operation guide</h2>\n<h3>1. Home</h3>\n<p>The home page contains task status statistics, process status statistics, and workflow definition statistics of all items of the user.\n<p align=\"center\">\n<img src=\"/img/home_en.png\" width=\"80%\" />\n</p></p>\n<h3>2. Project management</h3>\n<h4>2.1 Create proje [...]
-  "link": "/en-us/docs/1.3.1/user_doc/system-manual.html",
+  "link": "/dist/en-us/docs/1.3.1/user_doc/system-manual.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/task-structure.html b/en-us/docs/1.3.1/user_doc/task-structure.html
index 4ad6143..175b781 100644
--- a/en-us/docs/1.3.1/user_doc/task-structure.html
+++ b/en-us/docs/1.3.1/user_doc/task-structure.html
@@ -7,10 +7,10 @@
   <meta name="description" content="task-structure" />
   <title>task-structure</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>All tasks created in dolphinscheduler are saved in the t_ds_process_definition table.</p>
 <p>The database table structure is shown in the following table:</p>
 <table>
@@ -185,17 +185,17 @@
 </table>
 <p>Data example:</p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"globalParams"</span>:[
+    <span class="hljs-string">&quot;globalParams&quot;</span>:[
         {
-            <span class="hljs-string">"prop"</span>:<span class="hljs-string">"golbal_bizdate"</span>,
-            <span class="hljs-string">"direct"</span>:<span class="hljs-string">"IN"</span>,
-            <span class="hljs-string">"type"</span>:<span class="hljs-string">"VARCHAR"</span>,
-            <span class="hljs-string">"value"</span>:<span class="hljs-string">"<span class="hljs-variable">${system.biz.date}</span>"</span>
+            <span class="hljs-string">&quot;prop&quot;</span>:<span class="hljs-string">&quot;golbal_bizdate&quot;</span>,
+            <span class="hljs-string">&quot;direct&quot;</span>:<span class="hljs-string">&quot;IN&quot;</span>,
+            <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;VARCHAR&quot;</span>,
+            <span class="hljs-string">&quot;value&quot;</span>:<span class="hljs-string">&quot;<span class="hljs-variable">${system.biz.date}</span>&quot;</span>
         }
     ],
-    <span class="hljs-string">"tasks"</span>:Array[1],
-    <span class="hljs-string">"tenantId"</span>:0,
-    <span class="hljs-string">"timeout"</span>:0
+    <span class="hljs-string">&quot;tasks&quot;</span>:Array[1],
+    <span class="hljs-string">&quot;tenantId&quot;</span>:0,
+    <span class="hljs-string">&quot;timeout&quot;</span>:0
 }
 </code></pre>
 <h1>Detailed explanation of the storage structure of each task type</h1>
@@ -369,45 +369,45 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"SHELL"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-80760"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"Shell Task"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"resourceList"</span>:[
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SHELL&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-80760&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;Shell Task&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"rawScript"</span>:<span class="hljs-string">"echo "</span>This is a shell script<span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;rawScript&quot;</span>:<span class="hljs-string">&quot;echo &quot;</span>This is a shell script<span class="hljs-string">&quot;&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -664,58 +664,58 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"SQL"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-95648"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"SqlTask-Query"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"type"</span>:<span class="hljs-string">"MYSQL"</span>,
-        <span class="hljs-string">"datasource"</span>:1,
-        <span class="hljs-string">"sql"</span>:<span class="hljs-string">"select id , namge , age from emp where id =  <span class="hljs-variable">${id}</span>"</span>,
-        <span class="hljs-string">"udfs"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"sqlType"</span>:<span class="hljs-string">"0"</span>,
-        <span class="hljs-string">"title"</span>:<span class="hljs-string">"xxxx@xxx.com"</span>,
-        <span class="hljs-string">"receivers"</span>:<span class="hljs-string">"xxxx@xxx.com"</span>,
-        <span class="hljs-string">"receiversCc"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"showType"</span>:<span class="hljs-string">"TABLE"</span>,
-        <span class="hljs-string">"localParams"</span>:[
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SQL&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-95648&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;SqlTask-Query&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;MYSQL&quot;</span>,
+        <span class="hljs-string">&quot;datasource&quot;</span>:1,
+        <span class="hljs-string">&quot;sql&quot;</span>:<span class="hljs-string">&quot;select id , namge , age from emp where id =  <span class="hljs-variable">${id}</span>&quot;</span>,
+        <span class="hljs-string">&quot;udfs&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;sqlType&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+        <span class="hljs-string">&quot;title&quot;</span>:<span class="hljs-string">&quot;xxxx@xxx.com&quot;</span>,
+        <span class="hljs-string">&quot;receivers&quot;</span>:<span class="hljs-string">&quot;xxxx@xxx.com&quot;</span>,
+        <span class="hljs-string">&quot;receiversCc&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;showType&quot;</span>:<span class="hljs-string">&quot;TABLE&quot;</span>,
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
             {
-                <span class="hljs-string">"prop"</span>:<span class="hljs-string">"id"</span>,
-                <span class="hljs-string">"direct"</span>:<span class="hljs-string">"IN"</span>,
-                <span class="hljs-string">"type"</span>:<span class="hljs-string">"INTEGER"</span>,
-                <span class="hljs-string">"value"</span>:<span class="hljs-string">"1"</span>
+                <span class="hljs-string">&quot;prop&quot;</span>:<span class="hljs-string">&quot;id&quot;</span>,
+                <span class="hljs-string">&quot;direct&quot;</span>:<span class="hljs-string">&quot;IN&quot;</span>,
+                <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;INTEGER&quot;</span>,
+                <span class="hljs-string">&quot;value&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>
             }
         ],
-        <span class="hljs-string">"connParams"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"preStatements"</span>:[
-            <span class="hljs-string">"insert into emp ( id,name ) value (1,'Li' )"</span>
+        <span class="hljs-string">&quot;connParams&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;preStatements&quot;</span>:[
+            <span class="hljs-string">&quot;insert into emp ( id,name ) value (1,&#x27;Li&#x27; )&quot;</span>
         ],
-        <span class="hljs-string">"postStatements"</span>:[
+        <span class="hljs-string">&quot;postStatements&quot;</span>:[
 
         ]
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -981,58 +981,58 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"SPARK"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-87430"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"SparkTask"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"mainClass"</span>:<span class="hljs-string">"org.apache.spark.examples.SparkPi"</span>,
-        <span class="hljs-string">"mainJar"</span>:{
-            <span class="hljs-string">"id"</span>:4
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SPARK&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-87430&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;SparkTask&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;mainClass&quot;</span>:<span class="hljs-string">&quot;org.apache.spark.examples.SparkPi&quot;</span>,
+        <span class="hljs-string">&quot;mainJar&quot;</span>:{
+            <span class="hljs-string">&quot;id&quot;</span>:4
         },
-        <span class="hljs-string">"deployMode"</span>:<span class="hljs-string">"cluster"</span>,
-        <span class="hljs-string">"resourceList"</span>:[
+        <span class="hljs-string">&quot;deployMode&quot;</span>:<span class="hljs-string">&quot;cluster&quot;</span>,
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"driverCores"</span>:1,
-        <span class="hljs-string">"driverMemory"</span>:<span class="hljs-string">"512M"</span>,
-        <span class="hljs-string">"numExecutors"</span>:2,
-        <span class="hljs-string">"executorMemory"</span>:<span class="hljs-string">"2G"</span>,
-        <span class="hljs-string">"executorCores"</span>:2,
-        <span class="hljs-string">"mainArgs"</span>:<span class="hljs-string">"10"</span>,
-        <span class="hljs-string">"others"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"programType"</span>:<span class="hljs-string">"SCALA"</span>,
-        <span class="hljs-string">"sparkVersion"</span>:<span class="hljs-string">"SPARK2"</span>
+        <span class="hljs-string">&quot;driverCores&quot;</span>:1,
+        <span class="hljs-string">&quot;driverMemory&quot;</span>:<span class="hljs-string">&quot;512M&quot;</span>,
+        <span class="hljs-string">&quot;numExecutors&quot;</span>:2,
+        <span class="hljs-string">&quot;executorMemory&quot;</span>:<span class="hljs-string">&quot;2G&quot;</span>,
+        <span class="hljs-string">&quot;executorCores&quot;</span>:2,
+        <span class="hljs-string">&quot;mainArgs&quot;</span>:<span class="hljs-string">&quot;10&quot;</span>,
+        <span class="hljs-string">&quot;others&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;programType&quot;</span>:<span class="hljs-string">&quot;SCALA&quot;</span>,
+        <span class="hljs-string">&quot;sparkVersion&quot;</span>:<span class="hljs-string">&quot;SPARK2&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -1239,51 +1239,51 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"MR"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-28997"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"MRTask"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"mainClass"</span>:<span class="hljs-string">"wordcount"</span>,
-        <span class="hljs-string">"mainJar"</span>:{
-            <span class="hljs-string">"id"</span>:5
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;MR&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-28997&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;MRTask&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;mainClass&quot;</span>:<span class="hljs-string">&quot;wordcount&quot;</span>,
+        <span class="hljs-string">&quot;mainJar&quot;</span>:{
+            <span class="hljs-string">&quot;id&quot;</span>:5
         },
-        <span class="hljs-string">"resourceList"</span>:[
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"mainArgs"</span>:<span class="hljs-string">"/tmp/wordcount/input /tmp/wordcount/output/"</span>,
-        <span class="hljs-string">"others"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"programType"</span>:<span class="hljs-string">"JAVA"</span>
+        <span class="hljs-string">&quot;mainArgs&quot;</span>:<span class="hljs-string">&quot;/tmp/wordcount/input /tmp/wordcount/output/&quot;</span>,
+        <span class="hljs-string">&quot;others&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;programType&quot;</span>:<span class="hljs-string">&quot;JAVA&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -1458,45 +1458,45 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"PYTHON"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-5463"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"Python Task"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"resourceList"</span>:[
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;PYTHON&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-5463&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;Python Task&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"rawScript"</span>:<span class="hljs-string">"print("</span>This is a python script<span class="hljs-string">")"</span>
+        <span class="hljs-string">&quot;rawScript&quot;</span>:<span class="hljs-string">&quot;print(&quot;</span>This is a python script<span class="hljs-string">&quot;)&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -1743,57 +1743,57 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"FLINK"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-17135"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"FlinkTask"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"mainClass"</span>:<span class="hljs-string">"com.flink.demo"</span>,
-        <span class="hljs-string">"mainJar"</span>:{
-            <span class="hljs-string">"id"</span>:6
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;FLINK&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-17135&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;FlinkTask&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;mainClass&quot;</span>:<span class="hljs-string">&quot;com.flink.demo&quot;</span>,
+        <span class="hljs-string">&quot;mainJar&quot;</span>:{
+            <span class="hljs-string">&quot;id&quot;</span>:6
         },
-        <span class="hljs-string">"deployMode"</span>:<span class="hljs-string">"cluster"</span>,
-        <span class="hljs-string">"resourceList"</span>:[
+        <span class="hljs-string">&quot;deployMode&quot;</span>:<span class="hljs-string">&quot;cluster&quot;</span>,
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"slot"</span>:1,
-        <span class="hljs-string">"taskManager"</span>:<span class="hljs-string">"2"</span>,
-        <span class="hljs-string">"jobManagerMemory"</span>:<span class="hljs-string">"1G"</span>,
-        <span class="hljs-string">"taskManagerMemory"</span>:<span class="hljs-string">"2G"</span>,
-        <span class="hljs-string">"executorCores"</span>:2,
-        <span class="hljs-string">"mainArgs"</span>:<span class="hljs-string">"100"</span>,
-        <span class="hljs-string">"others"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"programType"</span>:<span class="hljs-string">"SCALA"</span>
+        <span class="hljs-string">&quot;slot&quot;</span>:1,
+        <span class="hljs-string">&quot;taskManager&quot;</span>:<span class="hljs-string">&quot;2&quot;</span>,
+        <span class="hljs-string">&quot;jobManagerMemory&quot;</span>:<span class="hljs-string">&quot;1G&quot;</span>,
+        <span class="hljs-string">&quot;taskManagerMemory&quot;</span>:<span class="hljs-string">&quot;2G&quot;</span>,
+        <span class="hljs-string">&quot;executorCores&quot;</span>:2,
+        <span class="hljs-string">&quot;mainArgs&quot;</span>:<span class="hljs-string">&quot;100&quot;</span>,
+        <span class="hljs-string">&quot;others&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;programType&quot;</span>:<span class="hljs-string">&quot;SCALA&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -1992,53 +1992,53 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"HTTP"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-60499"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"HttpTask"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"localParams"</span>:[
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;HTTP&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-60499&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;HttpTask&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"httpParams"</span>:[
+        <span class="hljs-string">&quot;httpParams&quot;</span>:[
             {
-                <span class="hljs-string">"prop"</span>:<span class="hljs-string">"id"</span>,
-                <span class="hljs-string">"httpParametersType"</span>:<span class="hljs-string">"PARAMETER"</span>,
-                <span class="hljs-string">"value"</span>:<span class="hljs-string">"1"</span>
+                <span class="hljs-string">&quot;prop&quot;</span>:<span class="hljs-string">&quot;id&quot;</span>,
+                <span class="hljs-string">&quot;httpParametersType&quot;</span>:<span class="hljs-string">&quot;PARAMETER&quot;</span>,
+                <span class="hljs-string">&quot;value&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>
             },
             {
-                <span class="hljs-string">"prop"</span>:<span class="hljs-string">"name"</span>,
-                <span class="hljs-string">"httpParametersType"</span>:<span class="hljs-string">"PARAMETER"</span>,
-                <span class="hljs-string">"value"</span>:<span class="hljs-string">"Bo"</span>
+                <span class="hljs-string">&quot;prop&quot;</span>:<span class="hljs-string">&quot;name&quot;</span>,
+                <span class="hljs-string">&quot;httpParametersType&quot;</span>:<span class="hljs-string">&quot;PARAMETER&quot;</span>,
+                <span class="hljs-string">&quot;value&quot;</span>:<span class="hljs-string">&quot;Bo&quot;</span>
             }
         ],
-        <span class="hljs-string">"url"</span>:<span class="hljs-string">"https://www.xxxxx.com:9012"</span>,
-        <span class="hljs-string">"httpMethod"</span>:<span class="hljs-string">"POST"</span>,
-        <span class="hljs-string">"httpCheckCondition"</span>:<span class="hljs-string">"STATUS_CODE_DEFAULT"</span>,
-        <span class="hljs-string">"condition"</span>:<span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;url&quot;</span>:<span class="hljs-string">&quot;https://www.xxxxx.com:9012&quot;</span>,
+        <span class="hljs-string">&quot;httpMethod&quot;</span>:<span class="hljs-string">&quot;POST&quot;</span>,
+        <span class="hljs-string">&quot;httpCheckCondition&quot;</span>:<span class="hljs-string">&quot;STATUS_CODE_DEFAULT&quot;</span>,
+        <span class="hljs-string">&quot;condition&quot;</span>:<span class="hljs-string">&quot;&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -2293,49 +2293,49 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"DATAX"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-91196"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"DataxTask-DB"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"customConfig"</span>:0,
-        <span class="hljs-string">"dsType"</span>:<span class="hljs-string">"MYSQL"</span>,
-        <span class="hljs-string">"dataSource"</span>:1,
-        <span class="hljs-string">"dtType"</span>:<span class="hljs-string">"MYSQL"</span>,
-        <span class="hljs-string">"dataTarget"</span>:1,
-        <span class="hljs-string">"sql"</span>:<span class="hljs-string">"select id, name ,age from user "</span>,
-        <span class="hljs-string">"targetTable"</span>:<span class="hljs-string">"emp"</span>,
-        <span class="hljs-string">"jobSpeedByte"</span>:524288,
-        <span class="hljs-string">"jobSpeedRecord"</span>:500,
-        <span class="hljs-string">"preStatements"</span>:[
-            <span class="hljs-string">"truncate table emp "</span>
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;DATAX&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-91196&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;DataxTask-DB&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;customConfig&quot;</span>:0,
+        <span class="hljs-string">&quot;dsType&quot;</span>:<span class="hljs-string">&quot;MYSQL&quot;</span>,
+        <span class="hljs-string">&quot;dataSource&quot;</span>:1,
+        <span class="hljs-string">&quot;dtType&quot;</span>:<span class="hljs-string">&quot;MYSQL&quot;</span>,
+        <span class="hljs-string">&quot;dataTarget&quot;</span>:1,
+        <span class="hljs-string">&quot;sql&quot;</span>:<span class="hljs-string">&quot;select id, name ,age from user &quot;</span>,
+        <span class="hljs-string">&quot;targetTable&quot;</span>:<span class="hljs-string">&quot;emp&quot;</span>,
+        <span class="hljs-string">&quot;jobSpeedByte&quot;</span>:524288,
+        <span class="hljs-string">&quot;jobSpeedRecord&quot;</span>:500,
+        <span class="hljs-string">&quot;preStatements&quot;</span>:[
+            <span class="hljs-string">&quot;truncate table emp &quot;</span>
         ],
-        <span class="hljs-string">"postStatements"</span>:[
-            <span class="hljs-string">"truncate table user"</span>
+        <span class="hljs-string">&quot;postStatements&quot;</span>:[
+            <span class="hljs-string">&quot;truncate table user&quot;</span>
         ]
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -2542,43 +2542,43 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-            <span class="hljs-string">"type"</span>:<span class="hljs-string">"SQOOP"</span>,
-            <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-82041"</span>,
-            <span class="hljs-string">"name"</span>:<span class="hljs-string">"Sqoop Task"</span>,
-            <span class="hljs-string">"params"</span>:{
-                <span class="hljs-string">"concurrency"</span>:1,
-                <span class="hljs-string">"modelType"</span>:<span class="hljs-string">"import"</span>,
-                <span class="hljs-string">"sourceType"</span>:<span class="hljs-string">"MYSQL"</span>,
-                <span class="hljs-string">"targetType"</span>:<span class="hljs-string">"HDFS"</span>,
-                <span class="hljs-string">"sourceParams"</span>:<span class="hljs-string">"{"</span>srcType<span class="hljs-string">":"</span>MYSQL<span class="hljs-string">","</span>srcDatasource<span class="hljs-string">":1,"</span>srcTable<span class="hljs-string">":"</span><span class="hljs-string">","</span>srcQueryType<span class="hljs-string">":"</span>1<span class="hljs-string">","</span>srcQuerySql<span class="hljs-string">":"</span>selec id , name from user<span class="hljs-st [...]
-                <span class="hljs-string">"targetParams"</span>:<span class="hljs-string">"{"</span>targetPath<span class="hljs-string">":"</span>/user/hive/warehouse/ods.db/user<span class="hljs-string">","</span>deleteTargetDir<span class="hljs-string">":false,"</span>fileType<span class="hljs-string">":"</span>--as-avrodatafile<span class="hljs-string">","</span>compressionCodec<span class="hljs-string">":"</span>snappy<span class="hljs-string">","</span>fieldsTerminated<span class="h [...]
-                <span class="hljs-string">"localParams"</span>:[
+            <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SQOOP&quot;</span>,
+            <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-82041&quot;</span>,
+            <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;Sqoop Task&quot;</span>,
+            <span class="hljs-string">&quot;params&quot;</span>:{
+                <span class="hljs-string">&quot;concurrency&quot;</span>:1,
+                <span class="hljs-string">&quot;modelType&quot;</span>:<span class="hljs-string">&quot;import&quot;</span>,
+                <span class="hljs-string">&quot;sourceType&quot;</span>:<span class="hljs-string">&quot;MYSQL&quot;</span>,
+                <span class="hljs-string">&quot;targetType&quot;</span>:<span class="hljs-string">&quot;HDFS&quot;</span>,
+                <span class="hljs-string">&quot;sourceParams&quot;</span>:<span class="hljs-string">&quot;{&quot;</span>srcType<span class="hljs-string">&quot;:&quot;</span>MYSQL<span class="hljs-string">&quot;,&quot;</span>srcDatasource<span class="hljs-string">&quot;:1,&quot;</span>srcTable<span class="hljs-string">&quot;:&quot;</span><span class="hljs-string">&quot;,&quot;</span>srcQueryType<span class="hljs-string">&quot;:&quot;</span>1<span class="hljs-string">&quot;,&quot;</span>sr [...]
+                <span class="hljs-string">&quot;targetParams&quot;</span>:<span class="hljs-string">&quot;{&quot;</span>targetPath<span class="hljs-string">&quot;:&quot;</span>/user/hive/warehouse/ods.db/user<span class="hljs-string">&quot;,&quot;</span>deleteTargetDir<span class="hljs-string">&quot;:false,&quot;</span>fileType<span class="hljs-string">&quot;:&quot;</span>--as-avrodatafile<span class="hljs-string">&quot;,&quot;</span>compressionCodec<span class="hljs-string">&quot;:&quot [...]
+                <span class="hljs-string">&quot;localParams&quot;</span>:[
 
                 ]
             },
-            <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-            <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-            <span class="hljs-string">"conditionResult"</span>:{
-                <span class="hljs-string">"successNode"</span>:[
-                    <span class="hljs-string">""</span>
+            <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+            <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+            <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+                <span class="hljs-string">&quot;successNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ],
-                <span class="hljs-string">"failedNode"</span>:[
-                    <span class="hljs-string">""</span>
+                <span class="hljs-string">&quot;failedNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ]
             },
-            <span class="hljs-string">"dependence"</span>:{
+            <span class="hljs-string">&quot;dependence&quot;</span>:{
 
             },
-            <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-            <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-            <span class="hljs-string">"timeout"</span>:{
-                <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-                <span class="hljs-string">"interval"</span>:null,
-                <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+            <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+            <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+            <span class="hljs-string">&quot;timeout&quot;</span>:{
+                <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+                <span class="hljs-string">&quot;interval&quot;</span>:null,
+                <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
             },
-            <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-            <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-            <span class="hljs-string">"preTasks"</span>:[
+            <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+            <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+            <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
             ]
         }
@@ -2729,40 +2729,40 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"CONDITIONS"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-96189"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"条件"</span>,
-    <span class="hljs-string">"params"</span>:{
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;CONDITIONS&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-96189&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;条件&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
 
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">"test04"</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;test04&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">"test05"</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;test05&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
-        <span class="hljs-string">"relation"</span>:<span class="hljs-string">"AND"</span>,
-        <span class="hljs-string">"dependTaskList"</span>:[
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
+        <span class="hljs-string">&quot;relation&quot;</span>:<span class="hljs-string">&quot;AND&quot;</span>,
+        <span class="hljs-string">&quot;dependTaskList&quot;</span>:[
 
         ]
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
-        <span class="hljs-string">"test01"</span>,
-        <span class="hljs-string">"test02"</span>
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
+        <span class="hljs-string">&quot;test01&quot;</span>,
+        <span class="hljs-string">&quot;test02&quot;</span>
     ]
 }
 </code></pre>
@@ -2920,33 +2920,33 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-            <span class="hljs-string">"type"</span>:<span class="hljs-string">"SUB_PROCESS"</span>,
-            <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-14806"</span>,
-            <span class="hljs-string">"name"</span>:<span class="hljs-string">"SubProcessTask"</span>,
-            <span class="hljs-string">"params"</span>:{
-                <span class="hljs-string">"processDefinitionId"</span>:2
+            <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SUB_PROCESS&quot;</span>,
+            <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-14806&quot;</span>,
+            <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;SubProcessTask&quot;</span>,
+            <span class="hljs-string">&quot;params&quot;</span>:{
+                <span class="hljs-string">&quot;processDefinitionId&quot;</span>:2
             },
-            <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-            <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-            <span class="hljs-string">"conditionResult"</span>:{
-                <span class="hljs-string">"successNode"</span>:[
-                    <span class="hljs-string">""</span>
+            <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+            <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+            <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+                <span class="hljs-string">&quot;successNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ],
-                <span class="hljs-string">"failedNode"</span>:[
-                    <span class="hljs-string">""</span>
+                <span class="hljs-string">&quot;failedNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ]
             },
-            <span class="hljs-string">"dependence"</span>:{
+            <span class="hljs-string">&quot;dependence&quot;</span>:{
 
             },
-            <span class="hljs-string">"timeout"</span>:{
-                <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-                <span class="hljs-string">"interval"</span>:null,
-                <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+            <span class="hljs-string">&quot;timeout&quot;</span>:{
+                <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+                <span class="hljs-string">&quot;interval&quot;</span>:null,
+                <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
             },
-            <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-            <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-            <span class="hljs-string">"preTasks"</span>:[
+            <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+            <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+            <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
             ]
         }
@@ -3138,129 +3138,129 @@
 </table>
 <p><strong>Sample node data:</strong></p>
 <pre><code class="language-bash">{
-            <span class="hljs-string">"type"</span>:<span class="hljs-string">"DEPENDENT"</span>,
-            <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-57057"</span>,
-            <span class="hljs-string">"name"</span>:<span class="hljs-string">"DenpendentTask"</span>,
-            <span class="hljs-string">"params"</span>:{
+            <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;DEPENDENT&quot;</span>,
+            <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-57057&quot;</span>,
+            <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;DenpendentTask&quot;</span>,
+            <span class="hljs-string">&quot;params&quot;</span>:{
 
             },
-            <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-            <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-            <span class="hljs-string">"conditionResult"</span>:{
-                <span class="hljs-string">"successNode"</span>:[
-                    <span class="hljs-string">""</span>
+            <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+            <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+            <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+                <span class="hljs-string">&quot;successNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ],
-                <span class="hljs-string">"failedNode"</span>:[
-                    <span class="hljs-string">""</span>
+                <span class="hljs-string">&quot;failedNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ]
             },
-            <span class="hljs-string">"dependence"</span>:{
-                <span class="hljs-string">"relation"</span>:<span class="hljs-string">"AND"</span>,
-                <span class="hljs-string">"dependTaskList"</span>:[
+            <span class="hljs-string">&quot;dependence&quot;</span>:{
+                <span class="hljs-string">&quot;relation&quot;</span>:<span class="hljs-string">&quot;AND&quot;</span>,
+                <span class="hljs-string">&quot;dependTaskList&quot;</span>:[
                     {
-                        <span class="hljs-string">"relation"</span>:<span class="hljs-string">"AND"</span>,
-                        <span class="hljs-string">"dependItemList"</span>:[
+                        <span class="hljs-string">&quot;relation&quot;</span>:<span class="hljs-string">&quot;AND&quot;</span>,
+                        <span class="hljs-string">&quot;dependItemList&quot;</span>:[
                             {
-                                <span class="hljs-string">"projectId"</span>:1,
-                                <span class="hljs-string">"definitionId"</span>:7,
-                                <span class="hljs-string">"definitionList"</span>:[
+                                <span class="hljs-string">&quot;projectId&quot;</span>:1,
+                                <span class="hljs-string">&quot;definitionId&quot;</span>:7,
+                                <span class="hljs-string">&quot;definitionList&quot;</span>:[
                                     {
-                                        <span class="hljs-string">"value"</span>:8,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"MRTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:8,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;MRTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:7,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"FlinkTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:7,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;FlinkTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:6,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SparkTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:6,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SparkTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:5,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SqlTask-Update"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:5,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SqlTask-Update&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:4,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SqlTask-Query"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:4,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SqlTask-Query&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:3,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SubProcessTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:3,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SubProcessTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:2,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"Python Task"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:2,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;Python Task&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:1,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"Shell Task"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:1,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;Shell Task&quot;</span>
                                     }
                                 ],
-                                <span class="hljs-string">"depTasks"</span>:<span class="hljs-string">"ALL"</span>,
-                                <span class="hljs-string">"cycle"</span>:<span class="hljs-string">"day"</span>,
-                                <span class="hljs-string">"dateValue"</span>:<span class="hljs-string">"today"</span>
+                                <span class="hljs-string">&quot;depTasks&quot;</span>:<span class="hljs-string">&quot;ALL&quot;</span>,
+                                <span class="hljs-string">&quot;cycle&quot;</span>:<span class="hljs-string">&quot;day&quot;</span>,
+                                <span class="hljs-string">&quot;dateValue&quot;</span>:<span class="hljs-string">&quot;today&quot;</span>
                             }
                         ]
                     },
                     {
-                        <span class="hljs-string">"relation"</span>:<span class="hljs-string">"AND"</span>,
-                        <span class="hljs-string">"dependItemList"</span>:[
+                        <span class="hljs-string">&quot;relation&quot;</span>:<span class="hljs-string">&quot;AND&quot;</span>,
+                        <span class="hljs-string">&quot;dependItemList&quot;</span>:[
                             {
-                                <span class="hljs-string">"projectId"</span>:1,
-                                <span class="hljs-string">"definitionId"</span>:5,
-                                <span class="hljs-string">"definitionList"</span>:[
+                                <span class="hljs-string">&quot;projectId&quot;</span>:1,
+                                <span class="hljs-string">&quot;definitionId&quot;</span>:5,
+                                <span class="hljs-string">&quot;definitionList&quot;</span>:[
                                     {
-                                        <span class="hljs-string">"value"</span>:8,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"MRTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:8,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;MRTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:7,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"FlinkTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:7,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;FlinkTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:6,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SparkTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:6,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SparkTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:5,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SqlTask-Update"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:5,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SqlTask-Update&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:4,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SqlTask-Query"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:4,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SqlTask-Query&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:3,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SubProcessTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:3,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SubProcessTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:2,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"Python Task"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:2,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;Python Task&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:1,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"Shell Task"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:1,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;Shell Task&quot;</span>
                                     }
                                 ],
-                                <span class="hljs-string">"depTasks"</span>:<span class="hljs-string">"SqlTask-Update"</span>,
-                                <span class="hljs-string">"cycle"</span>:<span class="hljs-string">"day"</span>,
-                                <span class="hljs-string">"dateValue"</span>:<span class="hljs-string">"today"</span>
+                                <span class="hljs-string">&quot;depTasks&quot;</span>:<span class="hljs-string">&quot;SqlTask-Update&quot;</span>,
+                                <span class="hljs-string">&quot;cycle&quot;</span>:<span class="hljs-string">&quot;day&quot;</span>,
+                                <span class="hljs-string">&quot;dateValue&quot;</span>:<span class="hljs-string">&quot;today&quot;</span>
                             }
                         ]
                     }
                 ]
             },
-            <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-            <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-            <span class="hljs-string">"timeout"</span>:{
-                <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-                <span class="hljs-string">"interval"</span>:null,
-                <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+            <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+            <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+            <span class="hljs-string">&quot;timeout&quot;</span>:{
+                <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+                <span class="hljs-string">&quot;interval&quot;</span>:null,
+                <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
             },
-            <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-            <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-            <span class="hljs-string">"preTasks"</span>:[
+            <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+            <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+            <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
             ]
         }
@@ -3269,7 +3269,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/task-structure.json b/en-us/docs/1.3.1/user_doc/task-structure.json
index f50578d..fa5660e 100644
--- a/en-us/docs/1.3.1/user_doc/task-structure.json
+++ b/en-us/docs/1.3.1/user_doc/task-structure.json
@@ -1,6 +1,6 @@
 {
   "filename": "task-structure.md",
-  "__html": "<h1>Overall task storage structure</h1>\n<p>All tasks created in dolphinscheduler are saved in the t_ds_process_definition table.</p>\n<p>The database table structure is shown in the following table:</p>\n<table>\n<thead>\n<tr>\n<th>Serial number</th>\n<th>Field</th>\n<th>Types</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>id</td>\n<td>int(11)</td>\n<td>Primary key</td>\n</tr>\n<tr>\n<td>2</td>\n<td>name</td>\n<td>varchar(255)</td>\n<td>Process  [...]
-  "link": "/en-us/docs/1.3.1/user_doc/task-structure.html",
+  "__html": "<h1>Overall task storage structure</h1>\n<p>All tasks created in dolphinscheduler are saved in the t_ds_process_definition table.</p>\n<p>The database table structure is shown in the following table:</p>\n<table>\n<thead>\n<tr>\n<th>Serial number</th>\n<th>Field</th>\n<th>Types</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>id</td>\n<td>int(11)</td>\n<td>Primary key</td>\n</tr>\n<tr>\n<td>2</td>\n<td>name</td>\n<td>varchar(255)</td>\n<td>Process  [...]
+  "link": "/dist/en-us/docs/1.3.1/user_doc/task-structure.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.1/user_doc/upgrade.html b/en-us/docs/1.3.1/user_doc/upgrade.html
index 31178d2..78a2a9b 100644
--- a/en-us/docs/1.3.1/user_doc/upgrade.html
+++ b/en-us/docs/1.3.1/user_doc/upgrade.html
@@ -7,16 +7,16 @@
   <meta name="description" content="upgrade" />
   <title>upgrade</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>1. Back up files and databases of the previous version</h2>
 <h2>2. Stop all services of dolphinscheduler</h2>
 <p><code>sh ./script/stop-all.sh</code></p>
 <h2>3. Download the new version of the installation package</h2>
 <ul>
-<li><a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a>, Download the latest version of the binary installation package</li>
+<li><a href="/en-us/download/download.html">Download</a>, Download the latest version of the binary installation package</li>
 <li>The following upgrade operations need to be performed in the new version directory</li>
 </ul>
 <h2>4. Database upgrade</h2>
@@ -43,8 +43,8 @@
 <p><code>sh ./script/upgrade-dolphinscheduler.sh</code></p>
 <h2>5. Service upgrade</h2>
 <h3>5.1 Modify <code>conf/config/install_config.conf</code> configuration content</h3>
-<p>For standalone deployment, please refer to <a href="https://dolphinscheduler.apache.org/zh-cn/docs/1.3.1/user_doc/standalone-deployment.html">Standalone deployment</a> in <code>6. Modify the running parameters section</code>
-For cluster deployment, please refer to <a href="https://dolphinscheduler.apache.org/zh-cn/docs/1.3.1/user_doc/cluster-deployment.html">Cluster Deployment (Cluster)</a> in <code>6. Modify the operating parameters section</code></p>
+<p>For standalone deployment, please refer to <a href="/en-us/docs/1.3.1/user_doc/standalone-deployment.html">Standalone deployment</a> in <code>6. Modify the running parameters section</code>
+For cluster deployment, please refer to <a href="/en-us/docs/1.3.1/user_doc/cluster-deployment.html">Cluster Deployment (Cluster)</a> in <code>6. Modify the operating parameters section</code></p>
 <h3>Precautions</h3>
 <p>Creating worker groups has a different design in version 1.3.1 and previous versions</p>
 <ul>
@@ -100,7 +100,7 @@ For cluster deployment, please refer to <a href="https://dolphinscheduler.apache
 </table>
 <p>In order to keep the grouping consistent with the previous version of the worker, you need to change the workers parameter to the following</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">workerService is deployed on <span class="hljs-built_in">which</span> machine, and specify <span class="hljs-built_in">which</span> worker group this worker belongs to</span>
-workers="ds1:service1,ds2:service2,ds3:service2"
+workers=&quot;ds1:service1,ds2:service2,ds3:service2&quot;
 </code></pre>
 <h3>5.2 Execute deployment script</h3>
 <pre><code class="language-shell">`sh install.sh`
@@ -109,7 +109,7 @@ workers="ds1:service1,ds2:service2,ds3:service2"
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.1/user_doc/upgrade.json b/en-us/docs/1.3.1/user_doc/upgrade.json
index 2fcb558..504b91c 100644
--- a/en-us/docs/1.3.1/user_doc/upgrade.json
+++ b/en-us/docs/1.3.1/user_doc/upgrade.json
@@ -1,6 +1,6 @@
 {
   "filename": "upgrade.md",
-  "__html": "<h1>DolphinScheduler Upgrade document</h1>\n<h2>1. Back up files and databases of the previous version</h2>\n<h2>2. Stop all services of dolphinscheduler</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version of the installation package</h2>\n<ul>\n<li><a href=\"https://dolphinscheduler.apache.org/en-us/docs/release/download.html\">Download</a>, Download the latest version of the binary installation package</li>\n<li>The following upgrade operatio [...]
-  "link": "/en-us/docs/1.3.1/user_doc/upgrade.html",
+  "__html": "<h1>DolphinScheduler Upgrade document</h1>\n<h2>1. Back up files and databases of the previous version</h2>\n<h2>2. Stop all services of dolphinscheduler</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version of the installation package</h2>\n<ul>\n<li><a href=\"/en-us/download/download.html\">Download</a>, Download the latest version of the binary installation package</li>\n<li>The following upgrade operations need to be performed in the new vers [...]
+  "link": "/dist/en-us/docs/1.3.1/user_doc/upgrade.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.2/user_doc/cluster-deployment.html b/en-us/docs/1.3.2/user_doc/cluster-deployment.html
index 278c804..98b00b6 100644
--- a/en-us/docs/1.3.2/user_doc/cluster-deployment.html
+++ b/en-us/docs/1.3.2/user_doc/cluster-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="cluster-deployment" />
   <title>cluster-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h1>1、Before you begin (please install requirement basic software by yourself)</h1>
 <ul>
 <li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color="#dd0000">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>
@@ -22,7 +22,7 @@
 </code></pre>
 <h1>2、Download the binary package.</h1>
 <ul>
-<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
+<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Do not choose a deployment directory with a high-privilege directory such as / root or / home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -40,11 +40,11 @@ mv apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin  dolphinschedul
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> Set the user password, please modify it yourself. The following takes dolphinscheduler123 as an example.</span>
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler123&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> Configure sudo passwordless</span>
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+echo &#x27;dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; &gt;&gt; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 
 </code></pre>
 <pre><code> Notes:
@@ -93,7 +93,7 @@ done
 <p>On ds1, switch to the deployment user and configure ssh passwordless login</p>
 <pre><code class="language-shell"> su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -127,8 +127,8 @@ done
 <li>After entering the database command line window, execute the database initialization command and set the user and password. <strong>Note: {user} and {password} need to be replaced with a specific database username and password</strong></li>
 </ul>
 <pre><code class="language-mysql">   mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
    mysql&gt; flush privileges;
 </code></pre>
 <ul>
@@ -190,110 +190,110 @@ done
 <li>
 <p>Modify the parameters in the one-click deployment config file <code>conf/config/install_config.conf</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address and port</span>
-dbhost="192.168.xx.xx:3306"
+dbhost=&quot;192.168.xx.xx:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database username</span>
-username="xxx"
+username=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database password</span>
 <span class="hljs-meta">#</span><span class="bash"> NOTICE: <span class="hljs-keyword">if</span> there are special characters, please use the \ to escape, <span class="hljs-keyword">for</span> example, `[` escape to `\[`</span>
-password="xxx"
+password=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash">Zookeeper cluster</span>
-zkQuorum="192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"
+zkQuorum=&quot;192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Note: the target installation path <span class="hljs-keyword">for</span> dolphinscheduler, please not config as the same as the current path (<span class="hljs-built_in">pwd</span>)</span>
-installPath="/opt/soft/dolphinscheduler"
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> deployment user</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: the deployment user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled, the root directory needs to be created by itself</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> alert config,take QQ email <span class="hljs-keyword">for</span> example</span>
 <span class="hljs-meta">#</span><span class="bash"> mail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server host</span>
-mailServerHost="smtp.qq.com"
+mailServerHost=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server port</span>
 <span class="hljs-meta">#</span><span class="bash"> note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, make sure the port is correct.</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail user</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender password</span>
 <span class="hljs-meta">#</span><span class="bash"> note: The mail.passwd is email service authorization code, not the email login password.</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported。</span>
 <span class="hljs-meta">#</span><span class="bash"> note: only one of TLS and SSL can be <span class="hljs-keyword">in</span> the <span class="hljs-literal">true</span> state.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> note: sslTrust is the same as mailServerHost</span>
-sslTrust="smtp.qq.com"
+sslTrust=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> resource storage <span class="hljs-built_in">type</span>:HDFS,S3,NONE</span>
-resourceStorageType="HDFS"
+resourceStorageType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> If resourceStorageType = HDFS, and your Hadoop Cluster NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or host name.</span>
 <span class="hljs-meta">#</span><span class="bash"> <span class="hljs-keyword">if</span> S3,write S3 address,HA,<span class="hljs-keyword">for</span> example :s3a://dolphinscheduler,</span>
 <span class="hljs-meta">#</span><span class="bash"> Note,s3 be sure to create the root directory /dolphinscheduler</span>
-defaultFS="hdfs://mycluster:8020"
+defaultFS=&quot;hdfs://mycluster:8020&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> <span class="hljs-keyword">if</span> not use hadoop resourcemanager, please keep default value; <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span>, please <span class="hljs-built_in">type</span> the HA ips ; <span class="hljs-keyword">if</span> resourcemanager is single, make this value empty</span>
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
+yarnHaIps=&quot;192.168.xx.xx,192.168.xx.xx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span> or not use resourcemanager, please skip this value setting; If resourcemanager is single, you only need to replace yarnIp1 to actual resourcemanager hostname.</span>
-singleYarnIp="yarnIp1"
+singleYarnIp=&quot;yarnIp1&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have <span class="hljs-built_in">read</span> write permissions。/dolphinscheduler is recommended</span>
-resourceUploadPath="/dolphinscheduler"
+resourceUploadPath=&quot;/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> who have permissions to create directory under HDFS/S3 root path</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> kerberos is enabled, please config hdfsRootUser=</span>
-hdfsRootUser="hdfs"
+hdfsRootUser=&quot;hdfs&quot;
 <span class="hljs-meta">
 
 
 #</span><span class="bash"> install hosts</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: install the scheduled hostname list. If it is pseudo-distributed, just write a pseudo-distributed hostname</span>
-ips="ds1,ds2,ds3,ds4"
+ips=&quot;ds1,ds2,ds3,ds4&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> ssh port, default 22</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> ssh port is not default, modify here</span>
-sshPort="22"
+sshPort=&quot;22&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run master machine</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: list of hosts hostname <span class="hljs-keyword">for</span> deploying master</span>
-masters="ds1,ds2"
+masters=&quot;ds1,ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run worker machine</span>
-<span class="hljs-meta">#</span><span class="bash"> note: need to write the worker group name of each worker, the default value is <span class="hljs-string">"default"</span></span>
-workers="ds3:default,ds4:default"
+<span class="hljs-meta">#</span><span class="bash"> note: need to write the worker group name of each worker, the default value is <span class="hljs-string">&quot;default&quot;</span></span>
+workers=&quot;ds3:default,ds4:default&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run alert machine</span>
 <span class="hljs-meta">#</span><span class="bash"> note: list of machine hostnames <span class="hljs-keyword">for</span> deploying alert server</span>
-alertServer="ds2"
+alertServer=&quot;ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run api machine</span>
 <span class="hljs-meta">#</span><span class="bash"> note: list of machine hostnames <span class="hljs-keyword">for</span> deploying api server</span>
-apiServers="ds1"
+apiServers=&quot;ds1&quot;
 
 </code></pre>
 <p><em>Attention:</em></p>
@@ -387,7 +387,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.2/user_doc/cluster-deployment.json b/en-us/docs/1.3.2/user_doc/cluster-deployment.json
index b921cb7..fa51f68 100644
--- a/en-us/docs/1.3.2/user_doc/cluster-deployment.json
+++ b/en-us/docs/1.3.2/user_doc/cluster-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "cluster-deployment.md",
-  "__html": "<h1>Cluster Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color=\"#dd0000\">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile [...]
-  "link": "/en-us/docs/1.3.2/user_doc/cluster-deployment.html",
+  "__html": "<h1>Cluster Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color=\"#dd0000\">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile [...]
+  "link": "/dist/en-us/docs/1.3.2/user_doc/cluster-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.2/user_doc/hardware-environment.html b/en-us/docs/1.3.2/user_doc/hardware-environment.html
index 60272fa..75de4c6 100644
--- a/en-us/docs/1.3.2/user_doc/hardware-environment.html
+++ b/en-us/docs/1.3.2/user_doc/hardware-environment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="hardware-environment" />
   <title>hardware-environment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>
 <h2>1. Linux operating system version requirements</h2>
 <table>
@@ -114,7 +114,7 @@ The above Linux operating systems can run on physical servers and mainstream vir
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.2/user_doc/hardware-environment.json b/en-us/docs/1.3.2/user_doc/hardware-environment.json
index d0b4327..098e254 100644
--- a/en-us/docs/1.3.2/user_doc/hardware-environment.json
+++ b/en-us/docs/1.3.2/user_doc/hardware-environment.json
@@ -1,6 +1,6 @@
 {
   "filename": "hardware-environment.md",
   "__html": "<h1>Hareware Environment</h1>\n<p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>\n<h2>1. Linux operating system version requirements</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:left\">OS</th>\n<th style=\"text-align:center\">Version</th>\n</tr>\n</thead>\n [...]
-  "link": "/en-us/docs/1.3.2/user_doc/hardware-environment.html",
+  "link": "/dist/en-us/docs/1.3.2/user_doc/hardware-environment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.2/user_doc/metadata-1.3.html b/en-us/docs/1.3.2/user_doc/metadata-1.3.html
index a73a9b3..e11d0be 100644
--- a/en-us/docs/1.3.2/user_doc/metadata-1.3.html
+++ b/en-us/docs/1.3.2/user_doc/metadata-1.3.html
@@ -7,10 +7,10 @@
   <meta name="description" content="metadata-1.3" />
   <title>metadata-1.3</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p><a name="V5KOl"></a></p>
 <h3>Dolphin Scheduler 1.2 DB Table Overview</h3>
 <table>
@@ -642,7 +642,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.2/user_doc/metadata-1.3.json b/en-us/docs/1.3.2/user_doc/metadata-1.3.json
index 2d113f4..9ff0cf6 100644
--- a/en-us/docs/1.3.2/user_doc/metadata-1.3.json
+++ b/en-us/docs/1.3.2/user_doc/metadata-1.3.json
@@ -1,6 +1,6 @@
 {
   "filename": "metadata-1.3.md",
   "__html": "<h1>Dolphin Scheduler 1.3 MetaData</h1>\n<p><a name=\"V5KOl\"></a></p>\n<h3>Dolphin Scheduler 1.2 DB Table Overview</h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Table Name</th>\n<th style=\"text-align:center\">Comment</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">t_ds_access_token</td>\n<td style=\"text-align:center\">token for access ds backend</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">t_ds_alert</td>\n<td style=\"text-align [...]
-  "link": "/en-us/docs/1.3.2/user_doc/metadata-1.3.html",
+  "link": "/dist/en-us/docs/1.3.2/user_doc/metadata-1.3.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.2/user_doc/quick-start.html b/en-us/docs/1.3.2/user_doc/quick-start.html
index a662d71..16c2357 100644
--- a/en-us/docs/1.3.2/user_doc/quick-start.html
+++ b/en-us/docs/1.3.2/user_doc/quick-start.html
@@ -7,10 +7,10 @@
   <meta name="description" content="quick-start" />
   <title>quick-start</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <ul>
 <li>
 <p>Administrator user login</p>
@@ -88,7 +88,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.2/user_doc/quick-start.json b/en-us/docs/1.3.2/user_doc/quick-start.json
index 52e03c2..e99b0f8 100644
--- a/en-us/docs/1.3.2/user_doc/quick-start.json
+++ b/en-us/docs/1.3.2/user_doc/quick-start.json
@@ -1,6 +1,6 @@
 {
   "filename": "quick-start.md",
   "__html": "<h1>Quick Start</h1>\n<ul>\n<li>\n<p>Administrator user login</p>\n<blockquote>\n<p>Address:<a href=\"http://192.168.xx.xx:12345/dolphinscheduler\">http://192.168.xx.xx:12345/dolphinscheduler</a>  Username and password:admin/dolphinscheduler123</p>\n</blockquote>\n</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/login_en.png\" width=\"60%\" />\n </p>\n<ul>\n<li>Create queue</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/create-queue-en.png\" width=\"60%\" />\n < [...]
-  "link": "/en-us/docs/1.3.2/user_doc/quick-start.html",
+  "link": "/dist/en-us/docs/1.3.2/user_doc/quick-start.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.2/user_doc/standalone-deployment.html b/en-us/docs/1.3.2/user_doc/standalone-deployment.html
index c993777..62c8a90 100644
--- a/en-us/docs/1.3.2/user_doc/standalone-deployment.html
+++ b/en-us/docs/1.3.2/user_doc/standalone-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="standalone-deployment" />
   <title>standalone-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h1>1、Install basic softwares (please install required softwares by yourself)</h1>
 <ul>
 <li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color="#dd0000">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>
@@ -22,7 +22,7 @@
 </code></pre>
 <h1>2、Download the binary tar.gz package.</h1>
 <ul>
-<li>Please download the latest version installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a>, download package, move to deployment directory and unzip it.</li>
+<li>Please download the latest version installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a>, download package, move to deployment directory and unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Please <span class="hljs-keyword">do</span> not choose a high-privilege directory such as /root or /home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -42,11 +42,11 @@ mv apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin  dolphinschedul
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> Set the user password, please modify it yourself.</span>
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler123&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> Configure sudo secret-free</span>
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+echo &#x27;dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; &gt;&gt; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 <span class="hljs-meta">
 #</span><span class="bash"> Modify the directory permissions so that the deployment user has operation permissions on the dolphinscheduler-bin directory</span>
 chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
@@ -62,7 +62,7 @@ chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
 <p>Switch to the deployment user and configure SSH local secret-free login</p>
 <pre><code class="language-shell">su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -80,8 +80,8 @@ chmod 600 ~/.ssh/authorized_keys
 </ul>
 <p><strong>Note: {user} and {password} need to be replaced with a specific database username and password.</strong></p>
 <pre><code class="language-mysql">   mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
    mysql&gt; flush privileges;
 </code></pre>
 <ul>
@@ -141,99 +141,99 @@ chmod 600 ~/.ssh/authorized_keys
 <li>
 <p>Modify the parameters in the one-click deployment config file <code>conf/config/install_config.conf</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address and port</span>
-dbhost="localhost:3306"
+dbhost=&quot;localhost:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database username</span>
-username="xxx"
+username=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database password</span>
 <span class="hljs-meta">#</span><span class="bash"> NOTICE: <span class="hljs-keyword">if</span> there are special characters, please use the \ to escape, <span class="hljs-keyword">for</span> example, `[` escape to `\[`</span>
-password="xxx"
+password=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Zookeeper address, localhost:2181, remember port 2181</span>
-zkQuorum="localhost:2181"
+zkQuorum=&quot;localhost:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Note: the target installation path <span class="hljs-keyword">for</span> dolphinscheduler, please <span class="hljs-keyword">do</span> not use current path (<span class="hljs-built_in">pwd</span>)</span>
-installPath="/opt/soft/dolphinscheduler"
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> deployment user</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: the deployment user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled, the root directory needs to be created by itself</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> alert config,take QQ email <span class="hljs-keyword">for</span> example</span>
 <span class="hljs-meta">#</span><span class="bash"> mail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server host</span>
-mailServerHost="smtp.qq.com"
+mailServerHost=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server port</span>
 <span class="hljs-meta">#</span><span class="bash"> note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, port may be different, make sure the port is correct.</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail user</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender password</span>
 <span class="hljs-meta">#</span><span class="bash"> note: The mail.passwd is email service authorization code, not the email login password.</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported。</span>
 <span class="hljs-meta">#</span><span class="bash"> note: only one of TLS and SSL can be <span class="hljs-keyword">in</span> the <span class="hljs-literal">true</span> state.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> note: sslTrust is the same as mailServerHost</span>
-sslTrust="smtp.qq.com"
+sslTrust=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource storage <span class="hljs-built_in">type</span>:HDFS,S3,NONE</span>
-resourceStorageType="HDFS"
+resourceStorageType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> here is an example of saving to a <span class="hljs-built_in">local</span> file system</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: If you want to upload resource file(jar file and so on)to HDFS and the NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml of hadoop cluster <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and Configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or ho [...]
-defaultFS="file:///data/dolphinscheduler"
+defaultFS=&quot;file:///data/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> not use hadoop resourcemanager, please keep default value; <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span>, please <span class="hljs-built_in">type</span> the HA ips ; <span class="hljs-keyword">if</span> resourcemanager is single, make this value empty</span>
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
+yarnHaIps=&quot;192.168.xx.xx,192.168.xx.xx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span> or not use resourcemanager, please skip this value setting; If resourcemanager is single, you only need to replace yarnIp1 to actual resourcemanager hostname.</span>
-singleYarnIp="yarnIp1"
+singleYarnIp=&quot;yarnIp1&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have <span class="hljs-built_in">read</span> write permissions。/dolphinscheduler is recommended</span>
-resourceUploadPath="/data/dolphinscheduler"
+resourceUploadPath=&quot;/data/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> specify the user who have permissions to create directory under HDFS/S3 root path</span>
-hdfsRootUser="hdfs"
+hdfsRootUser=&quot;hdfs&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On <span class="hljs-built_in">which</span> machines to deploy the DS service, choose localhost <span class="hljs-keyword">for</span> this machine</span>
-ips="localhost"
+ips=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> ssh port, default 22</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> ssh port is not default, modify here</span>
-sshPort="22"
+sshPort=&quot;22&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run master machine</span>
-masters="localhost"
+masters=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run worker machine</span>
-workers="localhost"
+workers=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run alert machine</span>
-alertServer="localhost"
+alertServer=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run api machine</span>
-apiServers="localhost"
+apiServers=&quot;localhost&quot;
 
 </code></pre>
 <p><em>Attention:</em> if you need upload resource function, please execute below command:</p>
@@ -329,7 +329,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.2/user_doc/standalone-deployment.json b/en-us/docs/1.3.2/user_doc/standalone-deployment.json
index d1f2948..35a26b4 100644
--- a/en-us/docs/1.3.2/user_doc/standalone-deployment.json
+++ b/en-us/docs/1.3.2/user_doc/standalone-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "standalone-deployment.md",
-  "__html": "<h1>Standalone Deployment</h1>\n<h1>1、Install basic softwares (please install required softwares by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color=\"#dd0000\">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profi [...]
-  "link": "/en-us/docs/1.3.2/user_doc/standalone-deployment.html",
+  "__html": "<h1>Standalone Deployment</h1>\n<h1>1、Install basic softwares (please install required softwares by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color=\"#dd0000\">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profi [...]
+  "link": "/dist/en-us/docs/1.3.2/user_doc/standalone-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.2/user_doc/system-manual.html b/en-us/docs/1.3.2/user_doc/system-manual.html
index 567ca3d..5a5364d 100644
--- a/en-us/docs/1.3.2/user_doc/system-manual.html
+++ b/en-us/docs/1.3.2/user_doc/system-manual.html
@@ -7,10 +7,10 @@
   <meta name="description" content="system-manual" />
   <title>system-manual</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>Get started quickly</h2>
 <blockquote>
 <p>Please refer to <a href="quick-start.html">Quick Start</a></p>
@@ -1014,7 +1014,7 @@ example:</li>
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.2/user_doc/system-manual.json b/en-us/docs/1.3.2/user_doc/system-manual.json
index 2940273..2b909f0 100644
--- a/en-us/docs/1.3.2/user_doc/system-manual.json
+++ b/en-us/docs/1.3.2/user_doc/system-manual.json
@@ -1,6 +1,6 @@
 {
   "filename": "system-manual.md",
   "__html": "<h1>System User Manual</h1>\n<h2>Get started quickly</h2>\n<blockquote>\n<p>Please refer to <a href=\"quick-start.html\">Quick Start</a></p>\n</blockquote>\n<h2>Operation guide</h2>\n<h3>1. Home</h3>\n<p>The home page contains task status statistics, process status statistics, and workflow definition statistics for all projects of the user.</p>\n<p align=\"center\">\n<img src=\"/img/home_en.png\" width=\"80%\" />\n</p>\n<h3>2. Project management</h3>\n<h4>2.1 Create project< [...]
-  "link": "/en-us/docs/1.3.2/user_doc/system-manual.html",
+  "link": "/dist/en-us/docs/1.3.2/user_doc/system-manual.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.2/user_doc/upgrade.html b/en-us/docs/1.3.2/user_doc/upgrade.html
index aebfcf6..0957b8e 100644
--- a/en-us/docs/1.3.2/user_doc/upgrade.html
+++ b/en-us/docs/1.3.2/user_doc/upgrade.html
@@ -7,16 +7,16 @@
   <meta name="description" content="upgrade" />
   <title>upgrade</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>1. Back up previous version's files and database.</h2>
 <h2>2. Stop all services of DolphinScheduler.</h2>
 <p><code>sh ./script/stop-all.sh</code></p>
 <h2>3. Download the new version's installation package.</h2>
 <ul>
-<li><a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a> the latest version of the installation packages.</li>
+<li><a href="/en-us/download/download.html">Download</a> the latest version of the installation packages.</li>
 <li>The following upgrade operations need to be performed in the new version's directory.</li>
 </ul>
 <h2>4. Database upgrade</h2>
@@ -44,8 +44,8 @@
 <h2>5. Backend service upgrade.</h2>
 <h3>5.1 Modify the content in <code>conf/config/install_config.conf</code> file.</h3>
 <ul>
-<li>Standalone Deployment please refer the [6, Modify running arguments] in <a href="https://dolphinscheduler.apache.org/en-us/docs/1.3.2/user_doc/standalone-deployment.html">Standalone-Deployment</a>.</li>
-<li>Cluster Deployment please refer the [6, Modify running arguments] in <a href="https://dolphinscheduler.apache.org/en-us/docs/1.3.2/user_doc/cluster-deployment.html">Cluster-Deployment</a>.</li>
+<li>Standalone Deployment please refer the [6, Modify running arguments] in <a href="/en-us/docs/1.3.2/user_doc/standalone-deployment.html">Standalone-Deployment</a>.</li>
+<li>Cluster Deployment please refer the [6, Modify running arguments] in <a href="/en-us/docs/1.3.2/user_doc/cluster-deployment.html">Cluster-Deployment</a>.</li>
 </ul>
 <h4>Masters need attentions</h4>
 <p>Create worker group in 1.3.1 version has different design:</p>
@@ -101,8 +101,8 @@
 </tbody>
 </table>
 <p>To keep worker group config consistant with previous version, we need to modify workers config item as below:</p>
-<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">worker service is deployed on <span class="hljs-built_in">which</span> machine, and also specify <span class="hljs-built_in">which</span> worker group this worker belong to. </span>
-workers="ds1:service1,ds2:service2,ds3:service2"
+<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">worker service is deployed on <span class="hljs-built_in">which</span> machine, and also specify <span class="hljs-built_in">which</span> worker group this worker belong to.</span> 
+workers=&quot;ds1:service1,ds2:service2,ds3:service2&quot;
 </code></pre>
 <h4>The worker group has been enhanced in version 1.3.2.</h4>
 <p>Worker in 1.3.1 can't belong to more than one worker group, in 1.3.2 it's supported. So in 1.3.1 it's not supported when workers=&quot;ds1:service1,ds1:service2&quot;, and in 1.3.2 it's supported.</p>
@@ -113,7 +113,7 @@ workers="ds1:service1,ds2:service2,ds3:service2"
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.2/user_doc/upgrade.json b/en-us/docs/1.3.2/user_doc/upgrade.json
index d290dc4..19404f5 100644
--- a/en-us/docs/1.3.2/user_doc/upgrade.json
+++ b/en-us/docs/1.3.2/user_doc/upgrade.json
@@ -1,6 +1,6 @@
 {
   "filename": "upgrade.md",
-  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up previous version's files and database.</h2>\n<h2>2. Stop all services of DolphinScheduler.</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version's installation package.</h2>\n<ul>\n<li><a href=\"https://dolphinscheduler.apache.org/en-us/docs/release/download.html\">Download</a> the latest version of the installation packages.</li>\n<li>The following upgrade operations need to be perf [...]
-  "link": "/en-us/docs/1.3.2/user_doc/upgrade.html",
+  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up previous version's files and database.</h2>\n<h2>2. Stop all services of DolphinScheduler.</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version's installation package.</h2>\n<ul>\n<li><a href=\"/en-us/download/download.html\">Download</a> the latest version of the installation packages.</li>\n<li>The following upgrade operations need to be performed in the new version's directory.</ [...]
+  "link": "/dist/en-us/docs/1.3.2/user_doc/upgrade.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.3/user_doc/cluster-deployment.html b/en-us/docs/1.3.3/user_doc/cluster-deployment.html
index 278c804..98b00b6 100644
--- a/en-us/docs/1.3.3/user_doc/cluster-deployment.html
+++ b/en-us/docs/1.3.3/user_doc/cluster-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="cluster-deployment" />
   <title>cluster-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h1>1、Before you begin (please install requirement basic software by yourself)</h1>
 <ul>
 <li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color="#dd0000">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>
@@ -22,7 +22,7 @@
 </code></pre>
 <h1>2、Download the binary package.</h1>
 <ul>
-<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
+<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Do not choose a deployment directory with a high-privilege directory such as / root or / home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -40,11 +40,11 @@ mv apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin  dolphinschedul
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> Set the user password, please modify it yourself. The following takes dolphinscheduler123 as an example.</span>
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler123&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> Configure sudo passwordless</span>
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+echo &#x27;dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; &gt;&gt; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 
 </code></pre>
 <pre><code> Notes:
@@ -93,7 +93,7 @@ done
 <p>On ds1, switch to the deployment user and configure ssh passwordless login</p>
 <pre><code class="language-shell"> su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -127,8 +127,8 @@ done
 <li>After entering the database command line window, execute the database initialization command and set the user and password. <strong>Note: {user} and {password} need to be replaced with a specific database username and password</strong></li>
 </ul>
 <pre><code class="language-mysql">   mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
    mysql&gt; flush privileges;
 </code></pre>
 <ul>
@@ -190,110 +190,110 @@ done
 <li>
 <p>Modify the parameters in the one-click deployment config file <code>conf/config/install_config.conf</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address and port</span>
-dbhost="192.168.xx.xx:3306"
+dbhost=&quot;192.168.xx.xx:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database username</span>
-username="xxx"
+username=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database password</span>
 <span class="hljs-meta">#</span><span class="bash"> NOTICE: <span class="hljs-keyword">if</span> there are special characters, please use the \ to escape, <span class="hljs-keyword">for</span> example, `[` escape to `\[`</span>
-password="xxx"
+password=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash">Zookeeper cluster</span>
-zkQuorum="192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"
+zkQuorum=&quot;192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Note: the target installation path <span class="hljs-keyword">for</span> dolphinscheduler, please not config as the same as the current path (<span class="hljs-built_in">pwd</span>)</span>
-installPath="/opt/soft/dolphinscheduler"
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> deployment user</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: the deployment user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled, the root directory needs to be created by itself</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> alert config,take QQ email <span class="hljs-keyword">for</span> example</span>
 <span class="hljs-meta">#</span><span class="bash"> mail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server host</span>
-mailServerHost="smtp.qq.com"
+mailServerHost=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server port</span>
 <span class="hljs-meta">#</span><span class="bash"> note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, make sure the port is correct.</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail user</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender password</span>
 <span class="hljs-meta">#</span><span class="bash"> note: The mail.passwd is email service authorization code, not the email login password.</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported。</span>
 <span class="hljs-meta">#</span><span class="bash"> note: only one of TLS and SSL can be <span class="hljs-keyword">in</span> the <span class="hljs-literal">true</span> state.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> note: sslTrust is the same as mailServerHost</span>
-sslTrust="smtp.qq.com"
+sslTrust=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> resource storage <span class="hljs-built_in">type</span>:HDFS,S3,NONE</span>
-resourceStorageType="HDFS"
+resourceStorageType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> If resourceStorageType = HDFS, and your Hadoop Cluster NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or host name.</span>
 <span class="hljs-meta">#</span><span class="bash"> <span class="hljs-keyword">if</span> S3,write S3 address,HA,<span class="hljs-keyword">for</span> example :s3a://dolphinscheduler,</span>
 <span class="hljs-meta">#</span><span class="bash"> Note,s3 be sure to create the root directory /dolphinscheduler</span>
-defaultFS="hdfs://mycluster:8020"
+defaultFS=&quot;hdfs://mycluster:8020&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> <span class="hljs-keyword">if</span> not use hadoop resourcemanager, please keep default value; <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span>, please <span class="hljs-built_in">type</span> the HA ips ; <span class="hljs-keyword">if</span> resourcemanager is single, make this value empty</span>
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
+yarnHaIps=&quot;192.168.xx.xx,192.168.xx.xx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span> or not use resourcemanager, please skip this value setting; If resourcemanager is single, you only need to replace yarnIp1 to actual resourcemanager hostname.</span>
-singleYarnIp="yarnIp1"
+singleYarnIp=&quot;yarnIp1&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have <span class="hljs-built_in">read</span> write permissions。/dolphinscheduler is recommended</span>
-resourceUploadPath="/dolphinscheduler"
+resourceUploadPath=&quot;/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> who have permissions to create directory under HDFS/S3 root path</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> kerberos is enabled, please config hdfsRootUser=</span>
-hdfsRootUser="hdfs"
+hdfsRootUser=&quot;hdfs&quot;
 <span class="hljs-meta">
 
 
 #</span><span class="bash"> install hosts</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: install the scheduled hostname list. If it is pseudo-distributed, just write a pseudo-distributed hostname</span>
-ips="ds1,ds2,ds3,ds4"
+ips=&quot;ds1,ds2,ds3,ds4&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> ssh port, default 22</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> ssh port is not default, modify here</span>
-sshPort="22"
+sshPort=&quot;22&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run master machine</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: list of hosts hostname <span class="hljs-keyword">for</span> deploying master</span>
-masters="ds1,ds2"
+masters=&quot;ds1,ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run worker machine</span>
-<span class="hljs-meta">#</span><span class="bash"> note: need to write the worker group name of each worker, the default value is <span class="hljs-string">"default"</span></span>
-workers="ds3:default,ds4:default"
+<span class="hljs-meta">#</span><span class="bash"> note: need to write the worker group name of each worker, the default value is <span class="hljs-string">&quot;default&quot;</span></span>
+workers=&quot;ds3:default,ds4:default&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run alert machine</span>
 <span class="hljs-meta">#</span><span class="bash"> note: list of machine hostnames <span class="hljs-keyword">for</span> deploying alert server</span>
-alertServer="ds2"
+alertServer=&quot;ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run api machine</span>
 <span class="hljs-meta">#</span><span class="bash"> note: list of machine hostnames <span class="hljs-keyword">for</span> deploying api server</span>
-apiServers="ds1"
+apiServers=&quot;ds1&quot;
 
 </code></pre>
 <p><em>Attention:</em></p>
@@ -387,7 +387,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.3/user_doc/cluster-deployment.json b/en-us/docs/1.3.3/user_doc/cluster-deployment.json
index c9f5796..ebe266d 100644
--- a/en-us/docs/1.3.3/user_doc/cluster-deployment.json
+++ b/en-us/docs/1.3.3/user_doc/cluster-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "cluster-deployment.md",
-  "__html": "<h1>Cluster Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color=\"#dd0000\">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile [...]
-  "link": "/en-us/docs/1.3.3/user_doc/cluster-deployment.html",
+  "__html": "<h1>Cluster Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color=\"#dd0000\">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile [...]
+  "link": "/dist/en-us/docs/1.3.3/user_doc/cluster-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.3/user_doc/hardware-environment.html b/en-us/docs/1.3.3/user_doc/hardware-environment.html
index 60272fa..75de4c6 100644
--- a/en-us/docs/1.3.3/user_doc/hardware-environment.html
+++ b/en-us/docs/1.3.3/user_doc/hardware-environment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="hardware-environment" />
   <title>hardware-environment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>
 <h2>1. Linux operating system version requirements</h2>
 <table>
@@ -114,7 +114,7 @@ The above Linux operating systems can run on physical servers and mainstream vir
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.3/user_doc/hardware-environment.json b/en-us/docs/1.3.3/user_doc/hardware-environment.json
index a09fd32..877337a 100644
--- a/en-us/docs/1.3.3/user_doc/hardware-environment.json
+++ b/en-us/docs/1.3.3/user_doc/hardware-environment.json
@@ -1,6 +1,6 @@
 {
   "filename": "hardware-environment.md",
   "__html": "<h1>Hareware Environment</h1>\n<p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>\n<h2>1. Linux operating system version requirements</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:left\">OS</th>\n<th style=\"text-align:center\">Version</th>\n</tr>\n</thead>\n [...]
-  "link": "/en-us/docs/1.3.3/user_doc/hardware-environment.html",
+  "link": "/dist/en-us/docs/1.3.3/user_doc/hardware-environment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.3/user_doc/metadata-1.3.html b/en-us/docs/1.3.3/user_doc/metadata-1.3.html
index a73a9b3..e11d0be 100644
--- a/en-us/docs/1.3.3/user_doc/metadata-1.3.html
+++ b/en-us/docs/1.3.3/user_doc/metadata-1.3.html
@@ -7,10 +7,10 @@
   <meta name="description" content="metadata-1.3" />
   <title>metadata-1.3</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p><a name="V5KOl"></a></p>
 <h3>Dolphin Scheduler 1.2 DB Table Overview</h3>
 <table>
@@ -642,7 +642,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.3/user_doc/metadata-1.3.json b/en-us/docs/1.3.3/user_doc/metadata-1.3.json
index 1bbd1a0..a0836b7 100644
--- a/en-us/docs/1.3.3/user_doc/metadata-1.3.json
+++ b/en-us/docs/1.3.3/user_doc/metadata-1.3.json
@@ -1,6 +1,6 @@
 {
   "filename": "metadata-1.3.md",
   "__html": "<h1>Dolphin Scheduler 1.3 MetaData</h1>\n<p><a name=\"V5KOl\"></a></p>\n<h3>Dolphin Scheduler 1.2 DB Table Overview</h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Table Name</th>\n<th style=\"text-align:center\">Comment</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">t_ds_access_token</td>\n<td style=\"text-align:center\">token for access ds backend</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">t_ds_alert</td>\n<td style=\"text-align [...]
-  "link": "/en-us/docs/1.3.3/user_doc/metadata-1.3.html",
+  "link": "/dist/en-us/docs/1.3.3/user_doc/metadata-1.3.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.3/user_doc/quick-start.html b/en-us/docs/1.3.3/user_doc/quick-start.html
index a662d71..16c2357 100644
--- a/en-us/docs/1.3.3/user_doc/quick-start.html
+++ b/en-us/docs/1.3.3/user_doc/quick-start.html
@@ -7,10 +7,10 @@
   <meta name="description" content="quick-start" />
   <title>quick-start</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <ul>
 <li>
 <p>Administrator user login</p>
@@ -88,7 +88,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.3/user_doc/quick-start.json b/en-us/docs/1.3.3/user_doc/quick-start.json
index dae05fd..7757b05 100644
--- a/en-us/docs/1.3.3/user_doc/quick-start.json
+++ b/en-us/docs/1.3.3/user_doc/quick-start.json
@@ -1,6 +1,6 @@
 {
   "filename": "quick-start.md",
   "__html": "<h1>Quick Start</h1>\n<ul>\n<li>\n<p>Administrator user login</p>\n<blockquote>\n<p>Address:<a href=\"http://192.168.xx.xx:12345/dolphinscheduler\">http://192.168.xx.xx:12345/dolphinscheduler</a>  Username and password:admin/dolphinscheduler123</p>\n</blockquote>\n</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/login_en.png\" width=\"60%\" />\n </p>\n<ul>\n<li>Create queue</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/create-queue-en.png\" width=\"60%\" />\n < [...]
-  "link": "/en-us/docs/1.3.3/user_doc/quick-start.html",
+  "link": "/dist/en-us/docs/1.3.3/user_doc/quick-start.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.3/user_doc/standalone-deployment.html b/en-us/docs/1.3.3/user_doc/standalone-deployment.html
index c993777..62c8a90 100644
--- a/en-us/docs/1.3.3/user_doc/standalone-deployment.html
+++ b/en-us/docs/1.3.3/user_doc/standalone-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="standalone-deployment" />
   <title>standalone-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h1>1、Install basic softwares (please install required softwares by yourself)</h1>
 <ul>
 <li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color="#dd0000">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>
@@ -22,7 +22,7 @@
 </code></pre>
 <h1>2、Download the binary tar.gz package.</h1>
 <ul>
-<li>Please download the latest version installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a>, download package, move to deployment directory and unzip it.</li>
+<li>Please download the latest version installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a>, download package, move to deployment directory and unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Please <span class="hljs-keyword">do</span> not choose a high-privilege directory such as /root or /home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -42,11 +42,11 @@ mv apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin  dolphinschedul
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> Set the user password, please modify it yourself.</span>
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler123&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> Configure sudo secret-free</span>
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+echo &#x27;dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; &gt;&gt; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 <span class="hljs-meta">
 #</span><span class="bash"> Modify the directory permissions so that the deployment user has operation permissions on the dolphinscheduler-bin directory</span>
 chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
@@ -62,7 +62,7 @@ chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
 <p>Switch to the deployment user and configure SSH local secret-free login</p>
 <pre><code class="language-shell">su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -80,8 +80,8 @@ chmod 600 ~/.ssh/authorized_keys
 </ul>
 <p><strong>Note: {user} and {password} need to be replaced with a specific database username and password.</strong></p>
 <pre><code class="language-mysql">   mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
    mysql&gt; flush privileges;
 </code></pre>
 <ul>
@@ -141,99 +141,99 @@ chmod 600 ~/.ssh/authorized_keys
 <li>
 <p>Modify the parameters in the one-click deployment config file <code>conf/config/install_config.conf</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address and port</span>
-dbhost="localhost:3306"
+dbhost=&quot;localhost:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database username</span>
-username="xxx"
+username=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database password</span>
 <span class="hljs-meta">#</span><span class="bash"> NOTICE: <span class="hljs-keyword">if</span> there are special characters, please use the \ to escape, <span class="hljs-keyword">for</span> example, `[` escape to `\[`</span>
-password="xxx"
+password=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Zookeeper address, localhost:2181, remember port 2181</span>
-zkQuorum="localhost:2181"
+zkQuorum=&quot;localhost:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Note: the target installation path <span class="hljs-keyword">for</span> dolphinscheduler, please <span class="hljs-keyword">do</span> not use current path (<span class="hljs-built_in">pwd</span>)</span>
-installPath="/opt/soft/dolphinscheduler"
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> deployment user</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: the deployment user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled, the root directory needs to be created by itself</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> alert config,take QQ email <span class="hljs-keyword">for</span> example</span>
 <span class="hljs-meta">#</span><span class="bash"> mail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server host</span>
-mailServerHost="smtp.qq.com"
+mailServerHost=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server port</span>
 <span class="hljs-meta">#</span><span class="bash"> note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, port may be different, make sure the port is correct.</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail user</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender password</span>
 <span class="hljs-meta">#</span><span class="bash"> note: The mail.passwd is email service authorization code, not the email login password.</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported。</span>
 <span class="hljs-meta">#</span><span class="bash"> note: only one of TLS and SSL can be <span class="hljs-keyword">in</span> the <span class="hljs-literal">true</span> state.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> note: sslTrust is the same as mailServerHost</span>
-sslTrust="smtp.qq.com"
+sslTrust=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource storage <span class="hljs-built_in">type</span>:HDFS,S3,NONE</span>
-resourceStorageType="HDFS"
+resourceStorageType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> here is an example of saving to a <span class="hljs-built_in">local</span> file system</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: If you want to upload resource file(jar file and so on)to HDFS and the NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml of hadoop cluster <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and Configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or ho [...]
-defaultFS="file:///data/dolphinscheduler"
+defaultFS=&quot;file:///data/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> not use hadoop resourcemanager, please keep default value; <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span>, please <span class="hljs-built_in">type</span> the HA ips ; <span class="hljs-keyword">if</span> resourcemanager is single, make this value empty</span>
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
+yarnHaIps=&quot;192.168.xx.xx,192.168.xx.xx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span> or not use resourcemanager, please skip this value setting; If resourcemanager is single, you only need to replace yarnIp1 to actual resourcemanager hostname.</span>
-singleYarnIp="yarnIp1"
+singleYarnIp=&quot;yarnIp1&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have <span class="hljs-built_in">read</span> write permissions。/dolphinscheduler is recommended</span>
-resourceUploadPath="/data/dolphinscheduler"
+resourceUploadPath=&quot;/data/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> specify the user who have permissions to create directory under HDFS/S3 root path</span>
-hdfsRootUser="hdfs"
+hdfsRootUser=&quot;hdfs&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On <span class="hljs-built_in">which</span> machines to deploy the DS service, choose localhost <span class="hljs-keyword">for</span> this machine</span>
-ips="localhost"
+ips=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> ssh port, default 22</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> ssh port is not default, modify here</span>
-sshPort="22"
+sshPort=&quot;22&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run master machine</span>
-masters="localhost"
+masters=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run worker machine</span>
-workers="localhost"
+workers=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run alert machine</span>
-alertServer="localhost"
+alertServer=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run api machine</span>
-apiServers="localhost"
+apiServers=&quot;localhost&quot;
 
 </code></pre>
 <p><em>Attention:</em> if you need upload resource function, please execute below command:</p>
@@ -329,7 +329,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.3/user_doc/standalone-deployment.json b/en-us/docs/1.3.3/user_doc/standalone-deployment.json
index 5c30f5c..cdca65d 100644
--- a/en-us/docs/1.3.3/user_doc/standalone-deployment.json
+++ b/en-us/docs/1.3.3/user_doc/standalone-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "standalone-deployment.md",
-  "__html": "<h1>Standalone Deployment</h1>\n<h1>1、Install basic softwares (please install required softwares by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color=\"#dd0000\">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profi [...]
-  "link": "/en-us/docs/1.3.3/user_doc/standalone-deployment.html",
+  "__html": "<h1>Standalone Deployment</h1>\n<h1>1、Install basic softwares (please install required softwares by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One,<font color=\"#dd0000\">If use MySQL,It is strongly recommended that MySQL version is 5.7 or higher</font></li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profi [...]
+  "link": "/dist/en-us/docs/1.3.3/user_doc/standalone-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.3/user_doc/system-manual.html b/en-us/docs/1.3.3/user_doc/system-manual.html
index 567ca3d..5a5364d 100644
--- a/en-us/docs/1.3.3/user_doc/system-manual.html
+++ b/en-us/docs/1.3.3/user_doc/system-manual.html
@@ -7,10 +7,10 @@
   <meta name="description" content="system-manual" />
   <title>system-manual</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>Get started quickly</h2>
 <blockquote>
 <p>Please refer to <a href="quick-start.html">Quick Start</a></p>
@@ -1014,7 +1014,7 @@ example:</li>
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.3/user_doc/system-manual.json b/en-us/docs/1.3.3/user_doc/system-manual.json
index 2aae5d2..ef78bd9 100644
--- a/en-us/docs/1.3.3/user_doc/system-manual.json
+++ b/en-us/docs/1.3.3/user_doc/system-manual.json
@@ -1,6 +1,6 @@
 {
   "filename": "system-manual.md",
   "__html": "<h1>System User Manual</h1>\n<h2>Get started quickly</h2>\n<blockquote>\n<p>Please refer to <a href=\"quick-start.html\">Quick Start</a></p>\n</blockquote>\n<h2>Operation guide</h2>\n<h3>1. Home</h3>\n<p>The home page contains task status statistics, process status statistics, and workflow definition statistics for all projects of the user.</p>\n<p align=\"center\">\n<img src=\"/img/home_en.png\" width=\"80%\" />\n</p>\n<h3>2. Project management</h3>\n<h4>2.1 Create project< [...]
-  "link": "/en-us/docs/1.3.3/user_doc/system-manual.html",
+  "link": "/dist/en-us/docs/1.3.3/user_doc/system-manual.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.3/user_doc/upgrade.html b/en-us/docs/1.3.3/user_doc/upgrade.html
index aebfcf6..4cc7035 100644
--- a/en-us/docs/1.3.3/user_doc/upgrade.html
+++ b/en-us/docs/1.3.3/user_doc/upgrade.html
@@ -7,16 +7,16 @@
   <meta name="description" content="upgrade" />
   <title>upgrade</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>1. Back up previous version's files and database.</h2>
 <h2>2. Stop all services of DolphinScheduler.</h2>
 <p><code>sh ./script/stop-all.sh</code></p>
 <h2>3. Download the new version's installation package.</h2>
 <ul>
-<li><a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a> the latest version of the installation packages.</li>
+<li><a href="/en-us/download/download.html">Download</a> the latest version of the installation packages.</li>
 <li>The following upgrade operations need to be performed in the new version's directory.</li>
 </ul>
 <h2>4. Database upgrade</h2>
@@ -44,8 +44,8 @@
 <h2>5. Backend service upgrade.</h2>
 <h3>5.1 Modify the content in <code>conf/config/install_config.conf</code> file.</h3>
 <ul>
-<li>Standalone Deployment please refer the [6, Modify running arguments] in <a href="https://dolphinscheduler.apache.org/en-us/docs/1.3.2/user_doc/standalone-deployment.html">Standalone-Deployment</a>.</li>
-<li>Cluster Deployment please refer the [6, Modify running arguments] in <a href="https://dolphinscheduler.apache.org/en-us/docs/1.3.2/user_doc/cluster-deployment.html">Cluster-Deployment</a>.</li>
+<li>Standalone Deployment please refer the [6, Modify running arguments] in <a href="/en-us/docs/1.3.3/user_doc/standalone-deployment.html">Standalone-Deployment</a>.</li>
+<li>Cluster Deployment please refer the [6, Modify running arguments] in <a href="/en-us/docs/1.3.3/user_doc/cluster-deployment.html">Cluster-Deployment</a>.</li>
 </ul>
 <h4>Masters need attentions</h4>
 <p>Create worker group in 1.3.1 version has different design:</p>
@@ -101,8 +101,8 @@
 </tbody>
 </table>
 <p>To keep worker group config consistant with previous version, we need to modify workers config item as below:</p>
-<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">worker service is deployed on <span class="hljs-built_in">which</span> machine, and also specify <span class="hljs-built_in">which</span> worker group this worker belong to. </span>
-workers="ds1:service1,ds2:service2,ds3:service2"
+<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">worker service is deployed on <span class="hljs-built_in">which</span> machine, and also specify <span class="hljs-built_in">which</span> worker group this worker belong to.</span> 
+workers=&quot;ds1:service1,ds2:service2,ds3:service2&quot;
 </code></pre>
 <h4>The worker group has been enhanced in version 1.3.2.</h4>
 <p>Worker in 1.3.1 can't belong to more than one worker group, in 1.3.2 it's supported. So in 1.3.1 it's not supported when workers=&quot;ds1:service1,ds1:service2&quot;, and in 1.3.2 it's supported.</p>
@@ -113,7 +113,7 @@ workers="ds1:service1,ds2:service2,ds3:service2"
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.3/user_doc/upgrade.json b/en-us/docs/1.3.3/user_doc/upgrade.json
index a94d565..b11d198 100644
--- a/en-us/docs/1.3.3/user_doc/upgrade.json
+++ b/en-us/docs/1.3.3/user_doc/upgrade.json
@@ -1,6 +1,6 @@
 {
   "filename": "upgrade.md",
-  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up previous version's files and database.</h2>\n<h2>2. Stop all services of DolphinScheduler.</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version's installation package.</h2>\n<ul>\n<li><a href=\"https://dolphinscheduler.apache.org/en-us/docs/release/download.html\">Download</a> the latest version of the installation packages.</li>\n<li>The following upgrade operations need to be perf [...]
-  "link": "/en-us/docs/1.3.3/user_doc/upgrade.html",
+  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up previous version's files and database.</h2>\n<h2>2. Stop all services of DolphinScheduler.</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version's installation package.</h2>\n<ul>\n<li><a href=\"/en-us/download/download.html\">Download</a> the latest version of the installation packages.</li>\n<li>The following upgrade operations need to be performed in the new version's directory.</ [...]
+  "link": "/dist/en-us/docs/1.3.3/user_doc/upgrade.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/build-docker-image.html b/en-us/docs/1.3.4/user_doc/build-docker-image.html
index 6df4635..16dfa3c 100644
--- a/en-us/docs/1.3.4/user_doc/build-docker-image.html
+++ b/en-us/docs/1.3.4/user_doc/build-docker-image.html
@@ -7,10 +7,10 @@
   <meta name="description" content="build-docker-image" />
   <title>build-docker-image</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>You can build a docker image in A Unix-like operating system, You can also build it in Windows operating system.</p>
 <p>In Unix-Like, Example:</p>
 <pre><code class="language-bash">$ <span class="hljs-built_in">cd</span> path/incubator-dolphinscheduler
@@ -128,23 +128,23 @@ $ sh ./docker/build/hooks/build
 <pre><code>server.port=${API_SERVER_PORT}
 </code></pre>
 <p><code>/root/start-init-conf.sh</code> will dynamically generate config file:</p>
-<pre><code class="language-sh"><span class="hljs-built_in">echo</span> <span class="hljs-string">"generate app config"</span>
-ls <span class="hljs-variable">${DOLPHINSCHEDULER_HOME}</span>/conf/ | grep <span class="hljs-string">".tpl"</span> | <span class="hljs-keyword">while</span> <span class="hljs-built_in">read</span> line; <span class="hljs-keyword">do</span>
-<span class="hljs-built_in">eval</span> <span class="hljs-string">"cat &lt;&lt; EOF
-<span class="hljs-variable">$(cat ${DOLPHINSCHEDULER_HOME}/conf/${line})</span>
+<pre><code class="language-sh"><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;generate app config&quot;</span>
+ls <span class="hljs-variable">${DOLPHINSCHEDULER_HOME}</span>/conf/ | grep <span class="hljs-string">&quot;.tpl&quot;</span> | <span class="hljs-keyword">while</span> <span class="hljs-built_in">read</span> line; <span class="hljs-keyword">do</span>
+<span class="hljs-built_in">eval</span> <span class="hljs-string">&quot;cat &lt;&lt; EOF
+<span class="hljs-subst">$(cat ${DOLPHINSCHEDULER_HOME}/conf/${line})</span>
 EOF
-"</span> &gt; <span class="hljs-variable">${DOLPHINSCHEDULER_HOME}</span>/conf/<span class="hljs-variable">${line%.*}</span>
+&quot;</span> &gt; <span class="hljs-variable">${DOLPHINSCHEDULER_HOME}</span>/conf/<span class="hljs-variable">${line%.*}</span>
 <span class="hljs-keyword">done</span>
 
-<span class="hljs-built_in">echo</span> <span class="hljs-string">"generate nginx config"</span>
-sed -i <span class="hljs-string">"s/FRONTEND_API_SERVER_HOST/<span class="hljs-variable">${FRONTEND_API_SERVER_HOST}</span>/g"</span> /etc/nginx/conf.d/dolphinscheduler.conf
-sed -i <span class="hljs-string">"s/FRONTEND_API_SERVER_PORT/<span class="hljs-variable">${FRONTEND_API_SERVER_PORT}</span>/g"</span> /etc/nginx/conf.d/dolphinscheduler.conf
+<span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;generate nginx config&quot;</span>
+sed -i <span class="hljs-string">&quot;s/FRONTEND_API_SERVER_HOST/<span class="hljs-variable">${FRONTEND_API_SERVER_HOST}</span>/g&quot;</span> /etc/nginx/conf.d/dolphinscheduler.conf
+sed -i <span class="hljs-string">&quot;s/FRONTEND_API_SERVER_PORT/<span class="hljs-variable">${FRONTEND_API_SERVER_PORT}</span>/g&quot;</span> /etc/nginx/conf.d/dolphinscheduler.conf
 </code></pre>
 </div></section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a man [...]
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/build-docker-image.json b/en-us/docs/1.3.4/user_doc/build-docker-image.json
index 4cc71b5..6f30d88 100644
--- a/en-us/docs/1.3.4/user_doc/build-docker-image.json
+++ b/en-us/docs/1.3.4/user_doc/build-docker-image.json
@@ -1,6 +1,6 @@
 {
   "filename": "build-docker-image.md",
-  "__html": "<h2>How to build a docker image</h2>\n<p>You can build a docker image in A Unix-like operating system, You can also build it in Windows operating system.</p>\n<p>In Unix-Like, Example:</p>\n<pre><code class=\"language-bash\">$ <span class=\"hljs-built_in\">cd</span> path/incubator-dolphinscheduler\n$ sh ./docker/build/hooks/build\n</code></pre>\n<p>In Windows, Example:</p>\n<pre><code class=\"language-bat\"><span class=\"hljs-function\">c:\\<span class=\"hljs-title\">incubat [...]
-  "link": "/en-us/docs/1.3.4/user_doc/build-docker-image.html",
+  "__html": "<h2>How to build a docker image</h2>\n<p>You can build a docker image in A Unix-like operating system, You can also build it in Windows operating system.</p>\n<p>In Unix-Like, Example:</p>\n<pre><code class=\"language-bash\">$ <span class=\"hljs-built_in\">cd</span> path/incubator-dolphinscheduler\n$ sh ./docker/build/hooks/build\n</code></pre>\n<p>In Windows, Example:</p>\n<pre><code class=\"language-bat\"><span class=\"hljs-function\">c:\\<span class=\"hljs-title\">incubat [...]
+  "link": "/dist/en-us/docs/1.3.4/user_doc/build-docker-image.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/cluster-deployment.html b/en-us/docs/1.3.4/user_doc/cluster-deployment.html
index 609d9a8..25dc23b 100644
--- a/en-us/docs/1.3.4/user_doc/cluster-deployment.html
+++ b/en-us/docs/1.3.4/user_doc/cluster-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="cluster-deployment" />
   <title>cluster-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h1>1、Before you begin (please install requirement basic software by yourself)</h1>
 <ul>
 <li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>
@@ -22,7 +22,7 @@
 </code></pre>
 <h1>2、Download the binary package.</h1>
 <ul>
-<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
+<li>Please download the latest version of the default installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a>,Download the package and move to the installation and deployment directory. Then unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Do not choose a deployment directory with a high-privilege directory such as / root or / home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -40,11 +40,11 @@ mv apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin  dolphinschedul
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> Set the user password, please modify it yourself. The following takes dolphinscheduler123 as an example.</span>
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler123&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> Configure sudo passwordless</span>
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+echo &#x27;dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; &gt;&gt; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 
 </code></pre>
 <pre><code> Notes:
@@ -93,7 +93,7 @@ done
 <p>On ds1, switch to the deployment user and configure ssh passwordless login</p>
 <pre><code class="language-shell"> su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -127,8 +127,8 @@ done
 <li>After entering the database command line window, execute the database initialization command and set the user and password. <strong>Note: {user} and {password} need to be replaced with a specific database username and password</strong></li>
 </ul>
 <pre><code class="language-mysql">   mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
    mysql&gt; flush privileges;
 </code></pre>
 <ul>
@@ -190,110 +190,110 @@ done
 <li>
 <p>Modify the parameters in the one-click deployment config file <code>conf/config/install_config.conf</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address and port</span>
-dbhost="192.168.xx.xx:3306"
+dbhost=&quot;192.168.xx.xx:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database username</span>
-username="xxx"
+username=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database password</span>
 <span class="hljs-meta">#</span><span class="bash"> NOTICE: <span class="hljs-keyword">if</span> there are special characters, please use the \ to escape, <span class="hljs-keyword">for</span> example, `[` escape to `\[`</span>
-password="xxx"
+password=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash">Zookeeper cluster</span>
-zkQuorum="192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"
+zkQuorum=&quot;192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Note: the target installation path <span class="hljs-keyword">for</span> dolphinscheduler, please not config as the same as the current path (<span class="hljs-built_in">pwd</span>)</span>
-installPath="/opt/soft/dolphinscheduler"
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> deployment user</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: the deployment user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled, the root directory needs to be created by itself</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> alert config,take QQ email <span class="hljs-keyword">for</span> example</span>
 <span class="hljs-meta">#</span><span class="bash"> mail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server host</span>
-mailServerHost="smtp.qq.com"
+mailServerHost=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server port</span>
 <span class="hljs-meta">#</span><span class="bash"> note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, make sure the port is correct.</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail user</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender password</span>
 <span class="hljs-meta">#</span><span class="bash"> note: The mail.passwd is email service authorization code, not the email login password.</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported。</span>
 <span class="hljs-meta">#</span><span class="bash"> note: only one of TLS and SSL can be <span class="hljs-keyword">in</span> the <span class="hljs-literal">true</span> state.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> note: sslTrust is the same as mailServerHost</span>
-sslTrust="smtp.qq.com"
+sslTrust=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> resource storage <span class="hljs-built_in">type</span>:HDFS,S3,NONE</span>
-resourceStorageType="HDFS"
+resourceStorageType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> If resourceStorageType = HDFS, and your Hadoop Cluster NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or host name.</span>
 <span class="hljs-meta">#</span><span class="bash"> <span class="hljs-keyword">if</span> S3,write S3 address,HA,<span class="hljs-keyword">for</span> example :s3a://dolphinscheduler,</span>
 <span class="hljs-meta">#</span><span class="bash"> Note,s3 be sure to create the root directory /dolphinscheduler</span>
-defaultFS="hdfs://mycluster:8020"
+defaultFS=&quot;hdfs://mycluster:8020&quot;
 <span class="hljs-meta">
 
 #</span><span class="bash"> <span class="hljs-keyword">if</span> not use hadoop resourcemanager, please keep default value; <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span>, please <span class="hljs-built_in">type</span> the HA ips ; <span class="hljs-keyword">if</span> resourcemanager is single, make this value empty</span>
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
+yarnHaIps=&quot;192.168.xx.xx,192.168.xx.xx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span> or not use resourcemanager, please skip this value setting; If resourcemanager is single, you only need to replace yarnIp1 to actual resourcemanager hostname.</span>
-singleYarnIp="yarnIp1"
+singleYarnIp=&quot;yarnIp1&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have <span class="hljs-built_in">read</span> write permissions。/dolphinscheduler is recommended</span>
-resourceUploadPath="/dolphinscheduler"
+resourceUploadPath=&quot;/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> who have permissions to create directory under HDFS/S3 root path</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> kerberos is enabled, please config hdfsRootUser=</span>
-hdfsRootUser="hdfs"
+hdfsRootUser=&quot;hdfs&quot;
 <span class="hljs-meta">
 
 
 #</span><span class="bash"> install hosts</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: install the scheduled hostname list. If it is pseudo-distributed, just write a pseudo-distributed hostname</span>
-ips="ds1,ds2,ds3,ds4"
+ips=&quot;ds1,ds2,ds3,ds4&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> ssh port, default 22</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> ssh port is not default, modify here</span>
-sshPort="22"
+sshPort=&quot;22&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run master machine</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: list of hosts hostname <span class="hljs-keyword">for</span> deploying master</span>
-masters="ds1,ds2"
+masters=&quot;ds1,ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run worker machine</span>
-<span class="hljs-meta">#</span><span class="bash"> note: need to write the worker group name of each worker, the default value is <span class="hljs-string">"default"</span></span>
-workers="ds3:default,ds4:default"
+<span class="hljs-meta">#</span><span class="bash"> note: need to write the worker group name of each worker, the default value is <span class="hljs-string">&quot;default&quot;</span></span>
+workers=&quot;ds3:default,ds4:default&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run alert machine</span>
 <span class="hljs-meta">#</span><span class="bash"> note: list of machine hostnames <span class="hljs-keyword">for</span> deploying alert server</span>
-alertServer="ds2"
+alertServer=&quot;ds2&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run api machine</span>
 <span class="hljs-meta">#</span><span class="bash"> note: list of machine hostnames <span class="hljs-keyword">for</span> deploying api server</span>
-apiServers="ds1"
+apiServers=&quot;ds1&quot;
 
 </code></pre>
 <p><em>Attention:</em></p>
@@ -387,7 +387,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/cluster-deployment.json b/en-us/docs/1.3.4/user_doc/cluster-deployment.json
index b081e89..ddb64ef 100644
--- a/en-us/docs/1.3.4/user_doc/cluster-deployment.json
+++ b/en-us/docs/1.3.4/user_doc/cluster-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "cluster-deployment.md",
-  "__html": "<h1>Cluster Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile</li>\n<li>ZooKeeper (3.4.6+) :Required</li>\n<li>Hadoop (2.6+) or MinIO :Optional. If you need to upload a [...]
-  "link": "/en-us/docs/1.3.4/user_doc/cluster-deployment.html",
+  "__html": "<h1>Cluster Deployment</h1>\n<h1>1、Before you begin (please install requirement basic software by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile</li>\n<li>ZooKeeper (3.4.6+) :Required</li>\n<li>Hadoop (2.6+) or MinIO :Optional. If you need to upload a [...]
+  "link": "/dist/en-us/docs/1.3.4/user_doc/cluster-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/configuration-file.html b/en-us/docs/1.3.4/user_doc/configuration-file.html
index 3079636..12a7ad6 100644
--- a/en-us/docs/1.3.4/user_doc/configuration-file.html
+++ b/en-us/docs/1.3.4/user_doc/configuration-file.html
@@ -7,10 +7,10 @@
   <meta name="description" content="configuration-file" />
   <title>configuration-file</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>This document explains the DolphinScheduler application configurations according to DolphinScheduler-1.3.x versions.</p>
 <h1>Directory Structure</h1>
 <p>Currently, all the configuration files are under [conf ] directory. Please check the following simplified DolphinScheduler installation directories to have a direct view about the position [conf] directory in and configuration files inside. This document only describes DolphinScheduler configurations and other modules are not going into.</p>
@@ -134,7 +134,7 @@
 Essentially, <a href="http://start-all.sh/stop-all.sh">start-all.sh/stop-all.sh</a> startup/shutdown the cluster via <a href="http://dolphinscheduler-daemon.sh">dolphinscheduler-daemon.sh</a>.
 Currently, DS just makes a basic config, please config further JVM options based on your practical situation of resources.</p>
 <p>Default simplified parameters are:</p>
-<pre><code class="language-bash"><span class="hljs-built_in">export</span> DOLPHINSCHEDULER_OPTS=<span class="hljs-string">"
+<pre><code class="language-bash"><span class="hljs-built_in">export</span> DOLPHINSCHEDULER_OPTS=<span class="hljs-string">&quot;
 -server 
 -Xmx16g 
 -Xms1g 
@@ -144,7 +144,7 @@ Currently, DS just makes a basic config, please config further JVM options bas
 -XX:+UseFastAccessorMethods 
 -XX:+UseCMSInitiatingOccupancyOnly 
 -XX:CMSInitiatingOccupancyFraction=70
-"</span>
+&quot;</span>
 </code></pre>
 <blockquote>
 <p>&quot;-XX:DisableExplicitGC&quot; is not recommended due to may lead to memory link (DS dependent on Netty to communicate).</p>
@@ -819,121 +819,121 @@ Files such as <a href="http://dolphinscheduler-daemon.sh">dolphinscheduler-daemo
 <span class="hljs-comment">#   eg: `[` escape to `\[`</span>
 
 <span class="hljs-comment"># Database type (DS currently only supports postgresql and mysql)</span>
-dbtype=<span class="hljs-string">"mysql"</span>
+dbtype=<span class="hljs-string">&quot;mysql&quot;</span>
 
 <span class="hljs-comment"># Database url &amp; port</span>
-dbhost=<span class="hljs-string">"192.168.xx.xx:3306"</span>
+dbhost=<span class="hljs-string">&quot;192.168.xx.xx:3306&quot;</span>
 
 <span class="hljs-comment"># Database name</span>
-dbname=<span class="hljs-string">"dolphinscheduler"</span>
+dbname=<span class="hljs-string">&quot;dolphinscheduler&quot;</span>
 
 
 <span class="hljs-comment"># Database username</span>
-username=<span class="hljs-string">"xx"</span>
+username=<span class="hljs-string">&quot;xx&quot;</span>
 
 <span class="hljs-comment"># Database password</span>
-password=<span class="hljs-string">"xx"</span>
+password=<span class="hljs-string">&quot;xx&quot;</span>
 
 <span class="hljs-comment"># Zookeeper url</span>
-zkQuorum=<span class="hljs-string">"192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"</span>
+zkQuorum=<span class="hljs-string">&quot;192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181&quot;</span>
 
-<span class="hljs-comment"># DS installation path, such as '/data1_1T/dolphinscheduler'</span>
-installPath=<span class="hljs-string">"/data1_1T/dolphinscheduler"</span>
+<span class="hljs-comment"># DS installation path, such as &#x27;/data1_1T/dolphinscheduler&#x27;</span>
+installPath=<span class="hljs-string">&quot;/data1_1T/dolphinscheduler&quot;</span>
 
 <span class="hljs-comment"># Deployment user</span>
-<span class="hljs-comment"># Note: Deployment user needs 'sudo' privilege and has rights to operate HDFS</span>
+<span class="hljs-comment"># Note: Deployment user needs &#x27;sudo&#x27; privilege and has rights to operate HDFS</span>
 <span class="hljs-comment">#     Root directory must be created by the same user if using HDFS, otherwise permission related issues will be raised.</span>
-deployUser=<span class="hljs-string">"dolphinscheduler"</span>
+deployUser=<span class="hljs-string">&quot;dolphinscheduler&quot;</span>
 
 
 <span class="hljs-comment"># Followings are alert-service configs</span>
 <span class="hljs-comment"># Mail server host</span>
-mailServerHost=<span class="hljs-string">"smtp.exmail.qq.com"</span>
+mailServerHost=<span class="hljs-string">&quot;smtp.exmail.qq.com&quot;</span>
 
 <span class="hljs-comment"># Mail server port</span>
-mailServerPort=<span class="hljs-string">"25"</span>
+mailServerPort=<span class="hljs-string">&quot;25&quot;</span>
 
 <span class="hljs-comment"># Mail sender</span>
-mailSender=<span class="hljs-string">"xxxxxxxxxx"</span>
+mailSender=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
 
 <span class="hljs-comment"># Mail user</span>
-mailUser=<span class="hljs-string">"xxxxxxxxxx"</span>
+mailUser=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
 
 <span class="hljs-comment"># Mail password</span>
-mailPassword=<span class="hljs-string">"xxxxxxxxxx"</span>
+mailPassword=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
 
 <span class="hljs-comment"># Mail supports TLS set true if not set false</span>
-starttlsEnable=<span class="hljs-string">"true"</span>
+starttlsEnable=<span class="hljs-string">&quot;true&quot;</span>
 
 <span class="hljs-comment"># Mail supports SSL set true if not set false. Note: starttlsEnable and sslEnable cannot both set true</span>
-sslEnable=<span class="hljs-string">"false"</span>
+sslEnable=<span class="hljs-string">&quot;false&quot;</span>
 
 <span class="hljs-comment"># Mail server host, same as mailServerHost</span>
-sslTrust=<span class="hljs-string">"smtp.exmail.qq.com"</span>
+sslTrust=<span class="hljs-string">&quot;smtp.exmail.qq.com&quot;</span>
 
 <span class="hljs-comment"># Specify which resource upload function to use for resources storage such as sql files. And supported options are HDFS, S3 and NONE. HDFS for upload to HDFS and NONE for not using this function.</span>
-resourceStorageType=<span class="hljs-string">"NONE"</span>
+resourceStorageType=<span class="hljs-string">&quot;NONE&quot;</span>
 
 <span class="hljs-comment"># if S3, write S3 address. HA, for example: s3a://dolphinscheduler,</span>
 <span class="hljs-comment"># Note: s3 make sure to create the root directory /dolphinscheduler</span>
-defaultFS=<span class="hljs-string">"hdfs://mycluster:8020"</span>
+defaultFS=<span class="hljs-string">&quot;hdfs://mycluster:8020&quot;</span>
 
-<span class="hljs-comment"># If parameter 'resourceStorageType' is S3, following configs are needed:</span>
-s3Endpoint=<span class="hljs-string">"http://192.168.xx.xx:9010"</span>
-s3AccessKey=<span class="hljs-string">"xxxxxxxxxx"</span>
-s3SecretKey=<span class="hljs-string">"xxxxxxxxxx"</span>
+<span class="hljs-comment"># If parameter &#x27;resourceStorageType&#x27; is S3, following configs are needed:</span>
+s3Endpoint=<span class="hljs-string">&quot;http://192.168.xx.xx:9010&quot;</span>
+s3AccessKey=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
+s3SecretKey=<span class="hljs-string">&quot;xxxxxxxxxx&quot;</span>
 
-<span class="hljs-comment"># If ResourceManager supports HA, then input master and standby node IP or hostname, eg: '192.168.xx.xx,192.168.xx.xx'. Or else ResourceManager run in standalone mode, please set yarnHaIps="" and "" for not using yarn.</span>
-yarnHaIps=<span class="hljs-string">"192.168.xx.xx,192.168.xx.xx"</span>
+<span class="hljs-comment"># If ResourceManager supports HA, then input master and standby node IP or hostname, eg: &#x27;192.168.xx.xx,192.168.xx.xx&#x27;. Or else ResourceManager run in standalone mode, please set yarnHaIps=&quot;&quot; and &quot;&quot; for not using yarn.</span>
+yarnHaIps=<span class="hljs-string">&quot;192.168.xx.xx,192.168.xx.xx&quot;</span>
 
 
 <span class="hljs-comment"># If ResourceManager runs in standalone, then set ResourceManager node ip or hostname, or else remain default.</span>
-singleYarnIp=<span class="hljs-string">"yarnIp1"</span>
+singleYarnIp=<span class="hljs-string">&quot;yarnIp1&quot;</span>
 
 <span class="hljs-comment"># Storage path when using HDFS/S3</span>
-resourceUploadPath=<span class="hljs-string">"/dolphinscheduler"</span>
+resourceUploadPath=<span class="hljs-string">&quot;/dolphinscheduler&quot;</span>
 
 
 <span class="hljs-comment"># HDFS/S3 root user</span>
-hdfsRootUser=<span class="hljs-string">"hdfs"</span>
+hdfsRootUser=<span class="hljs-string">&quot;hdfs&quot;</span>
 
 <span class="hljs-comment"># Followings are kerberos configs</span>
 
 <span class="hljs-comment"># Spicify kerberos enable or not</span>
-kerberosStartUp=<span class="hljs-string">"false"</span>
+kerberosStartUp=<span class="hljs-string">&quot;false&quot;</span>
 
 <span class="hljs-comment"># Kdc krb5 config file path</span>
-krb5ConfPath=<span class="hljs-string">"<span class="hljs-variable">$installPath</span>/conf/krb5.conf"</span>
+krb5ConfPath=<span class="hljs-string">&quot;<span class="hljs-variable">$installPath</span>/conf/krb5.conf&quot;</span>
 
 <span class="hljs-comment"># Keytab username</span>
-keytabUserName=<span class="hljs-string">"hdfs-mycluster@ESZ.COM"</span>
+keytabUserName=<span class="hljs-string">&quot;hdfs-mycluster@ESZ.COM&quot;</span>
 
 <span class="hljs-comment"># Username keytab path</span>
-keytabPath=<span class="hljs-string">"<span class="hljs-variable">$installPath</span>/conf/hdfs.headless.keytab"</span>
+keytabPath=<span class="hljs-string">&quot;<span class="hljs-variable">$installPath</span>/conf/hdfs.headless.keytab&quot;</span>
 
 
 <span class="hljs-comment"># API-service port</span>
-apiServerPort=<span class="hljs-string">"12345"</span>
+apiServerPort=<span class="hljs-string">&quot;12345&quot;</span>
 
 
 <span class="hljs-comment"># All hosts deploy DS</span>
-ips=<span class="hljs-string">"ds1,ds2,ds3,ds4,ds5"</span>
+ips=<span class="hljs-string">&quot;ds1,ds2,ds3,ds4,ds5&quot;</span>
 
 <span class="hljs-comment"># Ssh port, default 22</span>
-sshPort=<span class="hljs-string">"22"</span>
+sshPort=<span class="hljs-string">&quot;22&quot;</span>
 
 <span class="hljs-comment"># Master service hosts</span>
-masters=<span class="hljs-string">"ds1,ds2"</span>
+masters=<span class="hljs-string">&quot;ds1,ds2&quot;</span>
 
 <span class="hljs-comment"># All hosts deploy worker service</span>
-<span class="hljs-comment"># Note: Each worker needs to set a worker group name and default name is "default"</span>
-workers=<span class="hljs-string">"ds1:default,ds2:default,ds3:default,ds4:default,ds5:default"</span>
+<span class="hljs-comment"># Note: Each worker needs to set a worker group name and default name is &quot;default&quot;</span>
+workers=<span class="hljs-string">&quot;ds1:default,ds2:default,ds3:default,ds4:default,ds5:default&quot;</span>
 
 <span class="hljs-comment">#  Host deploy alert-service</span>
-alertServer=<span class="hljs-string">"ds3"</span>
+alertServer=<span class="hljs-string">&quot;ds3&quot;</span>
 
 <span class="hljs-comment"># Host deploy API-service</span>
-apiServers=<span class="hljs-string">"ds1"</span>
+apiServers=<span class="hljs-string">&quot;ds1&quot;</span>
 </code></pre>
 <h2>11.dolphinscheduler_env.sh [load environment variables configs]</h2>
 <p>When using shell to commit tasks, DS will load environment variables inside dolphinscheduler_env.sh into the host.
@@ -982,7 +982,7 @@ Types of tasks involved are: Shell task、Python task、Spark task、Flink task
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/configuration-file.json b/en-us/docs/1.3.4/user_doc/configuration-file.json
index 43488a4..ea27063 100644
--- a/en-us/docs/1.3.4/user_doc/configuration-file.json
+++ b/en-us/docs/1.3.4/user_doc/configuration-file.json
@@ -1,6 +1,6 @@
 {
   "filename": "configuration-file.md",
-  "__html": "<h1>Preface</h1>\n<p>This document explains the DolphinScheduler application configurations according to DolphinScheduler-1.3.x versions.</p>\n<h1>Directory Structure</h1>\n<p>Currently, all the configuration files are under [conf ] directory. Please check the following simplified DolphinScheduler installation directories to have a direct view about the position [conf] directory in and configuration files inside. This document only describes DolphinScheduler configurations a [...]
-  "link": "/en-us/docs/1.3.4/user_doc/configuration-file.html",
+  "__html": "<h1>Preface</h1>\n<p>This document explains the DolphinScheduler application configurations according to DolphinScheduler-1.3.x versions.</p>\n<h1>Directory Structure</h1>\n<p>Currently, all the configuration files are under [conf ] directory. Please check the following simplified DolphinScheduler installation directories to have a direct view about the position [conf] directory in and configuration files inside. This document only describes DolphinScheduler configurations a [...]
+  "link": "/dist/en-us/docs/1.3.4/user_doc/configuration-file.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/docker-deployment.html b/en-us/docs/1.3.4/user_doc/docker-deployment.html
index 8c22806..1b2bdca 100644
--- a/en-us/docs/1.3.4/user_doc/docker-deployment.html
+++ b/en-us/docs/1.3.4/user_doc/docker-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="docker-deployment" />
   <title>docker-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>There are 2 ways to quickly intall DolphinScheduler</p>
 <h3>The first way:Start with docker-compose (recommended)</h3>
 <p>In this way, you need to install docker-compose first, please install it yourself</p>
@@ -117,7 +117,7 @@ dolphinscheduler frontend
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/docker-deployment.json b/en-us/docs/1.3.4/user_doc/docker-deployment.json
index 0742467..19ce8d4 100644
--- a/en-us/docs/1.3.4/user_doc/docker-deployment.json
+++ b/en-us/docs/1.3.4/user_doc/docker-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "docker-deployment.md",
   "__html": "<h2>Try DolphinScheduler quickly</h2>\n<p>There are 2 ways to quickly intall DolphinScheduler</p>\n<h3>The first way:Start with docker-compose (recommended)</h3>\n<p>In this way, you need to install docker-compose first, please install it yourself</p>\n<h5>1、 Download the source code zip package</h5>\n<p>-Please download the latest version of the source code package and unzip it</p>\n<pre><code class=\"language-shell\">mkdir -p /opt/soft/dolphinscheduler;\ncd /opt/soft/dolph [...]
-  "link": "/en-us/docs/1.3.4/user_doc/docker-deployment.html",
+  "link": "/dist/en-us/docs/1.3.4/user_doc/docker-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/hardware-environment.html b/en-us/docs/1.3.4/user_doc/hardware-environment.html
index 60272fa..75de4c6 100644
--- a/en-us/docs/1.3.4/user_doc/hardware-environment.html
+++ b/en-us/docs/1.3.4/user_doc/hardware-environment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="hardware-environment" />
   <title>hardware-environment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>
 <h2>1. Linux operating system version requirements</h2>
 <table>
@@ -114,7 +114,7 @@ The above Linux operating systems can run on physical servers and mainstream vir
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/hardware-environment.json b/en-us/docs/1.3.4/user_doc/hardware-environment.json
index 0c33046..a0e24ce 100644
--- a/en-us/docs/1.3.4/user_doc/hardware-environment.json
+++ b/en-us/docs/1.3.4/user_doc/hardware-environment.json
@@ -1,6 +1,6 @@
 {
   "filename": "hardware-environment.md",
   "__html": "<h1>Hareware Environment</h1>\n<p>DolphinScheduler, as an open-source distributed workflow task scheduling system, can be well deployed and run in Intel architecture server environments and mainstream virtualization environments, and supports mainstream Linux operating system environments.</p>\n<h2>1. Linux operating system version requirements</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:left\">OS</th>\n<th style=\"text-align:center\">Version</th>\n</tr>\n</thead>\n [...]
-  "link": "/en-us/docs/1.3.4/user_doc/hardware-environment.html",
+  "link": "/dist/en-us/docs/1.3.4/user_doc/hardware-environment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/metadata-1.3.html b/en-us/docs/1.3.4/user_doc/metadata-1.3.html
index a73a9b3..e11d0be 100644
--- a/en-us/docs/1.3.4/user_doc/metadata-1.3.html
+++ b/en-us/docs/1.3.4/user_doc/metadata-1.3.html
@@ -7,10 +7,10 @@
   <meta name="description" content="metadata-1.3" />
   <title>metadata-1.3</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p><a name="V5KOl"></a></p>
 <h3>Dolphin Scheduler 1.2 DB Table Overview</h3>
 <table>
@@ -642,7 +642,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/metadata-1.3.json b/en-us/docs/1.3.4/user_doc/metadata-1.3.json
index 3928c89..6a4048f 100644
--- a/en-us/docs/1.3.4/user_doc/metadata-1.3.json
+++ b/en-us/docs/1.3.4/user_doc/metadata-1.3.json
@@ -1,6 +1,6 @@
 {
   "filename": "metadata-1.3.md",
   "__html": "<h1>Dolphin Scheduler 1.3 MetaData</h1>\n<p><a name=\"V5KOl\"></a></p>\n<h3>Dolphin Scheduler 1.2 DB Table Overview</h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Table Name</th>\n<th style=\"text-align:center\">Comment</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">t_ds_access_token</td>\n<td style=\"text-align:center\">token for access ds backend</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">t_ds_alert</td>\n<td style=\"text-align [...]
-  "link": "/en-us/docs/1.3.4/user_doc/metadata-1.3.html",
+  "link": "/dist/en-us/docs/1.3.4/user_doc/metadata-1.3.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/quick-start.html b/en-us/docs/1.3.4/user_doc/quick-start.html
index a662d71..16c2357 100644
--- a/en-us/docs/1.3.4/user_doc/quick-start.html
+++ b/en-us/docs/1.3.4/user_doc/quick-start.html
@@ -7,10 +7,10 @@
   <meta name="description" content="quick-start" />
   <title>quick-start</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <ul>
 <li>
 <p>Administrator user login</p>
@@ -88,7 +88,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/quick-start.json b/en-us/docs/1.3.4/user_doc/quick-start.json
index 9cba221..c3d2686 100644
--- a/en-us/docs/1.3.4/user_doc/quick-start.json
+++ b/en-us/docs/1.3.4/user_doc/quick-start.json
@@ -1,6 +1,6 @@
 {
   "filename": "quick-start.md",
   "__html": "<h1>Quick Start</h1>\n<ul>\n<li>\n<p>Administrator user login</p>\n<blockquote>\n<p>Address:<a href=\"http://192.168.xx.xx:12345/dolphinscheduler\">http://192.168.xx.xx:12345/dolphinscheduler</a>  Username and password:admin/dolphinscheduler123</p>\n</blockquote>\n</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/login_en.png\" width=\"60%\" />\n </p>\n<ul>\n<li>Create queue</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/create-queue-en.png\" width=\"60%\" />\n < [...]
-  "link": "/en-us/docs/1.3.4/user_doc/quick-start.html",
+  "link": "/dist/en-us/docs/1.3.4/user_doc/quick-start.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/standalone-deployment.html b/en-us/docs/1.3.4/user_doc/standalone-deployment.html
index 82d79e8..38d1cc3 100644
--- a/en-us/docs/1.3.4/user_doc/standalone-deployment.html
+++ b/en-us/docs/1.3.4/user_doc/standalone-deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="standalone-deployment" />
   <title>standalone-deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h1>1、Install basic softwares (please install required softwares by yourself)</h1>
 <ul>
 <li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>
@@ -22,7 +22,7 @@
 </code></pre>
 <h1>2、Download the binary tar.gz package.</h1>
 <ul>
-<li>Please download the latest version installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a>, download package, move to deployment directory and unzip it.</li>
+<li>Please download the latest version installation package to the server deployment directory. For example, use /opt/dolphinscheduler as the installation and deployment directory. Download address: <a href="/en-us/download/download.html">Download</a>, download package, move to deployment directory and unzip it.</li>
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> Create the deployment directory. Please <span class="hljs-keyword">do</span> not choose a high-privilege directory such as /root or /home.</span>
 mkdir -p /opt/dolphinscheduler;
@@ -42,11 +42,11 @@ mv apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin  dolphinschedul
 useradd dolphinscheduler;
 <span class="hljs-meta">
 #</span><span class="bash"> Set the user password, please modify it yourself.</span>
-echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+echo &quot;dolphinscheduler123&quot; | passwd --stdin dolphinscheduler
 <span class="hljs-meta">
 #</span><span class="bash"> Configure sudo secret-free</span>
-echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
-sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+echo &#x27;dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL&#x27; &gt;&gt; /etc/sudoers
+sed -i &#x27;s/Defaults    requirett/#Defaults    requirett/g&#x27; /etc/sudoers
 <span class="hljs-meta">
 #</span><span class="bash"> Modify the directory permissions so that the deployment user has operation permissions on the dolphinscheduler-bin directory</span>
 chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
@@ -62,7 +62,7 @@ chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
 <p>Switch to the deployment user and configure SSH local secret-free login</p>
 <pre><code class="language-shell">su dolphinscheduler;
 
-ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+ssh-keygen -t rsa -P &#x27;&#x27; -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys
 </code></pre>
@@ -80,8 +80,8 @@ chmod 600 ~/.ssh/authorized_keys
 </ul>
 <p><strong>Note: {user} and {password} need to be replaced with a specific database username and password.</strong></p>
 <pre><code class="language-mysql">   mysql&gt; CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
-   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
+   mysql&gt; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO &#x27;{user}&#x27;@&#x27;localhost&#x27; IDENTIFIED BY &#x27;{password}&#x27;;
    mysql&gt; flush privileges;
 </code></pre>
 <ul>
@@ -141,99 +141,99 @@ chmod 600 ~/.ssh/authorized_keys
 <li>
 <p>Modify the parameters in the one-click deployment config file <code>conf/config/install_config.conf</code>, pay special attention to the configuration of the following parameters.</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> choose mysql or postgresql</span>
-dbtype="mysql"
+dbtype=&quot;mysql&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Database connection address and port</span>
-dbhost="localhost:3306"
+dbhost=&quot;localhost:3306&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database name</span>
-dbname="dolphinscheduler"
+dbname=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database username</span>
-username="xxx"
+username=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> database password</span>
 <span class="hljs-meta">#</span><span class="bash"> NOTICE: <span class="hljs-keyword">if</span> there are special characters, please use the \ to escape, <span class="hljs-keyword">for</span> example, `[` escape to `\[`</span>
-password="xxx"
+password=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Zookeeper address, localhost:2181, remember port 2181</span>
-zkQuorum="localhost:2181"
+zkQuorum=&quot;localhost:2181&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Note: the target installation path <span class="hljs-keyword">for</span> dolphinscheduler, please <span class="hljs-keyword">do</span> not use current path (<span class="hljs-built_in">pwd</span>)</span>
-installPath="/opt/soft/dolphinscheduler"
+installPath=&quot;/opt/soft/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> deployment user</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: the deployment user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled, the root directory needs to be created by itself</span>
-deployUser="dolphinscheduler"
+deployUser=&quot;dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> alert config,take QQ email <span class="hljs-keyword">for</span> example</span>
 <span class="hljs-meta">#</span><span class="bash"> mail protocol</span>
-mailProtocol="SMTP"
+mailProtocol=&quot;SMTP&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server host</span>
-mailServerHost="smtp.qq.com"
+mailServerHost=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail server port</span>
 <span class="hljs-meta">#</span><span class="bash"> note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, port may be different, make sure the port is correct.</span>
-mailServerPort="25"
+mailServerPort=&quot;25&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender</span>
-mailSender="xxx@qq.com"
+mailSender=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail user</span>
-mailUser="xxx@qq.com"
+mailUser=&quot;xxx@qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> mail sender password</span>
 <span class="hljs-meta">#</span><span class="bash"> note: The mail.passwd is email service authorization code, not the email login password.</span>
-mailPassword="xxx"
+mailPassword=&quot;xxx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported</span>
-starttlsEnable="true"
+starttlsEnable=&quot;true&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> Whether TLS mail protocol is supported,<span class="hljs-literal">true</span> is supported and <span class="hljs-literal">false</span> is not supported。</span>
 <span class="hljs-meta">#</span><span class="bash"> note: only one of TLS and SSL can be <span class="hljs-keyword">in</span> the <span class="hljs-literal">true</span> state.</span>
-sslEnable="false"
+sslEnable=&quot;false&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> note: sslTrust is the same as mailServerHost</span>
-sslTrust="smtp.qq.com"
+sslTrust=&quot;smtp.qq.com&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource storage <span class="hljs-built_in">type</span>:HDFS,S3,NONE</span>
-resourceStorageType="HDFS"
+resourceStorageType=&quot;HDFS&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> here is an example of saving to a <span class="hljs-built_in">local</span> file system</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: If you want to upload resource file(jar file and so on)to HDFS and the NameNode has HA enabled, you need to put core-site.xml and hdfs-site.xml of hadoop cluster <span class="hljs-keyword">in</span> the installPath/conf directory. In this example, it is placed under /opt/soft/dolphinscheduler/conf, and Configure the namenode cluster name; <span class="hljs-keyword">if</span> the NameNode is not HA, modify it to a specific IP or ho [...]
-defaultFS="file:///data/dolphinscheduler"
+defaultFS=&quot;file:///data/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> not use hadoop resourcemanager, please keep default value; <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span>, please <span class="hljs-built_in">type</span> the HA ips ; <span class="hljs-keyword">if</span> resourcemanager is single, make this value empty</span>
-yarnHaIps="192.168.xx.xx,192.168.xx.xx"
+yarnHaIps=&quot;192.168.xx.xx,192.168.xx.xx&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> <span class="hljs-keyword">if</span> resourcemanager HA <span class="hljs-built_in">enable</span> or not use resourcemanager, please skip this value setting; If resourcemanager is single, you only need to replace yarnIp1 to actual resourcemanager hostname.</span>
-singleYarnIp="yarnIp1"
+singleYarnIp=&quot;yarnIp1&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have <span class="hljs-built_in">read</span> write permissions。/dolphinscheduler is recommended</span>
-resourceUploadPath="/data/dolphinscheduler"
+resourceUploadPath=&quot;/data/dolphinscheduler&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> specify the user who have permissions to create directory under HDFS/S3 root path</span>
-hdfsRootUser="hdfs"
+hdfsRootUser=&quot;hdfs&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> On <span class="hljs-built_in">which</span> machines to deploy the DS service, choose localhost <span class="hljs-keyword">for</span> this machine</span>
-ips="localhost"
+ips=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> ssh port, default 22</span>
 <span class="hljs-meta">#</span><span class="bash"> Note: <span class="hljs-keyword">if</span> ssh port is not default, modify here</span>
-sshPort="22"
+sshPort=&quot;22&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run master machine</span>
-masters="localhost"
+masters=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run worker machine</span>
-workers="localhost"
+workers=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run alert machine</span>
-alertServer="localhost"
+alertServer=&quot;localhost&quot;
 <span class="hljs-meta">
 #</span><span class="bash"> run api machine</span>
-apiServers="localhost"
+apiServers=&quot;localhost&quot;
 
 </code></pre>
 <p><em>Attention:</em> if you need upload resource function, please execute below command:</p>
@@ -329,7 +329,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/standalone-deployment.json b/en-us/docs/1.3.4/user_doc/standalone-deployment.json
index f262b34..9239b3f 100644
--- a/en-us/docs/1.3.4/user_doc/standalone-deployment.json
+++ b/en-us/docs/1.3.4/user_doc/standalone-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "standalone-deployment.md",
-  "__html": "<h1>Standalone Deployment</h1>\n<h1>1、Install basic softwares (please install required softwares by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile</li>\n<li>ZooKeeper (3.4.6+) :Required</li>\n<li>Hadoop (2.6+) or MinIO :Optional. If you need resource  [...]
-  "link": "/en-us/docs/1.3.4/user_doc/standalone-deployment.html",
+  "__html": "<h1>Standalone Deployment</h1>\n<h1>1、Install basic softwares (please install required softwares by yourself)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7)  :  Choose One</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  Required. Double-check configure JAVA_HOME and PATH environment variables in /etc/profile</li>\n<li>ZooKeeper (3.4.6+) :Required</li>\n<li>Hadoop (2.6+) or MinIO :Optional. If you need resource  [...]
+  "link": "/dist/en-us/docs/1.3.4/user_doc/standalone-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/system-manual.html b/en-us/docs/1.3.4/user_doc/system-manual.html
index 864f546..5eb93e4 100644
--- a/en-us/docs/1.3.4/user_doc/system-manual.html
+++ b/en-us/docs/1.3.4/user_doc/system-manual.html
@@ -7,10 +7,10 @@
   <meta name="description" content="system-manual" />
   <title>system-manual</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>Get started quickly</h2>
 <blockquote>
 <p>Please refer to <a href="quick-start.html">Quick Start</a></p>
@@ -1015,7 +1015,7 @@ example:</li>
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/system-manual.json b/en-us/docs/1.3.4/user_doc/system-manual.json
index b2b7057..2908799 100644
--- a/en-us/docs/1.3.4/user_doc/system-manual.json
+++ b/en-us/docs/1.3.4/user_doc/system-manual.json
@@ -1,6 +1,6 @@
 {
   "filename": "system-manual.md",
   "__html": "<h1>System User Manual</h1>\n<h2>Get started quickly</h2>\n<blockquote>\n<p>Please refer to <a href=\"quick-start.html\">Quick Start</a></p>\n</blockquote>\n<h2>Operation guide</h2>\n<h3>1. Home</h3>\n<p>The home page contains task status statistics, process status statistics, and workflow definition statistics for all projects of the user.</p>\n<p align=\"center\">\n<img src=\"/img/home_en.png\" width=\"80%\" />\n</p>\n<h3>2. Project management</h3>\n<h4>2.1 Create project< [...]
-  "link": "/en-us/docs/1.3.4/user_doc/system-manual.html",
+  "link": "/dist/en-us/docs/1.3.4/user_doc/system-manual.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/task-structure.html b/en-us/docs/1.3.4/user_doc/task-structure.html
index d38f127..943ad81 100644
--- a/en-us/docs/1.3.4/user_doc/task-structure.html
+++ b/en-us/docs/1.3.4/user_doc/task-structure.html
@@ -7,10 +7,10 @@
   <meta name="description" content="task-structure" />
   <title>task-structure</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>All tasks created in Dolphinscheduler are saved in the t_ds_process_definition table.</p>
 <p>The following shows the 't_ds_process_definition' table structure:</p>
 <table>
@@ -185,17 +185,17 @@
 </table>
 <p>Data example:</p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"globalParams"</span>:[
+    <span class="hljs-string">&quot;globalParams&quot;</span>:[
         {
-            <span class="hljs-string">"prop"</span>:<span class="hljs-string">"golbal_bizdate"</span>,
-            <span class="hljs-string">"direct"</span>:<span class="hljs-string">"IN"</span>,
-            <span class="hljs-string">"type"</span>:<span class="hljs-string">"VARCHAR"</span>,
-            <span class="hljs-string">"value"</span>:<span class="hljs-string">"<span class="hljs-variable">${system.biz.date}</span>"</span>
+            <span class="hljs-string">&quot;prop&quot;</span>:<span class="hljs-string">&quot;golbal_bizdate&quot;</span>,
+            <span class="hljs-string">&quot;direct&quot;</span>:<span class="hljs-string">&quot;IN&quot;</span>,
+            <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;VARCHAR&quot;</span>,
+            <span class="hljs-string">&quot;value&quot;</span>:<span class="hljs-string">&quot;<span class="hljs-variable">${system.biz.date}</span>&quot;</span>
         }
     ],
-    <span class="hljs-string">"tasks"</span>:Array[1],
-    <span class="hljs-string">"tenantId"</span>:0,
-    <span class="hljs-string">"timeout"</span>:0
+    <span class="hljs-string">&quot;tasks&quot;</span>:Array[1],
+    <span class="hljs-string">&quot;tenantId&quot;</span>:0,
+    <span class="hljs-string">&quot;timeout&quot;</span>:0
 }
 </code></pre>
 <h1>The Detailed Explanation of The Storage Structure of Each Task Type</h1>
@@ -369,45 +369,45 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"SHELL"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-80760"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"Shell Task"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"resourceList"</span>:[
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SHELL&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-80760&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;Shell Task&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"rawScript"</span>:<span class="hljs-string">"echo "</span>This is a shell script<span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;rawScript&quot;</span>:<span class="hljs-string">&quot;echo &quot;</span>This is a shell script<span class="hljs-string">&quot;&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -664,58 +664,58 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"SQL"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-95648"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"SqlTask-Query"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"type"</span>:<span class="hljs-string">"MYSQL"</span>,
-        <span class="hljs-string">"datasource"</span>:1,
-        <span class="hljs-string">"sql"</span>:<span class="hljs-string">"select id , namge , age from emp where id =  <span class="hljs-variable">${id}</span>"</span>,
-        <span class="hljs-string">"udfs"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"sqlType"</span>:<span class="hljs-string">"0"</span>,
-        <span class="hljs-string">"title"</span>:<span class="hljs-string">"xxxx@xxx.com"</span>,
-        <span class="hljs-string">"receivers"</span>:<span class="hljs-string">"xxxx@xxx.com"</span>,
-        <span class="hljs-string">"receiversCc"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"showType"</span>:<span class="hljs-string">"TABLE"</span>,
-        <span class="hljs-string">"localParams"</span>:[
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SQL&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-95648&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;SqlTask-Query&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;MYSQL&quot;</span>,
+        <span class="hljs-string">&quot;datasource&quot;</span>:1,
+        <span class="hljs-string">&quot;sql&quot;</span>:<span class="hljs-string">&quot;select id , namge , age from emp where id =  <span class="hljs-variable">${id}</span>&quot;</span>,
+        <span class="hljs-string">&quot;udfs&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;sqlType&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+        <span class="hljs-string">&quot;title&quot;</span>:<span class="hljs-string">&quot;xxxx@xxx.com&quot;</span>,
+        <span class="hljs-string">&quot;receivers&quot;</span>:<span class="hljs-string">&quot;xxxx@xxx.com&quot;</span>,
+        <span class="hljs-string">&quot;receiversCc&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;showType&quot;</span>:<span class="hljs-string">&quot;TABLE&quot;</span>,
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
             {
-                <span class="hljs-string">"prop"</span>:<span class="hljs-string">"id"</span>,
-                <span class="hljs-string">"direct"</span>:<span class="hljs-string">"IN"</span>,
-                <span class="hljs-string">"type"</span>:<span class="hljs-string">"INTEGER"</span>,
-                <span class="hljs-string">"value"</span>:<span class="hljs-string">"1"</span>
+                <span class="hljs-string">&quot;prop&quot;</span>:<span class="hljs-string">&quot;id&quot;</span>,
+                <span class="hljs-string">&quot;direct&quot;</span>:<span class="hljs-string">&quot;IN&quot;</span>,
+                <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;INTEGER&quot;</span>,
+                <span class="hljs-string">&quot;value&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>
             }
         ],
-        <span class="hljs-string">"connParams"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"preStatements"</span>:[
-            <span class="hljs-string">"insert into emp ( id,name ) value (1,'Li' )"</span>
+        <span class="hljs-string">&quot;connParams&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;preStatements&quot;</span>:[
+            <span class="hljs-string">&quot;insert into emp ( id,name ) value (1,&#x27;Li&#x27; )&quot;</span>
         ],
-        <span class="hljs-string">"postStatements"</span>:[
+        <span class="hljs-string">&quot;postStatements&quot;</span>:[
 
         ]
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -981,58 +981,58 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"SPARK"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-87430"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"SparkTask"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"mainClass"</span>:<span class="hljs-string">"org.apache.spark.examples.SparkPi"</span>,
-        <span class="hljs-string">"mainJar"</span>:{
-            <span class="hljs-string">"id"</span>:4
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SPARK&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-87430&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;SparkTask&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;mainClass&quot;</span>:<span class="hljs-string">&quot;org.apache.spark.examples.SparkPi&quot;</span>,
+        <span class="hljs-string">&quot;mainJar&quot;</span>:{
+            <span class="hljs-string">&quot;id&quot;</span>:4
         },
-        <span class="hljs-string">"deployMode"</span>:<span class="hljs-string">"cluster"</span>,
-        <span class="hljs-string">"resourceList"</span>:[
+        <span class="hljs-string">&quot;deployMode&quot;</span>:<span class="hljs-string">&quot;cluster&quot;</span>,
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"driverCores"</span>:1,
-        <span class="hljs-string">"driverMemory"</span>:<span class="hljs-string">"512M"</span>,
-        <span class="hljs-string">"numExecutors"</span>:2,
-        <span class="hljs-string">"executorMemory"</span>:<span class="hljs-string">"2G"</span>,
-        <span class="hljs-string">"executorCores"</span>:2,
-        <span class="hljs-string">"mainArgs"</span>:<span class="hljs-string">"10"</span>,
-        <span class="hljs-string">"others"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"programType"</span>:<span class="hljs-string">"SCALA"</span>,
-        <span class="hljs-string">"sparkVersion"</span>:<span class="hljs-string">"SPARK2"</span>
+        <span class="hljs-string">&quot;driverCores&quot;</span>:1,
+        <span class="hljs-string">&quot;driverMemory&quot;</span>:<span class="hljs-string">&quot;512M&quot;</span>,
+        <span class="hljs-string">&quot;numExecutors&quot;</span>:2,
+        <span class="hljs-string">&quot;executorMemory&quot;</span>:<span class="hljs-string">&quot;2G&quot;</span>,
+        <span class="hljs-string">&quot;executorCores&quot;</span>:2,
+        <span class="hljs-string">&quot;mainArgs&quot;</span>:<span class="hljs-string">&quot;10&quot;</span>,
+        <span class="hljs-string">&quot;others&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;programType&quot;</span>:<span class="hljs-string">&quot;SCALA&quot;</span>,
+        <span class="hljs-string">&quot;sparkVersion&quot;</span>:<span class="hljs-string">&quot;SPARK2&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -1239,51 +1239,51 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"MR"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-28997"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"MRTask"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"mainClass"</span>:<span class="hljs-string">"wordcount"</span>,
-        <span class="hljs-string">"mainJar"</span>:{
-            <span class="hljs-string">"id"</span>:5
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;MR&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-28997&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;MRTask&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;mainClass&quot;</span>:<span class="hljs-string">&quot;wordcount&quot;</span>,
+        <span class="hljs-string">&quot;mainJar&quot;</span>:{
+            <span class="hljs-string">&quot;id&quot;</span>:5
         },
-        <span class="hljs-string">"resourceList"</span>:[
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"mainArgs"</span>:<span class="hljs-string">"/tmp/wordcount/input /tmp/wordcount/output/"</span>,
-        <span class="hljs-string">"others"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"programType"</span>:<span class="hljs-string">"JAVA"</span>
+        <span class="hljs-string">&quot;mainArgs&quot;</span>:<span class="hljs-string">&quot;/tmp/wordcount/input /tmp/wordcount/output/&quot;</span>,
+        <span class="hljs-string">&quot;others&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;programType&quot;</span>:<span class="hljs-string">&quot;JAVA&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -1458,45 +1458,45 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"PYTHON"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-5463"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"Python Task"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"resourceList"</span>:[
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;PYTHON&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-5463&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;Python Task&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"rawScript"</span>:<span class="hljs-string">"print("</span>This is a python script<span class="hljs-string">")"</span>
+        <span class="hljs-string">&quot;rawScript&quot;</span>:<span class="hljs-string">&quot;print(&quot;</span>This is a python script<span class="hljs-string">&quot;)&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -1743,57 +1743,57 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"FLINK"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-17135"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"FlinkTask"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"mainClass"</span>:<span class="hljs-string">"com.flink.demo"</span>,
-        <span class="hljs-string">"mainJar"</span>:{
-            <span class="hljs-string">"id"</span>:6
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;FLINK&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-17135&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;FlinkTask&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;mainClass&quot;</span>:<span class="hljs-string">&quot;com.flink.demo&quot;</span>,
+        <span class="hljs-string">&quot;mainJar&quot;</span>:{
+            <span class="hljs-string">&quot;id&quot;</span>:6
         },
-        <span class="hljs-string">"deployMode"</span>:<span class="hljs-string">"cluster"</span>,
-        <span class="hljs-string">"resourceList"</span>:[
+        <span class="hljs-string">&quot;deployMode&quot;</span>:<span class="hljs-string">&quot;cluster&quot;</span>,
+        <span class="hljs-string">&quot;resourceList&quot;</span>:[
             {
-                <span class="hljs-string">"id"</span>:3,
-                <span class="hljs-string">"name"</span>:<span class="hljs-string">"run.sh"</span>,
-                <span class="hljs-string">"res"</span>:<span class="hljs-string">"run.sh"</span>
+                <span class="hljs-string">&quot;id&quot;</span>:3,
+                <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>,
+                <span class="hljs-string">&quot;res&quot;</span>:<span class="hljs-string">&quot;run.sh&quot;</span>
             }
         ],
-        <span class="hljs-string">"localParams"</span>:[
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"slot"</span>:1,
-        <span class="hljs-string">"taskManager"</span>:<span class="hljs-string">"2"</span>,
-        <span class="hljs-string">"jobManagerMemory"</span>:<span class="hljs-string">"1G"</span>,
-        <span class="hljs-string">"taskManagerMemory"</span>:<span class="hljs-string">"2G"</span>,
-        <span class="hljs-string">"executorCores"</span>:2,
-        <span class="hljs-string">"mainArgs"</span>:<span class="hljs-string">"100"</span>,
-        <span class="hljs-string">"others"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"programType"</span>:<span class="hljs-string">"SCALA"</span>
+        <span class="hljs-string">&quot;slot&quot;</span>:1,
+        <span class="hljs-string">&quot;taskManager&quot;</span>:<span class="hljs-string">&quot;2&quot;</span>,
+        <span class="hljs-string">&quot;jobManagerMemory&quot;</span>:<span class="hljs-string">&quot;1G&quot;</span>,
+        <span class="hljs-string">&quot;taskManagerMemory&quot;</span>:<span class="hljs-string">&quot;2G&quot;</span>,
+        <span class="hljs-string">&quot;executorCores&quot;</span>:2,
+        <span class="hljs-string">&quot;mainArgs&quot;</span>:<span class="hljs-string">&quot;100&quot;</span>,
+        <span class="hljs-string">&quot;others&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;programType&quot;</span>:<span class="hljs-string">&quot;SCALA&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -1992,53 +1992,53 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"HTTP"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-60499"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"HttpTask"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"localParams"</span>:[
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;HTTP&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-60499&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;HttpTask&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;localParams&quot;</span>:[
 
         ],
-        <span class="hljs-string">"httpParams"</span>:[
+        <span class="hljs-string">&quot;httpParams&quot;</span>:[
             {
-                <span class="hljs-string">"prop"</span>:<span class="hljs-string">"id"</span>,
-                <span class="hljs-string">"httpParametersType"</span>:<span class="hljs-string">"PARAMETER"</span>,
-                <span class="hljs-string">"value"</span>:<span class="hljs-string">"1"</span>
+                <span class="hljs-string">&quot;prop&quot;</span>:<span class="hljs-string">&quot;id&quot;</span>,
+                <span class="hljs-string">&quot;httpParametersType&quot;</span>:<span class="hljs-string">&quot;PARAMETER&quot;</span>,
+                <span class="hljs-string">&quot;value&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>
             },
             {
-                <span class="hljs-string">"prop"</span>:<span class="hljs-string">"name"</span>,
-                <span class="hljs-string">"httpParametersType"</span>:<span class="hljs-string">"PARAMETER"</span>,
-                <span class="hljs-string">"value"</span>:<span class="hljs-string">"Bo"</span>
+                <span class="hljs-string">&quot;prop&quot;</span>:<span class="hljs-string">&quot;name&quot;</span>,
+                <span class="hljs-string">&quot;httpParametersType&quot;</span>:<span class="hljs-string">&quot;PARAMETER&quot;</span>,
+                <span class="hljs-string">&quot;value&quot;</span>:<span class="hljs-string">&quot;Bo&quot;</span>
             }
         ],
-        <span class="hljs-string">"url"</span>:<span class="hljs-string">"https://www.xxxxx.com:9012"</span>,
-        <span class="hljs-string">"httpMethod"</span>:<span class="hljs-string">"POST"</span>,
-        <span class="hljs-string">"httpCheckCondition"</span>:<span class="hljs-string">"STATUS_CODE_DEFAULT"</span>,
-        <span class="hljs-string">"condition"</span>:<span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;url&quot;</span>:<span class="hljs-string">&quot;https://www.xxxxx.com:9012&quot;</span>,
+        <span class="hljs-string">&quot;httpMethod&quot;</span>:<span class="hljs-string">&quot;POST&quot;</span>,
+        <span class="hljs-string">&quot;httpCheckCondition&quot;</span>:<span class="hljs-string">&quot;STATUS_CODE_DEFAULT&quot;</span>,
+        <span class="hljs-string">&quot;condition&quot;</span>:<span class="hljs-string">&quot;&quot;</span>
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -2293,49 +2293,49 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"DATAX"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-91196"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"DataxTask-DB"</span>,
-    <span class="hljs-string">"params"</span>:{
-        <span class="hljs-string">"customConfig"</span>:0,
-        <span class="hljs-string">"dsType"</span>:<span class="hljs-string">"MYSQL"</span>,
-        <span class="hljs-string">"dataSource"</span>:1,
-        <span class="hljs-string">"dtType"</span>:<span class="hljs-string">"MYSQL"</span>,
-        <span class="hljs-string">"dataTarget"</span>:1,
-        <span class="hljs-string">"sql"</span>:<span class="hljs-string">"select id, name ,age from user "</span>,
-        <span class="hljs-string">"targetTable"</span>:<span class="hljs-string">"emp"</span>,
-        <span class="hljs-string">"jobSpeedByte"</span>:524288,
-        <span class="hljs-string">"jobSpeedRecord"</span>:500,
-        <span class="hljs-string">"preStatements"</span>:[
-            <span class="hljs-string">"truncate table emp "</span>
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;DATAX&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-91196&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;DataxTask-DB&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
+        <span class="hljs-string">&quot;customConfig&quot;</span>:0,
+        <span class="hljs-string">&quot;dsType&quot;</span>:<span class="hljs-string">&quot;MYSQL&quot;</span>,
+        <span class="hljs-string">&quot;dataSource&quot;</span>:1,
+        <span class="hljs-string">&quot;dtType&quot;</span>:<span class="hljs-string">&quot;MYSQL&quot;</span>,
+        <span class="hljs-string">&quot;dataTarget&quot;</span>:1,
+        <span class="hljs-string">&quot;sql&quot;</span>:<span class="hljs-string">&quot;select id, name ,age from user &quot;</span>,
+        <span class="hljs-string">&quot;targetTable&quot;</span>:<span class="hljs-string">&quot;emp&quot;</span>,
+        <span class="hljs-string">&quot;jobSpeedByte&quot;</span>:524288,
+        <span class="hljs-string">&quot;jobSpeedRecord&quot;</span>:500,
+        <span class="hljs-string">&quot;preStatements&quot;</span>:[
+            <span class="hljs-string">&quot;truncate table emp &quot;</span>
         ],
-        <span class="hljs-string">"postStatements"</span>:[
-            <span class="hljs-string">"truncate table user"</span>
+        <span class="hljs-string">&quot;postStatements&quot;</span>:[
+            <span class="hljs-string">&quot;truncate table user&quot;</span>
         ]
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">""</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">""</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
 
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
     ]
 }
@@ -2542,43 +2542,43 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-            <span class="hljs-string">"type"</span>:<span class="hljs-string">"SQOOP"</span>,
-            <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-82041"</span>,
-            <span class="hljs-string">"name"</span>:<span class="hljs-string">"Sqoop Task"</span>,
-            <span class="hljs-string">"params"</span>:{
-                <span class="hljs-string">"concurrency"</span>:1,
-                <span class="hljs-string">"modelType"</span>:<span class="hljs-string">"import"</span>,
-                <span class="hljs-string">"sourceType"</span>:<span class="hljs-string">"MYSQL"</span>,
-                <span class="hljs-string">"targetType"</span>:<span class="hljs-string">"HDFS"</span>,
-                <span class="hljs-string">"sourceParams"</span>:<span class="hljs-string">"{"</span>srcType<span class="hljs-string">":"</span>MYSQL<span class="hljs-string">","</span>srcDatasource<span class="hljs-string">":1,"</span>srcTable<span class="hljs-string">":"</span><span class="hljs-string">","</span>srcQueryType<span class="hljs-string">":"</span>1<span class="hljs-string">","</span>srcQuerySql<span class="hljs-string">":"</span>selec id , name from user<span class="hljs-st [...]
-                <span class="hljs-string">"targetParams"</span>:<span class="hljs-string">"{"</span>targetPath<span class="hljs-string">":"</span>/user/hive/warehouse/ods.db/user<span class="hljs-string">","</span>deleteTargetDir<span class="hljs-string">":false,"</span>fileType<span class="hljs-string">":"</span>--as-avrodatafile<span class="hljs-string">","</span>compressionCodec<span class="hljs-string">":"</span>snappy<span class="hljs-string">","</span>fieldsTerminated<span class="h [...]
-                <span class="hljs-string">"localParams"</span>:[
+            <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SQOOP&quot;</span>,
+            <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-82041&quot;</span>,
+            <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;Sqoop Task&quot;</span>,
+            <span class="hljs-string">&quot;params&quot;</span>:{
+                <span class="hljs-string">&quot;concurrency&quot;</span>:1,
+                <span class="hljs-string">&quot;modelType&quot;</span>:<span class="hljs-string">&quot;import&quot;</span>,
+                <span class="hljs-string">&quot;sourceType&quot;</span>:<span class="hljs-string">&quot;MYSQL&quot;</span>,
+                <span class="hljs-string">&quot;targetType&quot;</span>:<span class="hljs-string">&quot;HDFS&quot;</span>,
+                <span class="hljs-string">&quot;sourceParams&quot;</span>:<span class="hljs-string">&quot;{&quot;</span>srcType<span class="hljs-string">&quot;:&quot;</span>MYSQL<span class="hljs-string">&quot;,&quot;</span>srcDatasource<span class="hljs-string">&quot;:1,&quot;</span>srcTable<span class="hljs-string">&quot;:&quot;</span><span class="hljs-string">&quot;,&quot;</span>srcQueryType<span class="hljs-string">&quot;:&quot;</span>1<span class="hljs-string">&quot;,&quot;</span>sr [...]
+                <span class="hljs-string">&quot;targetParams&quot;</span>:<span class="hljs-string">&quot;{&quot;</span>targetPath<span class="hljs-string">&quot;:&quot;</span>/user/hive/warehouse/ods.db/user<span class="hljs-string">&quot;,&quot;</span>deleteTargetDir<span class="hljs-string">&quot;:false,&quot;</span>fileType<span class="hljs-string">&quot;:&quot;</span>--as-avrodatafile<span class="hljs-string">&quot;,&quot;</span>compressionCodec<span class="hljs-string">&quot;:&quot [...]
+                <span class="hljs-string">&quot;localParams&quot;</span>:[
 
                 ]
             },
-            <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-            <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-            <span class="hljs-string">"conditionResult"</span>:{
-                <span class="hljs-string">"successNode"</span>:[
-                    <span class="hljs-string">""</span>
+            <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+            <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+            <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+                <span class="hljs-string">&quot;successNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ],
-                <span class="hljs-string">"failedNode"</span>:[
-                    <span class="hljs-string">""</span>
+                <span class="hljs-string">&quot;failedNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ]
             },
-            <span class="hljs-string">"dependence"</span>:{
+            <span class="hljs-string">&quot;dependence&quot;</span>:{
 
             },
-            <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-            <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-            <span class="hljs-string">"timeout"</span>:{
-                <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-                <span class="hljs-string">"interval"</span>:null,
-                <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+            <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+            <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+            <span class="hljs-string">&quot;timeout&quot;</span>:{
+                <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+                <span class="hljs-string">&quot;interval&quot;</span>:null,
+                <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
             },
-            <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-            <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-            <span class="hljs-string">"preTasks"</span>:[
+            <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+            <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+            <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
             ]
         }
@@ -2729,40 +2729,40 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-    <span class="hljs-string">"type"</span>:<span class="hljs-string">"CONDITIONS"</span>,
-    <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-96189"</span>,
-    <span class="hljs-string">"name"</span>:<span class="hljs-string">"条件"</span>,
-    <span class="hljs-string">"params"</span>:{
+    <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;CONDITIONS&quot;</span>,
+    <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-96189&quot;</span>,
+    <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;条件&quot;</span>,
+    <span class="hljs-string">&quot;params&quot;</span>:{
 
     },
-    <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-    <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-    <span class="hljs-string">"conditionResult"</span>:{
-        <span class="hljs-string">"successNode"</span>:[
-            <span class="hljs-string">"test04"</span>
+    <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+    <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+    <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+        <span class="hljs-string">&quot;successNode&quot;</span>:[
+            <span class="hljs-string">&quot;test04&quot;</span>
         ],
-        <span class="hljs-string">"failedNode"</span>:[
-            <span class="hljs-string">"test05"</span>
+        <span class="hljs-string">&quot;failedNode&quot;</span>:[
+            <span class="hljs-string">&quot;test05&quot;</span>
         ]
     },
-    <span class="hljs-string">"dependence"</span>:{
-        <span class="hljs-string">"relation"</span>:<span class="hljs-string">"AND"</span>,
-        <span class="hljs-string">"dependTaskList"</span>:[
+    <span class="hljs-string">&quot;dependence&quot;</span>:{
+        <span class="hljs-string">&quot;relation&quot;</span>:<span class="hljs-string">&quot;AND&quot;</span>,
+        <span class="hljs-string">&quot;dependTaskList&quot;</span>:[
 
         ]
     },
-    <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-    <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-    <span class="hljs-string">"timeout"</span>:{
-        <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-        <span class="hljs-string">"interval"</span>:null,
-        <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+    <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+    <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+    <span class="hljs-string">&quot;timeout&quot;</span>:{
+        <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+        <span class="hljs-string">&quot;interval&quot;</span>:null,
+        <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
     },
-    <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-    <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-    <span class="hljs-string">"preTasks"</span>:[
-        <span class="hljs-string">"test01"</span>,
-        <span class="hljs-string">"test02"</span>
+    <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+    <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+    <span class="hljs-string">&quot;preTasks&quot;</span>:[
+        <span class="hljs-string">&quot;test01&quot;</span>,
+        <span class="hljs-string">&quot;test02&quot;</span>
     ]
 }
 </code></pre>
@@ -2920,33 +2920,33 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-            <span class="hljs-string">"type"</span>:<span class="hljs-string">"SUB_PROCESS"</span>,
-            <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-14806"</span>,
-            <span class="hljs-string">"name"</span>:<span class="hljs-string">"SubProcessTask"</span>,
-            <span class="hljs-string">"params"</span>:{
-                <span class="hljs-string">"processDefinitionId"</span>:2
+            <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;SUB_PROCESS&quot;</span>,
+            <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-14806&quot;</span>,
+            <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;SubProcessTask&quot;</span>,
+            <span class="hljs-string">&quot;params&quot;</span>:{
+                <span class="hljs-string">&quot;processDefinitionId&quot;</span>:2
             },
-            <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-            <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-            <span class="hljs-string">"conditionResult"</span>:{
-                <span class="hljs-string">"successNode"</span>:[
-                    <span class="hljs-string">""</span>
+            <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+            <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+            <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+                <span class="hljs-string">&quot;successNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ],
-                <span class="hljs-string">"failedNode"</span>:[
-                    <span class="hljs-string">""</span>
+                <span class="hljs-string">&quot;failedNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ]
             },
-            <span class="hljs-string">"dependence"</span>:{
+            <span class="hljs-string">&quot;dependence&quot;</span>:{
 
             },
-            <span class="hljs-string">"timeout"</span>:{
-                <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-                <span class="hljs-string">"interval"</span>:null,
-                <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+            <span class="hljs-string">&quot;timeout&quot;</span>:{
+                <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+                <span class="hljs-string">&quot;interval&quot;</span>:null,
+                <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
             },
-            <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-            <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-            <span class="hljs-string">"preTasks"</span>:[
+            <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+            <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+            <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
             ]
         }
@@ -3137,129 +3137,129 @@
 </table>
 <p><strong>Node data example:</strong></p>
 <pre><code class="language-bash">{
-            <span class="hljs-string">"type"</span>:<span class="hljs-string">"DEPENDENT"</span>,
-            <span class="hljs-string">"id"</span>:<span class="hljs-string">"tasks-57057"</span>,
-            <span class="hljs-string">"name"</span>:<span class="hljs-string">"DenpendentTask"</span>,
-            <span class="hljs-string">"params"</span>:{
+            <span class="hljs-string">&quot;type&quot;</span>:<span class="hljs-string">&quot;DEPENDENT&quot;</span>,
+            <span class="hljs-string">&quot;id&quot;</span>:<span class="hljs-string">&quot;tasks-57057&quot;</span>,
+            <span class="hljs-string">&quot;name&quot;</span>:<span class="hljs-string">&quot;DenpendentTask&quot;</span>,
+            <span class="hljs-string">&quot;params&quot;</span>:{
 
             },
-            <span class="hljs-string">"description"</span>:<span class="hljs-string">""</span>,
-            <span class="hljs-string">"runFlag"</span>:<span class="hljs-string">"NORMAL"</span>,
-            <span class="hljs-string">"conditionResult"</span>:{
-                <span class="hljs-string">"successNode"</span>:[
-                    <span class="hljs-string">""</span>
+            <span class="hljs-string">&quot;description&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+            <span class="hljs-string">&quot;runFlag&quot;</span>:<span class="hljs-string">&quot;NORMAL&quot;</span>,
+            <span class="hljs-string">&quot;conditionResult&quot;</span>:{
+                <span class="hljs-string">&quot;successNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ],
-                <span class="hljs-string">"failedNode"</span>:[
-                    <span class="hljs-string">""</span>
+                <span class="hljs-string">&quot;failedNode&quot;</span>:[
+                    <span class="hljs-string">&quot;&quot;</span>
                 ]
             },
-            <span class="hljs-string">"dependence"</span>:{
-                <span class="hljs-string">"relation"</span>:<span class="hljs-string">"AND"</span>,
-                <span class="hljs-string">"dependTaskList"</span>:[
+            <span class="hljs-string">&quot;dependence&quot;</span>:{
+                <span class="hljs-string">&quot;relation&quot;</span>:<span class="hljs-string">&quot;AND&quot;</span>,
+                <span class="hljs-string">&quot;dependTaskList&quot;</span>:[
                     {
-                        <span class="hljs-string">"relation"</span>:<span class="hljs-string">"AND"</span>,
-                        <span class="hljs-string">"dependItemList"</span>:[
+                        <span class="hljs-string">&quot;relation&quot;</span>:<span class="hljs-string">&quot;AND&quot;</span>,
+                        <span class="hljs-string">&quot;dependItemList&quot;</span>:[
                             {
-                                <span class="hljs-string">"projectId"</span>:1,
-                                <span class="hljs-string">"definitionId"</span>:7,
-                                <span class="hljs-string">"definitionList"</span>:[
+                                <span class="hljs-string">&quot;projectId&quot;</span>:1,
+                                <span class="hljs-string">&quot;definitionId&quot;</span>:7,
+                                <span class="hljs-string">&quot;definitionList&quot;</span>:[
                                     {
-                                        <span class="hljs-string">"value"</span>:8,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"MRTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:8,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;MRTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:7,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"FlinkTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:7,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;FlinkTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:6,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SparkTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:6,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SparkTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:5,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SqlTask-Update"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:5,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SqlTask-Update&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:4,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SqlTask-Query"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:4,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SqlTask-Query&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:3,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SubProcessTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:3,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SubProcessTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:2,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"Python Task"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:2,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;Python Task&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:1,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"Shell Task"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:1,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;Shell Task&quot;</span>
                                     }
                                 ],
-                                <span class="hljs-string">"depTasks"</span>:<span class="hljs-string">"ALL"</span>,
-                                <span class="hljs-string">"cycle"</span>:<span class="hljs-string">"day"</span>,
-                                <span class="hljs-string">"dateValue"</span>:<span class="hljs-string">"today"</span>
+                                <span class="hljs-string">&quot;depTasks&quot;</span>:<span class="hljs-string">&quot;ALL&quot;</span>,
+                                <span class="hljs-string">&quot;cycle&quot;</span>:<span class="hljs-string">&quot;day&quot;</span>,
+                                <span class="hljs-string">&quot;dateValue&quot;</span>:<span class="hljs-string">&quot;today&quot;</span>
                             }
                         ]
                     },
                     {
-                        <span class="hljs-string">"relation"</span>:<span class="hljs-string">"AND"</span>,
-                        <span class="hljs-string">"dependItemList"</span>:[
+                        <span class="hljs-string">&quot;relation&quot;</span>:<span class="hljs-string">&quot;AND&quot;</span>,
+                        <span class="hljs-string">&quot;dependItemList&quot;</span>:[
                             {
-                                <span class="hljs-string">"projectId"</span>:1,
-                                <span class="hljs-string">"definitionId"</span>:5,
-                                <span class="hljs-string">"definitionList"</span>:[
+                                <span class="hljs-string">&quot;projectId&quot;</span>:1,
+                                <span class="hljs-string">&quot;definitionId&quot;</span>:5,
+                                <span class="hljs-string">&quot;definitionList&quot;</span>:[
                                     {
-                                        <span class="hljs-string">"value"</span>:8,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"MRTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:8,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;MRTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:7,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"FlinkTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:7,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;FlinkTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:6,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SparkTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:6,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SparkTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:5,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SqlTask-Update"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:5,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SqlTask-Update&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:4,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SqlTask-Query"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:4,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SqlTask-Query&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:3,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"SubProcessTask"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:3,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;SubProcessTask&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:2,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"Python Task"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:2,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;Python Task&quot;</span>
                                     },
                                     {
-                                        <span class="hljs-string">"value"</span>:1,
-                                        <span class="hljs-string">"label"</span>:<span class="hljs-string">"Shell Task"</span>
+                                        <span class="hljs-string">&quot;value&quot;</span>:1,
+                                        <span class="hljs-string">&quot;label&quot;</span>:<span class="hljs-string">&quot;Shell Task&quot;</span>
                                     }
                                 ],
-                                <span class="hljs-string">"depTasks"</span>:<span class="hljs-string">"SqlTask-Update"</span>,
-                                <span class="hljs-string">"cycle"</span>:<span class="hljs-string">"day"</span>,
-                                <span class="hljs-string">"dateValue"</span>:<span class="hljs-string">"today"</span>
+                                <span class="hljs-string">&quot;depTasks&quot;</span>:<span class="hljs-string">&quot;SqlTask-Update&quot;</span>,
+                                <span class="hljs-string">&quot;cycle&quot;</span>:<span class="hljs-string">&quot;day&quot;</span>,
+                                <span class="hljs-string">&quot;dateValue&quot;</span>:<span class="hljs-string">&quot;today&quot;</span>
                             }
                         ]
                     }
                 ]
             },
-            <span class="hljs-string">"maxRetryTimes"</span>:<span class="hljs-string">"0"</span>,
-            <span class="hljs-string">"retryInterval"</span>:<span class="hljs-string">"1"</span>,
-            <span class="hljs-string">"timeout"</span>:{
-                <span class="hljs-string">"strategy"</span>:<span class="hljs-string">""</span>,
-                <span class="hljs-string">"interval"</span>:null,
-                <span class="hljs-string">"enable"</span>:<span class="hljs-literal">false</span>
+            <span class="hljs-string">&quot;maxRetryTimes&quot;</span>:<span class="hljs-string">&quot;0&quot;</span>,
+            <span class="hljs-string">&quot;retryInterval&quot;</span>:<span class="hljs-string">&quot;1&quot;</span>,
+            <span class="hljs-string">&quot;timeout&quot;</span>:{
+                <span class="hljs-string">&quot;strategy&quot;</span>:<span class="hljs-string">&quot;&quot;</span>,
+                <span class="hljs-string">&quot;interval&quot;</span>:null,
+                <span class="hljs-string">&quot;enable&quot;</span>:<span class="hljs-literal">false</span>
             },
-            <span class="hljs-string">"taskInstancePriority"</span>:<span class="hljs-string">"MEDIUM"</span>,
-            <span class="hljs-string">"workerGroup"</span>:<span class="hljs-string">"default"</span>,
-            <span class="hljs-string">"preTasks"</span>:[
+            <span class="hljs-string">&quot;taskInstancePriority&quot;</span>:<span class="hljs-string">&quot;MEDIUM&quot;</span>,
+            <span class="hljs-string">&quot;workerGroup&quot;</span>:<span class="hljs-string">&quot;default&quot;</span>,
+            <span class="hljs-string">&quot;preTasks&quot;</span>:[
 
             ]
         }
@@ -3268,7 +3268,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/task-structure.json b/en-us/docs/1.3.4/user_doc/task-structure.json
index fe4cf24..e09a0b8 100644
--- a/en-us/docs/1.3.4/user_doc/task-structure.json
+++ b/en-us/docs/1.3.4/user_doc/task-structure.json
@@ -1,6 +1,6 @@
 {
   "filename": "task-structure.md",
-  "__html": "<h1>Overall Tasks Storage Structure</h1>\n<p>All tasks created in Dolphinscheduler are saved in the t_ds_process_definition table.</p>\n<p>The following shows the 't_ds_process_definition' table structure:</p>\n<table>\n<thead>\n<tr>\n<th>No.</th>\n<th>field</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>id</td>\n<td>int(11)</td>\n<td>primary key</td>\n</tr>\n<tr>\n<td>2</td>\n<td>name</td>\n<td>varchar(255)</td>\n<td>process defin [...]
-  "link": "/en-us/docs/1.3.4/user_doc/task-structure.html",
+  "__html": "<h1>Overall Tasks Storage Structure</h1>\n<p>All tasks created in Dolphinscheduler are saved in the t_ds_process_definition table.</p>\n<p>The following shows the 't_ds_process_definition' table structure:</p>\n<table>\n<thead>\n<tr>\n<th>No.</th>\n<th>field</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>id</td>\n<td>int(11)</td>\n<td>primary key</td>\n</tr>\n<tr>\n<td>2</td>\n<td>name</td>\n<td>varchar(255)</td>\n<td>process defin [...]
+  "link": "/dist/en-us/docs/1.3.4/user_doc/task-structure.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/1.3.4/user_doc/upgrade.html b/en-us/docs/1.3.4/user_doc/upgrade.html
index aebfcf6..a08fcbe 100644
--- a/en-us/docs/1.3.4/user_doc/upgrade.html
+++ b/en-us/docs/1.3.4/user_doc/upgrade.html
@@ -7,16 +7,16 @@
   <meta name="description" content="upgrade" />
   <title>upgrade</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>1. Back up previous version's files and database.</h2>
 <h2>2. Stop all services of DolphinScheduler.</h2>
 <p><code>sh ./script/stop-all.sh</code></p>
 <h2>3. Download the new version's installation package.</h2>
 <ul>
-<li><a href="https://dolphinscheduler.apache.org/en-us/docs/release/download.html">Download</a> the latest version of the installation packages.</li>
+<li><a href="/en-us/download/download.html">Download</a> the latest version of the installation packages.</li>
 <li>The following upgrade operations need to be performed in the new version's directory.</li>
 </ul>
 <h2>4. Database upgrade</h2>
@@ -44,8 +44,8 @@
 <h2>5. Backend service upgrade.</h2>
 <h3>5.1 Modify the content in <code>conf/config/install_config.conf</code> file.</h3>
 <ul>
-<li>Standalone Deployment please refer the [6, Modify running arguments] in <a href="https://dolphinscheduler.apache.org/en-us/docs/1.3.2/user_doc/standalone-deployment.html">Standalone-Deployment</a>.</li>
-<li>Cluster Deployment please refer the [6, Modify running arguments] in <a href="https://dolphinscheduler.apache.org/en-us/docs/1.3.2/user_doc/cluster-deployment.html">Cluster-Deployment</a>.</li>
+<li>Standalone Deployment please refer the [6, Modify running arguments] in <a href="/en-us/docs/1.3.4/user_doc/standalone-deployment.html">Standalone-Deployment</a>.</li>
+<li>Cluster Deployment please refer the [6, Modify running arguments] in <a href="/en-us/docs/1.3.4/user_doc/cluster-deployment.html">Cluster-Deployment</a>.</li>
 </ul>
 <h4>Masters need attentions</h4>
 <p>Create worker group in 1.3.1 version has different design:</p>
@@ -101,8 +101,8 @@
 </tbody>
 </table>
 <p>To keep worker group config consistant with previous version, we need to modify workers config item as below:</p>
-<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">worker service is deployed on <span class="hljs-built_in">which</span> machine, and also specify <span class="hljs-built_in">which</span> worker group this worker belong to. </span>
-workers="ds1:service1,ds2:service2,ds3:service2"
+<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">worker service is deployed on <span class="hljs-built_in">which</span> machine, and also specify <span class="hljs-built_in">which</span> worker group this worker belong to.</span> 
+workers=&quot;ds1:service1,ds2:service2,ds3:service2&quot;
 </code></pre>
 <h4>The worker group has been enhanced in version 1.3.2.</h4>
 <p>Worker in 1.3.1 can't belong to more than one worker group, in 1.3.2 it's supported. So in 1.3.1 it's not supported when workers=&quot;ds1:service1,ds1:service2&quot;, and in 1.3.2 it's supported.</p>
@@ -113,7 +113,7 @@ workers="ds1:service1,ds2:service2,ds3:service2"
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/1.3.4/user_doc/upgrade.json b/en-us/docs/1.3.4/user_doc/upgrade.json
index f191cde..5bec2fe 100644
--- a/en-us/docs/1.3.4/user_doc/upgrade.json
+++ b/en-us/docs/1.3.4/user_doc/upgrade.json
@@ -1,6 +1,6 @@
 {
   "filename": "upgrade.md",
-  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up previous version's files and database.</h2>\n<h2>2. Stop all services of DolphinScheduler.</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version's installation package.</h2>\n<ul>\n<li><a href=\"https://dolphinscheduler.apache.org/en-us/docs/release/download.html\">Download</a> the latest version of the installation packages.</li>\n<li>The following upgrade operations need to be perf [...]
-  "link": "/en-us/docs/1.3.4/user_doc/upgrade.html",
+  "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up previous version's files and database.</h2>\n<h2>2. Stop all services of DolphinScheduler.</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version's installation package.</h2>\n<ul>\n<li><a href=\"/en-us/download/download.html\">Download</a> the latest version of the installation packages.</li>\n<li>The following upgrade operations need to be performed in the new version's directory.</ [...]
+  "link": "/dist/en-us/docs/1.3.4/user_doc/upgrade.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/DS-License.html b/en-us/docs/development/DS-License.html
index 1a3eed3..fbeb9d7 100644
--- a/en-us/docs/development/DS-License.html
+++ b/en-us/docs/development/DS-License.html
@@ -7,10 +7,10 @@
   <meta name="description" content="DS-License" />
   <title>DS-License</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>As we know that DolphinScheduler is an open-source undergoing incubation project at The Apache Software Foundation (ASF), which means that you have to follow the Apache way to become the DolphinScheduler contributor. Furthermore, Apache has extremely strict rules according to the License. This passage will explain the ASF license and how to avoid License risks at the early stage when you participate in DolphinScheduler.</p>
 <p>Note: This article only applies to the Apache projects.</p>
 <h3>Licenses Could be Accepted to the Apache Project</h3>
@@ -43,7 +43,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/DS-License.json b/en-us/docs/development/DS-License.json
index 3b35931..f74ea13 100644
--- a/en-us/docs/development/DS-License.json
+++ b/en-us/docs/development/DS-License.json
@@ -1,6 +1,6 @@
 {
   "filename": "DS-License.md",
   "__html": "<h2>DolphinScheduler-Contributor-License Policy</h2>\n<p>As we know that DolphinScheduler is an open-source undergoing incubation project at The Apache Software Foundation (ASF), which means that you have to follow the Apache way to become the DolphinScheduler contributor. Furthermore, Apache has extremely strict rules according to the License. This passage will explain the ASF license and how to avoid License risks at the early stage when you participate in DolphinScheduler [...]
-  "link": "/en-us/docs/development/DS-License.html",
+  "link": "/dist/en-us/docs/development/DS-License.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/architecture-design.html b/en-us/docs/development/architecture-design.html
index d4bc39e..75c1174 100644
--- a/en-us/docs/development/architecture-design.html
+++ b/en-us/docs/development/architecture-design.html
@@ -7,10 +7,10 @@
   <meta name="description" content="architecture-design" />
   <title>architecture-design</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>
 <h3>1.Noun Interpretation</h3>
 <p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the following picture:</p>
@@ -258,7 +258,7 @@ Interfaces include workflow creation, definition, query, modification, release,
         String activeFile = currentlyActiveFile;
         <span class="hljs-comment">// thread name: taskThreadName-processDefineId_processInstanceId_taskInstanceId</span>
         String threadName = event.getThreadName();
-        String[] threadNameArr = threadName.split(<span class="hljs-string">"-"</span>);
+        String[] threadNameArr = threadName.split(<span class="hljs-string">&quot;-&quot;</span>);
         <span class="hljs-comment">// logId = processDefineId_processInstanceId_taskInstanceId</span>
         String logId = threadNameArr[<span class="hljs-number">1</span>];
         ...
@@ -278,7 +278,7 @@ Public <span class="hljs-class"><span class="hljs-keyword">class</span> <span cl
 
     <span class="hljs-meta">@Override</span>
     <span class="hljs-function">Public FilterReply <span class="hljs-title">decide</span><span class="hljs-params">(ILoggingEvent event)</span> </span>{
-        If (event.getThreadName().startsWith(<span class="hljs-string">"TaskLogInfo-"</span>)){
+        If (event.getThreadName().startsWith(<span class="hljs-string">&quot;TaskLogInfo-&quot;</span>)){
             Return FilterReply.ACCEPT;
         }
         Return FilterReply.DENY;
@@ -291,7 +291,7 @@ Public <span class="hljs-class"><span class="hljs-keyword">class</span> <span cl
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/architecture-design.json b/en-us/docs/development/architecture-design.json
index 2f048ee..b43a480 100644
--- a/en-us/docs/development/architecture-design.json
+++ b/en-us/docs/development/architecture-design.json
@@ -1,6 +1,6 @@
 {
   "filename": "architecture-design.md",
-  "__html": "<h2>Architecture Design</h2>\n<p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>\n<h3>1.Noun Interpretation</h3>\n<p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the fol [...]
-  "link": "/en-us/docs/development/architecture-design.html",
+  "__html": "<h2>Architecture Design</h2>\n<p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>\n<h3>1.Noun Interpretation</h3>\n<p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the fol [...]
+  "link": "/dist/en-us/docs/development/architecture-design.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/backend-development.html b/en-us/docs/development/backend-development.html
index 4ac1dfc..0ecf715 100644
--- a/en-us/docs/development/backend-development.html
+++ b/en-us/docs/development/backend-development.html
@@ -7,10 +7,10 @@
   <meta name="description" content="backend-development" />
   <title>backend-development</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>Environmental requirements</h2>
 <ul>
 <li>MySQL (5.5+) :  Must be installed</li>
@@ -57,7 +57,7 @@ install.sh : one-click deployment script
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/backend-development.json b/en-us/docs/development/backend-development.json
index 92e7cd3..1309e7f 100644
--- a/en-us/docs/development/backend-development.json
+++ b/en-us/docs/development/backend-development.json
@@ -1,6 +1,6 @@
 {
   "filename": "backend-development.md",
   "__html": "<h1>Backend development documentation</h1>\n<h2>Environmental requirements</h2>\n<ul>\n<li>MySQL (5.5+) :  Must be installed</li>\n<li>JDK (1.8+) :  Must be installed</li>\n<li>ZooKeeper (3.4.6+) :Must be installed</li>\n<li>Maven (3.3+) :Must be installed</li>\n</ul>\n<p>Because the dolphinscheduler-rpc module in DolphinScheduler uses Grpc, you need to use Maven to compile the generated classes.\nFor those who are not familiar with maven, please refer to: <a href=\"http://m [...]
-  "link": "/en-us/docs/development/backend-development.html",
+  "link": "/dist/en-us/docs/development/backend-development.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/become a committer.html b/en-us/docs/development/become a committer.html
index 4d4f58e..cacdcf2 100644
--- a/en-us/docs/development/become a committer.html	
+++ b/en-us/docs/development/become a committer.html	
@@ -7,10 +7,10 @@
   <meta name="description" content="become a committer" />
   <title>become a committer</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Anyone can be a contributor to an Apache project. Being a contributor simply means that you take an interest in the project and contribute in some way, ranging from asking sensible questions (which documents the project and provides feedback to developers) through to providing new features as patches.</p>
 <p>If you become a valuable contributor to the project you may well be invited to become a committer. Committer is a term used at the ASF to signify someone who is committed to a particular project. It brings with it the privilege of write access to the project repository and resources.</p>
 <p>In Dolphinscheduler(incubating) community, if a committer who have earned even more merit, can be invited to be a part of the Podling Project Management Committee (PPMC).</p>
@@ -20,7 +20,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/become a committer.json b/en-us/docs/development/become a committer.json
index 1b58f5e..0592386 100644
--- a/en-us/docs/development/become a committer.json	
+++ b/en-us/docs/development/become a committer.json	
@@ -1,6 +1,6 @@
 {
   "filename": "become a committer.md",
   "__html": "<h1>How to become DolphinScheduler committer</h1>\n<p>Anyone can be a contributor to an Apache project. Being a contributor simply means that you take an interest in the project and contribute in some way, ranging from asking sensible questions (which documents the project and provides feedback to developers) through to providing new features as patches.</p>\n<p>If you become a valuable contributor to the project you may well be invited to become a committer. Committer is a  [...]
-  "link": "/en-us/docs/development/become a committer.html",
+  "link": "/dist/en-us/docs/development/become a committer.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/code-conduct.html b/en-us/docs/development/code-conduct.html
index a272d8a..8412700 100644
--- a/en-us/docs/development/code-conduct.html
+++ b/en-us/docs/development/code-conduct.html
@@ -7,10 +7,10 @@
   <meta name="description" content="code-conduct" />
   <title>code-conduct</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>The following Code of Conduct is based on full compliance with the <a href="https://www.apache.org/foundation/policies/conduct.html">Apache Software Foundation Code of Conduct</a>.</p>
 <h3>Development philosophy.</h3>
 <ul>
@@ -113,7 +113,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/code-conduct.json b/en-us/docs/development/code-conduct.json
index 6c9e655..3664d41 100644
--- a/en-us/docs/development/code-conduct.json
+++ b/en-us/docs/development/code-conduct.json
@@ -1,6 +1,6 @@
 {
   "filename": "code-conduct.md",
   "__html": "<h2>Code of Conduct</h2>\n<p>The following Code of Conduct is based on full compliance with the <a href=\"https://www.apache.org/foundation/policies/conduct.html\">Apache Software Foundation Code of Conduct</a>.</p>\n<h3>Development philosophy.</h3>\n<ul>\n<li><strong>Consistent</strong> code style, naming, and usage are consistent.</li>\n<li><strong>Easy to read</strong> code is obvious, easy to read and understand, when debugging one knows the intent of the code.</li>\n<li [...]
-  "link": "/en-us/docs/development/code-conduct.html",
+  "link": "/dist/en-us/docs/development/code-conduct.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/commit-message.html b/en-us/docs/development/commit-message.html
index 88a759a..d5e48b5 100644
--- a/en-us/docs/development/commit-message.html
+++ b/en-us/docs/development/commit-message.html
@@ -7,10 +7,10 @@
   <meta name="description" content="This documentation outlines the commit message format for contributing to dolphine scheduler" />
   <title>Commit Message</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h3>Preface</h3>
 <p>A good commit message can help other developers (or future developers) quickly understand the context of related changes, and can also help project managers determine whether the commit is suitable for inclusion in the release. But when we checked the commit logs of many open source projects, we found an interesting problem. Some developers have very good code quality, but the commit message record is rather confusing. When other contributors or learners are viewing the code, it can’t [...]
 The purpose of the changes before and after the submission, as Peter Hutterer said:Re-establishing the context of a piece of code is wasteful. We can’t avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit message shows whether a developer is a good collaborator. Therefore, DolphinScheduler developed the protocol in conjunction with other communities and official Apache documents.</p>
@@ -79,7 +79,7 @@ This closes #001
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/commit-message.json b/en-us/docs/development/commit-message.json
index c2d6780..9c9005d 100644
--- a/en-us/docs/development/commit-message.json
+++ b/en-us/docs/development/commit-message.json
@@ -1,7 +1,7 @@
 {
   "filename": "commit-message.md",
   "__html": "<h2>DolphinScheduler-Contributor-CommitMessage</h2>\n<h3>Preface</h3>\n<p>A good commit message can help other developers (or future developers) quickly understand the context of related changes, and can also help project managers determine whether the commit is suitable for inclusion in the release. But when we checked the commit logs of many open source projects, we found an interesting problem. Some developers have very good code quality, but the commit message record is  [...]
-  "link": "/en-us/docs/development/commit-message.html",
+  "link": "/dist/en-us/docs/development/commit-message.html",
   "meta": {
     "title": "Commit Message",
     "keywords": "DolphinScheduler, commit message, contibuting",
diff --git a/en-us/docs/development/contribute.html b/en-us/docs/development/contribute.html
index 8d15cb6..4cfbbc0 100644
--- a/en-us/docs/development/contribute.html
+++ b/en-us/docs/development/contribute.html
@@ -7,10 +7,10 @@
   <meta name="description" content="contribute" />
   <title>contribute</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>First of all, thank you very much for choosing and using DolphinScheduler, and welcome to join the DolphinScheduler family!</p>
 <p>We encourage any form of participation in the community that will eventually become Committer or PPMC Such as:</p>
 <ul>
@@ -47,7 +47,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/contribute.json b/en-us/docs/development/contribute.json
index 1a4060c..7f6fb85 100644
--- a/en-us/docs/development/contribute.json
+++ b/en-us/docs/development/contribute.json
@@ -1,6 +1,6 @@
 {
   "filename": "contribute.md",
   "__html": "<h2>Contribute</h2>\n<p>First of all, thank you very much for choosing and using DolphinScheduler, and welcome to join the DolphinScheduler family!</p>\n<p>We encourage any form of participation in the community that will eventually become Committer or PPMC Such as:</p>\n<ul>\n<li>Problems will be encountered via github on the <a href=\"https://github.com/apache/incubator-dolphinscheduler/issues\">issue</a> form feedback out.</li>\n<li>Answer the issue questions that others  [...]
-  "link": "/en-us/docs/development/contribute.html",
+  "link": "/dist/en-us/docs/development/contribute.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/developers.html b/en-us/docs/development/developers.html
index 93f38d2..9f7b367 100644
--- a/en-us/docs/development/developers.html
+++ b/en-us/docs/development/developers.html
@@ -7,15 +7,15 @@
   <meta name="description" content="developers" />
   <title>developers</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 </div></section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a man [...]
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/developers.json b/en-us/docs/development/developers.json
index a8d58bf..5482860 100644
--- a/en-us/docs/development/developers.json
+++ b/en-us/docs/development/developers.json
@@ -1,6 +1,6 @@
 {
   "filename": "developers.md",
   "__html": "<h2>TODO</h2>\n",
-  "link": "/en-us/docs/development/developers.html",
+  "link": "/dist/en-us/docs/development/developers.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/development-environment-setup.html b/en-us/docs/development/development-environment-setup.html
index 2901c8e..9ca4b5a 100644
--- a/en-us/docs/development/development-environment-setup.html
+++ b/en-us/docs/development/development-environment-setup.html
@@ -7,10 +7,10 @@
   <meta name="description" content="development-environment-setup" />
   <title>development-environment-setup</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <ol>
 <li>
 <p>First, fork the <a href="https://github.com/apache/incubator-dolphinscheduler">dolphinscheduler</a> code from the remote repository to your local repository.</p>
@@ -189,7 +189,7 @@ password: dolphinscheduler123</p>
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/development-environment-setup.json b/en-us/docs/development/development-environment-setup.json
index c10f347..6122b23 100644
--- a/en-us/docs/development/development-environment-setup.json
+++ b/en-us/docs/development/development-environment-setup.json
@@ -1,6 +1,6 @@
 {
   "filename": "development-environment-setup.md",
   "__html": "<h4>Preparation</h4>\n<ol>\n<li>\n<p>First, fork the <a href=\"https://github.com/apache/incubator-dolphinscheduler\">dolphinscheduler</a> code from the remote repository to your local repository.</p>\n</li>\n<li>\n<p>Install MySQL/PostgreSQL, JDK and MAVEN in your own software development environment.</p>\n</li>\n<li>\n<p>Clone your forked repository to the local file system.</p>\n</li>\n</ol>\n<pre><code>    git clone https://github.com/apache/incubator-dolphinscheduler.gi [...]
-  "link": "/en-us/docs/development/development-environment-setup.html",
+  "link": "/dist/en-us/docs/development/development-environment-setup.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/document.html b/en-us/docs/development/document.html
index ab1891c..2d576a2 100644
--- a/en-us/docs/development/document.html
+++ b/en-us/docs/development/document.html
@@ -7,10 +7,10 @@
   <meta name="description" content="document" />
   <title>document</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Good documentation is critical for any type of software. Any contribution that can improve the DolphinScheduler documentation is welcome.</p>
 <h3>Get the document project.</h3>
 <p>Documentation for the DolphinScheduler project is maintained in a separate <a href="https://github.com/apache/incubator-dolphinscheduler-website">git repository</a>.</p>
@@ -86,7 +86,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/document.json b/en-us/docs/development/document.json
index 6a8564a..28f533d 100644
--- a/en-us/docs/development/document.json
+++ b/en-us/docs/development/document.json
@@ -1,6 +1,6 @@
 {
   "filename": "document.md",
   "__html": "<h2>Contribute documentation.</h2>\n<p>Good documentation is critical for any type of software. Any contribution that can improve the DolphinScheduler documentation is welcome.</p>\n<h3>Get the document project.</h3>\n<p>Documentation for the DolphinScheduler project is maintained in a separate <a href=\"https://github.com/apache/incubator-dolphinscheduler-website\">git repository</a>.</p>\n<p>First you need to fork the document project into your own github repository, and t [...]
-  "link": "/en-us/docs/development/document.html",
+  "link": "/dist/en-us/docs/development/document.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/download.html b/en-us/docs/development/download.html
index 159cec9..c03d411 100644
--- a/en-us/docs/development/download.html
+++ b/en-us/docs/development/download.html
@@ -7,10 +7,10 @@
   <meta name="description" content="download" />
   <title>download</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Use the links below to download the Apache DolphinScheduler from one of our mirrors.</p>
 <p><strong>Only source code releases are official Apache releases: Windows and Linux binary distributions are just for end user convenience.</strong></p>
 <h2>DolphinScheduler</h2>
@@ -85,7 +85,7 @@ pgp apache-dolphinscheduler-incubating********.asc
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/download.json b/en-us/docs/development/download.json
index abb03c0..48b3623 100644
--- a/en-us/docs/development/download.json
+++ b/en-us/docs/development/download.json
@@ -1,6 +1,6 @@
 {
   "filename": "download.md",
   "__html": "<h1>Download the DolphinScheduler releases</h1>\n<p>Use the links below to download the Apache DolphinScheduler from one of our mirrors.</p>\n<p><strong>Only source code releases are official Apache releases: Windows and Linux binary distributions are just for end user convenience.</strong></p>\n<h2>DolphinScheduler</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Date</th>\n<th style=\"text-align:center\">Version</th>\n<th style=\"text-align:center\"></th>\n<th [...]
-  "link": "/en-us/docs/development/download.html",
+  "link": "/dist/en-us/docs/development/download.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/frontend-development.html b/en-us/docs/development/frontend-development.html
index cd51073..12b3d41 100644
--- a/en-us/docs/development/frontend-development.html
+++ b/en-us/docs/development/frontend-development.html
@@ -7,10 +7,10 @@
   <meta name="description" content="frontend-development" />
   <title>frontend-development</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h3>Technical selection</h3>
 <pre><code>Vue mvvm framework
 
@@ -516,7 +516,7 @@ test.then(res =&gt; {
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/frontend-development.json b/en-us/docs/development/frontend-development.json
index 1f31b10..30c735a 100644
--- a/en-us/docs/development/frontend-development.json
+++ b/en-us/docs/development/frontend-development.json
@@ -1,6 +1,6 @@
 {
   "filename": "frontend-development.md",
   "__html": "<h1>Front-end development documentation</h1>\n<h3>Technical selection</h3>\n<pre><code>Vue mvvm framework\n\nEs6 ECMAScript 6.0\n\nAns-ui Analysys-ui\n\nD3  Visual Library Chart Library\n\nJsplumb connection plugin library\n\nLodash high performance JavaScript utility library\n</code></pre>\n<h3>Development environment</h3>\n<ul>\n<li>\n<h4>Node installation</h4>\n</li>\n</ul>\n<p>Node package download (note version 8.9.4) <code>https://nodejs.org/download/release/v8.9.4/</c [...]
-  "link": "/en-us/docs/development/frontend-development.html",
+  "link": "/dist/en-us/docs/development/frontend-development.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/issue.html b/en-us/docs/development/issue.html
index 43de617..e623252 100644
--- a/en-us/docs/development/issue.html
+++ b/en-us/docs/development/issue.html
@@ -7,10 +7,10 @@
   <meta name="description" content="issue" />
   <title>issue</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Issues function is used to track various Features, Bugs, Functions, etc. The project maintainer can organize the tasks to be completed through issues.</p>
 <p>Issue is an important step in drawing out a feature or bug,
 and the contents that can be discussed in an issue are not limited to the features, the causes of the existing bugs, the research on preliminary scheme, and the corresponding implementation design and code design.</p>
@@ -133,7 +133,7 @@ or leave a message to the user who raises the issue to modify it into the corres
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/issue.json b/en-us/docs/development/issue.json
index b75bbce..f577c28 100644
--- a/en-us/docs/development/issue.json
+++ b/en-us/docs/development/issue.json
@@ -1,6 +1,6 @@
 {
   "filename": "issue.md",
   "__html": "<h2>Preface</h2>\n<p>Issues function is used to track various Features, Bugs, Functions, etc. The project maintainer can organize the tasks to be completed through issues.</p>\n<p>Issue is an important step in drawing out a feature or bug,\nand the contents that can be discussed in an issue are not limited to the features, the causes of the existing bugs, the research on preliminary scheme, and the corresponding implementation design and code design.</p>\n<p>And only when th [...]
-  "link": "/en-us/docs/development/issue.html",
+  "link": "/dist/en-us/docs/development/issue.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/microbench.html b/en-us/docs/development/microbench.html
index 73a933b..78e0ecd 100644
--- a/en-us/docs/development/microbench.html
+++ b/en-us/docs/development/microbench.html
@@ -7,10 +7,10 @@
   <meta name="description" content="This file describes several points of benchmark testing" />
   <title>Micro BenchMark Notice</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>All optimization must be based on data verification, and blind optimization is rejected. Based on this, we provide the MicroBench module.</p>
 <p>The MicroBench module is based on the OpenJDK JMH component (HotSpot's recommended benchmark test program). When you start benchmarking, you don't need additional dependencies.</p>
 <p>JMH, the Java MicroBenchmark Harness, is a tool suite dedicated to code microbenchmark testing. What is Micro Benchmark? Simply put, it is based on method-level benchmark testing, with an accuracy of microseconds. When you locate a hot method and want to further optimize the performance of the method, you can use JMH to quantitatively analyze the optimized results.</p>
@@ -47,17 +47,17 @@
 <p>You can specify these parameters at startup,-DmeasureIterations, -DperfReportDir (output benchmark test result file directory), -DwarmupIterations, -DforkCount</p>
 <h3>DolphinScheduler-MicroBench Introduction</h3>
 <p>It is generally not recommended to use fewer cycles when running tests. However, a smaller number of tests helps to verify the work during the benchmark test. After the verification is over, run a large number of benchmark tests.</p>
-<pre><code class="language-java"><span class="hljs-meta">@Warmup</span>(iterations = <span class="hljs-number">2</span>, time = <span class="hljs-number">1</span>)
-<span class="hljs-meta">@Measurement</span>(iterations = <span class="hljs-number">4</span>, time = <span class="hljs-number">1</span>)
-<span class="hljs-meta">@State</span>(Scope.Benchmark)
+<pre><code class="language-java"><span class="hljs-meta">@Warmup(iterations = 2, time = 1)</span>
+<span class="hljs-meta">@Measurement(iterations = 4, time = 1)</span>
+<span class="hljs-meta">@State(Scope.Benchmark)</span>
 <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">EnumBenchMark</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">AbstractBaseBenchmark</span> </span>{
 
 }
 </code></pre>
 <p>This can run benchmarks at the method level or the class level. Command line parameters will override the parameters on the annotation.</p>
 <pre><code class="language-java"><span class="hljs-meta">@Benchmark</span> <span class="hljs-comment">// Method annotation, indicating that the method is an object that needs to be benchmarked.</span>
-<span class="hljs-meta">@BenchmarkMode</span>(Mode.AverageTime) <span class="hljs-comment">// Optional benchmark test mode is obtained through enumeration</span>
-<span class="hljs-meta">@OutputTimeUnit</span>(TimeUnit.MICROSECONDS) <span class="hljs-comment">// Output time unit</span>
+<span class="hljs-meta">@BenchmarkMode(Mode.AverageTime)</span> <span class="hljs-comment">// Optional benchmark test mode is obtained through enumeration</span>
+<span class="hljs-meta">@OutputTimeUnit(TimeUnit.MICROSECONDS)</span> <span class="hljs-comment">// Output time unit</span>
 <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">enumStaticMapTest</span><span class="hljs-params">()</span> </span>{
     TestTypeEnum.newGetNameByType(testNum);
 }
@@ -97,7 +97,7 @@ EnumBenchMark.enumValuesTest           <span class="hljs-number">103</span>   av
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/microbench.json b/en-us/docs/development/microbench.json
index 0eaf294..2a7a9d5 100644
--- a/en-us/docs/development/microbench.json
+++ b/en-us/docs/development/microbench.json
@@ -1,7 +1,7 @@
 {
   "filename": "microbench.md",
-  "__html": "<h2>DolphinSchedulerMicroBench Microbenchmark</h2>\n<p>All optimization must be based on data verification, and blind optimization is rejected. Based on this, we provide the MicroBench module.</p>\n<p>The MicroBench module is based on the OpenJDK JMH component (HotSpot's recommended benchmark test program). When you start benchmarking, you don't need additional dependencies.</p>\n<p>JMH, the Java MicroBenchmark Harness, is a tool suite dedicated to code microbenchmark testin [...]
-  "link": "/en-us/docs/development/microbench.html",
+  "__html": "<h2>DolphinSchedulerMicroBench Microbenchmark</h2>\n<p>All optimization must be based on data verification, and blind optimization is rejected. Based on this, we provide the MicroBench module.</p>\n<p>The MicroBench module is based on the OpenJDK JMH component (HotSpot's recommended benchmark test program). When you start benchmarking, you don't need additional dependencies.</p>\n<p>JMH, the Java MicroBenchmark Harness, is a tool suite dedicated to code microbenchmark testin [...]
+  "link": "/dist/en-us/docs/development/microbench.html",
   "meta": {
     "title": "Micro BenchMark Notice",
     "keywords": "dolphinscheduler, microbenchmark",
diff --git a/en-us/docs/development/plugin-development.html b/en-us/docs/development/plugin-development.html
index b2ec56a..450ee03 100644
--- a/en-us/docs/development/plugin-development.html
+++ b/en-us/docs/development/plugin-development.html
@@ -7,10 +7,10 @@
   <meta name="description" content="plugin-development" />
   <title>plugin-development</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Remind:Currently, task plugin development does not support hot deployment.</p>
 <h3>Shell-based tasks</h3>
 <h4>YARN-based calculations (see MapReduceTask)</h4>
@@ -68,7 +68,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/plugin-development.json b/en-us/docs/development/plugin-development.json
index 81bfd52..cff0ba9 100644
--- a/en-us/docs/development/plugin-development.json
+++ b/en-us/docs/development/plugin-development.json
@@ -1,6 +1,6 @@
 {
   "filename": "plugin-development.md",
   "__html": "<h2>Task Plugin Development</h2>\n<p>Remind:Currently, task plugin development does not support hot deployment.</p>\n<h3>Shell-based tasks</h3>\n<h4>YARN-based calculations (see MapReduceTask)</h4>\n<ul>\n<li>Need to be <strong>cn.dolphinscheduler.server.worker.task</strong> Down <strong>TaskManager</strong> Create a custom task in the class (also need to register the corresponding task type in TaskType)</li>\n<li>Need to inherit<strong>cn.dolphinscheduler.server.worker.task [...]
-  "link": "/en-us/docs/development/plugin-development.html",
+  "link": "/dist/en-us/docs/development/plugin-development.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/pull-request.html b/en-us/docs/development/pull-request.html
index 1c723ef..17b3cb6 100644
--- a/en-us/docs/development/pull-request.html
+++ b/en-us/docs/development/pull-request.html
@@ -7,10 +7,10 @@
   <meta name="description" content="pull-request" />
   <title>pull-request</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Pull Request is a way of software cooperation, which is a process of bringing code involving different functions into the trunk. During this process, the code can be discussed, reviewed, and modified.</p>
 <p>In Pull Request, we try not to discuss the implementation of the code. The general implementation of the code and its logic should be determined in Issue. In the Pull Request, we only focus on the code format and code specification, so as to avoid wasting time caused by different opinions on implementation.</p>
 <h2>Specification</h2>
@@ -88,7 +88,7 @@ And each Pull Request is submitted should be associated with only one issue of a
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/pull-request.json b/en-us/docs/development/pull-request.json
index 0e03c9e..fc65473 100644
--- a/en-us/docs/development/pull-request.json
+++ b/en-us/docs/development/pull-request.json
@@ -1,6 +1,6 @@
 {
   "filename": "pull-request.md",
   "__html": "<h2>Preface</h2>\n<p>Pull Request is a way of software cooperation, which is a process of bringing code involving different functions into the trunk. During this process, the code can be discussed, reviewed, and modified.</p>\n<p>In Pull Request, we try not to discuss the implementation of the code. The general implementation of the code and its logic should be determined in Issue. In the Pull Request, we only focus on the code format and code specification, so as to avoid w [...]
-  "link": "/en-us/docs/development/pull-request.html",
+  "link": "/dist/en-us/docs/development/pull-request.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/release.html b/en-us/docs/development/release.html
index 68d9821..3a51b71 100644
--- a/en-us/docs/development/release.html
+++ b/en-us/docs/development/release.html
@@ -7,10 +7,10 @@
   <meta name="description" content="release" />
   <title>release</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h3>Install GPG</h3>
 <p>Download installation package on <a href="https://www.gnupg.org/download/index.html">official GnuPG website</a>.
 The command of GnuPG 1.x version can differ a little from that of 2.x version.
@@ -57,7 +57,7 @@ Real name: ${Input username}
 Email address: ${Input email}
 Comment: ${Input comment}
 You selected this USER-ID:
-   "${Inputed username} (${Inputed comment}) &lt;${Inputed email}&gt;"
+   &quot;${Inputed username} (${Inputed comment}) &lt;${Inputed email}&gt;&quot;
 
 Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
 You need a Passphrase to protect your secret key. # Input passwords
@@ -108,7 +108,7 @@ git checkout -b ${RELEASE.VERSION}-release
 git push origin ${RELEASE.VERSION}-release
 </code></pre>
 <h3>Pre-Release Check</h3>
-<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments="-DskipTests" -DautoVersionSubmodules=true -DdryRun=true -Dusername=${Github username}
+<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments=&quot;-DskipTests&quot; -DautoVersionSubmodules=true -DdryRun=true -Dusername=${Github username}
 </code></pre>
 <p>-Prelease: choose release profile, which will pack all the source codes, jar files and executable binary packages.</p>
 <p>-DautoVersionSubmodules=true:it can make the version number is inputted only once and not for each sub-module.</p>
@@ -118,7 +118,7 @@ git push origin ${RELEASE.VERSION}-release
 <pre><code class="language-shell">mvn release:clean
 </code></pre>
 <p>Then, prepare to execute the release.</p>
-<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments="-DskipTests" -DautoVersionSubmodules=true -DpushChanges=false -Dusername=${Github username}
+<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments=&quot;-DskipTests&quot; -DautoVersionSubmodules=true -DpushChanges=false -Dusername=${Github username}
 </code></pre>
 <p>It is basically the same as the previous rehearsal command, but deleting -DdryRun=true parameter.</p>
 <p>-DpushChanges=false:do not submit the edited version number and tag to Github automatically.</p>
@@ -127,7 +127,7 @@ git push origin ${RELEASE.VERSION}-release
 git push origin --tags
 </code></pre>
 <h3>Deploy the Release</h3>
-<pre><code class="language-shell">mvn release:perform -Prelease -Darguments="-DskipTests" -DautoVersionSubmodules=true -Dusername=${Github username}
+<pre><code class="language-shell">mvn release:perform -Prelease -Darguments=&quot;-DskipTests&quot; -DautoVersionSubmodules=true -Dusername=${Github username}
 </code></pre>
 <p>After that command is executed, the version to be released will be uploaded to Apache staging repository automatically.
 Visit <a href="https://repository.apache.org/#stagingRepositories">https://repository.apache.org/#stagingRepositories</a> and use Apache LDAP account to log in; then you can see the uploaded version, the content of <code>Repository</code> column is the ${STAGING.REPOSITORY}.
@@ -165,7 +165,7 @@ shasum -b -a 512 apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinsc
 </code></pre>
 <h3>Commit to Apache SVN</h3>
 <pre><code class="language-shell">svn add *
-svn --username=${APACHE LDAP username} commit -m "release ${RELEASE.VERSION}"
+svn --username=${APACHE LDAP username} commit -m &quot;release ${RELEASE.VERSION}&quot;
 </code></pre>
 <h2>Check Release</h2>
 <h3>Check sha512 hash</h3>
@@ -177,13 +177,13 @@ shasum -c apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinscheduler
 Import KEYS from SVN repository to local. (The releaser does not need to import again; the checking assistant needs to import it, with the user name filled as the releaser's. )</p>
 <pre><code class="language-shell">curl https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/KEYS &gt;&gt; KEYS
 gpg --import KEYS
-gpg --edit-key "${GPG username of releaser}"
+gpg --edit-key &quot;${GPG username of releaser}&quot;
 <span class="hljs-meta">  &gt;</span><span class="bash"> trust</span>
 
-Please decide how far you trust this user to correctly verify other users' keys
+Please decide how far you trust this user to correctly verify other users&#x27; keys
 (by looking at passports, checking fingerprints from different sources, etc.)
 
-  1 = I don't know or won't say
+  1 = I don&#x27;t know or won&#x27;t say
   2 = I do NOT trust
   3 = I trust marginally
   4 = I trust fully
@@ -433,8 +433,8 @@ I will process to publish the release and send ANNOUNCE.
 </code></pre>
 <h3>Find DolphinScheduler in staging repository and click <code>Release</code></h3>
 <p>###. Update the download page</p>
-<pre><code>https://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html
-https://dolphinscheduler.apache.org/zh-cn/docs/user_doc/download.html
+<pre><code>https://dolphinscheduler.apache.org/en-us/download/download.html
+https://dolphinscheduler.apache.org/zh-cn/download/download.html
 </code></pre>
 <h3>Send e-mail to <code>general@incubator.apache.org</code> and <code>dev@dolphinscheduler.apache.org</code> to announce the release is finished</h3>
 <p>Announcement e-mail template:</p>
@@ -450,7 +450,7 @@ Dolphin Scheduler is a distributed and easy-to-expand visual DAG workflow schedu
 dedicated to solving the complex dependencies in data processing, making the scheduling system out of the box for data processing.
 
 
-Download Links: http://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html
+Download Links: https://dolphinscheduler.apache.org/en-us/download/download.html
 
 Release Notes: https://github.com/apache/incubator-dolphinscheduler/blob/${RELEASE.VERSION}/ReleaseNotes.md
 
@@ -466,7 +466,7 @@ DolphinScheduler Resources:
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/release.json b/en-us/docs/development/release.json
index 515260c..52e00ce 100644
--- a/en-us/docs/development/release.json
+++ b/en-us/docs/development/release.json
@@ -1,6 +1,6 @@
 {
   "filename": "release.md",
-  "__html": "<h2>GPG Settings</h2>\n<h3>Install GPG</h3>\n<p>Download installation package on <a href=\"https://www.gnupg.org/download/index.html\">official GnuPG website</a>.\nThe command of GnuPG 1.x version can differ a little from that of 2.x version.\nThe following instructions take <code>GnuPG-2.1.23</code> version for example.</p>\n<p>After the installation, execute the following command to check the version number.</p>\n<pre><code class=\"language-shell\">gpg --version\n</code></ [...]
-  "link": "/en-us/docs/development/release.html",
+  "__html": "<h2>GPG Settings</h2>\n<h3>Install GPG</h3>\n<p>Download installation package on <a href=\"https://www.gnupg.org/download/index.html\">official GnuPG website</a>.\nThe command of GnuPG 1.x version can differ a little from that of 2.x version.\nThe following instructions take <code>GnuPG-2.1.23</code> version for example.</p>\n<p>After the installation, execute the following command to check the version number.</p>\n<pre><code class=\"language-shell\">gpg --version\n</code></ [...]
+  "link": "/dist/en-us/docs/development/release.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/submit-code.html b/en-us/docs/development/submit-code.html
index aab5f7c..88c2879 100644
--- a/en-us/docs/development/submit-code.html
+++ b/en-us/docs/development/submit-code.html
@@ -7,10 +7,10 @@
   <meta name="description" content="submit-code" />
   <title>submit-code</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <ul>
 <li>
 <p>First from the remote repository <em><a href="https://github.com/apache/incubator-dolphinscheduler.git">https://github.com/apache/incubator-dolphinscheduler.git</a></em> fork a copy of the code into your own repository</p>
@@ -90,7 +90,7 @@ git push --set-upstream origin dev-1.0
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/submit-code.json b/en-us/docs/development/submit-code.json
index 64ac399..359fa44 100644
--- a/en-us/docs/development/submit-code.json
+++ b/en-us/docs/development/submit-code.json
@@ -1,6 +1,6 @@
 {
   "filename": "submit-code.md",
   "__html": "<h4>How to submit</h4>\n<ul>\n<li>\n<p>First from the remote repository <em><a href=\"https://github.com/apache/incubator-dolphinscheduler.git\">https://github.com/apache/incubator-dolphinscheduler.git</a></em> fork a copy of the code into your own repository</p>\n</li>\n<li>\n<p>There are currently three branches in the remote repository:</p>\n<ul>\n<li>master           normal delivery branch\nAfter the stable release, merge the code from the stable branch into the master.< [...]
-  "link": "/en-us/docs/development/submit-code.html",
+  "link": "/dist/en-us/docs/development/submit-code.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/subscribe.html b/en-us/docs/development/subscribe.html
index ee71ff7..db67e0d 100644
--- a/en-us/docs/development/subscribe.html
+++ b/en-us/docs/development/subscribe.html
@@ -7,10 +7,10 @@
   <meta name="description" content="subscribe" />
   <title>subscribe</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>In the process of using DolphinScheduler, if you have any questions or ideas, suggestions, you can participate in the DolphinScheduler community building through the Apache mailing list. Sending a subscription email is also very simple, the steps are as follows:</p>
 <ol>
 <li>
@@ -27,7 +27,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/subscribe.json b/en-us/docs/development/subscribe.json
index 0cffaf2..16e2eb2 100644
--- a/en-us/docs/development/subscribe.json
+++ b/en-us/docs/development/subscribe.json
@@ -1,6 +1,6 @@
 {
   "filename": "subscribe.md",
   "__html": "<p>It is highly recommended to subscribe to the development mailing list to keep up-to-date with the community.</p>\n<p>In the process of using DolphinScheduler, if you have any questions or ideas, suggestions, you can participate in the DolphinScheduler community building through the Apache mailing list. Sending a subscription email is also very simple, the steps are as follows:</p>\n<ol>\n<li>\n<p>Send an email to <a href=\"mailto:dev-subscribe@dolphinscheduler.apache.org\ [...]
-  "link": "/en-us/docs/development/subscribe.html",
+  "link": "/dist/en-us/docs/development/subscribe.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/unit-test.html b/en-us/docs/development/unit-test.html
index 1afcf56..61d3ee5 100644
--- a/en-us/docs/development/unit-test.html
+++ b/en-us/docs/development/unit-test.html
@@ -7,10 +7,10 @@
   <meta name="description" content="unit-test" />
   <title>unit-test</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Unit test writing reference <a href="https://github.com/apache/incubator-dolphinscheduler/blob/dev/escheduler-common/src/test/java/cn/escheduler/common/utils/CollectionUtilsTest.java">link</a></p>
 <h3>1.The benefits of unit testing</h3>
 <ul>
@@ -36,7 +36,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/development/unit-test.json b/en-us/docs/development/unit-test.json
index e658a4e..4b62a74 100644
--- a/en-us/docs/development/unit-test.json
+++ b/en-us/docs/development/unit-test.json
@@ -1,6 +1,6 @@
 {
   "filename": "unit-test.md",
   "__html": "<h2>Unit Test coverage</h2>\n<p>Unit test writing reference <a href=\"https://github.com/apache/incubator-dolphinscheduler/blob/dev/escheduler-common/src/test/java/cn/escheduler/common/utils/CollectionUtilsTest.java\">link</a></p>\n<h3>1.The benefits of unit testing</h3>\n<ul>\n<li>Unit test code can help everyone to go into details and understand the function of the code.</li>\n<li>We can find bugs by test case, and then enhance the robustness of the code.</li>\n<li>Test ca [...]
-  "link": "/en-us/docs/development/unit-test.html",
+  "link": "/dist/en-us/docs/development/unit-test.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/release/download.html b/en-us/docs/release/download.html
index 7d3641b..ea5b058 100644
--- a/en-us/docs/release/download.html
+++ b/en-us/docs/release/download.html
@@ -7,10 +7,10 @@
   <meta name="description" content="download" />
   <title>download</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>Use the links below to download the Apache DolphinScheduler from one of our mirrors.</p>
 <p><strong>Only source code releases are official Apache releases: Windows and Linux binary distributions are just for end user convenience.</strong></p>
 <h2>DolphinScheduler</h2>
@@ -133,7 +133,7 @@ pgp apache-dolphinscheduler-incubating********.asc
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/release/download.json b/en-us/docs/release/download.json
index f866172..d343f85 100644
--- a/en-us/docs/release/download.json
+++ b/en-us/docs/release/download.json
@@ -1,6 +1,6 @@
 {
   "filename": "download.md",
   "__html": "<h1>Download the DolphinScheduler releases</h1>\n<p>Use the links below to download the Apache DolphinScheduler from one of our mirrors.</p>\n<p><strong>Only source code releases are official Apache releases: Windows and Linux binary distributions are just for end user convenience.</strong></p>\n<h2>DolphinScheduler</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Date</th>\n<th style=\"text-align:center\">Version</th>\n<th style=\"text-align:center\"></th>\n<th [...]
-  "link": "/en-us/docs/release/download.html",
+  "link": "/dist/en-us/docs/release/download.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/release/faq.html b/en-us/docs/release/faq.html
index 77bd7e5..269262f 100644
--- a/en-us/docs/release/faq.html
+++ b/en-us/docs/release/faq.html
@@ -7,10 +7,10 @@
   <meta name="description" content="faq" />
   <title>faq</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>A: Before version 1.2 project name is called EasyScheduler, version 1.2 and later it's called DolphinScheduler.</p>
 <hr>
 <h2>Q: DolphinScheduler service introduction and recommended running memory</h2>
@@ -201,8 +201,8 @@ version 1.3 not use grpc, we use netty directly</p>
 </code></pre>
 <hr>
 <h2>Q : how to add a worker server</h2>
-<p>A: 1, Create deployment user and hosts mapping, please refer 1.3 part of <a href="https://dolphinscheduler.apache.org/en-us/docs/1.2.0/user_doc/cluster-deployment.html">cluster deployment</a></p>
-<p>​		2, Configure hosts mapping and ssh access and modify directory permissions. please refer 1.4 part of <a href="https://dolphinscheduler.apache.org/en-us/docs/1.2.0/user_doc/cluster-deployment.html">cluster deployment</a></p>
+<p>A: 1, Create deployment user and hosts mapping, please refer 1.3 part of <a href="/en-us/docs/1.3.4/user_doc/cluster-deployment.html">cluster deployment</a></p>
+<p>​		2, Configure hosts mapping and ssh access and modify directory permissions. please refer 1.4 part of <a href="/en-us/docs/1.3.4/user_doc/cluster-deployment.html">cluster deployment</a></p>
 <p>​		3, Copy the deployment directory from worker server that has already deployed</p>
 <p>​		4, Go to bin dir, then start worker server and logger server</p>
 <pre><code>    ```
@@ -309,7 +309,7 @@ A: This problem is solved in dev-1.3.0. This [pr](https://github.com/apache/incu
 <pre><code>sudo npm uninstall node-sass
 sudo npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
 </code></pre>
-<p>3, if the 2nd step failure, please, <a href="https://dolphinscheduler.apache.org/zh-cn/docs/1.2.0/user_doc/frontend-development.html">referer url</a></p>
+<p>3, if the 2nd step failure, please, <a href="/en-us/docs/1.3.4/user_doc/frontend-development.html">referer url</a></p>
 <pre><code> sudo npm rebuild node-sass
 </code></pre>
 <p>When solved this problem, if you don't want to download this node every time, you can set system environment variable: SASS_BINARY_PATH= /xxx/xxx/xxx/xxx.node.</p>
@@ -390,7 +390,7 @@ A: 1, Edit ngnix config file, edit upload max size client_max_body_size 1024m.
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/release/faq.json b/en-us/docs/release/faq.json
index f93d54b..354c8f5 100644
--- a/en-us/docs/release/faq.json
+++ b/en-us/docs/release/faq.json
@@ -1,6 +1,6 @@
 {
   "filename": "faq.md",
-  "__html": "<h2>Q: What's the name of this project?</h2>\n<p>A: Before version 1.2 project name is called EasyScheduler, version 1.2 and later it's called DolphinScheduler.</p>\n<hr>\n<h2>Q: DolphinScheduler service introduction and recommended running memory</h2>\n<p>A: DolphinScheduler consists of 5 services, MasterServer, WorkerServer, ApiServer, AlertServer, LoggerServer and UI.</p>\n<table>\n<thead>\n<tr>\n<th>Service</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td> [...]
-  "link": "/en-us/docs/release/faq.html",
+  "__html": "<h2>Q: What's the name of this project?</h2>\n<p>A: Before version 1.2 project name is called EasyScheduler, version 1.2 and later it's called DolphinScheduler.</p>\n<hr>\n<h2>Q: DolphinScheduler service introduction and recommended running memory</h2>\n<p>A: DolphinScheduler consists of 5 services, MasterServer, WorkerServer, ApiServer, AlertServer, LoggerServer and UI.</p>\n<table>\n<thead>\n<tr>\n<th>Service</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td> [...]
+  "link": "/dist/en-us/docs/release/faq.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/user_doc/deployment.html b/en-us/docs/user_doc/deployment.html
index b400aa5..2de0662 100644
--- a/en-us/docs/user_doc/deployment.html
+++ b/en-us/docs/user_doc/deployment.html
@@ -7,10 +7,10 @@
   <meta name="description" content="deployment" />
   <title>deployment</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>There are two deployment modes:</p>
 <ul>
 <li>automatic deployment</li>
@@ -210,7 +210,7 @@ sh ./bin/dolphinscheduler-daemon.sh stop alert-server
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/user_doc/deployment.json b/en-us/docs/user_doc/deployment.json
index 5e892dd..2443d62 100644
--- a/en-us/docs/user_doc/deployment.json
+++ b/en-us/docs/user_doc/deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "deployment.md",
   "__html": "<h1>Deployment Document</h1>\n<p>There are two deployment modes:</p>\n<ul>\n<li>automatic deployment</li>\n<li>source code compile and then deployment</li>\n</ul>\n<h2>Preparations</h2>\n<p>Download the latest version of the installation package, download address:  <a href=\"https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/1.2.1/\">download</a>,\ndownload apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-bin.tar.gz</p>\n<h4>Preparations 1: Installati [...]
-  "link": "/en-us/docs/user_doc/deployment.html",
+  "link": "/dist/en-us/docs/user_doc/deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/user_doc/upgrade.html b/en-us/docs/user_doc/upgrade.html
index 7b259a7..ff0b021 100644
--- a/en-us/docs/user_doc/upgrade.html
+++ b/en-us/docs/user_doc/upgrade.html
@@ -7,10 +7,10 @@
   <meta name="description" content="upgrade" />
   <title>upgrade</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/docs.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <h2>1. Back up the previous version of the files and database</h2>
 <h2>2. Stop all services of dolphinscheduler</h2>
 <p><code>sh ./script/stop-all.sh</code></p>
@@ -61,7 +61,7 @@
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/docs.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/user_doc/upgrade.json b/en-us/docs/user_doc/upgrade.json
index 288b706..d8bec48 100644
--- a/en-us/docs/user_doc/upgrade.json
+++ b/en-us/docs/user_doc/upgrade.json
@@ -1,6 +1,6 @@
 {
   "filename": "upgrade.md",
   "__html": "<h1>DolphinScheduler upgrade documentation</h1>\n<h2>1. Back up the previous version of the files and database</h2>\n<h2>2. Stop all services of dolphinscheduler</h2>\n<p><code>sh ./script/stop-all.sh</code></p>\n<h2>3. Download the new version of the installation package</h2>\n<ul>\n<li><a href=\"https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/1.2.1/\">download</a>, download the latest version of the installation packages</li>\n<li>The following upgrade op [...]
-  "link": "/en-us/docs/user_doc/upgrade.html",
+  "link": "/dist/en-us/docs/user_doc/upgrade.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/release/download.html b/en-us/download/download.html
similarity index 61%
copy from en-us/docs/release/download.html
copy to en-us/download/download.html
index 7d3641b..bb1a5da 100644
--- a/en-us/docs/release/download.html
+++ b/en-us/download/download.html
@@ -7,10 +7,10 @@
   <meta name="description" content="download" />
   <title>download</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
-  <link rel="stylesheet" href="/build/documentation.md.css" />
+  <link rel="stylesheet" href="/build/download.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu black [...]
+  <div id="root"><div class="md2html download-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass [...]
 <p>Use the links below to download the Apache DolphinScheduler from one of our mirrors.</p>
 <p><strong>Only source code releases are official Apache releases: Windows and Linux binary distributions are just for end user convenience.</strong></p>
 <h2>DolphinScheduler</h2>
@@ -133,7 +133,7 @@ pgp apache-dolphinscheduler-incubating********.asc
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
-  <script src="/build/documentation.md.js"></script>
+  <script src="/build/download.md.js"></script>
   <script>
     var _hmt = _hmt || [];
     (function() {
diff --git a/en-us/docs/release/download.json b/en-us/download/download.json
similarity index 99%
copy from en-us/docs/release/download.json
copy to en-us/download/download.json
index f866172..a3bee5d 100644
--- a/en-us/docs/release/download.json
+++ b/en-us/download/download.json
@@ -1,6 +1,6 @@
 {
   "filename": "download.md",
   "__html": "<h1>Download the DolphinScheduler releases</h1>\n<p>Use the links below to download the Apache DolphinScheduler from one of our mirrors.</p>\n<p><strong>Only source code releases are official Apache releases: Windows and Linux binary distributions are just for end user convenience.</strong></p>\n<h2>DolphinScheduler</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Date</th>\n<th style=\"text-align:center\">Version</th>\n<th style=\"text-align:center\"></th>\n<th [...]
-  "link": "/en-us/docs/release/download.html",
+  "link": "/dist/en-us/download/download.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/index.html b/en-us/index.html
index df2bfbc..3cff87a 100644
--- a/en-us/index.html
+++ b/en-us/index.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/home.css" />
 </head>
 <body>
-  <div id="root"><div class="home-page" data-reactroot=""><section class="top-section"><header class="header-container header-container-primary"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-primary"><span class="icon-search"></span></div><span class="language-switch language-switch-primary">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_white.png"/><div><ul class="a [...]
+  <div id="root"><div class="home-page" data-reactroot=""><section class="top-section"><header class="header-container header-container-primary"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-primary"><span class="icon-search"></span></div><span class="language-switch language-switch-primary">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_white.png"/><div><ul class="a [...]
   <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
   <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
   <script>window.rootPath = '';</script>
diff --git a/file/2019-10-26/DolphinScheduler_dailidong.pptx b/file/2019-10-26/DolphinScheduler_dailidong.pptx
new file mode 100644
index 0000000..910cd83
Binary files /dev/null and b/file/2019-10-26/DolphinScheduler_dailidong.pptx differ
diff --git a/file/2019-10-26/DolphinScheduler_guowei.pptx b/file/2019-10-26/DolphinScheduler_guowei.pptx
new file mode 100644
index 0000000..0931dc1
Binary files /dev/null and b/file/2019-10-26/DolphinScheduler_guowei.pptx differ
diff --git a/file/2019-10-26/DolphinScheduler_qiaozhanwei.pptx b/file/2019-10-26/DolphinScheduler_qiaozhanwei.pptx
new file mode 100644
index 0000000..a2a3857
Binary files /dev/null and b/file/2019-10-26/DolphinScheduler_qiaozhanwei.pptx differ
diff --git a/file/2019-10-26/DolphinScheduler_zhangzongyao.pptx b/file/2019-10-26/DolphinScheduler_zhangzongyao.pptx
new file mode 100644
index 0000000..5f858b8
Binary files /dev/null and b/file/2019-10-26/DolphinScheduler_zhangzongyao.pptx differ
diff --git a/file/2019-10-26/Dolphinescheduler_baoqiwu.pptx b/file/2019-10-26/Dolphinescheduler_baoqiwu.pptx
new file mode 100644
index 0000000..bf285dc
Binary files /dev/null and b/file/2019-10-26/Dolphinescheduler_baoqiwu.pptx differ
diff --git a/file/2019-12-08/DolphinScheduler_liuxiaochun.pptx b/file/2019-12-08/DolphinScheduler_liuxiaochun.pptx
new file mode 100644
index 0000000..6059db5
Binary files /dev/null and b/file/2019-12-08/DolphinScheduler_liuxiaochun.pptx differ
diff --git a/file/2019-12-08/DolphinScheduler_yangshuang.pptx b/file/2019-12-08/DolphinScheduler_yangshuang.pptx
new file mode 100644
index 0000000..5c173c1
Binary files /dev/null and b/file/2019-12-08/DolphinScheduler_yangshuang.pptx differ
diff --git a/file/2019-12-08/ShardingSphere_panjuan.pptx b/file/2019-12-08/ShardingSphere_panjuan.pptx
new file mode 100644
index 0000000..9778cf1
Binary files /dev/null and b/file/2019-12-08/ShardingSphere_panjuan.pptx differ
diff --git a/file/2019-12-08/ShardingSphere_zhangyonglun.pptx b/file/2019-12-08/ShardingSphere_zhangyonglun.pptx
new file mode 100644
index 0000000..d4643c0
Binary files /dev/null and b/file/2019-12-08/ShardingSphere_zhangyonglun.pptx differ
diff --git a/file/2020-05-26/DolphinScheduler_Feature_Roadmap.pdf b/file/2020-05-26/DolphinScheduler_Feature_Roadmap.pdf
new file mode 100644
index 0000000..68b78a7
Binary files /dev/null and b/file/2020-05-26/DolphinScheduler_Feature_Roadmap.pdf differ
diff --git a/file/2020-07-25/DolphinScheduler_lijie.pptx b/file/2020-07-25/DolphinScheduler_lijie.pptx
new file mode 100644
index 0000000..0ac8c29
Binary files /dev/null and b/file/2020-07-25/DolphinScheduler_lijie.pptx differ
diff --git a/file/2020-07-25/DolphinScheduler_qiaozhanwei.pptx b/file/2020-07-25/DolphinScheduler_qiaozhanwei.pptx
new file mode 100644
index 0000000..b704ded
Binary files /dev/null and b/file/2020-07-25/DolphinScheduler_qiaozhanwei.pptx differ
diff --git a/file/2020-09-05/DolphinScheduler_baoliang.pptx b/file/2020-09-05/DolphinScheduler_baoliang.pptx
new file mode 100644
index 0000000..48facbb
Binary files /dev/null and b/file/2020-09-05/DolphinScheduler_baoliang.pptx differ
diff --git a/file/2020-09-05/DolphinScheduler_liuhuijuan.pdf b/file/2020-09-05/DolphinScheduler_liuhuijuan.pdf
new file mode 100644
index 0000000..5143ff3
Binary files /dev/null and b/file/2020-09-05/DolphinScheduler_liuhuijuan.pdf differ
diff --git a/file/2020-10-24/DolphinScheduler&K8s_liwenhe.pptx b/file/2020-10-24/DolphinScheduler&K8s_liwenhe.pptx
new file mode 100644
index 0000000..28194dd
Binary files /dev/null and b/file/2020-10-24/DolphinScheduler&K8s_liwenhe.pptx differ
diff --git a/file/2020-10-25/Hudi&DolphinScheduler_yanghua&zhaoyuwei.pptx b/file/2020-10-25/Hudi&DolphinScheduler_yanghua&zhaoyuwei.pptx
new file mode 100644
index 0000000..e37c95a
Binary files /dev/null and b/file/2020-10-25/Hudi&DolphinScheduler_yanghua&zhaoyuwei.pptx differ
diff --git a/file/2020-11-17/New generation of big data task scheduler - DolphinScheduler Introduction & Roadmap.pptx b/file/2020-11-17/New generation of big data task scheduler - DolphinScheduler Introduction & Roadmap.pptx
new file mode 100644
index 0000000..43f885b
Binary files /dev/null and b/file/2020-11-17/New generation of big data task scheduler - DolphinScheduler Introduction & Roadmap.pptx differ
diff --git a/file/2020-12-23/Architecture breakthrough of DolphinScheduler.pptx b/file/2020-12-23/Architecture breakthrough of DolphinScheduler.pptx
new file mode 100644
index 0000000..203438b
Binary files /dev/null and b/file/2020-12-23/Architecture breakthrough of DolphinScheduler.pptx differ
diff --git a/img/2019-10-26-discussion.jpg b/img/2019-10-26-discussion.jpg
old mode 100755
new mode 100644
diff --git a/img/2019-10-26-user.jpg b/img/2019-10-26-user.jpg
old mode 100755
new mode 100644
diff --git a/img/Statistics.png b/img/Statistics.png
old mode 100755
new mode 100644
diff --git a/img/addtenant.png b/img/addtenant.png
old mode 100755
new mode 100644
diff --git a/img/alarm-group-en.png b/img/alarm-group-en.png
old mode 100755
new mode 100644
diff --git a/img/alibaba.png b/img/alibaba.png
old mode 100755
new mode 100644
diff --git a/img/alibaba_hover.png b/img/alibaba_hover.png
old mode 100755
new mode 100644
diff --git a/img/apachecon-na-2018.png b/img/apachecon-na-2018.png
old mode 100755
new mode 100644
diff --git a/img/architecture.jpg b/img/architecture.jpg
old mode 100755
new mode 100644
diff --git a/img/architecture.png b/img/architecture.png
old mode 100755
new mode 100644
diff --git a/img/arrow.png b/img/arrow.png
old mode 100755
new mode 100644
diff --git a/img/auth-project-en.png b/img/auth-project-en.png
old mode 100755
new mode 100644
diff --git a/img/auth_project.png b/img/auth_project.png
old mode 100755
new mode 100644
diff --git a/img/auth_user.png b/img/auth_user.png
old mode 100755
new mode 100644
diff --git a/img/brhtqqzh.jpeg b/img/brhtqqzh.jpeg
old mode 100755
new mode 100644
diff --git a/img/complement-en.png b/img/complement-en.png
old mode 100755
new mode 100644
diff --git a/img/complement.png b/img/complement.png
old mode 100755
new mode 100644
diff --git a/img/creat_token.png b/img/creat_token.png
old mode 100755
new mode 100644
diff --git a/img/create-datasource-en.png b/img/create-datasource-en.png
old mode 100755
new mode 100644
diff --git a/img/create-file.png b/img/create-file.png
old mode 100755
new mode 100644
diff --git a/img/create-queue-en.png b/img/create-queue-en.png
old mode 100755
new mode 100644
diff --git a/img/create-queue.png b/img/create-queue.png
old mode 100755
new mode 100644
diff --git a/img/create-tenant-en.png b/img/create-tenant-en.png
old mode 100755
new mode 100644
diff --git a/img/create-user-en.png b/img/create-user-en.png
old mode 100755
new mode 100644
diff --git a/img/create_project_en.png b/img/create_project_en.png
old mode 100755
new mode 100644
diff --git a/img/current-node-en.png b/img/current-node-en.png
old mode 100755
new mode 100644
diff --git a/img/dag0.png b/img/dag0.png
old mode 100755
new mode 100644
diff --git a/img/dag1.png b/img/dag1.png
... 13618 lines suppressed ...