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 08d6133  Automated deployment: Sat Oct 31 02:33:10 UTC 2020 
5322cb96b3a291908ae7f12c05a978a40bcac240
08d6133 is described below

commit 08d6133e1d5ffd8a39aedb6354537c84a7c05a7e
Author: lgcareer <[email protected]>
AuthorDate: Sat Oct 31 02:33:11 2020 +0000

    Automated deployment: Sat Oct 31 02:33:10 UTC 2020 
5322cb96b3a291908ae7f12c05a978a40bcac240
---
 build/blog.css                         |  2 +-
 build/blog.js                          | 14 +++----
 build/blogDetail.css                   |  2 +-
 build/blogDetail.js                    | 14 +++----
 build/community.css                    |  2 +-
 build/community.js                     | 14 +++----
 build/documentation.css                |  2 +-
 build/documentation.js                 | 14 +++----
 build/home.css                         |  2 +-
 build/home.js                          | 14 +++----
 en-us/docs/development/contribute.html | 34 +++++++++++++++-
 en-us/docs/development/contribute.json |  2 +-
 en-us/docs/development/document.html   | 73 +++++++++++++++++++++++++++++++++-
 en-us/docs/development/document.json   |  2 +-
 14 files changed, 147 insertions(+), 44 deletions(-)

diff --git a/build/blog.css b/build/blog.css
index 3d60c23..55c32fd 100644
--- a/build/blog.css
+++ b/build/blog.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.19
+ * antd v3.26.20
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
diff --git a/build/blog.js b/build/blog.js
index a487651..ef009b4 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 [...]
+!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
@@ -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.
@@ -158,7 +158,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.22
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -174,4 +174,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
i="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <[email protected]>
  * 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.css b/build/blogDetail.css
index c7aedcc..9895113 100644
--- a/build/blogDetail.css
+++ b/build/blogDetail.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.19
+ * antd v3.26.20
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
diff --git a/build/blogDetail.js b/build/blogDetail.js
index 11463c5..6d7c3ea 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 [...]
+!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
@@ -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.
@@ -158,7 +158,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.22
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -174,4 +174,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
i="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <[email protected]>
  * 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.css b/build/community.css
index 847cd6c..42ba95d 100644
--- a/build/community.css
+++ b/build/community.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.19
+ * antd v3.26.20
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
diff --git a/build/community.js b/build/community.js
index c18b9ba..24c01a3 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=123 [...]
+!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=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
@@ -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.
@@ -158,7 +158,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.22
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -174,4 +174,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
i="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <[email protected]>
  * 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.css b/build/documentation.css
index 064fd7a..8db80a4 100644
--- a/build/documentation.css
+++ b/build/documentation.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.19
+ * antd v3.26.20
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
diff --git a/build/documentation.js b/build/documentation.js
index 6694922..755dc4f 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=123 [...]
+!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=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Qi,sa.seconds=Zi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Zr,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=Qi,sa.seconds=Zi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Zr,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
@@ -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.
@@ -158,7 +158,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.22
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -174,4 +174,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
i="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <[email protected]>
  * 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.css b/build/home.css
index df33245..b8c4b42 100644
--- a/build/home.css
+++ b/build/home.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.19
+ * antd v3.26.20
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
diff --git a/build/home.js b/build/home.js
index 43c7d35..9607d37 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=123 [...]
+!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=123 [...]
   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=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
@@ -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.
@@ -158,7 +158,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.22
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -174,4 +174,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
i="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <[email protected]>
  * 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/en-us/docs/development/contribute.html 
b/en-us/docs/development/contribute.html
index af6a1d9..c742351 100644
--- a/en-us/docs/development/contribute.html
+++ b/en-us/docs/development/contribute.html
@@ -12,7 +12,39 @@
        <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="/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="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 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>
