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 2020/06/05 06:53:28 UTC

[incubator-dolphinscheduler-website] branch asf-site updated: Automated deployment: Fri Jun 5 06:53:14 UTC 2020 7feeaa61a206c389e3262dbef6521a010f1a33e4

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 191beee  Automated deployment: Fri Jun  5 06:53:14 UTC 2020 7feeaa61a206c389e3262dbef6521a010f1a33e4
191beee is described below

commit 191beee238fd744e82c2d3f35ae0340d7845190d
Author: lgcareer <lg...@users.noreply.github.com>
AuthorDate: Fri Jun 5 06:53:14 2020 +0000

    Automated deployment: Fri Jun  5 06:53:14 UTC 2020 7feeaa61a206c389e3262dbef6521a010f1a33e4
---
 build/blog.js                                      |  12 +-
 build/blogDetail.js                                |  12 +-
 build/community.js                                 |  12 +-
 build/documentation.js                             |  12 +-
 build/home.js                                      |  14 +-
 zh-cn/docs/1.3.0/user_doc/cluster-deployment.html  | 390 +++++++++++++++++++++
 zh-cn/docs/1.3.0/user_doc/cluster-deployment.json  |   6 +
 .../docs/1.3.0/user_doc/hardware-environment.html  | 132 +++++++
 .../docs/1.3.0/user_doc/hardware-environment.json  |   6 +
 zh-cn/docs/1.3.0/user_doc/quick-start.html         |  97 +++++
 zh-cn/docs/1.3.0/user_doc/quick-start.json         |   6 +
 .../docs/1.3.0/user_doc/standalone-deployment.html | 341 ++++++++++++++++++
 .../docs/1.3.0/user_doc/standalone-deployment.json |   6 +
 13 files changed, 1015 insertions(+), 31 deletions(-)

diff --git a/build/blog.js b/build/blog.js
index 315cd31..a858c7c 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.i=function(e){return e},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=122 [...]
+!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.i=function(e){return e},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=122 [...]
   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 a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.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 sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Ar,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Ar,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=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,i=Object.prototype.hasOwnProperty,a=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=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -134,7 +134,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 i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):6010
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
  * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol
  * 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/blogDetail.js b/build/blogDetail.js
index 2fa0974..2d3d0d4 100644
--- a/build/blogDetail.js
+++ b/build/blogDetail.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.i=function(e){return e},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=122 [...]
+!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.i=function(e){return e},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=122 [...]
   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 a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.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 sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=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,i=Object.prototype.hasOwnProperty,a=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=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -134,7 +134,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 i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):6010
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
  * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol
  * 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/community.js b/build/community.js
index 702636c..137a5e2 100644
--- a/build/community.js
+++ b/build/community.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.i=function(e){return e},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=122 [...]
+!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.i=function(e){return e},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=122 [...]
   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 a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.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 sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=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,i=Object.prototype.hasOwnProperty,a=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=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -134,7 +134,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 i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):6010
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
  * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol
  * 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/documentation.js b/build/documentation.js
index 1fb8f0c..af4f98b 100644
--- a/build/documentation.js
+++ b/build/documentation.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.i=function(e){return e},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=122 [...]
+!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.i=function(e){return e},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=122 [...]
   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 a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.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 sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=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,i=Object.prototype.hasOwnProperty,a=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=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -134,7 +134,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 i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):6010
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
  * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol
  * 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/home.js b/build/home.js
index 784f6ce..1b87318 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.i=function(e){return e},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=122 [...]
+!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.i=function(e){return e},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=122 [...]
   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 a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.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 a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.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 sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Ar,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=$i,sa.asYears=Xi,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=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,i=Object.prototype.hasOwnProperty,a=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=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -134,7 +134,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 i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):6010
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
  * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -166,4 +166,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol
  * 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ 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,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/zh-cn/docs/1.3.0/user_doc/cluster-deployment.html b/zh-cn/docs/1.3.0/user_doc/cluster-deployment.html
