first commit
This commit is contained in:
0
Template/docs/.nojekyll
Executable file
0
Template/docs/.nojekyll
Executable file
1
Template/docs/.pydio
Normal file
1
Template/docs/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
6a94895c-3a6d-4067-b249-c52d03b04bce
|
||||
49
Template/docs/README.md
Executable file
49
Template/docs/README.md
Executable file
@@ -0,0 +1,49 @@
|
||||
# WHtml
|
||||
|
||||
> 一款让你用更加丝滑的方式来编写传统前端HTML页面
|
||||
|
||||
- 1: 文档地址:[Whtml](https://helpcode.github.io/Whtml/#/)
|
||||
- 2: 创想工作室QQ群:[399041912](http://shang.qq.com/wpa/qunwpa?idkey=6311ead3dd326b975b76cb90590535973515776cf83d0854c0dc7b4a5c9cebfb)
|
||||
|
||||
# 介绍
|
||||
|
||||
---
|
||||
|
||||
当你在编写传统HTML页面的时候是否曾经遇到过静态页面众多导致html,css,ja代码过度冗余,将大部分时间花在不断的ctrl+c,ctrl+v上,是否想过能将传统静态页面的公共部分例如头部和底部分离出来,不需要每次的复制粘贴,是否想过css代码频繁重复为何不能像写JavaScript那样封装成函数直接调用。
|
||||
|
||||
是否想过省去每次写css3时需要手动去加浏览器前缀的烦恼等,是否不想让自己辛勤编码的成果被别人轻而易举的获取到。是否抱怨过美工给的素材太大等。。。?
|
||||
|
||||
|
||||
为何我们不能换种方式来进行更加优雅自动化的编码,我们只关心核心页面的编写,其他一切交给程序帮助我们自动化实现?
|
||||
|
||||
|
||||
## 特性
|
||||
|
||||
`WHtml`能够让你获得以下更加爽快的体验:
|
||||
|
||||
---
|
||||
|
||||
- 1: 将静态页面组件化模块化,降低重复代码的重复编写。
|
||||
|
||||
- 2: 基于Node.js + Gulp 自动化构建项目,让前端的你无缝对接
|
||||
|
||||
- 3: 采用jade + stylus,用更加简洁高效的方式去书写html和css
|
||||
|
||||
- 4: 自动压缩合并编译html,css,JavaScript使的项目具备更加优秀的响应速度
|
||||
|
||||
- 5: 更加自由的框架配置和详细的中文代码注释,一键轻松配置源码实现定制化
|
||||
|
||||
- 6: 简洁明了的ES6+语法,代码赏心悦目,提升编码乐趣。
|
||||
|
||||
- 7: 程序实时编译同步你的每一行修改,删除,重命名,新建为你自动构建输出到 dist/,代码写完程序自动zip压缩打包,你需要做的是将zip发给你的后端即可。
|
||||
|
||||
- 9: ....等
|
||||
|
||||
更多的功能期待你的切身尝试!
|
||||
|
||||
|
||||
## 捐赠
|
||||
|
||||
---
|
||||
|
||||
如果你觉得 `WHtml` 对你有帮助,或者想对我微小的工作一点资瓷,欢迎给我提建议。
|
||||
12
Template/docs/_coverpage.md
Executable file
12
Template/docs/_coverpage.md
Executable file
@@ -0,0 +1,12 @@
|
||||

|
||||
|
||||
# WHtml <small>v1.1.0</small>
|
||||
|
||||
> 一款自动化模块化的HTML页面编写框架
|
||||
|
||||
* 轻量小巧,编译丝滑
|
||||
* 免费开源
|
||||
* 适用强,高度订制
|
||||
|
||||
[GitHub](https://github.com/QingWei-Li/docsify/)
|
||||
[开始](#WHtml)
|
||||
1
Template/docs/_media/.pydio
Normal file
1
Template/docs/_media/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
e1a88b3c-ca75-40a9-aebd-d20d2e27f4ee
|
||||
1
Template/docs/_media/img/.pydio
Normal file
1
Template/docs/_media/img/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
61a5299c-304d-450b-88b2-bfc0b2d2b584
|
||||
BIN
Template/docs/_media/img/favicon.ico
Executable file
BIN
Template/docs/_media/img/favicon.ico
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 9.4 KiB |
343
Template/docs/_media/img/gen.svg
Executable file
343
Template/docs/_media/img/gen.svg
Executable file
@@ -0,0 +1,343 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="259px" height="211px" viewBox="0 0 259 211" enable-background="new 0 0 259 211" xml:space="preserve"> <image id="image0" width="259" height="211" x="0" y="0"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQMAAADTCAYAAACFmHZQAAAABGdBTUEAALGPC/xhBQAAACBjSFJN
|
||||
AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAABK
|
||||
aElEQVR42u2dd3gVRRfG39ndW9JD7zV0pFfpfICIFOlgBxGxgCBiwYaoIAgIKKKCiCIiSpUuCAEE
|
||||
QanSQwsQIBDS6y27c74/bhJvT0Jusgns73nuQ9jZnZ2d3X13yplzAA0NDQ0NDQ0NDQ0NDY38MusQ
|
||||
TXx5Bynv/Ek/ql0WDQ1fwdQuQHFj5BYaEJ1OP/vrmN4kQ+lcmUw1KrKyQ6uwDLXLpqGRHyS1C1Dc
|
||||
8JfwplFkBqMIGAVIe6NY4I6r0APQxECjWCOoXYDixvUUBQbhvyYVJyBB7UJpaPgArWWQC17YSZUi
|
||||
4lEZAAwSD2SZEsoYYBCBCgwtu66i1OrBwNKe7G+1y6tR/KANLUorZbr8SaB6Qrn274g1B00v7DJo
|
||||
YwY50OIb8q9QGgdEgRqLDCQKDDoGxjJrTuGAQgSZAzoRuJbCPjj4BJuqdrk1iheW1fWegRT8PQQR
|
||||
KNEM+o4LC/3d1LoJOdCjHtL0IhoH6hiMEoNOsLUIshAFQC8y+OsYdAJDlUB88PYeGqp2uTWKGYYS
|
||||
QZCMYJIfmOm2KkXQugk5EJeRN8UkAuK1oUSNXEAbWvhbzKlvgctgwfXfQ+oVAAJgTYN5Vf0PwdMB
|
||||
fVkYBhx6vzDKo4lBDsSYUDXNjGulBUDwogpEgEkBbqbiYMMQrFW73BpFH2vZ7tHsdngwpEAg7SqQ
|
||||
NRgFGSyg4nsgDpjvwHJoSgl9q6njCro8mhjkwG/9WdSQ9fTopUQM0Imgsv68j58klBEyuwomGUgy
|
||||
YUWSBZbyAcDBJ9nIg2oXWqN4oAsMBilgpAAQbf1PBoDIto04iMuAFORXGMXRBhDzyKD18kFJENtI
|
||||
mSKeYAJuc4QeGcqS1C6bRvGCond3lW8d2IXECMCaBMhJAASAOBBUG1DMYJV6QAyoWo1V6nitoMuj
|
||||
tQzyiF4QYeG2gUOQrXugoXE3sApdwpH5QbasrvcMjOW+ZwIAQxnoOn2T+aH+vtDKo80m5JGwUng7
|
||||
ycKRYQXSrECD0sCbLdQulUaxRzEBpNi+LiSrUgRNDPLIx+3Zrm6VheaVAim6QSk6PacrY0PDtC6C
|
||||
Rv4gfaUMyGYrWZPByrVXxahVGzPQ0CgiyMc+HUGKpbxU4X/rWaV259Quj4aGhoaGhoaGhoaGhoaG
|
||||
hoaGhoaGhoaGhiNFcmqR0p7+BNbNAoRSs1jw+Vi1y6PhG3bu3Dn2yJEjVa5cuYK4uDhUr14drVu3
|
||||
xqBBg95Uu2waRRBK7T2Lxwucx4N4Esxql0fj7lm7dm2padOmmXQ6nQlAhiRJsiiKJAhC9k8URQJg
|
||||
KlGihOn999/frnaZNYoQlIC5PAHEE0E8FprlfzHi1KlTtZ588snn69Sp88kDDzxAAAgAt/tRTj+9
|
||||
Xk/PPvts/MiRI5//9ddfRbWvKbdQzFfN5GOBz8tn6pNyMoSs55pHylefeV7tchVrHMQgThOD4sKm
|
||||
TZv+DA0NjQoJCbF/ufMkBPa/0NBQqlu37mm1ryu3KCcrvKOcKk/K2RqknA0j5Uw1Uk6V157fnFBS
|
||||
35nFEwTiSfWIUp8aYZ+WkxhQyvBulNyS8wSQkvbuRrWv5X7mypUr9WvUqNGvW7duWS9+vkXA+dep
|
||||
UydasWLFs2pfqzfoXPsg+Wx9mwicq/3f70xFks91iFe7fEUWSp5dmic2v8DjQTwBxBPKEqUN/SA7
|
||||
3YsYUOpjz1FiRW47DqQkVI2m1BlN1L6m+5FevXqFPfTQQ1cFQbAXAGcxyJcQZP0aNmxI3333XZF1
|
||||
MkvnEKScLEnK2VqOYnC2Oin/SpoYeEOJD5jF4zNf+EQQTyhNlNbvWcDzmAGlDOjME6vbHQNS4gK0
|
||||
lkEh06dPH//ly5cfhutL67PWgLtf48aNaf369f3Uvn530KkugfK5xvHKmZp2QlCLlNPlyHrx0eNq
|
||||
ly+3qDK1SBnPdYR8fCfJhyWbmycArBKYvvs7kA+XIfn0hKySCSUgUOqo50jetQgUiez9xUZgYssB
|
||||
LGDpb/ktz6lTpP8jmU+f8SdHsAGY1VPAo/XFSWrUTVGndu3aG69du9bbbM77RE9QUBDq1q2HilXC
|
||||
YAgsg5u3b+Ly2f2IjrqV2yx+AzBA7Tpwh3J5wDtI2/MRRH+A6QCeDuhqQKxzUHMTkBNEEHhKG84T
|
||||
wHli5i8WF4nAKP0pmZJKc0puVA8AKBabs/dJAOfJDTiZnqzlq7JM38ut1WdbecuFVt7sSyuvONPK
|
||||
Z+1TNFeGTvzyyy834NgCyPGn1+v5tGnTOAARgDhkyBBRUY79ohwM4MqXjMsLwW99Ct63Qe7yGzt2
|
||||
7EW168EdRGBEEJWIVlw5IXD50qP/EA0pNrMhqkPWpzpQcsM4Hg/i8SBKCE0g+rOLwz7mvQ14Yq3I
|
||||
7H2S6yhkfmaQr8rw1d/KkqqfWqjNV1Zq943t1/orK7X6ykJfHZKfUruOihKDBw++Dc9dg+zuQalS
|
||||
pXitWrV+/+ijj2ZkHUsLUCdjHF40zdeRaRLI9A7I9BHIPA1knQGyzgcdnwRqU917d0EQhNiGDRtq
|
||||
40QFgOoWiESPV0OaEAllHcDTarISuOKyTywqQVciCkIbQFeyLjOuuOCr81f51LKkXCB7Vu+k4WkW
|
||||
QqyZnr4xyaCFXc+kWbNmt48dO1Y287/2g7tZnTd89NFH+Omnn+rNnDkz+tFHH00BADmq0SEknqwE
|
||||
hgoQAIoD+EWALgOQACbZcmACkCQCQxYCuyM9l8NgMLxmNps/U7s+7jUKzSEqJaIEFLRySYhfAYj1
|
||||
WrHQtCOejmWlcQNIECj5cj2kbatBcajhspMfzjB/XM9ruQw6gHMCCSw7UpLNySkjP0GbJrYnMDAw
|
||||
q0Ky/mUAYDQayWw271q+fPnvTzzxxCwA6PdwaCO6EFKXo/QqpJwE9Mj+9LDygFAV4C0AvgugRGQ/
|
||||
iaEErB4HdJwBnI1xX44yZcrMuX79+nwAitp1ci9RaIMbBGwhht9JcPox/M5h2UqW11p5PT5tbEXO
|
||||
/bZ6zMOMLXdTro+76+h2KqBwsvmiJEDmIL1E+KiH1uWzp3Hjxk+ULFkyWwgkSULp0qVp8uTJK5o3
|
||||
b94rSwhMl2vUVW5M2MrlpFVQLtlGC+zboATADAh+gNQHYNUBZPoA5QSEWIEPegGih3br9evXsXDh
|
||||
wg1q18e9RqF1EygenADmckYGAunAhJB+LCR2k8fjTWVqwZR6nijDtcwEMIBYybsTt+l7lYsr/+U1
|
||||
BUYgAAoxPNNCWP96O3FgYdVPcWHIkCG9k5KS5oWFhaFdu3Z46qmnamelUUx4IBKeL6soFy4xBpsI
|
||||
5AIyAfImgHFkf550gUDFd4BbKe6PKVWqFMXFxWkj9T6k8MQgCfNJxjiXLwQApqtxDrphjzC/GVc8
|
||||
Hk9vhiBly29kPdnJpeQEMAG/shIYfjdlO3yYdLtNygsz98gINgCze0kY0FD6orDqpiixd+/eD/v3
|
||||
7x8SHx+PDh064NNPP/2pXbt2/+TmWDlq4OMsNfwnCAl5e7IkwLoPwGXbrBwYIEjAsWig9VyXvbP7
|
||||
bgcPHhzatm3b1WrXmYbGPcf48ePfDAgIcBi9f+ihh3huj5fPgJQIkHI+j78LtuNMk22zC+bpth9f
|
||||
DCoT6NG4iUaNGvWl2nV2L6F6M4tShz3Bk7sSTwwgisXTbveJR1+eGEQ8qQVRypCxapf5XmTKlCnG
|
||||
kydPzkhLS7PfTNu3b8c777yT7O1YSwRaW88ihQm4u7YmAQgEEAKHOQpKAZ5q5rAXZZ6BAcCSJUvU
|
||||
rrZ7ClWnFinlscfIuut7sNt624ZyVha8bTQ3zX2bWbcIDJV7IPDLqjxt3BZGRwNs+wQSSX3fE4N/
|
||||
nqZ25d1jGAVByOA8uyGQPVAoimKKoijB7g6iCwhWOC4zQkkI+XieDIAcDuAasmcWGIDvzgIv/Ogy
|
||||
jZnFQgAvq11xhYnpwrUFyV9935POXwBrUB8hzz/5s6FWVZ+EbFetZUCpj/ck5fCK/4QAAHTXkD62
|
||||
KTMvqwOKrUV0PJLp2u8VKGbPf49mKmPKnx9T0qMj1Sr7vYpgizmf9QUGMl88SXI/A01RDzTm8E9i
|
||||
HKXy/SQpAAtwjF1JAMr4g4xSdlkcxKZr164vLVmypK7a9VZYpP72xxvJn85/mSXE1RIrlgsTYm6H
|
||||
pcz58t20P/4c44v8VREDSh38HFl3bQFdyDZXYVITYsaHRkDZbyuVAFvPEABYj/eYrj1lNxJxHcT3
|
||||
f6ekDCqyK9mKG0uXLkXv3r3dfoE/++wzF4MLU1Sn2oo5cQvkdJ89RczosonCgoEQo/sWR1RUFLZt
|
||||
26Z21RUa5lOnZzJFATMYCIIAGA2gDBMzHznxtS/yL3QxIJoiwbKjLeiW7dwcgFg9Fbpm/2P+3+1z
|
||||
2DnLSCV06VFI1WowqVF8tkAgFrBs6kg3pvgX9jXci4wcOdJUo0aN52vVqiVntRCMRiP17dv35ssv
|
||||
vxxivy/FvVRFp1jPM+v1Si42BPnAqVFAAFAhACxA737/mJgYHD58WO2qKzTkoyfBdDpbNTHGwBiD
|
||||
QQ/rAd/UQeG3DO7ASKxUNQCZLYLGxKSOjzO/73d7O4z5rbgKqemjTGpFWYLAEFgaJVCy0K/hHmXe
|
||||
vHnfLlmyZHSJEiXGAhjbsmXLsRMnTuxmvw8lTmmuJB39G+kHfPv0MAAWgDHH8YESBsDowU42OTkZ
|
||||
kZGRucn9nkAoEUrEuU0IslAUsNKlfJN/YV8QKzs1lQV+cpQxUWZSOxmGpxuwgB/d+yVwapwy/x/3
|
||||
IegfkRkelRkgI+jry8x/ap5NkO9npkyZIsyfP/9q8+bNuSAIvHv37v/ap3fu3PmHuLi4hQAW7tu3
|
||||
b2HXrl2zA4ASgfG0y0eY+WAFZK4n8BVMBMEKyswze3xA1AFMMwQFAAQM7qNQegaI8/9+aekU+Mww
|
||||
n8RwV2XMgOmGvclKKDoW/JeOGSa5Rpu1H8JyPpYxYoG/6VgJ6AT9kP5qlL+4Mnv27EmbNm1Sxo8f
|
||||
X/Xo0aPgnGPPnj2N69Sp80tOx1rSNrZWboxIQtKPBfHU2MYNbROYjhJzt9OV9yCWxIR6+tbNLwCM
|
||||
KDmVwATSt2tzgkfdrOyL/AttoVKu0f2PmGUXEYExSXOI6ivmzp378YcffvhOQkICYCe1VqsVly5d
|
||||
GnrlypVG1atXb+DuWLr1ewBP/m0bUn4I8uUYgQN6gGJdzdWvxAHJaXeX5b1G6PABl+jChQ4J1yL9
|
||||
EZUEVCyJkP7dU1iVKj5xrVYkNZfSn15Lli0Cs1Z5iZU5dlPt8hR3Jk+e/OLatWsXRkREuJ0tkCQJ
|
||||
siy7fRbIfLIJT950HHcmIwchIOTtefqvLAKYEgPwzQDzd8zlt6vAU0sAs5uGcK1atahZs2b1V61a
|
||||
FaFyFd8T5Lll8N1RanAyHvMP3AZKGoBhdYmeaSQ85MtCMf9lmQuEtGBK+WXmzJkzFi5c+ObVq1c9
|
||||
Ge6gVq1aOHfunNvj+fXnxsP8d05CkD8EgB8CmMHxHJII3IxxLwQAkJKSsrF79+5Rq1atKrT6vJfJ
|
||||
de/vcDyF/H6ZTv50gZ++kIRuFQPQTS+g24oI1v2VPxT68yYVSd909zNvvPHGS19++aW9ELgY7giC
|
||||
QL169XI7CEsnMZDMf4/08WChs1kx4wkAS4XLp4kFAL+f8ZxRWlra9TFjxqQXcrXes+RaDFafUPp9
|
||||
8y89EKgXCETfRifjhfgMvBCsg+lSgoA1Z/latS9G4z+mTZv28bp16xZcu3bNwZrQmdq1a9+4du1a
|
||||
D+ftltN4TRGxxscj+a5jQCJA1wFy+vozAGQE9lz2nNm7776rjSn5kFzr/dR9RIdvA4ES7f75UaGr
|
||||
fdrQ38iSbIFuSF3sHdWYdVb7ou53pkyZMnH+/PmzExMTsza5u8/UuHFjy4kTJ1zs/uQzGAaGlXkU
|
||||
gpzGDNyKEgUA8gqAmeHwaRIl4Fw08MBceKNIjnkVV3LdMjgaA6TLIGchAIDodDxvlIA153O92lWj
|
||||
gHj//fdfX7lyZU5CgLCwsPPBwcEuswfyabwAYCXz3fShy1qHbESAX4FtStG5lAbg5fWeM23UqFGB
|
||||
1eH9Sq5veaoMUjy861Zuu5cpFq3VpiZTpkz5cO7cuTMjIrIH190KQYsWLahUqVLt9+3b59AIl0/j
|
||||
RQALmDs3ZZ5+3vE4aAkAkGw+EJneNVWwAAejPGe8cOFC7WHzMbkWg5rBgJ9E7PHN1Mk5rZw/mlsV
|
||||
QqvyonaDVGLs2LEvLV++/N2UlBTAzUBhJlSnTp2IoKCgsv/880+cfYJ8BsMgYCGTILoIAQdAApGM
|
||||
TTBjDaxYA4iU7RzdPd6FAIByA4AVru7RGLDyFGD14O7UaDSiY8eOOrXr/F4j12Jg5vwTSQAyzNgw
|
||||
dD1ldxWG/UabGWGcSSE0K4Pxal/Q/cg777wzc+3atQsuXboEeOlHt2rVylqlSpVHdu/e7TBnK5/F
|
||||
a2CZXQPnowkASYTAfsvFDAwUG2Ow+AAGC0HNx0AKIw9i4HH2InsHEaCrANy80oIE7L9kc47qjq5d
|
||||
u9Kvv/6qdrXfc+R6AObkHerz1XFaGZUCf5kzlmEFRAHwlwBRIBrThJ3vVZPVU/uC7jdefPHFFzZs
|
||||
2LDwxo0bHu+lIAjUsGHD6ydPnqzqnEYRGKBwrPU4WCgD5B/0l1Q9pb1zknIl9COkJb6b+UI7v7pe
|
||||
ny0SAHktwKyueyZKQIuPgese/CtJkvSaLMta3AQfk+uWQaMybNOYpuzxAB3NqBgIEgRQkB7UtByo
|
||||
VggfXaUU2ql9Mfcbr7/++kdbt25deOPGDa/7NW7cOLpChQouhmFyBF5TONZ6HSwkwJ0QAIBYPfE9
|
||||
uB9H8v6REQF+DYAbM2PJAGw64lkIgoOD6fXXXy/AWr1/0aZmiimvvPLKq8uWLZuTmJjodTqvbdu2
|
||||
GQcPHgxwTpAjMAw8F9OHVkBs6Pk5UU6B4z9/A7l6nsgPkJfaIijZf44YABYC6Lw4MhNF8YqiKDVy
|
||||
OodG3lHdIapG3hk/fvybmzZtykkI0KhRowvly5dv7LydzuNFUC6nDxkgR4a+6i6JrpTonecnSMgM
|
||||
q2aGq3RIwLe7c7z2YuMROem7lX0Sl6x4K/3wqQ5qlyU3aC2DYsaECRM+WLx48XtpaWleX8POnTsT
|
||||
Y6zk7t27E+23W87hBUHBApdZA09wAKTnKP3W22KZD2dmbab4KY2VhDUHmHzKzy6fHHMkEVB2ArgN
|
||||
l1kEEoFBS4HN7pdJICwsDJcuXSoWz2zsh5/d4GciQqDXBZAopqQTq1rj+3mJapfLG1rLoBjxzDPP
|
||||
vLxu3bopOQgBNWrUKMLf37+csxDIkRguAF+5FQJPNgQCAGYRED9jhnxGHCWfwBD5BIbw+JnHmfWU
|
||||
X+ai49y/oBkA4uEiBIwBJ+OB/Vc8HzpixIg/1ar7vJCyatN+fupcBSEkOEDw94cIBAaVKeOTZcYF
|
||||
SdHzZ6DhlhdeeGHmmjVr3rhz547X/bp27aoEBgb22rhxo8OO8iW8xkyY7fbVtX/5nY2Ks/e3gAn4
|
||||
FvrMPbnJXbA870iAchEgc2bkJDtEI/Dr30Ciyf2h1atXJ7PZPLtwa/3uSN+6iwlBAQxCpmYbDJDP
|
||||
nMlfpoWAJgbFgMcee+yl3377zasQCIJAzZo1uxYeHl7dOY2uYCA3YbZbr0GZhkMkBioE6Zgc9DDE
|
||||
jH0QLCl1GE8KtjuGXLoDeWywkw6g465uzAQGpACYtdvzsampqTs//vjjYhFslXEOpnO8SCYUfd9t
|
||||
bsWAknY9Lies7IHEJUCZtyFV7PUSY+0y1C7s/cjo0aOnbd269e3o6Giv+7Vu3Tq6SpUqPY8ccYxs
|
||||
L1+WJnGTPAuAxxYBNzTg3FDlaUOl31cAKwEAqbdH9tRnnNoiZhwSIOZsTZgjAqBcgK2b4LQ0iumB
|
||||
iSu9Hz5s2LBPv/yyaI4dUni4Mf74xa+UfQcBUQRjCMtuFWRdfnAgYh5/aSlMJrB6taFv3fzrkP49
|
||||
/1a77Pa4NxONHMqRuo1BDAHkeFDlXyCV7FMsBm7uJZ555pkJ69evn5uUlORxH8YYdenSJS08PDzI
|
||||
OU2+6jeUZZh/AeOeWwSsnGwKHj4qsOL8Zc7H03k05ZwdhZCtBTmtSvSYTlKmkZEJLiNV8RagwxfA
|
||||
pTj3x7Zq1Sr50KFDISiCUHi4MXbHgQweeQ1CYABYlgjYiwFlhoYhYiACzzABJUJQ5t3xQaxs2VS1
|
||||
ryEL9wNRaeGAVBIQjIBUCrj+nNrlvO8YNWrU5PDwcK9CAADNmze/WLp06WbO2+XLZcayDPkXgHtu
|
||||
Eejqkjlk2AR3QgAA1tDR4Lo6API4SOgGugNbq8DpiRNFYPN54IqH4TVRFPHvv/8WWYO2tFR5IT9/
|
||||
CWJwEJgk2URA8DC+KwiAKEII8AfuxCPl4PHLeTtbweK+1LrqAHGbz1rigOgbv+wauePZZ5/9YMWK
|
||||
FdOuXbvmdb9HHnmE16tXr+WqVasu2m+Xr1Z4npni5wFWz0IgViOLX5cBARU+99z2tqTBtpIon+gA
|
||||
fhVwZ60oBANf7wEUL+sQVqxY4fM69hXypSuATm+bDslTnUhQLl1Vu/gOuBeD0Mc2khBMpCQQSWWJ
|
||||
VfpcczJXSAwcOHDc9u3bp2RkZHh9ulq2bBkREhJS8aeffnIw3JWjqj3OTEnfQFBElwHDzGDmXKhB
|
||||
1uD+EwMqffObt3OQkvywYL2cv+4hs61DoAsAcxqhEiXgaARw2Is1dXx8/KLBgwefLrgazx+6tk0O
|
||||
MiLiFqstjgGRrVdAruqWlcZlGZAV0rdtskbt8tvjVgwEQ6sR3NC2HTfHteMBvdoJIXGPqV3Q+4HH
|
||||
H398Rnh4+OfXr3uPC9OnTx/+wAMPPPzzzz/ftt8uX6szkaVG/wRK99giUKQ6ZAnoNsC//Px53s6R
|
||||
kvjrQiHjn0/ybZYmAvIJ2CwOnWB6YMgyr0fTyJEjZ6IIE9C29SKhfOnugr8/57diOI+5w5GeTs5i
|
||||
QGYLeFwC59G3OUwWLoTVfD/gwdYvql1+e7RBwSJC7969Xzx06NDCmJgYj/sIgkDt2rW7um/fPhfb
|
||||
fIqqPZCn31oDpHiZPiynmIMeezWgwrwvvJUl9c7cNw0J82cIdCUvT4jbAUQSAHlZpgMTu0+PwIBN
|
||||
l4Ah3wEyd5sXJk2adGj27NltCqP+fcnt51//SyD+IMuKXk1ESkwsyq39rkgb+RXpwt0vDB8+fPrh
|
||||
w4e9CgEAdO3a9XadOnUedt4uX2/5Ok+/vQaU4nmMQN+AW0KHP5GjECSt/Fyf+M0MgV/J/6eCZa5O
|
||||
dFqQBACKDvjlqFshAGAzMlq/fn2nnE5RJDGZ4NoyMN9lZoWHZnSkMn379p2wefPmyZkeitzCGKOe
|
||||
PXsmb9u2rYJzGl1vMYSnnv8ULNlV2rM8EQllrWb/7qMDy873GkYtJe7bqcYbY8YxMcknnwkSMn0c
|
||||
Oo8VCEAUB1YedT0k649r1669xTkv+m+QG3RVKpM16joEMdPQiHNb0MgijtYyUJEBAwa8c/jw4bne
|
||||
hAAAOnTocKlatWqtnLfLNzqP4xlXfwWSvUwf1iNL6OPjAyt8/oO3c6QkLPvYkDDvfSYk+abzyDLd
|
||||
n99wHWhn/sCL37ockS0EoiimdOnSZb9va7vw8OvT/Vsh0J8oLZ3IZAYyzPDv2HaG2uXKCW3MQCUG
|
||||
DBjw/pYtWz4wm81e78HgwYN52bJlQxYuXOhgnEI3/vccT/7na7BU0cUKIEsIhKrEQx4eaCi3aL23
|
||||
cyQn/jw34OaoCRDS82NR4DhmoAfkfwA6k7kOITOFCcDJ20CLuS7HImuv2rVrR124cKFqLs5ZZEl8
|
||||
65MSrFqFhRwYqq9f51P/Lu3eZrlxIasimhiowMMPP/zK8ePH59+6dcvrfh06dDjXsmXL/82bN8/B
|
||||
Flm+2e9JlnboRyjRHrsGXKpJ1qDeE/3LfzHP2zlSY+dO1icsmi7ys/l9GhzEgHNAWWaLimSfL+mA
|
||||
QcuAzSezj8kie6/Lly8/nZycjCZNmvzEGNP87xcSmhgUMo8++uiM8PDwN5OTk73uN2zYMB4SElJj
|
||||
0aJFDpZH8q0Br7LE8DlAInPbIuC26UMe1PFRY/klG72dIyVp5ULjrUkvCnTdFx3G/8RABJQTAD+e
|
||||
GT8xE5EBx1KBrrOAVIvn9Q6NGjUC5xxnzpw5TJmmvMOHD0fbtm0nTZgwYW8B3Zr7nmIjBpaj0x9E
|
||||
zF+vIiVyCAwlQUrqYIS9cNrQeMy5/OdeOPzvf/974d9///0qLi7O4z6iKFLXrl2vlChRovaqVasc
|
||||
nIXTzb6DeNqx1VDcvLyZQkBieW4JHvaqf/n5n3srS/qduW/qEj6fIVCkr56CbDEgAPLWzPiJ9oFU
|
||||
A4Exy0Hf/pO9Kc9n9vPzQ7NmzT4/duzYym3btt3q3LlzpE9Kr1GMxGDLQwQ5FUzyA4iDrCkgQ9lN
|
||||
hl5b+qpdttwwfPjw6Tt27JjsTQgAoG/fvrdr1qzZef78+Q5hxun2k5N44q5ZoJvu+/UcIKkytwQP
|
||||
fMy/7Ode/YinJq38XB8zZZyoRPhyCNkmBgxQEgG+xdFngSACx+8ArWZ7iK6URyRJQuPGjS+cO3eu
|
||||
c3p6enR+8tKwUSzEwLzjiS1CxuVe0AU6bCdFBjNU6KHrseIPtcvojSlTprzy1Vdfzc/JoKh///6J
|
||||
a9euLemcRjFPDOYJ4auAmx7vGMkAgzBWbMC9rvNNiVs8xRjz5geCEO/ru28TAyMg7wBwAw5TioIf
|
||||
qNVnwHFblCSfnnnUqFG7lyxZ0hOAxadXdJ9RPKYWEw8Bgt5lM1PSCfEH1S5djuzYsWN+TgZF3bt3
|
||||
v1S9evW2ztvlmBde4Ul/r8puEXhC8IM10LuNTlrST9MMCfM/EJjPhcAGA3giQJFwcGsmiqBdF4FL
|
||||
MVl7+ZalS5d2EUXxh/zndH9TLIyOWMnWnFIvggk6u0lrIogBhJJhAIrUSlAHjEbjjb/++svrPs88
|
||||
8wwvWbJk488++8zBgQzFjXuWx/78GSg2F68QB5DoMTU5YcVc4/VnJ0A0FVx7UAL4AQB2sRMZAwlB
|
||||
wOztQIq5YM7MOQeA4QDqA2haQFd3z1MsWgb6bsv7MEMJImsaQAqBWwnmBCJ9wOai2kWIjIw0Pvfc
|
||||
cxstFktFb/v16NHjXOXKlavOnTvXQQjk2+Of5gl/LAHFim7dlTnBYIZoSXBrx58a/8VkY+zHEyCZ
|
||||
kJu87goG8GSA4hzcmpGoB34/Auy4kMNZmRFGPUMpP6CcHxB8d17CmpQtW3Z5AVzdfUGxGDMAALrw
|
||||
cz8l8cw6HvkrYCgDrqQ/aqj18hnWeFSRbBaEhYWVTUpKuh0bG+txn+HDh/OwsLDq06ZNc4g3LMeO
|
||||
n8Bif/4MiMmL72EC+cMUPPJIQIUvs60V025/8KUhYfFLDDcKVvolkHwejP4BmPTftGGSDPbATCDG
|
||||
KXpSpSoN0P/Rh9C7/SGUq7wf8JMgijL0AiAQYI0BzAcApAB/nQcW/wOcvJVzMfR6PXbv3n20Xbt2
|
||||
LQrwau9Jio0YFCfCw8PrTZw48eyxY8c87UKVKlW6HBIS0uDMmTMOg14UPWYwTwtfBfl8bl9esvuL
|
||||
QQG4rjysfv+DaDkByXTK1n8v4DvN/EGWVWAsLdNxKgcEEWzcNmDlv0BYdSAsDBjRH+jaHdAH1wZS
|
||||
LwAm2PynONvmiQAMAA5kBl0JAE5HAS+sBk5fB5JzWLXw+uuv15o1a9algr3qewtNDAqATp06rdy7
|
||||
d+8wL7vEAWgPwHH68M6kSTxhzSzwyLyYBTtO1bkzeC3ouywCPBrEf4ctqrIFQGUwpT6w4l+gdj2g
|
||||
SXUgKAC2F9+K/7we5VA2EgB+AuDHAMHfZsG4IwLo963nKM0AUK9evc/PnTunRQXPA8VizKA4MWPG
|
||||
jHaJiYlD4T4sCQmCwBcvXhwJJyGQo18azBPXfApEEgQQmPvj3fyysP2fufnlLp+7/0kgJRwAA1hJ
|
||||
QBoK6PqAjNVAz/YBdagOCgIIaSBYQKDcl41xkNgGJJQFkdV2fK96oJgpID+d5+NKliw57tNPPw1T
|
||||
+3koTmgtAx9TsWLFdgkJCfszMtx7li9VqtTyuLi4p5y3KxfqEZRzee8aqH0PGYjuABQBoD4YKwsw
|
||||
Be5bKPmAxwN8O7LnvyQDMGsv8M4GF/+JBACCIIBzXhuA1lXIJVrLwMfcvHkTnoSgQYMGtHjx4nXO
|
||||
28n89z8wn8trtwBQWwgyS8PKAUInQCgJMBk+FwIAYMEA2cWSls3Ay62B6o4mWtln5pzj888/P6l2
|
||||
9RQnNDHwMR999JHHdfjR0dF/Dhw4cK3zdiXhM79cDPLZdwvy7brcB2SVh0GxDVwWKKKrQ1U/I/BI
|
||||
A891s2LFCj+V66hYoYmBj9m1a5fHtMcec+9XllLXIgeKVmtAjXX5IlyjNsvAWEebTYe6OXz4cKEX
|
||||
szijiYGP+ffffz2mDRo06Ki77SzD6u1OFCUhUK91wm0hPJy2UZ2K2aslXcoiy7JK1VQ8Ufvhuhfx
|
||||
9tV0W9/ySZxkejzgJtUnK/wK4LqYh/QCKyfJmcui/7MvIIEBkh/AJngtT1Gou2KB1jIoApAI52hD
|
||||
zl9gtVG9dUIW2AyU7OuGgd2MLRL1c09QaAuVTKd+qyVaz43hN7ZCSI0kSP7gIQ2ZUGMopFpD3yjq
|
||||
/uEKEhZQE0jPtqpW/cWzo2iURbTFamRWEP5bvMogAtvOez6sYsWKuHnzpmrFLm4U+A0mgMn7Jxyi
|
||||
GxsaQV9Sz3R+lD0sLJsZyWmAIJlZyY6DdJ3mbVa7QnxzyR5xH/U6+dfjiBraBLoi8vK5XktuylJw
|
||||
3QQ/QN4AQjyyBhEZAAh+wP8WAH+6tySgkSNHsqVLlxaFeiwWFGg3Qf794VHW7f05xR1swQKq65kh
|
||||
lCAYACaCIDKS/MGMZcCkIAPF7d5k3fNcjHnzI43UrpT80LBhQ49pH3zwwR5328XgoU2ZsRbPbvze
|
||||
zUuV1XjOjKeYz3ZWkemmMAFESSDcBCA41k2aCbiR6PnYpk2b/qRm2YsbBSYGlo3tJpIpfhEsiWBS
|
||||
IABOsCSDUm9wSrnMkXpFQUYMJ8UEMAHMUBqUHFGGyfHbiYrvWEaPHj08zrjPmjXL43FcEJ6lrJc4
|
||||
Ly+ysyGuAoIAno9XuEi1TkgHKPsBGGwu1ezZeQWI9uJXdvz48VPULn9xokBeOvnAW8NA4hxIgQIT
|
||||
GMGayiEFx1HlATv0Q85K+qGXJf3Qi5LugYn9SCq5nUQDkWImJurBBKm8dVM3hf6dWVftyrkb5s2b
|
||||
59HdkL+/f6dhw4YNdJcm1Tj/AwmYCpQicJCDMDgLhADAACSk2ZyHEAxEYt1U4tiOKj9v58YHvrmL
|
||||
lkGRNGqiOIDu2MYH7NEZgOOXgQwPEeMffPBBfPTRRypfQvGiQG64ZVNnAgAm6EByGhesyePE5vOO
|
||||
sho93Poosx6f14eu/PgORP+2TDSA5HRA0i/QP7J7nNoVlFd69+7d7ujRo39GR0d7EtpDANrAw/ef
|
||||
rj/UB0rqCMV8oD+zEMAggDEm6EhR/CAiALh5Fpj5PdC5TTdlQMed/SFWhVRxZirze2w3EQR+oaIC
|
||||
fjOvUp/fFoEvxwxsZdED8t9gFOFofSgwQCgBlH0ViHNv+Y169ept3Llz5/BKlSql+6hM9zw+FwPz
|
||||
ntGrhKQTg6ALBOQMgGixrt+BMbk51rrxQU5Mz5igAwl66Pyq1GGdv7mgdiXlFZ1O97PVah3uIZmC
|
||||
g4MxevTomX5+fos+/vhjr66+U1IOnElKiqu/f//JUbej+ZLZc3/BtasnULNmnaSmbTs2WbtiydXs
|
||||
jJMXlOK3xsaCIy9C4KuxAV+IwX+CxMBIBOTvM2Mv2OUsGoG3fgNm7/Gc0WuvvTZlzpw5H+azPPcV
|
||||
PhUDurqjpvX0zG0MvBaIADkNaDK1h656r525Od566ssP6fKK95jkB7ImgdUa8b2u4csj1a6kvNKy
|
||||
Zctehw8f3uKuiuz+Zg8++CAOHDgwLzQ0FK1atUJoaCgSExNx8+ZNnD59GgDQrVuvpyPOXyp5/fol
|
||||
gP4bjpg8efLnn3zyicN6feVqjy+QtmNsHpyZ+HJ8wJdiwLgEKJsBFg+bjwS7Ul5OBRpO9+zPoFy5
|
||||
crh9+7ba3Zxih08rzLrv9Y5IPb0HZAFZ05hY90VFrPt0rm0Z6NyyGsrtPRd52lWBcQsQ/AB0nRYW
|
||||
y5v63HPPyd9++62zJz+ffIUHDRqkrF69WscYy34dTJeC6ugU01mQVbgrpyj5Jz9i4ChKAqBcAfge
|
||||
gBkdc5V0wKStwFzPS0Bw7NgxpVmzZsXC2W9RwrcDiLF7AGsKAMagmCH89X5gXg5n9Z6OVG7utEUC
|
||||
YhIo/lheDi9SfPvttyVEUTwExyHAfA/MNWnShK9Zs0ayFwIA0Bn7RkDJlRAUmWlDu/JkkR2RiZ+E
|
||||
g5dlABAE4GoqsPxvz5m1bNmSa0Jwd/hWDDKiQEpGpvutu1zTSpnDw4wBpmJtPZaiKEovACn5zikT
|
||||
g8FA1apVm+68Xb7RbjGSVuTmbhapaUO4m70wAPLfAJJsEZvtCysEAkO+Be6kuc+MMYa0tLRP1L6o
|
||||
4opvxcCvzH/BTthdZp3lZ5sI0JdWsWp8QhyAkKCgoJOSlP+PVb169S5v2LDhPfttFIHSSPiraQ7j
|
||||
BEVy2tCuPDYyuwdwCuMOAIIE/LgPOHLDc6ZVq1ZNW7du3T/QuCt8Kwah7cDEoMycDVDaTV2Xl8NT
|
||||
Ty0tz8o++CgAgBSwEg+oXT8+4eGHH37km2++uRgYGHjXLkBCQ0OVyZMnP+u8XfHrvAUiWuby9VZb
|
||||
BAAvrROyAvwQwPwcU0QGXEgDpm73nrFer3+kXr16G9S+QHUg9s0Jem/EZmVz51+Uzb3XKJsn76HN
|
||||
nx+kyrnNwacPh+Xa9pY49/UuZk0KAhSQ1QLdA1PKsVo9Y3JzPB18u6s1Zs8uJvmBLCkQ6r94Wao7
|
||||
4p5xann06NGWixYtWr5o0SIpODi4ZmJion2yx3uh0+koMDCwb0JCgsPaDbqMajwDVyB5PLowxwZy
|
||||
GkD02kUhHSDvA3AJYE6R9CR/4NVVwOf7PWf+0EMPXd++fXuVQrjOIkf7H6hqw3K4ejUZCNQDOsFW
|
||||
2SYZSDIDzcvizz0X8fCRMcyrzYVPWwb6qg8dFsi6leQMgElgTIb1xuqPc3u8NSNqFxMyiyT5k3x1
|
||||
9cMq1G2B0bx588Nff/11ve+//77Jc88994ogCK8AeAWA1yjCwcHBZ994443TDnUV/3UnRQ467qV7
|
||||
UFRXgbqWVgKUkwDOO0ZuBgDRAHz5p3chqFKlCtWtW/cFtS9MDdoup/bB/vxovAko6QcYRJtRlsiA
|
||||
AB1QIRC4nEQdQ0JpZU55FYwF4qowgn9VMCaCrKkgWJro+x056TwCngXRFMH625b1TNT3hegH4lYg
|
||||
/coC/dCrxc4CMa9MnDhx9A8//LAoh1Dtrl58TmMcE/A53IchU2O2wFvLwHMaA3gCoGzLHC6yHydg
|
||||
wIlEoNeXQEyq5xO3aNFi25EjR3oV4rUWDYhYz9WclzTaPqBWhZBsZZRqBmcMKGEkMUAHiIzByoE7
|
||||
JuXS7mFSLU/ZFcjaBFb9qUXgZiLOwSQ/MBL+tR6cGGE59pGDkQyd/aaRZXuf8dZ9txQIUl8IRpBi
|
||||
AeNWLtSZEK52XRcG33zzTTdvQtCjRw+30YWZFPy5h7tX1KYNPbdQGEAMUP767//ZSQxg/sAHG70L
|
||||
QZcuXfh9KQQAhm9ERrDe1iewchAD/fZee7z/15NM2v8Ek3rWoLk6geLMsq3rUNIghj22gTx+YAtE
|
||||
DKTI0y+B2NdMSSECA9OHAHFHauPGjnmWX8IuWlZUuWhZUeWi9exXO2FJmseSIsAkfxApADdzSQqp
|
||||
IzV9NUcvocWd9evXn0pPT/cYealTp0588ODBM5y3WyNwAdxluV6Rtx9wQQLkDbBNIzq1cER/YPBi
|
||||
YOMZzycoWbIkr1GjRk+1L1QNvjlBbyRYoNcJgEUBGOFACUF4vGNFlt0tH9dcnFgxQGhKsFlr6gWg
|
||||
UjC9P2UKuX3vC8Q4gw1dpQB4Sd7ySBmijEHgVoDpGJgAFlTDYUCQABBXADmNmK5kmiT4Pc4e2XrP
|
||||
B74YO3ZsvQEDBtQi8vzhjIyMfHnMmDHn7Lcp14fNRfIvtZzuXFG2H3C/gwQoRwEku59GXP4PsOG0
|
||||
13OgcePGXy1durRIRuEuaPZe46UCJcYYY0ixAu+3w64OlV0HCD/tyq4vPEoHd11DW70IXE1mpQLa
|
||||
QIabhkCB+g2QHtkyhAVU64mA6pdgilZgTQZxC4i4rRWgmABzAqCkKkwX/L5UpcfD7JGtG9Wu6MJg
|
||||
/fr1I2ALLeqWAQMGKFFRUV/bb6PI6uWRvrW/010r+vYDzkiAchWg07a/nYUgNgN4e6P3WIqDBw9W
|
||||
li5dukDl61WNK0m2QUIAyJCBDpXZe572/eEMpmRFnUo0A9dS3VdsgZtt6rp8vwNAbbq2tZUce2Ip
|
||||
bvwOnnIREPzBSjQCazAUurAhmQYF2/N1ruLC9OnTO8+ePfsN8tAsCA0Nxbp164wuCRlXGoGhGkS3
|
||||
/fCiNnvgvjwiQHEAtgMsEC7mxvEEVP0AsHq5msDAwFurV6+usnr16oIO3VJkCTQIRLA9QJII/HmD
|
||||
qnasxK6527dJKVSNtdiiYxslQroHD/KFZsPNqvY6BMDJiugcgFWFVYQiw/79+8Pj4+PdpjHGqG3b
|
||||
tmvatGnDp06dmr1dvjP3RR776pceZg+KBwIAE6DsBRAAl5mDZAaMWuZdCIKCguj555+fNWfOnPtW
|
||||
CACgY0XQP9GMdCJYiB4Iv4olAHq42zfQiEWJVltLq1ogozTZfatN7WblfccXX3yxety4cYM8pTPG
|
||||
rhBRDfttRGD8LDZCwiP2u6p9LXD9+nsuEwPICCgrAWTA4TPEYAu3/vkfwMRN3s/32muvXZgzZ06x
|
||||
9ILla9r/RBmVA8koCrapw0pBGDS3KzYwxmQA+OYw6S6l4GREIuoE6ACzAtxKxSv7n2Buu1fF1tdg
|
||||
ceTpp5+u9P7779f2ts/IkSMXu2yMrNEdgn9vtcvvRJ4GLYkD8hYAaXAJkybogK935ywE5cqVW68J
|
||||
wX+0Lo956TLjRLap2KvJfM30v3G79Y80se2PNPF8ClkuJFFdPx2gcCDdQvEtyuK4p/yKwtflvsFo
|
||||
NHayWq17FMV9C3f06NHK4sWLXbpu8nlEM0I5u7ul9n1zJwSeDYuMNlNjupDpvszJP8Gqs8DTP9im
|
||||
yLywH7ZmcAY0sum4giaXNND0AL2tUhX67+YIAAQBxDkQZwLSFVTe/xjzuBRYaxkUIuXKlfMoBKVL
|
||||
l6bY2FiX7oN8Z+pppmQLQVGZMch1WUgA5EMAnXUVAlEH/HUHGP2TdyFo0KAB9u/f/wc0IXBhYTcc
|
||||
Mej5OpmDTAoIINgCEYA4QKkWQOZ0e1Rjvs6bEACaGBQaVatW/ebq1ase0+vVq3dkwYIFDhb41vip
|
||||
fRE/t6p94BCVydOMBUkAPw3QCVc/hpII7IkCBnwJpJi956PT6fDWW291WLhw4R/I/OCpXRFFhUbl
|
||||
2PZf+0oDSxvQrX5p7BMA5VY6lHgTKeX8oRgkPNOwPOs5vJ44KKe8isIDds+zcuXKkW+++eZ3nsQg
|
||||
ODiYkpOTXR5w65nQjwQh8d0i8OjnZnzAoZvARYBuAvyPzFWI9i0CEYjmNiE4fD3vZenQoQP+/vvv
|
||||
5l26dInZsWNHsfaAU5RQ/zG7D9iwYcMz3loFDz744Afutgui7t0iINd5t24UAIrMFAJn60IBiDEB
|
||||
Ty66KyEAAOzbtw9Wq/XosWPHtr/xxhvfqF1BBQURWNavMM6niUEB8+uvv/qtWLGis6f0Nm3aWB9+
|
||||
+GEXYwvlanOLLdqoakW/O+9IIsCTAPors0Vg94QJDDAJwMifgD2RucrNXXmyysJiY2Mbfvrpp8+H
|
||||
hYX9gXvsWaaEY9Wtf03n1iWNuHXPu5yiD7Uu6HPeUxVYFNm0aZNXxy4VKlT47tVXXz1rv816pXxX
|
||||
JB/NrZfjguDu1jqIAL8F8K1wkQ/GAEUExv4C/H4+1zm6K48Lly5d6qbT6ZaoVlsFgPXcjkhc3QEW
|
||||
Uh2I/gvWi1v+znemOaCJQQGybt26N3755Rd/T+miKOLRRx99y3m7kBLTBxLEItBFyJsQxAM8a+G5
|
||||
05Ml6IB+3wI/HMlzGXIlTFardUSnTp32qVlZPuXsCjB9ECBKYLpA4GLBe3PTxKCA2LJli+G9995r
|
||||
Yzab3dYxYwybN29eM3LkyET77XTJWBU6YaIKd+buXboLAKUCfBfgEM0p0xhG9ANeWQdsz1uLIM/d
|
||||
lBMnTrR/6623Xin0misAWNXunKzpIEUGyRlgldrxgj6n5l++gFiwYEGJ5OTkgZ7SBwwYoERHRz/p
|
||||
vJ2kgF9giSs+8zxCZovgDyBrYSxlhoZnZBtA7LcY2OLkl0BgABiDXm9Eq8YZaN0YaPUAUK4aIJQE
|
||||
IQPAQYBSwJLigfUngDWngGQv05CJiYn4+++/xwH4XO1qyS9S/f4DZEFYQ1d3glXqAKn2I88BXxTo
|
||||
OYvLI1fsWL16NQ0ePNhtmk6n4w0bNnzr+PHjDjHa6VbjGjzmxGU4zckXMHfvC0EAuDkzDFoaiAQw
|
||||
JtoMjaADpKrA6+uAVXuAkCBA7w9UKgc81AHo2Q6o3RQgfwBWACaAmUGwAOAAMTD4AXwLwO4ALMB2
|
||||
ysm/Ad8eAOK9mB/t2bOneefOnYtvBB6V0MSggMi0KHSXRH5+fgnbtm3r0rlz55P2CTyi7DqimP6F
|
||||
2EXIl1MUnpDpsswICGVBLBQMgZmuzgMAWQLCDwFVywFVywABwZknVGATANeltC6+ECgNkDfbuhtg
|
||||
NuOlDSeAIcsyWyBumDz5bXzyyXTt2c4jWoUVABMnTlz52WefObszy350V69efW7w4MENHBKjn+3K
|
||||
U3fuAl3N1Tl8QP5dpImwhUDjABQQ5LvOy7Mo6QF5PWxxqTIXOElBQJtPgcNRXvPUnu08og0g+pjw
|
||||
8PDKmzZtqu+0Ofthr1+/PjkLAQBwLjwBudCFIH8osK0WMMPdV/5uyuL2BSYnNy88DdiRwzDhoUOH
|
||||
ekAjT2hi4GNmz55dNTU1tbGHZBYbGzvabUrGz6MK4W4UxTBr2XXjdgcrgAQ4PKmcAyGlbXECPJGc
|
||||
nFzUlnwXeTQx8DGlSpXqdvPmTcDNVF3VqlVpzJgxic7HWOPefRimtDyd5y4oqk5TvZaH4gCmOO4h
|
||||
MMCS4X0QsVu3bhPUvsDihiYGPubGjRsfekpLSkr6d8yYMbtdEhJ/mJVD4NT8UpSEIPetEx3Ar7gO
|
||||
FDI9sPh3la/iHkQTAx+zc+dOjw/76NGj/65SpYqr88OMqIJ6RYtdtyAbASAFoHOuAb0zAEzw4kP7
|
||||
qaeeKmrOYYsFmhgUHC4P++zZs93GA2R+KGjfxmqLAJDH1glngLwpc0rRDlEElh60ufHyxJAhQ55R
|
||||
+2KLI5oY+B6PX+CYmJhAtwcEvZYIBbYpuvxz92bFBUOeWyckADwCtoFDuyXQDEASA3484PnYOnXq
|
||||
pPXr1+9Hla+5WKKJgY8pXbq0x7Tw8PDN7raLZed0hKE6zyEyYc4Uvcbx3flCyADoJGxCYIfoB8zb
|
||||
Dhzy4AdBEATcunXrbbUvuriiiYGP6dzZo+sCjBgxwmOaYMBAxvTc4bueGxz3JygAFAYoqrcI7g4R
|
||||
UDYBMDt2EQQJ2HoG+NhLMLUKFSpQeHh4gS/ouVfRxMDHtGzZcpuntKCgoE7Tp0+f5y6NVb3yGyvz
|
||||
xkSSpbWEYE4c3PZiw9Z9sP8BIJ3NxyAYOImlOXTNE7kVy1nQA8tZxQWHIYSqWQ0ujkhydZAAWP8E
|
||||
mMkxPDsTgJvpwOSN3jWycuXKc1q0aHHfhlzLL8Xz61GEeeCBB9pFRUXtT0pKcpteuXJlDB06dONn
|
||||
n33WH25GCejUED10/zaF9Tyo9Oj9MO0B4+cBHaAElpFIagigJX5Yfg1/HojD9x/sbAPpQaDc8xnM
|
||||
MPIkAMhnMIExzC3k6EtZL//dTWPqAfkMQIccvSgzBghBwEPzgV0XPB/erVs3ZefOndoq3HygiYGP
|
||||
OXHiRKOxY8fu3Lt3b2lv+7Vv3x4nTpzoXKVKFcuTTz6Jtm3bonLlyrBYLMdMJlOzyMhI7Nu3D+Hh
|
||||
4Thx4gQAYNLkxQdW/vQdrl+zjaD9+uua40OHDmpuny8RGL9cWYF8vfjcXcnmM1HZBcAfDkKg6IDX
|
||||
1wMLvLstSQTQB8Bfal9Kcaa4PC7FiqCgoPYpKSl/5mbf0NBQVKtWDWXKlIGfnx927969vn379v3T
|
||||
0tJw584dxMTEwF1cxkaNGlHHjh3rLly48KL9diV+6nLcnvJ4sYnJKAH8BsB3w9ZptRMCyQgs+QsY
|
||||
vx5It3rOYsiQIb+vWrWql9qXUtzRxKCAGDVqVMySJUtKw/d1TABgMBi+MJvN4x0S6N8AfqZJKkQU
|
||||
5mjQ3Vs3ijbDIuVn29/2ZRb1wNmbQKPPvGdRunTpuNjY2NLQyDfaAGIBsWnTphpBQUF74NsJv+y8
|
||||
Ro8evcU5kd+ZMwNAYd1VZ/uBvCEAPBZQfoXLEKOoA3acB5rO855FkyZN+BNPPNG+UK72PkBrGRQs
|
||||
xqpVq0Zfu3Yt1Ad5ZQtBixYt2JEjR1zunXICC6DHy4UoBkBuYi06I9gCsSqrYZstseseiDrgpgmo
|
||||
96H3rgEALFiwYNHLL7/8ImNMm070AVrLoGAxXbt2rUTv3r2/F0UxNh/5OFjwLVmy5HuXHa63rgO/
|
||||
8oUhBPlvESRnCkGmz8SsXAQR+OsGUGuKdyHQ6/W8d+/eP4wdO3aMJgS+QxODQmDz5s0jRVHsNHXq
|
||||
VNnf3z+vbkAcuhldunRRmjZtOtJ5Jx4wZBWstwr6UvK3+jHTupDvhK1FYGdLIErAySRg6BLA4v31
|
||||
JlEU527evHlEQV/s/YbWTVCBadOm7Z01axYSExNRq1atDklJSUhPT4eiKLBarSwzUrPLiycIAgUH
|
||||
B7+amJg43zlP+RyIFdxKhDzHWnRBsPkzVDbD1iKwswgQJeB0CtBpFpBkyrEcqwEMLZCrvM/RxEBl
|
||||
Fi1aNHTv3r2IiIhAcnIyatas+cvWrVvdvnyiKN7u1atXx02bNjmY39CN9m/xxP2fONvy+5B8iQEJ
|
||||
NiclfBdsjlCdWgT7bgCPLQWik3MsxywAbxTYVd7naGJQhPjpp59KPPHEE3GZ/3W5N1WqVLkUFRVV
|
||||
y34bXRhnUCxfbWWS3LUA7mZexgbcigEXATIBtBq2Tqmd/YOoA25bgRrv5tg1QPfu3U0LFy58tE6d
|
||||
Ott9fpUaALQxgyLF2rVrs+IFun35Zs+ePdt5m2w43xVSaEEKwd1nIAIUBdAa2J40ezsCHbDjIlD9
|
||||
vZyFYMCAAconn3zyrCYEBYvWMiharAPQ311Cly5d5N27d7t0BOgMHlEYNjPfWhzezUChY8tAB/Db
|
||||
gLLV9rf9eIaoB6ITgJozAKviPdNevXrxV199tc1DDz102KdXqOGC1jIoIjRv3vx/ISEh/d2lCYKA
|
||||
AwcOuE3jUtnNzHd30Sdu0kgAlLO2pchMl+m2LCsnCdh4CqgyLWch6NmzJ580adIITQgKB00Migjt
|
||||
27f/2tNKx9q1a/M5c+a4NNuV+JnrYY3JMe9c4hunqUZAOQnwQ5nu3IT/MpT8gTXHgKd/zjmbIUOG
|
||||
KK+//nrbbt26aV6LCgmtm1BEEASBOHffea5QocK26Ohol4U41jM4LwionU9J940IMBABTDkM0ClH
|
||||
IQAAs2hbdPTqbznmxLt27WqeOXPmyNatW/+Sv1rVyAtay6AI0K9fvzmehAAAevXqNc15G12r+7AA
|
||||
qbwP7+BdCwExAHpA2QPgPMD8kf1kCQIgBgFvbwImb845KwCzv/7668GaEBQ+WstAZZYtWxbw7LPP
|
||||
HpFlua679Lp161JERITLK6+cCX0PQuKH+RCD/MdahE0ISAH4RhDSwBwcmDIgXQL6LgT+jMxVWX4F
|
||||
MNw3NauRV7SWgcqsWLHiCaPRWNdT+rBhw+a42076Uh/m4zX2zUpKEaB0QPkdtmAGdkIgiEAGAf2+
|
||||
yVEIAJvHp7nQhEBVNDFQmQcffPDz1NRUt2n169dXbt26tcR5OxEEWC7d7Sl9M0YgAjw+cwlyEmzm
|
||||
xVlThyJgUoBy7wN7L+aYE4WGhn4PYJIPqlMjH2jdBJUJDQ2lxMREt2nBwcFfJScnv+S8XblYmkOO
|
||||
ZXch5T7pGkAHKFcA/hfACFmfFALARAPwdxTw/M/A6dveyxIcHMwrVKjwfURExHO+rleNvKO1DFRk
|
||||
zJgx/3gSAgD44osvXGbilatBb8ASm9fXOX/Lju0z0gHyUYDvha1xb29VaARWHAP6L85ZCIxGI3Xr
|
||||
1m1+RETE876sU427R2sZqMTOnTvDunfvfpqIDO7Sa9SowSMjIx3sCikSRm7CcjAMyoOM+2rqEMQA
|
||||
5TiAkwD0drkxQDSC5u8He++3HJ2SUPXq1em1115bNW7cOG2MoAihtQxUYsmSJaMFQTB4Sh8+fPgQ
|
||||
l40yKgEYlIdX2jdBVwWAWwFlh82GwGGgkNnWGTzzE/DWWq9CQAAoLCxMmTZt2ixNCIoeWstABYYM
|
||||
GSJu27ZtQUpKittArA0bNowrU6ZM+d27dzs4QlEiwwjmS7mRcN+FYBcATpl+CJJs5sVZiAKQIgAT
|
||||
fwGWHvHqzyCrm3ITQJUCr2CNu0ILOqECZrO5XLly5V5ISUlxm3769OnpsLkAyUaOmTwKMZ8gFz4L
|
||||
fCYEJAIUDSj7AZgyg5tkIkrAv7HAO78B2yJyLk9ISMihpKSkfgVZrxr5Q+smqMCOHTvEixfdz7mF
|
||||
hobSrFmzXM0R42b0t3cKkgvyPWPAbwN8B8CsjlGORB0QkQ70/Sp3QtCrVy85KSmpPQCfLaTQ8D2a
|
||||
GKjA8OHDr3lKs1qt115//fV59tvoepfKjPyq5RAYxWdh2IllLjbaClvb0T64iQSsPQ20/Bi4meI5
|
||||
CwCk1+tpxIgRB1u3bh0Mm9dDjSKM1k0oZIhIMBg8jhvinXfesb79tmNUcTn5UH3GzI28vOG+sShk
|
||||
APxsYc4oEmBG/DdQCEAIBL7dDYzfAJhyduuqbNy4MT4uLq7f448/bspxbw3V0QYQC5k//vhjdffu
|
||||
3Qd52cXlntClZm9xy7FP3LQMfDc+IABktoU5o9sAM8BhjUE8AfN3AJ+Ee84i6w9RFBMURRkEYHdh
|
||||
1KmGb9C6CYXMRx99lNWcd/m1bt3a7ReeC9HTIbg9xh66qx8DMR0IJhDfDkIciBkytzOQKIGsRtAz
|
||||
P4Bm7vaaFwCgdu3aSkhISF9oQlDs0MSgkNmzZ09Wn97lN2DAgJvujqG0W877ZsHy+yMBTL4FJv8M
|
||||
hhQwiGBgtjQmgN1OBwudCPZ7BBgnt3lk06pVq+Q+ffo0j4+P16IhF0M0MShEduzYUbNOnTpNPKVP
|
||||
njz5ZedtlPrrWwzIeu18ZlYMwOaDIMLmwpz5wXGxkRH4KwrougCweh6RyEqh1157TXn77beHzp07
|
||||
92Th16yGL9DEoBA5cOBAJVEUa7lLK126NPr27euynUxHny6Iu0Q6QPkToAOwvdJ255D8gJ8OA10W
|
||||
AOc9B4Uju3+nBgYGGgYMGKB5Ly7GaGJQiKxfvx7R0dFu08qWLUtDhw51/Qan/Q678QK3zfM8kemM
|
||||
RNkD0CXbjEGWQ1XGAMEIvLUVeGGVxymK7NZJ2bJlqVKlSjMBfDh16lQt5mExRxODQuTo0aPwtEox
|
||||
MjLyYOPGjXc6byc67buQ7gLATYC8EaCrcFhjIDJbwJNOnwNzdgAZOURArlChAj3xxBNv3Lhx4+2c
|
||||
TqtRPNDsDIoIGRkZGU2aNElz3k6KDEb5nDYEbM5IEjNDnJkc1xgIOuBqGjDhF+DAFe/ZZLJ/9erV
|
||||
h9q3bz8HGvcMmhgUcQSpLCNLPqMrSwCPAOhQZjAT+xBneuD3SGDSKuCsZ2PhbCEwGAzhZrN5UPv2
|
||||
7RPVrhsN36J1E4o6+i42JyJ3CYkAPwfwA7CJgN36BklnE4Jhiz0KQfb4gNFoRMuWLc+bzeZuABLV
|
||||
rhYN36OJQVEn+HGZ3JkY5QQDiAD5T4AfBJidMxIBgCIBs3cDvb8EUi3es9Lr9RgxYsTWjh07NlO7
|
||||
OjQKDq2bUDTw+LoLAf0ayydyLwUE2N52PSCvAZCcucYgKz8GUDDwzs/A3H3es8lEPnfuXFLNmjV7
|
||||
q11JGgWL1jIoRCRJAmOuSw8AoFKlSlUOHz4c5u44IaSRkuuuggjwOED5BWBJTj4IROB8GtD/i9wJ
|
||||
QVBQ0C0A7WvWrFlG7brTKHg0MShEGjdujJCQELdpfn5+dfbu3fuAuzRuSn82V20DHUB3AL4dIBMc
|
||||
pw51gEkAHl4AbDnnMYfss7Rp00YOCQlpBeCQ2vWmUThoYlCIjBgxAtWqVXNe4MMAsKioKMydO9ft
|
||||
FKIY2vhfYiVvgcOzJZAIyGcBZYNtxoDZDRQyHbA/Egh8HYhKdH+4Xc40YMCAG0OGDGl6/fr1G2rX
|
||||
mUbhoYlBIdKoUaOTN2/edNtAN5vN6Nu37xR3aazcun/FEsMOwo0PAZsXEUA5ANBhgAXAIfKxGAB8
|
||||
9w8w+AePxbKXFw7gsQkTJjwyadKkM2rXl0bhovkzKGTKly//661btwbDTd3r9Xrs3LmzbseOHc+7
|
||||
O1a5KJ0lq1wXDIxleh/i3OaDADfh6L4cgFkHvLcZmL/bbVEcfCEYDAYFwGtms3m+2nWkoQ5ay6CQ
|
||||
efrppxfDgwhbLBbMmTPH42IfQZZbc+APRiCItnEB5Q+AbsFBCJhosyp8chnw5d4ci8Rq1aqlNGjQ
|
||||
YIwmBBoahUzp0qWzev8uv4CAABoxYsSb3o5XrpZPsf4jcPN74KapINPHIPM0kHk6SJ4JSvgEVCXE
|
||||
oxMSbv+rUaOGvGzZshFq14mGxn3JvHnzvoQX70NNmzalRYsWvQkv3Tjzmh4zTfN0d8zvQja9DzJ/
|
||||
CJJngf6ZBHqwau6EAMCKkydPTlC7PjQ07luWLFlSsWfPnjK8CELJkiVp4MCB07p06eLRMCxtGyrI
|
||||
e59/UtlRx0w/wLzieVCoMVdCQCVKlNgIwAANDQ11KVGixJOMMa+CAIAGDx5MZcuWHbhs2bKBcOO2
|
||||
bMeOHQMrV6480BBY6mX/0PI5CQGVKFGCd+jQYbPa16+hoWHH1KlTk5ALp6V6vZ7q169PAHYZjcZd
|
||||
tWrV2mU0GncB2NWkSRMyGAy5ag3o9Xo+bdq0n8aNG6e1CDQ0ihqNGjW6whjzOKCYj5/z+MDVqKio
|
||||
v9W+Xg0NDQ+0bNmybvny5a+g4ISAypYtew1APbWvVUNDIxf07NkzVRCE/LYQHERAEATerVu3VLWv
|
||||
TaN4oBkdFRGefvrpxs2aNZsREBBwtzEJnaMrKc8+++z5gQMHNlX72jQ0NO6C8ePHtxo6dKhZkqS8
|
||||
thI4AC4IAm/VqpW5Z8+erbdt21ZS7evR0NDIJ+fPn18eFha2sl27dgnly5dXGGMKbJGMFdhefAWA
|
||||
IgiCXKlSJbldu3aJVatWXblr164VapddQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ND
|
||||
Q0NDQ0NDQ+N+4f8b0XUeYz3o+wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wMy0zMFQwMjo1Nzoz
|
||||
NyswODowME69txAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDMtMzBUMDI6NTc6MzcrMDg6MDA/
|
||||
4A+sAAAAAElFTkSuQmCC" />
|
||||
</svg>
|
||||
BIN
Template/docs/_media/img/wxpay.png
Executable file
BIN
Template/docs/_media/img/wxpay.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 109 KiB |
14
Template/docs/_sidebar.md
Executable file
14
Template/docs/_sidebar.md
Executable file
@@ -0,0 +1,14 @@
|
||||
* 基础
|
||||
|
||||
* [开始](install.md)
|
||||
* [安装](becareful.md)
|
||||
|
||||
* 架构设计
|
||||
|
||||
* [使用](use.md)
|
||||
* [源码](code.md)
|
||||
|
||||
|
||||
* 关于
|
||||
|
||||
* [关于<sup style="color:red">(赞)<sup>](team.md)
|
||||
73
Template/docs/becareful.md
Executable file
73
Template/docs/becareful.md
Executable file
@@ -0,0 +1,73 @@
|
||||
## 环境准备
|
||||
|
||||
---
|
||||
|
||||
### windows
|
||||
|
||||
首先安装最基本的Node.js环境,先去官网下载最新版的nodejs,记住根据你的操作系统和位数选择下载。
|
||||
|
||||
> 官网地址: [http://nodejs.cn/download/](http://nodejs.cn/download/)
|
||||
|
||||
虽然在Windows上安装很简单,但是为了避免错误具体的安装过程参考这篇教程:
|
||||
|
||||
[Node.js 安装配置 http://nodejs.cn/download/](http://nodejs.cn/download/)
|
||||
|
||||
!> 注意:安装nodejs的路径杜绝使用中文,记住杜绝包含中文的路径!!!
|
||||
|
||||
### Linux
|
||||
|
||||
Linux下安装比Windows稍微麻烦一点点,这边安装方式很多。不推荐用`apt-get install xxx` 来安装,因为版本老旧。也不推荐下载文件然后改配置,个人感觉不好(你也可以选择这种方法)。
|
||||
|
||||
我这边推荐使用的方法是:**编译源码安装**
|
||||
|
||||
|
||||
具体操作看这篇教程,不再累述:
|
||||
|
||||
> [Linux安装Node.js(源码编译安装)](https://www.yiibai.com/html/node_js/2013/0826201.html)
|
||||
|
||||
## 部署代码
|
||||
|
||||
---
|
||||
|
||||
上面的步骤很简单没有什么可说的,假设你已经完美安装成功,那么我们开始愉快的部署代码吧。
|
||||
|
||||
**1: 解决依赖**
|
||||
|
||||
---
|
||||
|
||||
命令提示符界面输入命令
|
||||
|
||||
> npm install
|
||||
|
||||
如果npm下载速度十分缓慢,请更换npm为cnpm,具体操作百度,太简单懒得详细说!!
|
||||
|
||||
成功更换为cnpm后名称变为下面:
|
||||
|
||||
> cnpm install
|
||||
|
||||
OK,到这一步基本上我们的框架就可以被成功的运行起来来。
|
||||
|
||||
|
||||
## 运行代码
|
||||
|
||||
---
|
||||
|
||||
查看`package.json`文件中`scripts`字段,你可以通过命令:
|
||||
|
||||
> npm run all
|
||||
|
||||
来运行框架。
|
||||
|
||||
## 运行帮助文档
|
||||
|
||||
---
|
||||
|
||||
**如果你想查看网站的帮助文档,那么很简单,运行下面的命令即可:**
|
||||
|
||||
> npm run doc
|
||||
|
||||
## 自动提交
|
||||
|
||||
---
|
||||
|
||||
> npm run push
|
||||
175
Template/docs/code.md
Executable file
175
Template/docs/code.md
Executable file
@@ -0,0 +1,175 @@
|
||||
## 源码分析 - package.json
|
||||
|
||||
---
|
||||
|
||||
上面说过了,我们可以通过`npm run all`命令来运行框架。那么我们这边先从`package.json`开始分析,看看这行命令背后到底发生了哪些事情。
|
||||
|
||||
打开`package.json`你将看到下面这些代码:
|
||||
|
||||
```bash
|
||||
"scripts": {
|
||||
"all": "node_modules/.bin/concurrently \" node_modules/.bin/node-dev app.js \" \"node_modules/.bin/gulp \" ",
|
||||
"doc": "node_modules/.bin/docsify serve ./docs"
|
||||
}
|
||||
```
|
||||
|
||||
1:all :通过nodejs的 `concurrently` 模块来并发执行两条命令,其中`node-dev app.js`是用来启动`express`框架运行我们编译后产生的静态文件`dist/`。而`gulp`命令执行的是`gulpfile.js`中的默认任务`default`
|
||||
|
||||
2:doc :通过 `docsify` 来运行我们网站的帮助文档,这里没有什么好说的。
|
||||
|
||||
---
|
||||
|
||||
我们框架的关键逻辑在`all`命令背后,通过上面知道`all`命令运行后会并发执行`node-dev app.js`,我们打开项目根目录下的`app.js`探究一下:
|
||||
|
||||
```js
|
||||
// express 框架部分
|
||||
const express = require('express')
|
||||
const app = express()
|
||||
// 站点配置
|
||||
const config = require('./config')
|
||||
// 工具函数,OpenBrowser 自动打开浏览器
|
||||
const { OpenBrowser } = require('./utils')
|
||||
// 核心,需要被 express 托管的静态资源文件路径,提供给前端访问静态页面
|
||||
app.use(express.static('./dist'))
|
||||
|
||||
// 监听 1314 端口,运行网站
|
||||
app.listen(config.nodeService.port, () => OpenBrowser() );
|
||||
```
|
||||
|
||||
这部分源码注释很详细也很简单,没什么可说的吧,一看就懂。
|
||||
|
||||
|
||||
我们的核心应该在`gulp`命令背后,打开`gulpfile.js`文件,你将看到以下源码:
|
||||
|
||||
```js
|
||||
const gulp = require('gulp')
|
||||
// 编译jade文件为hrml
|
||||
const jade = require('gulp-jade')
|
||||
// 编译stylus文件为css
|
||||
const stylus = require('gulp-stylus')
|
||||
// 自动为css3属性加前缀
|
||||
const autoprefixer = require('gulp-autoprefixer')
|
||||
// 合并js,css文件
|
||||
const concat = require('gulp-concat')
|
||||
// 压缩css
|
||||
const cssmin = require('gulp-clean-css')
|
||||
// gulp 文件监听
|
||||
const watchPath = require('gulp-watch-path')
|
||||
// zip压缩
|
||||
const zip = require('gulp-zip')
|
||||
// 压缩js文件
|
||||
const uglify = require('gulp-uglify')
|
||||
// 处理gulp错误,防止程序报错终止
|
||||
const plumber = require('gulp-plumber')
|
||||
// 引入gulp的配置文件
|
||||
const config = require('./config/index.js')
|
||||
// 引入全局公共方法
|
||||
const { RemoveFile } = require('./utils')
|
||||
|
||||
/**
|
||||
* 编译jade为html
|
||||
*/
|
||||
gulp.task('jade', function() {
|
||||
return gulp.src(config.jade.jadeTohtml)
|
||||
.pipe(plumber({ errHandler: e => {
|
||||
gutil.beep()
|
||||
gutil.log(e)
|
||||
}}))
|
||||
.pipe(jade({
|
||||
pretty: true
|
||||
}))
|
||||
.pipe(gulp.dest(config.jade.jadeTodist))
|
||||
})
|
||||
|
||||
|
||||
...
|
||||
|
||||
/**
|
||||
* 监听用户在 src/ 的所有文件操作
|
||||
*/
|
||||
gulp.task('file', function() {
|
||||
gulp.watch(config.watch.watchFile, function(event) {
|
||||
let paths = watchPath(event,'src/', 'Template/src/')
|
||||
switch (event.type){
|
||||
case 'deleted':
|
||||
console.log('删除操作...')
|
||||
RemoveFile(paths.srcFilename)
|
||||
break
|
||||
default:
|
||||
console.log('其他操作...')
|
||||
gulp.run('publicstyl','copyfont','pagestyl','jade','copyjs','copyimg','Online')
|
||||
break
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
/**
|
||||
* 默认先运行一次 编译过程
|
||||
*/
|
||||
gulp.run('publicstyl','copyfont','pagestyl','jade','copyjs','copyimg','Online')
|
||||
|
||||
|
||||
/**
|
||||
* 执行file任务,当文件被操作后进行相关的编译过程
|
||||
*/
|
||||
gulp.task('default',['file'])
|
||||
```
|
||||
|
||||
这边通过`gulp.watch`实现对`src/`文件夹进行监听,当用户修改被监听的`src/`文件夹里的文件后使用`gulp-watch-path`模块获得被修改文件的路径,然后判断`event.type`的操作类型,根据操作类型来进行对应的操作。
|
||||
|
||||
1:如果是在`src/`文件夹中的删除操作,那么调用`utils/index.js`里的方法`RemoveFile()`同步去删除对应被编译后的文件。
|
||||
|
||||
2:如果是其他操作例如修改,添加等,直接将进行重新编译输出到`dist/`中,保持在`src`中的修改被同步到`dist/`中。这一步就是我们最核心的页面逻辑了。其实也没什么,你会发现还是很简单的。
|
||||
|
||||
## 源码分析 - src/
|
||||
|
||||
---
|
||||
|
||||
`src`文件夹中是前端工程师真正需要关心的源码部分。
|
||||
- 1: `assets`是静态资源的存放。
|
||||
- 2: `view`是页面的存放。
|
||||
- 3: `main/`文件夹中存放主要的页面,
|
||||
- 4: `public/`存放公共的页面组件,而`layout.jade`是页面的核心入口
|
||||
|
||||
## 源码分析 - 配置/
|
||||
|
||||
---
|
||||
|
||||
你可以在网站的`config/index.js`文件来修改基本配置,做到设置端口,打开url地址,是否自动打开浏览器等,具体配置信息如下:
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
"jade":{
|
||||
// jade -> html 需要监听转换的jade文件路径
|
||||
"jadeTohtml": "./src/view/main/*.jade",
|
||||
// html 输出的路径
|
||||
"jadeTodist": "./dist/"
|
||||
},
|
||||
"styl":{
|
||||
// 将 public/ 公共的 styl 文件直接编译在 dist/ 中生成对应的
|
||||
"stylTocssPublic": "./src/assets/css/public/*.styl",
|
||||
// 将 page/ 中 styl 编译合并
|
||||
"stylTocssPage": "./src/assets/css/layout.styl",
|
||||
// styl 转换完成后,需要将多个文件合并成一个的文件名
|
||||
"stylToFileName":"main.css",
|
||||
// css 输出的路径
|
||||
"stylTodist":"./dist/css/"
|
||||
},
|
||||
"watch":{
|
||||
// gulp 需要监听的文件路径,当我们在src修改源码时,gulp会动态编译输出到dist
|
||||
"watchFile":"src/**/*"
|
||||
},
|
||||
"nodeService": {
|
||||
// 访问ip
|
||||
"host":"http://127.0.0.1:",
|
||||
// 访问端口
|
||||
"port": 1314,
|
||||
// 提示信息
|
||||
"log":"项目运行在:",
|
||||
// 是否开始自动打开浏览器功能,取值:true,false
|
||||
"isOpenBrowser": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
26
Template/docs/index.html
Executable file
26
Template/docs/index.html
Executable file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>WHtml</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta name="description" content="Description">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css">
|
||||
<link rel="shortcut icon" href="_media/img/favicon.ico" />
|
||||
<link rel="bookmark" href="_media/img/favicon.ico" type="image/x-icon" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">Loading</div>
|
||||
<script>
|
||||
window.$docsify = {
|
||||
coverpage: true,
|
||||
name: 'WHtml',
|
||||
repo: '',
|
||||
loadSidebar: true,
|
||||
subMaxLevel: 2,
|
||||
}
|
||||
</script>
|
||||
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
26
Template/docs/install.md
Executable file
26
Template/docs/install.md
Executable file
@@ -0,0 +1,26 @@
|
||||
## 说明
|
||||
|
||||
---
|
||||
|
||||
拿到框源码后并不是直接双击HTML通过浏览器来运行,这边需要你根据我的文档说明做好基本的环境配置,然后来运行我们的框架。
|
||||
|
||||
请按照我制定的规范来编写前端HTML代码,其他只需要交由框架来帮你搞定一切,或许你不适应这种代码的编写方式甚至没听过所谓的html模板引擎,css预处理器,gulp自动化工具。
|
||||
|
||||
但你需要习惯这种开发方式,大的团队普遍适用的技术套路你真的有必要去学习,不要抱怨,逼着自己埋头苦练技术提升自己的能力才是最根本。
|
||||
|
||||
## 技术架构
|
||||
|
||||
---
|
||||
|
||||
- 1: 基于Node.js开发
|
||||
- 2: gulp作为自动化构建工具
|
||||
- 3: HTML模板引擎采用jade
|
||||
- 4: stylus作为项目css的预编译器
|
||||
- 5: 使用express的来托管gulp编译后的dist/静态文件夹,启动nodejs服务器来访问静态网站查看效果。
|
||||
- 6: concurrently 实现命令的多条并发执行
|
||||
- 7: cli-color 实现终端命令行输出彩色信息
|
||||
- 8: 采用 node-dev ,当我们修改js文件后自动重启node进程
|
||||
- 9: open模块实现自动为你打开浏览器并运行我们的网站
|
||||
- 10: autoprefixer帮你自动解决css3特性的浏览器前缀问题
|
||||
- 11: minify-css,concat为你自动压缩美化合并多个css文件
|
||||
- 12: imagemin 实现图片的自动高清压缩
|
||||
23
Template/docs/team.md
Executable file
23
Template/docs/team.md
Executable file
@@ -0,0 +1,23 @@
|
||||
## 团队
|
||||
|
||||
---
|
||||
|
||||
我们的团队名叫`创想工作室`由一群热衷技术的小伙伴组成,欢迎加入创想工作室QQ群这里有同样热衷技术,也有很多正在学习过程中的小伙伴。
|
||||
|
||||
> <a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=6311ead3dd326b975b76cb90590535973515776cf83d0854c0dc7b4a5c9cebfb"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="创想工作室(技术)" title="创想工作室(技术)"></a>
|
||||
|
||||
## 源码下载
|
||||
|
||||
---
|
||||
|
||||
项目源码已经上传到github,感兴趣的同学可以去github下载代码,这里贴上地址:
|
||||
|
||||
> [https://github.com/helpcode/Whtml](https://github.com/helpcode/Whtml)
|
||||
|
||||
## 鸣谢感恩
|
||||
|
||||
---
|
||||
|
||||
十分感谢众多优秀开源的技术支持,众多开源技术的帮助才能让我们的项目编码更加方便。
|
||||
|
||||
|
||||
53
Template/docs/use.md
Executable file
53
Template/docs/use.md
Executable file
@@ -0,0 +1,53 @@
|
||||
## 目录解读
|
||||
|
||||
---
|
||||
|
||||
首先我们来看以下框架的文件层级结构,从宏观上了解以下框架的基本架构,然后我们在一一解读其具体的源码实现,目录结构图如下:
|
||||
|
||||
```html
|
||||
.
|
||||
├── app.js #通过nodejs的web框架express来启动打包后的dist/静态网站
|
||||
├── config #基本信息配置,一般修改这里即可实现订制
|
||||
│ └── index.js
|
||||
├── dist # gulp编译src产生的文件,我们写完静态页面需要交给后端的就是它
|
||||
├── docs # 框架的帮助文档
|
||||
├── gulpfile.js # 最核心的 gulp 配置文件,看不懂源码情况下不要修改
|
||||
├── Online.zip # gulp 自动zip打包 dist/ 文件夹产生的,直接将这个压缩包发给后端,省事
|
||||
├── package.json # 项目的基本核心配置,你懂的!看不懂源码情况下不要修改
|
||||
├── .gitignore #git 上传忽略文件配置
|
||||
├── CHANGES.md #版本更新日志
|
||||
├── README.md #帮助文档
|
||||
├── src # 核心源码,主要代码编写在这进行,在这的任何操作都会被同步映射更新到dist/
|
||||
│ ├── assets # 存放静态资源
|
||||
│ │ ├── css # css样式
|
||||
│ │ │ ├── layout.styl #css样式主入口,gulp将会从这里进行对css的编译打包
|
||||
│ │ │ ├── page #对应具体页面的css
|
||||
│ │ │ │ ├── header.styl #公共头部样式
|
||||
│ │ │ │ └── index.styl #首页的样式
|
||||
│ │ │ └── public #全局公共的样式
|
||||
│ │ │ ├── colors.styl #全局css颜色的封装
|
||||
│ │ │ ├── lib.styl #全局css方法的封装
|
||||
| | | ├── reset.styl #清除浏览器默认样式
|
||||
│ │ ├── img #网站用到的图片
|
||||
│ │ │ └── gen.svg #测试用的图片[测试可删除]
|
||||
│ │ └── js #存放js脚本
|
||||
│ │ ├── demo.js #index.jade 页面组件的私有js文件[测试可删除]
|
||||
│ │ └── jquery.js #默认自带的 jquery
|
||||
│ │ └── font #存放网站字体
|
||||
│ │ ├── awesome.woff2 #测试用的字体[测试可删除]
|
||||
│ └── view #存放页面的视图jade
|
||||
│ ├── layout.jade #页面试图的核心入口文件
|
||||
│ ├── main #存放主要的页面
|
||||
│ │ └── index.jade #首页
|
||||
│ └── public #公共页面组件
|
||||
│ ├── footer.jade #公共版权
|
||||
│ └── header.jade #公共头部
|
||||
└── utils #框架需要用的工具类
|
||||
│ └── index.js
|
||||
└── sh #shell脚本
|
||||
└── push.sh #自动提交代码到github
|
||||
|
||||
```
|
||||
|
||||
仔细阅读上面对各个文件的作用的解释,这里很关键。
|
||||
|
||||
Reference in New Issue
Block a user