+<li>Problems will be encountered via github on the <a 
href="https://github.com/apache/incubator-dolphinscheduler/issues";>issue</a> 
form feedback out.</li>
+<li>Answer the issue questions that others are asking.</li>
+<li>Help improve the documentation.</li>
+<li>Help your project add test cases.</li>
+<li>Add comments to the code.</li>
+<li>Submit a PR that fixes the bug or Feature.</li>
+<li>Publish application case practice, scheduling process analysis, or 
technical articles related to scheduling.</li>
+<li>Help promote DolphinScheduler, participate in technical conferences or 
meetup, sharing and more.</li>
+</ul>
+<p>Welcome to the contributing team and join open source starting with 
submitting your first PR.</p>
+<ul>
+<li>For example, add code comments or find &quot;easy to fix&quot; tags or 
some very simple issue (misspellings, etc.) and so on, first familiarize 
yourself with the submission process through the first simple PR.</li>
+</ul>
+<p>Note: Contributions are not limited to PR Only, but contribute to the 
development of the project.</p>
+<p>I'm sure you'll benefit from open source by participating in 
DolphinScheduler!</p>
+<h3>1. Participate in documentation contributions.</h3>
+<p>Refer to the <a href="document.md">Submit Guide-Document Notice</a></p>
+<h3>2. Participate in code contributions.</h3>
+<p>Refer to the <a href="issue.md">Submit Guide-Issue Notice</a>, <a 
href="pull-request.md">Submit Guide-Pull Request Notice</a>, <a 
href="commit_message.md">Submit Guide-Commit Message Notice</a></p>
+<h3>3. How to pick up an Issue and submit a Pull Request.</h3>
+<p>If you want to implement a Feature or fix a Bug. Please refer to the 
following:</p>
+<ul>
+<li>All Bugs and the new Features are recommended and managed using the Issues 
Page.</li>
+<li>If you want to develop a Feature, first reply to the Issue associated with 
that feature, indicating that you are currently working on it. And set yourself 
a &quot;deadline&quot; when to Submit the Feature, and add it in the reply 
comment.</li>
+<li>It's a good idea to find a mentor (or an instructor) in the core 
contributors who gives immediate feedback on design and functional 
implementation.</li>
+<li>You should create a new branch to start your work, to get the name of the 
branch refer to the <a href="pull-request.md">Submit Guide-Pull Request 
Notice</a>. For example, if you want to complete the feature and submit Issue 
111, your branch name should be feature-111. The feature name can be determined 
after discussion with the instructor.</li>
+<li>When you're done, send a Pull Request to incubator-dolphinscheduler, 
please refer to the《<a href="submit-code.md">Submit Guide-Submit Pull Request 
Process</a>》</li>
+</ul>
+<p>If you want to submit a Pull Request to complete a Feature or fix a Bug, it 
is recommended that you start with the <code>good first issue</code>, 
<code>easy-to-fix</code> issues, complete a small function to submit, do not 
change too many files at a time, changing too many files will also put a lot of 
pressure on Reviewers, it is recommended to submit them through multiple Pull 
Requests, not all at once.</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. 
diff --git a/en-us/docs/development/contribute.json 
b/en-us/docs/development/contribute.json
index 8382210..b02ecc9 100644
--- a/en-us/docs/development/contribute.json
+++ b/en-us/docs/development/contribute.json
@@ -1,6 +1,6 @@
 {
   "filename": "contribute.md",
-  "__html": "<h1>todo</h1>\n",
+  "__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",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/document.html 
b/en-us/docs/development/document.html
index 090c868..36225d3 100644
--- a/en-us/docs/development/document.html
+++ b/en-us/docs/development/document.html
@@ -12,7 +12,78 @@
        <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="/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="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 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>
+<p>First you need to fork the document project into your own github 
repository, and then clone the document to your local computer.</p>
+<pre><code>git clone 
https://github.com/&lt;your-github-user-name&gt;/incubator-dolphinscheduler-website
+</code></pre>
+<h3>The document environment.</h3>
+<p>The DolphinScheduler website is supported by <a 
href="https://github.com/txd-team/docsite";>docsite</a></p>
+<p>If your docsite version is below &quot;1.3.3&quot;, upgrade to 
&quot;1.3.3&quot;.</p>
+<p>Make sure that your node version is 8.x, docsite does not yet support 
versions higher than 8.x.</p>
+<h3>Document build guide.</h3>
+<ol>
+<li>
+<p>Run the &quot;npm install docsite-g&quot; installation development tool.</p>
+</li>
+<li>
+<p>Run &quot;npm i&quot; in the root directory to install the dependencies.</p>
+</li>
+<li>
+<p>Running &quot;docsite start&quot; under the root folder starts the local 
server, which will allow you to access <a 
href="http://127.0.0.1:8080";>http://127.0.0.1:8080</a>.</p>
+</li>
+<li>
+<p>Run &quot;docsite build&quot; to generate the source code for the document 
site.</p>
+</li>
+<li>
+<p>Verify your changes locally: <code>python -m SimpleHTTPServer 8000</code>, 
when python is version 3, use: <code>python3 - m http.server 8000</code>.</p>
+</li>
+</ol>
+<p>If the latest version of node is installed locally, consider using 
&quot;nvm&quot; to allow different versions of node to run on your computer.</p>
+<ol>
+<li>
+<p>Refer to the <a href="http://nvm.sh";>Instructions</a> to install nvm.</p>
+</li>
+<li>
+<p>Run “nvm install v8.16.0” to install node v8.</p>
+</li>
+<li>
+<p>Run “nvm use v8.16.0” to switch the current working environment to node 
v8.</p>
+</li>
+<li>
+<p>Run <code>npm install docsite-g</code></p>
+</li>
+</ol>
+<p>Now you can run and build the website in your local environment.</p>
+<h3>The document specification.</h3>
+<ol>
+<li>
+<p>** Spaces are Required ** between Chinese characters and English or numbers 
and ** Spaces are not required ** between Chinese punctuation marks and English 
or numbers, to enhance the aesthetics and readability of the Chinese-English 
mix.</p>
+</li>
+<li>
+<p>It is recommended that you use &quot;you&quot; in general. Of course, you 
can use the term when necessary, such as when there is a warning prompt.</p>
+</li>
+</ol>
+<h3>How to submit a document Pull Request.</h3>
+<ol>
+<li>
+<p>Do not use &quot;git add.&quot; to commit all changes.</p>
+</li>
+<li>
+<p>Simply push the changed files, for example:</p>
+</li>
+</ol>
+<ul>
+<li><code>*.md</code></li>
+<li><code>blog.js or docs.js or site.js</code></li>
+</ul>
+<ol start="3">
+<li>Submit the Pull Request to the <strong>master</strong> branch.</li>
+</ol>
+<h3>Reference to the documentation.</h3>
+<p><a 
href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications";>Apache
 Flink Translation Specifications</a></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. 
diff --git a/en-us/docs/development/document.json 
b/en-us/docs/development/document.json
index 5c9874a..b9d4c15 100644
--- a/en-us/docs/development/document.json
+++ b/en-us/docs/development/document.json
@@ -1,6 +1,6 @@
 {
   "filename": "document.md",
-  "__html": "<h2>TODO</h2>\n",
+  "__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",
   "meta": {}
 }
\ No newline at end of file

Reply via email to