new file mode 100644
index 0000000..f0a8061
--- /dev/null
+++ b/zh-cn/docs/1.3.0/user_doc/cluster-deployment.html
@@ -0,0 +1,390 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+	<meta name="keywords" content="cluster-deployment" />
+	<meta name="description" content="cluster-deployment" />
+	<!-- 网页标签标题 -->
+	<title>cluster-deployment</title>
+	<link rel="shortcut icon" href="/img/docsite.ico"/>
+	<link rel="stylesheet" href="/build/documentation.css" />
+</head>
+<body>
+	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/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">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass an [...]
+<h1>1、基础软件安装(必装项请自行安装)</h1>
+<ul>
+<li>PostgreSQL (8.2.15+) or MySQL (5.7系列)  :  两者任选其一即可</li>
+<li><a href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">JDK</a> (1.8+) :  必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量</li>
+<li>ZooKeeper (3.4.6+) :必装</li>
+<li>Hadoop (2.6+) or MinIO :选装,如果需要用到资源上传功能,可以选择上传到Hadoop or MinIO上</li>
+</ul>
+<pre><code class="language-markdown"> 注意:DolphinScheduler本身不依赖Hadoop、Hive、Spark,仅是会调用他们的Client,用于对应任务的提交。
+</code></pre>
+<h1>2、下载二进制tar.gz包</h1>
+<ul>
+<li>请下载最新版本的后端安装包至服务器部署目录,比如创建 /opt/dolphinscheduler 做为安装部署目录,下载地址: <a href="https://dolphinscheduler.apache.org/zh-cn/docs/release/download.html">下载</a> (以1.2.0版本为例),下载后上传tar包到该目录中,并进行解压</li>
+</ul>
+<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> 创建部署目录,部署目录请不要创建在/root、/home等高权限目录 </span>
+mkdir -p /opt/dolphinscheduler;
+cd /opt/dolphinscheduler;
+<span class="hljs-meta">#</span><span class="bash"> 解压缩</span>
+tar -zxvf apache-dolphinscheduler-incubating-1.3.0-dolphinscheduler-bin.tar.gz -C /opt/dolphinscheduler;
+
+mv apache-dolphinscheduler-incubating-1.3.0-dolphinscheduler-bin  dolphinscheduler-bin
+</code></pre>
+<h1>3、创建部署用户和hosts映射</h1>
+<ul>
+<li>在<strong>所有</strong>部署调度的机器上创建部署用户,并且一定要配置sudo免密。假如我们计划在ds1,ds2,ds3,ds4这4台机器上部署调度,首先需要在每台机器上都创建部署用户</li>
+</ul>
+<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> 创建用户需使用root登录,设置部署用户名,请自行修改,后面以dolphinscheduler为例</span>
+useradd dolphinscheduler;
+<span class="hljs-meta">
+#</span><span class="bash"> 设置用户密码,请自行修改,后面以dolphinscheduler123为例</span>
+echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
+<span class="hljs-meta">
+#</span><span class="bash"> 配置sudo免密</span>
+echo 'dolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' &gt;&gt; /etc/sudoers
+sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+
+</code></pre>
+<pre><code> 注意:
+ - 因为是以 sudo -u {linux-user} 切换不同linux用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限,而且是免密的。
+ - 如果发现/etc/sudoers文件中有&quot;Default requiretty&quot;这行,也请注释掉
+ - 如果用到资源上传的话,还需要在`HDFS或者MinIO`上给该部署用户分配读写的权限
+</code></pre>
+<h1>4、配置hosts映射和ssh打通及修改目录权限</h1>
+<ul>
+<li>
+<p>以第一台机器(hostname为ds1)作为部署机,在ds1上配置所有待部署机器的hosts, 在ds1以root登录</p>
+<pre><code class="language-shell">vi /etc/hosts
+<span class="hljs-meta">
+#</span><span class="bash">add ip hostname</span>
+192.168.xxx.xxx ds1
+192.168.xxx.xxx ds2
+192.168.xxx.xxx ds3
+192.168.xxx.xxx ds4
+</code></pre>
+<p><em>注意:请删掉或者注释掉127.0.0.1这行</em></p>
+</li>
+<li>
+<p>同步ds1上的/etc/hosts到所有部署机器</p>
+<pre><code class="language-shell">for ip in ds2 ds3;     #请将此处ds2 ds3替换为自己要部署的机器的hostname
+do
+    sudo scp -r /etc/hosts  $ip:/etc/          #在运行中需要输入root密码
+done
+</code></pre>
+<p><em>备注:当然 通过<code>sshpass -p xxx sudo scp -r /etc/hosts $ip:/etc/</code>就可以省去输入密码了</em></p>
+<blockquote>
+<p>centos下sshpass的安装:</p>
+<ol>
+<li>
+<p>先安装epel</p>
+<p>yum install -y epel-release</p>
+<p>yum repolist</p>
+</li>
+<li>
+<p>安装完成epel之后,就可以按照sshpass了</p>
+<p>yum install -y sshpass</p>
+</li>
+</ol>
+</blockquote>
+</li>
+<li>
+<p>在ds1上,切换到部署用户并配置ssh本机免密登录</p>
+<pre><code class="language-shell"> su dolphinscheduler;
+
+ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
+chmod 600 ~/.ssh/authorized_keys
+</code></pre>
+</li>
+</ul>
+<p>​      注意:<em>正常设置后,dolphinscheduler用户在执行命令<code>ssh localhost</code> 是不需要再输入密码的</em></p>
+<ul>
+<li>
+<p>在ds1上,配置部署用户dolphinscheduler ssh打通到其他待部署的机器</p>
+<pre><code class="language-shell">su dolphinscheduler;
+for ip in ds2 ds3;     #请将此处ds2 ds3替换为自己要部署的机器的hostname
+do
+    ssh-copy-id  $ip   #该操作执行过程中需要手动输入dolphinscheduler用户的密码
+done
+<span class="hljs-meta">#</span><span class="bash"> 当然 通过 sshpass -p xxx ssh-copy-id <span class="hljs-variable">$ip</span> 就可以省去输入密码了</span>
+</code></pre>
+</li>
+<li>
+<p>在ds1上,修改目录权限,使得部署用户对dolphinscheduler-backend目录有操作权限</p>
+<pre><code class="language-shell">sudo chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-backend
+</code></pre>
+</li>
+</ul>
+<h1>5、数据库初始化</h1>
+<ul>
+<li>进入数据库,默认数据库是PostgreSQL,如选择MySQL的话,后续需要添加mysql-connector-java驱动包到DolphinScheduler的lib目录下,这里以MySQL为例</li>
+</ul>
+<pre><code>mysql -uroot -p
+</code></pre>
+<ul>
+<li>进入数据库命令行窗口后,执行数据库初始化命令,设置访问账号和密码。<strong>注: {user} 和 {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; flush privileges;
+</code></pre>
+<ul>
+<li>
+<p>创建表和导入基础数据</p>
+<ul>
+<li>修改 conf 目录下 application-dao.properties 中的下列配置</li>
+</ul>
+<pre><code class="language-shell">  vi conf/application-dao.properties 
+</code></pre>
+<ul>
+<li>如果选择 MySQL,请注释掉 PostgreSQL 相关配置(反之同理), 还需要手动添加 [<a href="https://downloads.mysql.com/archives/c-j/"> mysql-connector-java 驱动 jar </a>] 包到 lib 目录下,这里下载的是mysql-connector-java-5.1.47.jar,然后正确配置数据库连接相关信息</li>
+</ul>
+<pre><code class="language-properties"><span class="hljs-comment">  #postgre</span>
+<span class="hljs-comment">  #spring.datasource.driver-class-name=org.postgresql.Driver</span>
+<span class="hljs-comment">  #spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler</span>
+<span class="hljs-comment">  # mysql</span>
+  <span class="hljs-meta">spring.datasource.driver-class-name</span>=<span class="hljs-string">com.mysql.jdbc.Driver</span>
+  <span class="hljs-meta">spring.datasource.url</span>=<span class="hljs-string">jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&amp;characterEncoding=UTF-8     需要修改ip</span>
+  <span class="hljs-meta">spring.datasource.username</span>=<span class="hljs-string">xxx						需要修改为上面的{user}值</span>
+  <span class="hljs-meta">spring.datasource.password</span>=<span class="hljs-string">xxx						需要修改为上面的{password}值</span>
+</code></pre>
+<ul>
+<li>修改并保存完后,执行 script 目录下的创建表及导入基础数据脚本</li>
+</ul>
+<pre><code class="language-shell">sh script/create-dolphinscheduler.sh
+</code></pre>
+</li>
+</ul>
+<p>​       <em>注意: 如果执行上述脚本报 ”/bin/java: No such file or directory“ 错误,请在/etc/profile下配置  JAVA_HOME 及 PATH 变量</em></p>
+<h1>6、修改运行参数</h1>
+<ul>
+<li>
+<p>修改 conf/env 目录下的 <code>dolphinscheduler_env.sh</code> 环境变量(以相关用到的软件都安装在/opt/soft下为例)</p>
+<pre><code class="language-shell">export HADOOP_HOME=/opt/soft/hadoop
+export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
+<span class="hljs-meta">#</span><span class="bash"><span class="hljs-built_in">export</span> SPARK_HOME1=/opt/soft/spark1</span>
+export SPARK_HOME2=/opt/soft/spark2
+export PYTHON_HOME=/opt/soft/python
+export JAVA_HOME=/opt/soft/java
+export HIVE_HOME=/opt/soft/hive
+export FLINK_HOME=/opt/soft/flink
+export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$PATH
+
+</code></pre>
+<p><code>注: 这一步非常重要,例如 JAVA_HOME 和 PATH 是必须要配置的,没有用到的可以忽略或者注释掉;如果找不到.dolphinscheduler_env.sh, 请运行 ls -a</code></p>
+</li>
+<li>
+<p>将jdk软链到/usr/bin/java下(仍以 JAVA_HOME=/opt/soft/java 为例)</p>
+<pre><code class="language-shell">sudo ln -s /opt/soft/java/bin/java /usr/bin/java
+</code></pre>
+</li>
+<li>
+<p>修改一键部署脚本 <code>install.sh</code>中的各参数,特别注意以下参数的配置</p>
+<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> 这里填 mysql or postgresql</span>
+dbtype="mysql"
+<span class="hljs-meta">
+#</span><span class="bash"> 数据库连接地址</span>
+dbhost="localhost:3306"
+<span class="hljs-meta">
+#</span><span class="bash"> 数据库名</span>
+dbname="dolphinscheduler"
+<span class="hljs-meta">
+#</span><span class="bash"> 数据库用户名,此处需要修改为上面设置的{user}具体值</span>
+username="xxx"
+<span class="hljs-meta">
+#</span><span class="bash"> 数据库密码, 如果有特殊字符,请使用\转义,需要修改为上面设置的{passowrd}具体值</span>
+passowrd="xxx"
+<span class="hljs-meta">
+#</span><span class="bash">将DS安装到哪个目录,如: /opt/soft/dolphinscheduler,不同于现在的目录</span>
+installPath="/opt/soft/dolphinscheduler"
+<span class="hljs-meta">
+#</span><span class="bash">使用哪个用户部署,使用1.3小节创建的用户</span>
+deployUser="dolphinscheduler"
+<span class="hljs-meta">
+#</span><span class="bash">Zookeeper地址,单机本机是localhost:2181,记得把2181端口带上</span>
+zkQuorum="localhost:2181"
+<span class="hljs-meta">
+#</span><span class="bash">在哪些机器上部署DS服务,本机选localhost</span>
+ips="localhost"
+<span class="hljs-meta">
+#</span><span class="bash">ssh端口,默认22</span>
+sshPort="22"
+<span class="hljs-meta">
+#</span><span class="bash">master服务部署在哪台机器上</span>
+masters="localhost"
+<span class="hljs-meta">
+#</span><span class="bash">worker服务部署在哪台机器上,并指定此worker属于哪一个worker组</span>
+workers="localhost:default"
+<span class="hljs-meta">
+#</span><span class="bash">报警服务部署在哪台机器上</span>
+alertServer="localhost"
+<span class="hljs-meta">
+#</span><span class="bash">后端api服务部署在在哪台机器上</span>
+apiServers="localhost"
+<span class="hljs-meta">
+
+#</span><span class="bash"> 邮件配置,以qq邮箱为例</span>
+<span class="hljs-meta">#</span><span class="bash"> 邮件协议</span>
+mailProtocol="SMTP"
+<span class="hljs-meta">
+#</span><span class="bash"> 邮件服务地址</span>
+mailServerHost="smtp.exmail.qq.com"
+<span class="hljs-meta">
+#</span><span class="bash"> 邮件服务端口</span>
+mailServerPort="25"
+<span class="hljs-meta">
+#</span><span class="bash"> mailSender和mailUser配置成一样即可</span>
+<span class="hljs-meta">#</span><span class="bash"> 发送者</span>
+mailSender="xxx@qq.com"
+<span class="hljs-meta">
+#</span><span class="bash"> 发送用户</span>
+mailUser="xxx@qq.com"
+<span class="hljs-meta">
+#</span><span class="bash"> 邮箱密码</span>
+mailPassword="xxx"
+<span class="hljs-meta">
+#</span><span class="bash"> TLS协议的邮箱设置为<span class="hljs-literal">true</span>,否则设置为<span class="hljs-literal">false</span></span>
+starttlsEnable="true"
+<span class="hljs-meta">
+#</span><span class="bash"> 邮件服务地址值,参考上面 mailServerHost</span>
+sslTrust="smtp.exmail.qq.com"
+<span class="hljs-meta">
+#</span><span class="bash"> 开启SSL协议的邮箱配置为<span class="hljs-literal">true</span>,否则为<span class="hljs-literal">false</span>。注意: starttlsEnable和sslEnable不能同时为<span class="hljs-literal">true</span></span>
+sslEnable="false"
+<span class="hljs-meta">
+#</span><span class="bash"> excel下载路径</span>
+xlsFilePath="/tmp/xls"
+<span class="hljs-meta">
+#</span><span class="bash"> 业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS,S3,NONE,单机如果想使用本地文件系统,请配置为HDFS,因为HDFS支持本地文件系统;如果不需要资源上传功能请选择NONE。强调一点:使用本地文件系统不需要部署hadoop</span>
+resourceStorageType="HDFS"
+<span class="hljs-meta">
+#</span><span class="bash"> 资源上传根路径,主持HDFS和S3,由于hdfs支持本地文件系统,需要确保本地文件夹存在且有读写权限</span>
+    resourceUploadPath="/data/dolphinscheduler"
+<span class="hljs-meta">
+#</span><span class="bash"> 具备权限创建resourceUploadPath的用户</span>
+    hdfsRootUser="hdfs"
+<span class="hljs-meta">
+#</span><span class="bash"> 这里以保存到本地文件系统为例</span>
+<span class="hljs-meta">#</span><span class="bash">注:但是如果你想上传到HDFS的话,NameNode启用了HA,则需要将core-site.xml和hdfs-site.xml放到conf目录下,本例即是放到/opt/dolphinscheduler/conf下面,并配置namenode cluster名称;如果NameNode不是HA,则修改为具体的ip或者主机名即可</span>
+defaultFS="file:///data/dolphinscheduler"    #hdfs://{具体的ip/主机名}:8020
+<span class="hljs-meta">
+
+#</span><span class="bash"> 如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者hostname,比如<span class="hljs-string">"192.168.xx.xx,192.168.xx.xx"</span>,否则如果是单ResourceManager或者根本没用到yarn,请配置yarnHaIps=<span class="hljs-string">""</span>即可,我这里没用到yarn,配置为<span class="hljs-string">""</span></span>
+yarnHaIps=""
+<span class="hljs-meta">
+#</span><span class="bash"> 如果是单ResourceManager,则配置为ResourceManager节点ip或主机名,否则保持默认值即可。我这里没用到yarn,保持默认</span>
+singleYarnIp="ark1"
+
+
+
+*注:如果打算用到`资源中心`功能,请执行以下命令:*
+
+```shell
+sudo mkdir /data/dolphinscheduler
+sudo chown -R dolphinscheduler:dolphinscheduler /data/dolphinscheduler
+</code></pre>
+<p><em>特别注意:</em></p>
+<ul>
+<li>如果需要用资源上传到Hadoop集群功能, 并且Hadoop集群的NameNode 配置了 HA的话 ,需要开启 HDFS类型的资源上传,同时需要将Hadoop集群下的core-site.xml和hdfs-site.xml复制到/opt/dolphinscheduler/conf,非NameNode HA跳过次步骤</li>
+</ul>
+</li>
+</ul>
+<h1>7、一键部署</h1>
+<ul>
+<li>
+<p>切换到部署用户dolphinscheduler,然后执行一键部署脚本</p>
+<p><code>sh install.sh</code></p>
+<pre><code>注意:
+第一次部署的话,在运行中第3步`3,stop server`出现5次以下信息,此信息可以忽略
+sh: bin/dolphinscheduler-daemon.sh: No such file or directory
+</code></pre>
+</li>
+<li>
+<p>脚本完成后,会启动以下5个服务,使用<code>jps</code>命令查看服务是否启动(<code>jps</code>为<code>java JDK</code>自带)</p>
+</li>
+</ul>
+<pre><code class="language-aidl">    MasterServer         ----- master服务
+    WorkerServer         ----- worker服务
+    LoggerServer         ----- logger服务
+    ApiApplicationServer ----- api服务
+    AlertServer          ----- alert服务
+</code></pre>
+<p>如果以上服务都正常启动,说明自动部署成功</p>
+<p>部署成功后,可以进行日志查看,日志统一存放于logs文件夹内</p>
+<pre><code class="language-日志路径"> logs/
+    ├── dolphinscheduler-alert-server.log
+    ├── dolphinscheduler-master-server.log
+    |—— dolphinscheduler-worker-server.log
+    |—— dolphinscheduler-api-server.log
+    |—— dolphinscheduler-logger-server.log
+</code></pre>
+<h1>8、登录系统</h1>
+<ul>
+<li>
+<p>访问前端页面地址,接口ip(自行修改)
+<a href="http://192.168.xx.xx:12345/dolphinscheduler">http://192.168.xx.xx:12345/dolphinscheduler</a></p>
+ <p align="center">
+   <img src="/img/login.png" width="60%" />
+ </p>
+</li>
+</ul>
+<h1>9、启停服务</h1>
+<ul>
+<li>
+<p>一键停止集群所有服务</p>
+<p><code>sh ./bin/stop-all.sh</code></p>
+</li>
+<li>
+<p>一键开启集群所有服务</p>
+<p><code>sh ./bin/start-all.sh</code></p>
+</li>
+<li>
+<p>启停Master</p>
+</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start master-server
+sh ./bin/dolphinscheduler-daemon.sh stop master-server
+</code></pre>
+<ul>
+<li>启停Worker</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start worker-server
+sh ./bin/dolphinscheduler-daemon.sh stop worker-server
+</code></pre>
+<ul>
+<li>启停Api</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start api-server
+sh ./bin/dolphinscheduler-daemon.sh stop api-server
+</code></pre>
+<ul>
+<li>启停Logger</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start logger-server
+sh ./bin/dolphinscheduler-daemon.sh stop logger-server
+</code></pre>
+<ul>
+<li>启停Alert</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start alert-server
+sh ./bin/dolphinscheduler-daemon.sh stop alert-server
+</code></pre>
+<p><code>注:服务用途请具体参见《系统架构设计》小节</code></p>
+</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 (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by 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 manner consistent with other successful ASF projects. 
+While incubation status is not necessarily a reflection of the completeness or stability of the code, 
+it does indicate that the project has yet to be fully endorsed by the ASF.</p></div><div class="col col-6"><dl><dt>文档</dt><dd><a href="/zh-cn/docs/1.2.0/user_doc/architecture-design.html" target="_self">概览</a></dd><dd><a href="/zh-cn/docs/1.2.0/user_doc/quick-start.html" target="_self">快速开始</a></dd><dd><a href="/zh-cn/docs/1.2.0/user_doc/backend-development.html" target="_self">开发者指南</a></dd></dl></div><div class="col col-6"><dl><dt>ASF</dt><dd><a href="http://www.apache.org" target="_se [...]
+	<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.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-cn/docs/1.3.0/user_doc/cluster-deployment.json b/zh-cn/docs/1.3.0/user_doc/cluster-deployment.json
new file mode 100644
index 0000000..8ec8972
--- /dev/null
+++ b/zh-cn/docs/1.3.0/user_doc/cluster-deployment.json
@@ -0,0 +1,6 @@
+{
+  "filename": "cluster-deployment.md",
+  "__html": "<h1>集群部署(Cluster)</h1>\n<h1>1、基础软件安装(必装项请自行安装)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7系列)  :  两者任选其一即可</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量</li>\n<li>ZooKeeper (3.4.6+) :必装</li>\n<li>Hadoop (2.6+) or MinIO :选装,如果需要用到资源上传功能,可以选择上传到Hadoop or MinIO上</li>\n</ul>\n<pre><code class=\"language-markdown\"> 注意:DolphinScheduler本身不依赖Hadoop、Hive、Spark,仅是会调用他们的Cl [...]
+  "link": "/zh-cn/docs/1.3.0/user_doc/cluster-deployment.html",
+  "meta": {}
+}
\ No newline at end of file
diff --git a/zh-cn/docs/1.3.0/user_doc/hardware-environment.html b/zh-cn/docs/1.3.0/user_doc/hardware-environment.html
new file mode 100644
index 0000000..ff06680
--- /dev/null
+++ b/zh-cn/docs/1.3.0/user_doc/hardware-environment.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+	<meta name="keywords" content="hardware-environment" />
+	<meta name="description" content="hardware-environment" />
+	<!-- 网页标签标题 -->
+	<title>hardware-environment</title>
+	<link rel="shortcut icon" href="/img/docsite.ico"/>
+	<link rel="stylesheet" href="/build/documentation.css" />
+</head>
+<body>
+	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/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">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass an [...]
+<p>DolphinScheduler 作为一款开源分布式工作流任务调度系统,可以很好的部署和运行在 Intel 架构服务器环境及主流虚拟化环境下,并支持主流的Linux操作系统环境。</p>
+<h2>1. Linux 操作系统版本要求</h2>
+<table>
+<thead>
+<tr>
+<th style="text-align:left">操作系统</th>
+<th style="text-align:center">版本</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left">Red Hat Enterprise Linux</td>
+<td style="text-align:center">7.0 及以上</td>
+</tr>
+<tr>
+<td style="text-align:left">CentOS</td>
+<td style="text-align:center">7.0 及以上</td>
+</tr>
+<tr>
+<td style="text-align:left">Oracle Enterprise Linux</td>
+<td style="text-align:center">7.0 及以上</td>
+</tr>
+<tr>
+<td style="text-align:left">Ubuntu LTS</td>
+<td style="text-align:center">16.04 及以上</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p><strong>注意:</strong>
+以上 Linux 操作系统可运行在物理服务器以及 VMware、KVM、XEN 主流虚拟化环境上。</p>
+</blockquote>
+<h2>2. 服务器建议配置</h2>
+<p>DolphinScheduler 支持运行在 Intel x86-64 架构的 64 位通用硬件服务器平台。对生产环境的服务器硬件配置有以下建议:</p>
+<h3>生产环境</h3>
+<table>
+<thead>
+<tr>
+<th><strong>CPU</strong></th>
+<th><strong>内存</strong></th>
+<th><strong>硬盘类型</strong></th>
+<th><strong>网络</strong></th>
+<th><strong>实例数量</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>4核+</td>
+<td>8 GB+</td>
+<td>SAS</td>
+<td>千兆网卡</td>
+<td>1+</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p><strong>注意:</strong></p>
+<ul>
+<li>以上建议配置为部署 DolphinScheduler 的最低配置,生产环境强烈推荐使用更高的配置。</li>
+<li>硬盘大小配置建议 50GB+ ,系统盘和数据盘分开。</li>
+</ul>
+</blockquote>
+<h2>3. 网络要求</h2>
+<p>DolphinScheduler正常运行提供如下的网络端口配置:</p>
+<table>
+<thead>
+<tr>
+<th>组件</th>
+<th>默认端口</th>
+<th>说明</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>MasterServer</td>
+<td>5566</td>
+<td>非通信端口,只需本机端口不冲突即可</td>
+</tr>
+<tr>
+<td>WorkerServer</td>
+<td>7788</td>
+<td>非通信端口,只需本机端口不冲突即可</td>
+</tr>
+<tr>
+<td>ApiApplicationServer</td>
+<td>12345</td>
+<td>提供后端通信端口</td>
+</tr>
+<tr>
+<td>nginx</td>
+<td>8888</td>
+<td>提供 UI 端通信端口</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p><strong>注意:</strong></p>
+<ul>
+<li>MasterServer 和 WorkerServer 不需要开启网络间通信,只需本机端口不冲突即可</li>
+<li>管理员可根据实际环境中 DolphinScheduler 组件部署方案,在网络侧和主机侧开放相关端口</li>
+</ul>
+</blockquote>
+<h2>4. 客户端 Web 浏览器要求</h2>
+<p>DolphinScheduler 推荐 Chrome 以及使用 Chrome 内核的较新版本浏览器访问前端可视化操作界面。</p>
+</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 (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by 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 manner consistent with other successful ASF projects. 
+While incubation status is not necessarily a reflection of the completeness or stability of the code, 
+it does indicate that the project has yet to be fully endorsed by the ASF.</p></div><div class="col col-6"><dl><dt>文档</dt><dd><a href="/zh-cn/docs/1.2.0/user_doc/architecture-design.html" target="_self">概览</a></dd><dd><a href="/zh-cn/docs/1.2.0/user_doc/quick-start.html" target="_self">快速开始</a></dd><dd><a href="/zh-cn/docs/1.2.0/user_doc/backend-development.html" target="_self">开发者指南</a></dd></dl></div><div class="col col-6"><dl><dt>ASF</dt><dd><a href="http://www.apache.org" target="_se [...]
+	<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.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-cn/docs/1.3.0/user_doc/hardware-environment.json b/zh-cn/docs/1.3.0/user_doc/hardware-environment.json
new file mode 100644
index 0000000..2545a96
--- /dev/null
+++ b/zh-cn/docs/1.3.0/user_doc/hardware-environment.json
@@ -0,0 +1,6 @@
+{
+  "filename": "hardware-environment.md",
+  "__html": "<h1>软硬件环境建议配置</h1>\n<p>DolphinScheduler 作为一款开源分布式工作流任务调度系统,可以很好的部署和运行在 Intel 架构服务器环境及主流虚拟化环境下,并支持主流的Linux操作系统环境。</p>\n<h2>1. Linux 操作系统版本要求</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:left\">操作系统</th>\n<th style=\"text-align:center\">版本</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:left\">Red Hat Enterprise Linux</td>\n<td style=\"text-align:center\">7.0 及以上</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">CentOS</td>\n<td style=\"text-align:center\"> [...]
+  "link": "/zh-cn/docs/1.3.0/user_doc/hardware-environment.html",
+  "meta": {}
+}
\ No newline at end of file
diff --git a/zh-cn/docs/1.3.0/user_doc/quick-start.html b/zh-cn/docs/1.3.0/user_doc/quick-start.html
new file mode 100644
index 0000000..dc7ee5c
--- /dev/null
+++ b/zh-cn/docs/1.3.0/user_doc/quick-start.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+	<meta name="keywords" content="quick-start" />
+	<meta name="description" content="quick-start" />
+	<!-- 网页标签标题 -->
+	<title>quick-start</title>
+	<link rel="shortcut icon" href="/img/docsite.ico"/>
+	<link rel="stylesheet" href="/build/documentation.css" />
+</head>
+<body>
+	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/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">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass an [...]
+<ul>
+<li>管理员用户登录
+<blockquote>
+<p>地址:192.168.xx.xx:8888 用户名密码:admin/dolphinscheduler123</p>
+</blockquote>
+</li>
+</ul>
+<p align="center">
+   <img src="/img/login.png" width="60%" />
+ </p>
+<ul>
+<li>创建队列</li>
+</ul>
+<p align="center">
+   <img src="/img/create-queue.png" width="60%" />
+ </p>
+<ul>
+<li>创建租户</li>
+</ul>
+   <p align="center">
+    <img src="/img/addtenant.png" width="60%" />
+  </p>
+<ul>
+<li>创建普通用户</li>
+</ul>
+<p align="center">
+   <img src="/img/useredit2.png" width="60%" />
+ </p>
+<ul>
+<li>创建告警组</li>
+</ul>
+ <p align="center">
+    <img src="/img/mail_edit.png" width="60%" />
+  </p>
+<ul>
+<li>创建Worker分组</li>
+</ul>
+ <p align="center">
+    <img src="/img/worker_group.png" width="60%" />
+  </p>
+<ul>
+<li>创建token令牌</li>
+</ul>
+ <p align="center">
+    <img src="/img/creat_token.png" width="60%" />
+  </p>
+<ul>
+<li>使用普通用户登录</li>
+</ul>
+<blockquote>
+<p>点击右上角用户名“退出”,重新使用普通用户登录。</p>
+</blockquote>
+<ul>
+<li>项目管理-&gt;创建项目-&gt;点击项目名称</li>
+</ul>
+<p align="center">
+   <img src="/img/project.png" width="60%" />
+ </p>
+<ul>
+<li>点击工作流定义-&gt;创建工作流定义-&gt;上线工作流定义</li>
+</ul>
+<p align="center">
+   <img src="/img/dag1.png" width="60%" />
+ </p>
+<ul>
+<li>运行工作流定义-&gt;点击工作流实例-&gt;点击工作流实例名称-&gt;双击任务节点-&gt;查看任务执行日志</li>
+</ul>
+ <p align="center">
+   <img src="/img/task-log.png" width="60%" />
+</p></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 (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by 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 manner consistent with other successful ASF projects. 
+While incubation status is not necessarily a reflection of the completeness or stability of the code, 
+it does indicate that the project has yet to be fully endorsed by the ASF.</p></div><div class="col col-6"><dl><dt>文档</dt><dd><a href="/zh-cn/docs/1.2.0/user_doc/architecture-design.html" target="_self">概览</a></dd><dd><a href="/zh-cn/docs/1.2.0/user_doc/quick-start.html" target="_self">快速开始</a></dd><dd><a href="/zh-cn/docs/1.2.0/user_doc/backend-development.html" target="_self">开发者指南</a></dd></dl></div><div class="col col-6"><dl><dt>ASF</dt><dd><a href="http://www.apache.org" target="_se [...]
+	<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.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-cn/docs/1.3.0/user_doc/quick-start.json b/zh-cn/docs/1.3.0/user_doc/quick-start.json
new file mode 100644
index 0000000..81be3a5
--- /dev/null
+++ b/zh-cn/docs/1.3.0/user_doc/quick-start.json
@@ -0,0 +1,6 @@
+{
+  "filename": "quick-start.md",
+  "__html": "<h1>快速上手</h1>\n<ul>\n<li>管理员用户登录\n<blockquote>\n<p>地址:192.168.xx.xx:8888 用户名密码:admin/dolphinscheduler123</p>\n</blockquote>\n</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/login.png\" width=\"60%\" />\n </p>\n<ul>\n<li>创建队列</li>\n</ul>\n<p align=\"center\">\n   <img src=\"/img/create-queue.png\" width=\"60%\" />\n </p>\n<ul>\n<li>创建租户</li>\n</ul>\n   <p align=\"center\">\n    <img src=\"/img/addtenant.png\" width=\"60%\" />\n  </p>\n<ul>\n<li>创建普通用户</li>\n</ul>\n<p a [...]
+  "link": "/zh-cn/docs/1.3.0/user_doc/quick-start.html",
+  "meta": {}
+}
\ No newline at end of file
diff --git a/zh-cn/docs/1.3.0/user_doc/standalone-deployment.html b/zh-cn/docs/1.3.0/user_doc/standalone-deployment.html
new file mode 100644
index 0000000..5e201f9
--- /dev/null
+++ b/zh-cn/docs/1.3.0/user_doc/standalone-deployment.html
@@ -0,0 +1,341 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+	<meta name="keywords" content="standalone-deployment" />
+	<meta name="description" content="standalone-deployment" />
+	<!-- 网页标签标题 -->
+	<title>standalone-deployment</title>
+	<link rel="shortcut icon" href="/img/docsite.ico"/>
+	<link rel="stylesheet" href="/build/documentation.css" />
+</head>
+<body>
+	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/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">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass an [...]
+<p>DolphinScheduler单机部署分为后端部署和前端部署两部分:</p>
+<h1>1、基础软件安装(必装项请自行安装)</h1>
+<ul>
+<li>PostgreSQL (8.2.15+) or MySQL (5.7系列)  :  两者任选其一即可</li>
+<li><a href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">JDK</a> (1.8+) :  必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量</li>
+<li>ZooKeeper (3.4.6+) :必装</li>
+<li>Hadoop (2.6+) or MinIO :选装, 如果需要用到资源上传功能,针对单机可以选择本地文件目录作为上传文件夹(此操作不需要部署Hadoop);当然也可以选择上传到Hadoop or MinIO集群上</li>
+</ul>
+<pre><code class="language-markdown"> 注意:DolphinScheduler本身不依赖Hadoop、Hive、Spark,仅是会调用他们的Client,用于对应任务的运行。
+</code></pre>
+<h1>2、下载二进制tar.gz包</h1>
+<ul>
+<li>请下载最新版本的后端安装包至服务器部署目录,比如创建 /opt/dolphinscheduler 做为安装部署目录,下载地址: <a href="https://dolphinscheduler.apache.org/zh-cn/docs/release/download.html">下载</a> (以1.3.0版本为例),下载后上传tar包到该目录中,并进行解压</li>
+</ul>
+<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> 创建部署目录,部署目录请不要创建在/root、/home等高权限目录 </span>
+mkdir -p /opt/dolphinscheduler;
+cd /opt/dolphinscheduler;
+<span class="hljs-meta">#</span><span class="bash"> 解压缩</span>
+tar -zxvf apache-dolphinscheduler-incubating-1.3.0-dolphinscheduler-bin.tar.gz -C /opt/dolphinscheduler;
+ 
+mv apache-dolphinscheduler-incubating-1.3.0-dolphinscheduler-bin  dolphinscheduler-bin
+</code></pre>
+<h1>3、创建部署用户并赋予目录操作权限</h1>
+<ul>
+<li>创建部署用户,并且一定要配置sudo免密。以创建dolphinscheduler用户为例</li>
+</ul>
+<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> 创建用户需使用root登录</span>
+useradd dolphinscheduler;
+<span class="hljs-meta">
+#</span><span class="bash"> 添加密码</span>
+echo "dolphinscheduler" | passwd --stdin dolphinscheduler
+<span class="hljs-meta">
+#</span><span class="bash"> 配置sudo免密</span>
+sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
+sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
+<span class="hljs-meta">
+#</span><span class="bash"> 修改目录权限,使得部署用户对dolphinscheduler-backend目录有操作权限  </span>
+chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-backend
+</code></pre>
+<pre><code> 注意:
+ - 因为任务执行服务是以 sudo -u {linux-user} 切换不同linux用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限,而且是免密的。初学习者不理解的话,完全可以暂时忽略这一点
+ - 如果发现/etc/sudoers文件中有&quot;Default requiretty&quot;这行,也请注释掉
+ - 如果用到资源上传的话,还需要给该部署用户分配操作`本地文件系统或者HDFS或者MinIO`的权限
+</code></pre>
+<h1>4、ssh免密配置</h1>
+<ul>
+<li>切换到部署用户并配置ssh本机免密登录</li>
+</ul>
+<pre><code class="language-shell">su dolphinscheduler;
+
+ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
+cat ~/.ssh/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
+chmod 600 ~/.ssh/authorized_keys
+</code></pre>
+<p>注意:<em>正常设置后,dolphinscheduler用户在执行命令<code>ssh localhost</code> 是不需要再输入密码的</em></p>
+<h1>5、数据库初始化</h1>
+<ul>
+<li>进入数据库,默认数据库是PostgreSQL,如选择MySQL的话,后续需要添加mysql-connector-java驱动包到DolphinScheduler的lib目录下</li>
+</ul>
+<pre><code>mysql -uroot -p
+</code></pre>
+<ul>
+<li>
+<p>进入数据库命令行窗口后,执行数据库初始化命令,设置访问账号和密码。<strong>注: {user} 和 {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; flush privileges;
+</code></pre>
+</li>
+<li>
+<p>创建表和导入基础数据</p>
+<ul>
+<li>
+<p>修改 conf 目录下 application-dao.properties 中的下列配置</p>
+<ul>
+<li>
+<pre><code class="language-shell">vi conf/application-dao.properties 
+</code></pre>
+</li>
+</ul>
+</li>
+<li>
+<p>如果选择 MySQL,请注释掉 PostgreSQL 相关配置(反之同理), 还需要手动添加 [<a href="https://downloads.MySQL.com/archives/c-j/"> mysql-connector-java 驱动 jar </a>] 包到 lib 目录下,这里下载的是mysql-connector-java-5.1.47.jar,然后正确配置数据库连接相关信息</p>
+</li>
+</ul>
+<pre><code class="language-properties"><span class="hljs-comment">  # postgre</span>
+<span class="hljs-comment">  #spring.datasource.driver-class-name=org.postgresql.Driver</span>
+<span class="hljs-comment">  #spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler</span>
+<span class="hljs-comment">  # mysql</span>
+  <span class="hljs-meta">spring.datasource.driver-class-name</span>=<span class="hljs-string">com.mysql.jdbc.Driver</span>
+  <span class="hljs-meta">spring.datasource.url</span>=<span class="hljs-string">jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&amp;characterEncoding=UTF-8     需要修改ip,本机localhost即可</span>
+  <span class="hljs-meta">spring.datasource.username</span>=<span class="hljs-string">xxx						需要修改为上面的{user}值</span>
+  <span class="hljs-meta">spring.datasource.password</span>=<span class="hljs-string">xxx						需要修改为上面的{password}值</span>
+</code></pre>
+<ul>
+<li>修改并保存完后,执行 script 目录下的创建表及导入基础数据脚本</li>
+</ul>
+<pre><code class="language-shell">sh script/create-dolphinscheduler.sh
+</code></pre>
+</li>
+</ul>
+<p>​       <em>注意: 如果执行上述脚本报 ”/bin/java: No such file or directory“ 错误,请在/etc/profile下配置  JAVA_HOME 及 PATH 变量</em></p>
+<h1>6、修改运行参数</h1>
+<ul>
+<li>
+<p>修改 conf/env 目录下的 <code>dolphinscheduler_env.sh</code> 环境变量(以相关用到的软件都安装在/opt/soft下为例)</p>
+<pre><code class="language-shell">export HADOOP_HOME=/opt/soft/hadoop
+export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
+<span class="hljs-meta">#</span><span class="bash"><span class="hljs-built_in">export</span> SPARK_HOME1=/opt/soft/spark1</span>
+export SPARK_HOME2=/opt/soft/spark2
+export PYTHON_HOME=/opt/soft/python
+export JAVA_HOME=/opt/soft/java
+export HIVE_HOME=/opt/soft/hive
+export FLINK_HOME=/opt/soft/flink
+export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$PATH
+
+</code></pre>
+<p><code>注: 这一步非常重要,例如 JAVA_HOME 和 PATH 是必须要配置的,没有用到的可以忽略或者注释掉;如果找不到.dolphinscheduler_env.sh, 请运行 ls -a</code></p>
+</li>
+<li>
+<p>将jdk软链到/usr/bin/java下(仍以 JAVA_HOME=/opt/soft/java 为例)</p>
+<pre><code class="language-shell">sudo ln -s /opt/soft/java/bin/java /usr/bin/java
+</code></pre>
+</li>
+<li>
+<p>修改一键部署脚本 <code>install.sh</code>中的各参数,特别注意以下参数的配置</p>
+<pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> 这里填 mysql or postgresql</span>
+dbtype="mysql"
+<span class="hljs-meta">
+#</span><span class="bash"> 数据库连接地址</span>
+dbhost="localhost:3306"
+<span class="hljs-meta">
+#</span><span class="bash"> 数据库名</span>
+dbname="dolphinscheduler"
+<span class="hljs-meta">
+#</span><span class="bash"> 数据库用户名,此处需要修改为上面设置的{user}具体值</span>
+username="xxx"    
+<span class="hljs-meta">
+#</span><span class="bash"> 数据库密码, 如果有特殊字符,请使用\转义,需要修改为上面设置的{passowrd}具体值</span>
+passowrd="xxx"
+<span class="hljs-meta">
+#</span><span class="bash">将DS安装到哪个目录,如: /opt/soft/dolphinscheduler,不同于现在的目录</span>
+installPath="/opt/soft/dolphinscheduler"
+<span class="hljs-meta">
+#</span><span class="bash">使用哪个用户部署,使用1.3小节创建的用户</span>
+deployUser="dolphinscheduler"
+<span class="hljs-meta">
+#</span><span class="bash">Zookeeper地址,单机本机是localhost:2181,记得把2181端口带上</span>
+zkQuorum="localhost:2181"
+<span class="hljs-meta">
+#</span><span class="bash">在哪些机器上部署DS服务,本机选localhost</span>
+ips="localhost"
+<span class="hljs-meta">
+#</span><span class="bash">ssh端口,默认22</span>
+sshPort="22"
+<span class="hljs-meta">
+#</span><span class="bash">master服务部署在哪台机器上</span>
+masters="localhost"
+<span class="hljs-meta">
+#</span><span class="bash">worker服务部署在哪台机器上,并指定此worker属于哪一个worker组</span>
+workers="localhost:default"
+<span class="hljs-meta">
+#</span><span class="bash">报警服务部署在哪台机器上</span>
+alertServer="localhost"
+<span class="hljs-meta">
+#</span><span class="bash">后端api服务部署在在哪台机器上</span>
+apiServers="localhost"
+<span class="hljs-meta">
+
+#</span><span class="bash"> 邮件配置,以qq邮箱为例</span>
+<span class="hljs-meta">#</span><span class="bash"> 邮件协议</span>
+mailProtocol="SMTP"
+<span class="hljs-meta">
+#</span><span class="bash"> 邮件服务地址</span>
+mailServerHost="smtp.exmail.qq.com"
+<span class="hljs-meta">
+#</span><span class="bash"> 邮件服务端口</span>
+mailServerPort="25"
+<span class="hljs-meta">
+#</span><span class="bash"> mailSender和mailUser配置成一样即可</span>
+<span class="hljs-meta">#</span><span class="bash"> 发送者</span>
+mailSender="xxx@qq.com"
+<span class="hljs-meta">
+#</span><span class="bash"> 发送用户</span>
+mailUser="xxx@qq.com"
+<span class="hljs-meta">
+#</span><span class="bash"> 邮箱密码</span>
+mailPassword="xxx"
+<span class="hljs-meta">
+#</span><span class="bash"> TLS协议的邮箱设置为<span class="hljs-literal">true</span>,否则设置为<span class="hljs-literal">false</span></span>
+starttlsEnable="true"
+<span class="hljs-meta">
+#</span><span class="bash"> 邮件服务地址值,参考上面 mailServerHost</span>
+sslTrust="smtp.exmail.qq.com"
+<span class="hljs-meta">
+#</span><span class="bash"> 开启SSL协议的邮箱配置为<span class="hljs-literal">true</span>,否则为<span class="hljs-literal">false</span>。注意: starttlsEnable和sslEnable不能同时为<span class="hljs-literal">true</span></span>
+sslEnable="false"
+<span class="hljs-meta">
+#</span><span class="bash"> excel下载路径</span>
+xlsFilePath="/tmp/xls"
+<span class="hljs-meta">
+#</span><span class="bash"> 业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS,S3,NONE,单机如果想使用本地文件系统,请配置为HDFS,因为HDFS支持本地文件系统;如果不需要资源上传功能请选择NONE。强调一点:使用本地文件系统不需要部署hadoop </span>
+resourceStorageType="HDFS"
+<span class="hljs-meta">
+#</span><span class="bash"> 资源上传根路径,主持HDFS和S3,由于hdfs支持本地文件系统,需要确保本地文件夹存在且有读写权限</span>
+    resourceUploadPath="/data/dolphinscheduler"
+<span class="hljs-meta">
+#</span><span class="bash"> 具备权限创建resourceUploadPath的用户</span>
+    hdfsRootUser="hdfs"
+<span class="hljs-meta">
+#</span><span class="bash"> 这里以保存到本地文件系统为例</span>
+<span class="hljs-meta">#</span><span class="bash">注:但是如果你想上传到HDFS的话,NameNode启用了HA,则需要将core-site.xml和hdfs-site.xml放到conf目录下,本例即是放到/opt/dolphinscheduler/conf下面,并配置namenode cluster名称;如果NameNode不是HA,则修改为具体的ip或者主机名即可 </span>
+defaultFS="file:///data/dolphinscheduler"    #hdfs://{具体的ip/主机名}:8020
+<span class="hljs-meta">
+
+#</span><span class="bash"> 如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者hostname,比如<span class="hljs-string">"192.168.xx.xx,192.168.xx.xx"</span>,否则如果是单ResourceManager或者根本没用到yarn,请配置yarnHaIps=<span class="hljs-string">""</span>即可,我这里没用到yarn,配置为<span class="hljs-string">""</span></span>
+yarnHaIps=""
+<span class="hljs-meta">
+#</span><span class="bash"> 如果是单ResourceManager,则配置为ResourceManager节点ip或主机名,否则保持默认值即可。我这里没用到yarn,保持默认</span>
+singleYarnIp="ark1"
+
+
+
+*注:如果打算用到`资源中心`功能,请执行以下命令:*
+
+```shell
+sudo mkdir /data/dolphinscheduler
+sudo chown -R dolphinscheduler:dolphinscheduler /data/dolphinscheduler
+</code></pre>
+</li>
+</ul>
+<h1>7、一键部署</h1>
+<ul>
+<li>
+<p>切换到部署用户,执行一键部署脚本</p>
+<p><code>sh install.sh</code></p>
+<pre><code>注意:
+第一次部署的话,在运行中第3步`3,stop server`出现5次以下信息,此信息可以忽略
+sh: bin/dolphinscheduler-daemon.sh: No such file or directory
+</code></pre>
+</li>
+<li>
+<p>脚本完成后,会启动以下5个服务,使用<code>jps</code>命令查看服务是否启动(<code>jps</code>为<code>java JDK</code>自带)</p>
+</li>
+</ul>
+<pre><code class="language-aidl">    MasterServer         ----- master服务
+    WorkerServer         ----- worker服务
+    LoggerServer         ----- logger服务
+    ApiApplicationServer ----- api服务
+    AlertServer          ----- alert服务
+</code></pre>
+<p>如果以上服务都正常启动,说明自动部署成功</p>
+<p>部署成功后,可以进行日志查看,日志统一存放于logs文件夹内</p>
+<pre><code class="language-日志路径"> logs/
+    ├── dolphinscheduler-alert-server.log
+    ├── dolphinscheduler-master-server.log
+    |—— dolphinscheduler-worker-server.log
+    |—— dolphinscheduler-api-server.log
+    |—— dolphinscheduler-logger-server.log
+</code></pre>
+<h1>8、登录系统</h1>
+<ul>
+<li>
+<p>访问前端页面地址,接口ip(自行修改)
+<a href="http://192.168.xx.xx:12345/dolphinscheduler">http://192.168.xx.xx:12345/dolphinscheduler</a></p>
+ <p align="center">
+   <img src="/img/login.png" width="60%" />
+ </p>
+</li>
+</ul>
+<h1>9、启停服务</h1>
+<ul>
+<li>
+<p>一键停止集群所有服务</p>
+<p><code>sh ./bin/stop-all.sh</code></p>
+</li>
+<li>
+<p>一键开启集群所有服务</p>
+<p><code>sh ./bin/start-all.sh</code></p>
+</li>
+<li>
+<p>启停Master</p>
+</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start master-server
+sh ./bin/dolphinscheduler-daemon.sh stop master-server
+</code></pre>
+<ul>
+<li>启停Worker</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start worker-server
+sh ./bin/dolphinscheduler-daemon.sh stop worker-server
+</code></pre>
+<ul>
+<li>启停Api</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start api-server
+sh ./bin/dolphinscheduler-daemon.sh stop api-server
+</code></pre>
+<ul>
+<li>启停Logger</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start logger-server
+sh ./bin/dolphinscheduler-daemon.sh stop logger-server
+</code></pre>
+<ul>
+<li>启停Alert</li>
+</ul>
+<pre><code class="language-shell">sh ./bin/dolphinscheduler-daemon.sh start alert-server
+sh ./bin/dolphinscheduler-daemon.sh stop alert-server
+</code></pre>
+<p><code>注:服务用途请具体参见《系统架构设计》小节</code></p>
+</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 (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by 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 manner consistent with other successful ASF projects. 
+While incubation status is not necessarily a reflection of the completeness or stability of the code, 
+it does indicate that the project has yet to be fully endorsed by the ASF.</p></div><div class="col col-6"><dl><dt>文档</dt><dd><a href="/zh-cn/docs/1.2.0/user_doc/architecture-design.html" target="_self">概览</a></dd><dd><a href="/zh-cn/docs/1.2.0/user_doc/quick-start.html" target="_self">快速开始</a></dd><dd><a href="/zh-cn/docs/1.2.0/user_doc/backend-development.html" target="_self">开发者指南</a></dd></dl></div><div class="col col-6"><dl><dt>ASF</dt><dd><a href="http://www.apache.org" target="_se [...]
+	<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.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-cn/docs/1.3.0/user_doc/standalone-deployment.json b/zh-cn/docs/1.3.0/user_doc/standalone-deployment.json
new file mode 100644
index 0000000..bf7d735
--- /dev/null
+++ b/zh-cn/docs/1.3.0/user_doc/standalone-deployment.json
@@ -0,0 +1,6 @@
+{
+  "filename": "standalone-deployment.md",
+  "__html": "<h1>单机部署(Standalone)</h1>\n<p>DolphinScheduler单机部署分为后端部署和前端部署两部分:</p>\n<h1>1、基础软件安装(必装项请自行安装)</h1>\n<ul>\n<li>PostgreSQL (8.2.15+) or MySQL (5.7系列)  :  两者任选其一即可</li>\n<li><a href=\"https://www.oracle.com/technetwork/java/javase/downloads/index.html\">JDK</a> (1.8+) :  必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量</li>\n<li>ZooKeeper (3.4.6+) :必装</li>\n<li>Hadoop (2.6+) or MinIO :选装, 如果需要用到资源上传功能,针对单机可以选择本地文件目录作为上传文件夹(此操作不需要部署Hadoop);当然也可以选择上传到Hadoop or MinIO集群上</li>\n</ul>\n< [...]
+  "link": "/zh-cn/docs/1.3.0/user_doc/standalone-deployment.html",
+  "meta": {}
+}
\ No newline at end of file