From 1f015730c1b765c39881c06756e4da199455dde7 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Tue, 21 May 2019 12:28:33 +0800 Subject: [PATCH 01/20] refactor code --- crawlab/requirements.txt | 42 ++ docs/Architecture/App 2.md | 2 - docs/Concept/Deploy 2.md | 6 - docs/Examples/README 2.md | 2 - docs/QuickStart/Installation 2.md | 22 - docs/_book/Architecture/App 2.html | 436 ----------------- docs/_book/Architecture/App.html | 6 +- docs/_book/Architecture/Celery.html | 6 +- docs/_book/Architecture/index.html | 6 +- docs/_book/Concept/Deploy 2.html | 438 ----------------- docs/_book/Concept/Deploy.html | 6 +- docs/_book/Concept/Node.html | 6 +- docs/_book/Concept/Spider.html | 6 +- docs/_book/Concept/Task.html | 6 +- docs/_book/Concept/index.html | 6 +- docs/_book/Examples/index 2.html | 436 ----------------- docs/_book/Examples/index.html | 6 +- docs/_book/QuickStart/Installation 2.html | 447 ------------------ docs/_book/QuickStart/Installation.html | 6 +- docs/_book/QuickStart/Run.html | 6 +- docs/_book/QuickStart/index.html | 6 +- .../fonts/fontawesome/FontAwesome 2.otf | Bin 124988 -> 0 bytes .../fontsettings 2.js | 240 ---------- .../gitbook-plugin-highlight/ebook 2.css | 135 ------ .../gitbook/gitbook-plugin-lunr/lunr.min 2.js | 7 - .../gitbook-plugin-search/lunr.min 2.js | 7 - .../gitbook-plugin-sharing/buttons 2.js | 90 ---- .../apple-touch-icon-precomposed-152 2.png | Bin 4817 -> 0 bytes docs/_book/index.html | 6 +- frontend/docs/file-manager-prototype.png | Bin 92019 -> 0 bytes frontend/src/api/login.js | 27 -- frontend/src/api/table.js | 9 - frontend/src/store/index.js | 4 +- spiders/sites_inspector/sites_inspector.py | 76 +++ 34 files changed, 185 insertions(+), 2319 deletions(-) delete mode 100644 docs/Architecture/App 2.md delete mode 100644 docs/Concept/Deploy 2.md delete mode 100644 docs/Examples/README 2.md delete mode 100644 docs/QuickStart/Installation 2.md delete mode 100644 docs/_book/Architecture/App 2.html delete mode 100644 docs/_book/Concept/Deploy 2.html delete mode 100644 docs/_book/Examples/index 2.html delete mode 100644 docs/_book/QuickStart/Installation 2.html delete mode 100644 docs/_book/gitbook/fonts/fontawesome/FontAwesome 2.otf delete mode 100644 docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings 2.js delete mode 100644 docs/_book/gitbook/gitbook-plugin-highlight/ebook 2.css delete mode 100644 docs/_book/gitbook/gitbook-plugin-lunr/lunr.min 2.js delete mode 100644 docs/_book/gitbook/gitbook-plugin-search/lunr.min 2.js delete mode 100644 docs/_book/gitbook/gitbook-plugin-sharing/buttons 2.js delete mode 100644 docs/_book/gitbook/images/apple-touch-icon-precomposed-152 2.png delete mode 100644 frontend/docs/file-manager-prototype.png delete mode 100644 frontend/src/api/login.js delete mode 100644 frontend/src/api/table.js create mode 100644 spiders/sites_inspector/sites_inspector.py diff --git a/crawlab/requirements.txt b/crawlab/requirements.txt index a54862f29..901a56ca1 100644 --- a/crawlab/requirements.txt +++ b/crawlab/requirements.txt @@ -1,35 +1,77 @@ +aiohttp==3.5.4 amqp==2.4.2 aniso8601==6.0.0 +Appium-Python-Client==0.40 APScheduler==3.6.0 +asn1crypto==0.24.0 +async-timeout==3.0.1 attrs==19.1.0 +Automat==0.7.0 Babel==2.6.0 +beautifulsoup4==4.7.1 billiard==3.6.0.0 +bs4==0.0.1 +cachetools==3.1.0 celery==4.3.0 certifi==2019.3.9 +cffi==1.12.3 chardet==3.0.4 Click==7.0 coloredlogs==10.0 +constantly==15.1.0 +cryptography==2.6.1 +cssselect==1.0.3 Flask==1.0.2 +Flask-APScheduler==1.11.0 Flask-Cors==3.0.7 Flask-RESTful==0.3.7 flask-restplus==0.12.1 flower==0.9.3 +gunicorn==19.9.0 +html5lib==1.0.1 humanfriendly==4.18 +hyperlink==19.0.0 idna==2.8 +idna-ssl==1.1.0 +incremental==17.5.0 itsdangerous==1.1.0 Jinja2==2.10 +jsonpickle==1.1 jsonschema==3.0.1 kombu==4.5.0 +lxml==4.3.3 MarkupSafe==1.1.1 mongoengine==0.17.0 +multidict==4.5.2 +parsel==1.5.1 +pyasn1==0.4.5 +pyasn1-modules==0.2.5 +pycparser==2.19 +PyDispatcher==2.0.5 +PyHamcrest==1.9.0 pymongo==3.7.2 +pyOpenSSL==19.0.0 pyrsistent==0.14.11 +python-dateutil==2.8.0 pytz==2018.9 +queuelib==1.5.0 redis==3.2.1 +redisbeat==1.1.4 +reppy==0.4.12 requests==2.21.0 +Scrapy==1.6.0 +selenium==3.141.0 +service-identity==18.1.0 six==1.12.0 +soupsieve==1.9.1 tornado==5.1.1 +Twisted==19.2.0 +typing-extensions==3.7.2 tzlocal==1.5.1 urllib3==1.24.1 vine==1.3.0 +w3lib==1.20.0 +webencodings==0.5.1 Werkzeug==0.15.2 +yarl==1.3.0 +zope.interface==4.6.0 diff --git a/docs/Architecture/App 2.md b/docs/Architecture/App 2.md deleted file mode 100644 index 5d5681fd8..000000000 --- a/docs/Architecture/App 2.md +++ /dev/null @@ -1,2 +0,0 @@ -# App - diff --git a/docs/Concept/Deploy 2.md b/docs/Concept/Deploy 2.md deleted file mode 100644 index 12f55ebf6..000000000 --- a/docs/Concept/Deploy 2.md +++ /dev/null @@ -1,6 +0,0 @@ -# 部署 - -所有爬虫在运行前需要被部署当相应当节点中。 - -部署时,爬虫会被打包到相应的目录中,方便环境隔离,开发环境的爬虫和生产环境的爬虫需要打包部署来实现隔离。 - diff --git a/docs/Examples/README 2.md b/docs/Examples/README 2.md deleted file mode 100644 index 65afe6047..000000000 --- a/docs/Examples/README 2.md +++ /dev/null @@ -1,2 +0,0 @@ -# Examples - diff --git a/docs/QuickStart/Installation 2.md b/docs/QuickStart/Installation 2.md deleted file mode 100644 index 3fce3e1c5..000000000 --- a/docs/QuickStart/Installation 2.md +++ /dev/null @@ -1,22 +0,0 @@ -# 安装 - -最快安装Crawlab的方式是克隆一份代码到本地 - -```bash -git clone https://github.com/tikazyq/crawlab -``` - -安装类库 - -```bash -# 安装后台类库 -pip install -r requirements.txt -``` - -```bash -# 安装前台类库 -cd frontend -npm install -``` - - diff --git a/docs/_book/Architecture/App 2.html b/docs/_book/Architecture/App 2.html deleted file mode 100644 index 0123e0e6f..000000000 --- a/docs/_book/Architecture/App 2.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - - App · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
- -
- -
- - - - - - - - -
-
- -
-
- -
- -

App

- - -
- -
-
-
- -

results matching ""

-
    - -
    -
    - -

    No results matching ""

    - -
    -
    -
    - -
    -
    - -
    - - - - - - - - - - - - - - -
    - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/Architecture/App.html b/docs/_book/Architecture/App.html index 0123e0e6f..9d7633048 100644 --- a/docs/_book/Architecture/App.html +++ b/docs/_book/Architecture/App.html @@ -397,7 +397,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"App","level":"1.4.2","depth":2,"next":{"title":"Examples","level":"1.5","depth":1,"path":"Examples/README.md","ref":"Examples/README.md","articles":[{"title":"与Scrapy集成","level":"1.5.1","depth":2,"path":"Examples/README.md","ref":"Examples/README.md","articles":[]},{"title":"与Puppeteer集成","level":"1.5.2","depth":2,"path":"Examples/README.md","ref":"Examples/README.md","articles":[]}]},"previous":{"title":"Celery","level":"1.4.1","depth":2,"path":"Architecture/Celery.md","ref":"Architecture/Celery.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Architecture/App.md","mtime":"2019-03-28T11:49:43.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"App","level":"1.4.2","depth":2,"next":{"title":"Examples","level":"1.5","depth":1,"path":"Examples/README.md","ref":"Examples/README.md","articles":[{"title":"与Scrapy集成","level":"1.5.1","depth":2,"path":"Examples/README.md","ref":"Examples/README.md","articles":[]},{"title":"与Puppeteer集成","level":"1.5.2","depth":2,"path":"Examples/README.md","ref":"Examples/README.md","articles":[]}]},"previous":{"title":"Celery","level":"1.4.1","depth":2,"path":"Architecture/Celery.md","ref":"Architecture/Celery.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Architecture/App.md","mtime":"2019-03-28T11:49:43.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -407,6 +407,10 @@

    No results matching " + + + + diff --git a/docs/_book/Architecture/Celery.html b/docs/_book/Architecture/Celery.html index 128cf0232..38ef5b596 100644 --- a/docs/_book/Architecture/Celery.html +++ b/docs/_book/Architecture/Celery.html @@ -397,7 +397,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Celery","level":"1.4.1","depth":2,"next":{"title":"App","level":"1.4.2","depth":2,"path":"Architecture/App.md","ref":"Architecture/App.md","articles":[]},"previous":{"title":"架构","level":"1.4","depth":1,"path":"Architecture/README.md","ref":"Architecture/README.md","articles":[{"title":"Celery","level":"1.4.1","depth":2,"path":"Architecture/Celery.md","ref":"Architecture/Celery.md","articles":[]},{"title":"App","level":"1.4.2","depth":2,"path":"Architecture/App.md","ref":"Architecture/App.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Architecture/Celery.md","mtime":"2019-03-28T11:49:43.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Celery","level":"1.4.1","depth":2,"next":{"title":"App","level":"1.4.2","depth":2,"path":"Architecture/App.md","ref":"Architecture/App.md","articles":[]},"previous":{"title":"架构","level":"1.4","depth":1,"path":"Architecture/README.md","ref":"Architecture/README.md","articles":[{"title":"Celery","level":"1.4.1","depth":2,"path":"Architecture/Celery.md","ref":"Architecture/Celery.md","articles":[]},{"title":"App","level":"1.4.2","depth":2,"path":"Architecture/App.md","ref":"Architecture/App.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Architecture/Celery.md","mtime":"2019-03-28T11:49:43.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -407,6 +407,10 @@

    No results matching " + + + + diff --git a/docs/_book/Architecture/index.html b/docs/_book/Architecture/index.html index 581f6f171..de925ce3f 100644 --- a/docs/_book/Architecture/index.html +++ b/docs/_book/Architecture/index.html @@ -397,7 +397,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"架构","level":"1.4","depth":1,"next":{"title":"Celery","level":"1.4.1","depth":2,"path":"Architecture/Celery.md","ref":"Architecture/Celery.md","articles":[]},"previous":{"title":"部署","level":"1.3.4","depth":2,"path":"Concept/Deploy.md","ref":"Concept/Deploy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Architecture/README.md","mtime":"2019-03-28T11:41:28.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"架构","level":"1.4","depth":1,"next":{"title":"Celery","level":"1.4.1","depth":2,"path":"Architecture/Celery.md","ref":"Architecture/Celery.md","articles":[]},"previous":{"title":"部署","level":"1.3.4","depth":2,"path":"Concept/Deploy.md","ref":"Concept/Deploy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Architecture/README.md","mtime":"2019-03-28T11:41:28.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -407,6 +407,10 @@

    No results matching " + + + + diff --git a/docs/_book/Concept/Deploy 2.html b/docs/_book/Concept/Deploy 2.html deleted file mode 100644 index d7d110dbb..000000000 --- a/docs/_book/Concept/Deploy 2.html +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - 部署 · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - -
    - - - - - - - - -
    -
    - -
    -
    - -
    - -

    部署

    -

    所有爬虫在运行前需要被部署当相应当节点中。

    -

    部署时,爬虫会被打包到相应的目录中,方便环境隔离,开发环境的爬虫和生产环境的爬虫需要打包部署来实现隔离。

    - - -
    - -
    -
    -
    - -

    results matching ""

    -
      - -
      -
      - -

      No results matching ""

      - -
      -
      -
      - -
      -
      - -
      - - - - - - - - - - - - - - -
      - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/Concept/Deploy.html b/docs/_book/Concept/Deploy.html index d7d110dbb..1026cf5a3 100644 --- a/docs/_book/Concept/Deploy.html +++ b/docs/_book/Concept/Deploy.html @@ -399,7 +399,7 @@

      No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"部署","level":"1.3.4","depth":2,"next":{"title":"架构","level":"1.4","depth":1,"path":"Architecture/README.md","ref":"Architecture/README.md","articles":[{"title":"Celery","level":"1.4.1","depth":2,"path":"Architecture/Celery.md","ref":"Architecture/Celery.md","articles":[]},{"title":"App","level":"1.4.2","depth":2,"path":"Architecture/App.md","ref":"Architecture/App.md","articles":[]}]},"previous":{"title":"任务","level":"1.3.3","depth":2,"path":"Concept/Task.md","ref":"Concept/Task.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/Deploy.md","mtime":"2019-03-28T12:06:24.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"部署","level":"1.3.4","depth":2,"next":{"title":"架构","level":"1.4","depth":1,"path":"Architecture/README.md","ref":"Architecture/README.md","articles":[{"title":"Celery","level":"1.4.1","depth":2,"path":"Architecture/Celery.md","ref":"Architecture/Celery.md","articles":[]},{"title":"App","level":"1.4.2","depth":2,"path":"Architecture/App.md","ref":"Architecture/App.md","articles":[]}]},"previous":{"title":"任务","level":"1.3.3","depth":2,"path":"Concept/Task.md","ref":"Concept/Task.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/Deploy.md","mtime":"2019-03-28T12:06:24.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -409,6 +409,10 @@

      No results matching " + + + + diff --git a/docs/_book/Concept/Node.html b/docs/_book/Concept/Node.html index cb720eded..804289862 100644 --- a/docs/_book/Concept/Node.html +++ b/docs/_book/Concept/Node.html @@ -398,7 +398,7 @@

      No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"节点","level":"1.3.1","depth":2,"next":{"title":"爬虫","level":"1.3.2","depth":2,"path":"Concept/Spider.md","ref":"Concept/Spider.md","articles":[]},"previous":{"title":"概念","level":"1.3","depth":1,"path":"Concept/README.md","ref":"Concept/README.md","articles":[{"title":"节点","level":"1.3.1","depth":2,"path":"Concept/Node.md","ref":"Concept/Node.md","articles":[]},{"title":"爬虫","level":"1.3.2","depth":2,"path":"Concept/Spider.md","ref":"Concept/Spider.md","articles":[]},{"title":"任务","level":"1.3.3","depth":2,"path":"Concept/Task.md","ref":"Concept/Task.md","articles":[]},{"title":"部署","level":"1.3.4","depth":2,"path":"Concept/Deploy.md","ref":"Concept/Deploy.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/Node.md","mtime":"2019-03-28T12:02:43.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"节点","level":"1.3.1","depth":2,"next":{"title":"爬虫","level":"1.3.2","depth":2,"path":"Concept/Spider.md","ref":"Concept/Spider.md","articles":[]},"previous":{"title":"概念","level":"1.3","depth":1,"path":"Concept/README.md","ref":"Concept/README.md","articles":[{"title":"节点","level":"1.3.1","depth":2,"path":"Concept/Node.md","ref":"Concept/Node.md","articles":[]},{"title":"爬虫","level":"1.3.2","depth":2,"path":"Concept/Spider.md","ref":"Concept/Spider.md","articles":[]},{"title":"任务","level":"1.3.3","depth":2,"path":"Concept/Task.md","ref":"Concept/Task.md","articles":[]},{"title":"部署","level":"1.3.4","depth":2,"path":"Concept/Deploy.md","ref":"Concept/Deploy.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/Node.md","mtime":"2019-03-28T12:02:43.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -408,6 +408,10 @@

      No results matching " + + + + diff --git a/docs/_book/Concept/Spider.html b/docs/_book/Concept/Spider.html index 887c941e7..3021513da 100644 --- a/docs/_book/Concept/Spider.html +++ b/docs/_book/Concept/Spider.html @@ -403,7 +403,7 @@

      No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"爬虫","level":"1.3.2","depth":2,"next":{"title":"任务","level":"1.3.3","depth":2,"path":"Concept/Task.md","ref":"Concept/Task.md","articles":[]},"previous":{"title":"节点","level":"1.3.1","depth":2,"path":"Concept/Node.md","ref":"Concept/Node.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/Spider.md","mtime":"2019-03-28T12:03:08.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"爬虫","level":"1.3.2","depth":2,"next":{"title":"任务","level":"1.3.3","depth":2,"path":"Concept/Task.md","ref":"Concept/Task.md","articles":[]},"previous":{"title":"节点","level":"1.3.1","depth":2,"path":"Concept/Node.md","ref":"Concept/Node.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/Spider.md","mtime":"2019-03-28T12:03:08.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -413,6 +413,10 @@

      No results matching " + + + + diff --git a/docs/_book/Concept/Task.html b/docs/_book/Concept/Task.html index eca91bc30..6b2584cde 100644 --- a/docs/_book/Concept/Task.html +++ b/docs/_book/Concept/Task.html @@ -398,7 +398,7 @@

      No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"任务","level":"1.3.3","depth":2,"next":{"title":"部署","level":"1.3.4","depth":2,"path":"Concept/Deploy.md","ref":"Concept/Deploy.md","articles":[]},"previous":{"title":"爬虫","level":"1.3.2","depth":2,"path":"Concept/Spider.md","ref":"Concept/Spider.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/Task.md","mtime":"2019-03-28T12:04:12.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"任务","level":"1.3.3","depth":2,"next":{"title":"部署","level":"1.3.4","depth":2,"path":"Concept/Deploy.md","ref":"Concept/Deploy.md","articles":[]},"previous":{"title":"爬虫","level":"1.3.2","depth":2,"path":"Concept/Spider.md","ref":"Concept/Spider.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/Task.md","mtime":"2019-03-28T12:04:12.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -408,6 +408,10 @@

      No results matching " + + + + diff --git a/docs/_book/Concept/index.html b/docs/_book/Concept/index.html index b9d9296ab..9af874258 100644 --- a/docs/_book/Concept/index.html +++ b/docs/_book/Concept/index.html @@ -397,7 +397,7 @@

      No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"概念","level":"1.3","depth":1,"next":{"title":"节点","level":"1.3.1","depth":2,"path":"Concept/Node.md","ref":"Concept/Node.md","articles":[]},"previous":{"title":"运行","level":"1.2.2","depth":2,"path":"QuickStart/Run.md","ref":"QuickStart/Run.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/README.md","mtime":"2019-03-28T11:49:43.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"概念","level":"1.3","depth":1,"next":{"title":"节点","level":"1.3.1","depth":2,"path":"Concept/Node.md","ref":"Concept/Node.md","articles":[]},"previous":{"title":"运行","level":"1.2.2","depth":2,"path":"QuickStart/Run.md","ref":"QuickStart/Run.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Concept/README.md","mtime":"2019-03-28T11:49:43.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -407,6 +407,10 @@

      No results matching " + + + + diff --git a/docs/_book/Examples/index 2.html b/docs/_book/Examples/index 2.html deleted file mode 100644 index 285296a55..000000000 --- a/docs/_book/Examples/index 2.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - - Examples · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      - - - - - - - - -
      - -
      - -
      - - - - - - - - -
      -
      - -
      -
      - -
      - -

      Examples

      - - -
      - -
      -
      -
      - -

      results matching ""

      -
        - -
        -
        - -

        No results matching ""

        - -
        -
        -
        - -
        -
        - -
        - - - - - - - - - - - - - - -
        - - -
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/Examples/index.html b/docs/_book/Examples/index.html index 285296a55..f936aeaa9 100644 --- a/docs/_book/Examples/index.html +++ b/docs/_book/Examples/index.html @@ -397,7 +397,7 @@

        No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Examples","level":"1.5","depth":1,"next":{"title":"与Scrapy集成","level":"1.5.1","depth":2,"path":"Examples/README.md","ref":"Examples/README.md","articles":[]},"previous":{"title":"App","level":"1.4.2","depth":2,"path":"Architecture/App.md","ref":"Architecture/App.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Examples/README.md","mtime":"2019-03-28T11:41:28.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Examples","level":"1.5","depth":1,"next":{"title":"与Scrapy集成","level":"1.5.1","depth":2,"path":"Examples/README.md","ref":"Examples/README.md","articles":[]},"previous":{"title":"App","level":"1.4.2","depth":2,"path":"Architecture/App.md","ref":"Architecture/App.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Examples/README.md","mtime":"2019-03-28T11:41:28.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -407,6 +407,10 @@

        No results matching " + + + + diff --git a/docs/_book/QuickStart/Installation 2.html b/docs/_book/QuickStart/Installation 2.html deleted file mode 100644 index fcbd254fc..000000000 --- a/docs/_book/QuickStart/Installation 2.html +++ /dev/null @@ -1,447 +0,0 @@ - - - - - - - 安装 · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        -
        - - - - - - - - -
        - -
        - -
        - - - - - - - - -
        -
        - -
        -
        - -
        - -

        安装

        -

        最快安装Crawlab的方式是克隆一份代码到本地

        -
        git clone https://github.com/tikazyq/crawlab
        -
        -

        安装类库

        -
        # 安装后台类库
        -pip install -r requirements.txt
        -
        -
        # 安装前台类库
        -cd frontend
        -npm install
        -
        - - -
        - -
        -
        -
        - -

        results matching ""

        -
          - -
          -
          - -

          No results matching ""

          - -
          -
          -
          - -
          -
          - -
          - - - - - - - - - - - - - - -
          - - -
          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/QuickStart/Installation.html b/docs/_book/QuickStart/Installation.html index fcbd254fc..49bad4b82 100644 --- a/docs/_book/QuickStart/Installation.html +++ b/docs/_book/QuickStart/Installation.html @@ -408,7 +408,7 @@

          No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"安装","level":"1.2.1","depth":2,"next":{"title":"运行","level":"1.2.2","depth":2,"path":"QuickStart/Run.md","ref":"QuickStart/Run.md","articles":[]},"previous":{"title":"快速开始","level":"1.2","depth":1,"path":"QuickStart/README.md","ref":"QuickStart/README.md","articles":[{"title":"安装","level":"1.2.1","depth":2,"path":"QuickStart/Installation.md","ref":"QuickStart/Installation.md","articles":[]},{"title":"运行","level":"1.2.2","depth":2,"path":"QuickStart/Run.md","ref":"QuickStart/Run.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"QuickStart/Installation.md","mtime":"2019-03-28T11:55:48.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"安装","level":"1.2.1","depth":2,"next":{"title":"运行","level":"1.2.2","depth":2,"path":"QuickStart/Run.md","ref":"QuickStart/Run.md","articles":[]},"previous":{"title":"快速开始","level":"1.2","depth":1,"path":"QuickStart/README.md","ref":"QuickStart/README.md","articles":[{"title":"安装","level":"1.2.1","depth":2,"path":"QuickStart/Installation.md","ref":"QuickStart/Installation.md","articles":[]},{"title":"运行","level":"1.2.2","depth":2,"path":"QuickStart/Run.md","ref":"QuickStart/Run.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"QuickStart/Installation.md","mtime":"2019-03-28T11:55:48.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -418,6 +418,10 @@

          No results matching " + + + + diff --git a/docs/_book/QuickStart/Run.html b/docs/_book/QuickStart/Run.html index c94c094b7..6018fc539 100644 --- a/docs/_book/QuickStart/Run.html +++ b/docs/_book/QuickStart/Run.html @@ -440,7 +440,7 @@

          No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"运行","level":"1.2.2","depth":2,"next":{"title":"概念","level":"1.3","depth":1,"path":"Concept/README.md","ref":"Concept/README.md","articles":[{"title":"节点","level":"1.3.1","depth":2,"path":"Concept/Node.md","ref":"Concept/Node.md","articles":[]},{"title":"爬虫","level":"1.3.2","depth":2,"path":"Concept/Spider.md","ref":"Concept/Spider.md","articles":[]},{"title":"任务","level":"1.3.3","depth":2,"path":"Concept/Task.md","ref":"Concept/Task.md","articles":[]},{"title":"部署","level":"1.3.4","depth":2,"path":"Concept/Deploy.md","ref":"Concept/Deploy.md","articles":[]}]},"previous":{"title":"安装","level":"1.2.1","depth":2,"path":"QuickStart/Installation.md","ref":"QuickStart/Installation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"QuickStart/Run.md","mtime":"2019-03-28T12:00:11.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"运行","level":"1.2.2","depth":2,"next":{"title":"概念","level":"1.3","depth":1,"path":"Concept/README.md","ref":"Concept/README.md","articles":[{"title":"节点","level":"1.3.1","depth":2,"path":"Concept/Node.md","ref":"Concept/Node.md","articles":[]},{"title":"爬虫","level":"1.3.2","depth":2,"path":"Concept/Spider.md","ref":"Concept/Spider.md","articles":[]},{"title":"任务","level":"1.3.3","depth":2,"path":"Concept/Task.md","ref":"Concept/Task.md","articles":[]},{"title":"部署","level":"1.3.4","depth":2,"path":"Concept/Deploy.md","ref":"Concept/Deploy.md","articles":[]}]},"previous":{"title":"安装","level":"1.2.1","depth":2,"path":"QuickStart/Installation.md","ref":"QuickStart/Installation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"QuickStart/Run.md","mtime":"2019-03-28T12:00:11.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -450,6 +450,10 @@

          No results matching " + + + + diff --git a/docs/_book/QuickStart/index.html b/docs/_book/QuickStart/index.html index c4cf78f87..9691dcadf 100644 --- a/docs/_book/QuickStart/index.html +++ b/docs/_book/QuickStart/index.html @@ -401,7 +401,7 @@

          No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"快速开始","level":"1.2","depth":1,"next":{"title":"安装","level":"1.2.1","depth":2,"path":"QuickStart/Installation.md","ref":"QuickStart/Installation.md","articles":[]},"previous":{"title":"简介","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"QuickStart/README.md","mtime":"2019-03-28T12:02:02.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"快速开始","level":"1.2","depth":1,"next":{"title":"安装","level":"1.2.1","depth":2,"path":"QuickStart/Installation.md","ref":"QuickStart/Installation.md","articles":[]},"previous":{"title":"简介","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"QuickStart/README.md","mtime":"2019-03-28T12:02:02.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":"..","book":{"language":""}}); }); @@ -411,6 +411,10 @@

          No results matching " + + + + diff --git a/docs/_book/gitbook/fonts/fontawesome/FontAwesome 2.otf b/docs/_book/gitbook/fonts/fontawesome/FontAwesome 2.otf deleted file mode 100644 index d4de13e832d567ff29c5b4e9561b8c370348cc9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124988 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ÐT?>-5aYhU|+1c>&YMpPK5x#-mbV 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'NS^o{z1ZKlHsAybrl=JE7AP369ntV%vB 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 CDx5C> diff --git a/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings 2.js b/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings 2.js deleted file mode 100644 index ff7be7141..000000000 --- a/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings 2.js +++ /dev/null @@ -1,240 +0,0 @@ -require(['gitbook', 'jquery'], function(gitbook, $) { - // Configuration - var MAX_SIZE = 4, - MIN_SIZE = 0, - BUTTON_ID; - - // Current fontsettings state - var fontState; - - // Default themes - var THEMES = [ - { - config: 'white', - text: 'White', - id: 0 - }, - { - config: 'sepia', - text: 'Sepia', - id: 1 - }, - { - config: 'night', - text: 'Night', - id: 2 - } - ]; - - // Default font families - var FAMILIES = [ - { - config: 'serif', - text: 'Serif', - id: 0 - }, - { - config: 'sans', - text: 'Sans', - id: 1 - } - ]; - - // Return configured themes - function getThemes() { - return THEMES; - } - - // Modify configured themes - function setThemes(themes) { - THEMES = themes; - updateButtons(); - } - - // Return configured font families - function getFamilies() { - return FAMILIES; - } - - // Modify configured font families - function setFamilies(families) { - FAMILIES = families; - updateButtons(); - } - - // Save current font settings - function saveFontSettings() { - gitbook.storage.set('fontState', fontState); - update(); - } - - // Increase font size - function enlargeFontSize(e) { - e.preventDefault(); - if (fontState.size >= MAX_SIZE) return; - - fontState.size++; - saveFontSettings(); - } - - // Decrease font size - function reduceFontSize(e) { - e.preventDefault(); - if (fontState.size <= MIN_SIZE) return; - - fontState.size--; - saveFontSettings(); - } - - // Change font family - function changeFontFamily(configName, e) { - if (e && e instanceof Event) { - e.preventDefault(); - } - - var familyId = getFontFamilyId(configName); - fontState.family = familyId; - saveFontSettings(); - } - - // Change type of color theme - function changeColorTheme(configName, e) { - if (e && e instanceof Event) { - e.preventDefault(); - } - - var $book = gitbook.state.$book; - - // Remove currently applied color theme - if (fontState.theme !== 0) - $book.removeClass('color-theme-'+fontState.theme); - - // Set new color theme - var themeId = getThemeId(configName); - fontState.theme = themeId; - if (fontState.theme !== 0) - $book.addClass('color-theme-'+fontState.theme); - - saveFontSettings(); - } - - // Return the correct id for a font-family config key - // Default to first font-family - function getFontFamilyId(configName) { - // Search for plugin configured font family - var configFamily = $.grep(FAMILIES, function(family) { - return family.config == configName; - })[0]; - // Fallback to default font family - return (!!configFamily)? configFamily.id : 0; - } - - // Return the correct id for a theme config key - // Default to first theme - function getThemeId(configName) { - // Search for plugin configured theme - var configTheme = $.grep(THEMES, function(theme) { - return theme.config == configName; - })[0]; - // Fallback to default theme - return (!!configTheme)? configTheme.id : 0; - } - - function update() { - var $book = gitbook.state.$book; - - $('.font-settings .font-family-list li').removeClass('active'); - $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active'); - - $book[0].className = $book[0].className.replace(/\bfont-\S+/g, ''); - $book.addClass('font-size-'+fontState.size); - $book.addClass('font-family-'+fontState.family); - - if(fontState.theme !== 0) { - $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, ''); - $book.addClass('color-theme-'+fontState.theme); - } - } - - function init(config) { - // Search for plugin configured font family - var configFamily = getFontFamilyId(config.family), - configTheme = getThemeId(config.theme); - - // Instantiate font state object - fontState = gitbook.storage.get('fontState', { - size: config.size || 2, - family: configFamily, - theme: configTheme - }); - - update(); - } - - function updateButtons() { - // Remove existing fontsettings buttons - if (!!BUTTON_ID) { - gitbook.toolbar.removeButton(BUTTON_ID); - } - - // Create buttons in toolbar - BUTTON_ID = gitbook.toolbar.createButton({ - icon: 'fa fa-font', - label: 'Font Settings', - className: 'font-settings', - dropdown: [ - [ - { - text: 'A', - className: 'font-reduce', - onClick: reduceFontSize - }, - { - text: 'A', - className: 'font-enlarge', - onClick: enlargeFontSize - } - ], - $.map(FAMILIES, function(family) { - family.onClick = function(e) { - return changeFontFamily(family.config, e); - }; - - return family; - }), - $.map(THEMES, function(theme) { - theme.onClick = function(e) { - return changeColorTheme(theme.config, e); - }; - - return theme; - }) - ] - }); - } - - // Init configuration at start - gitbook.events.bind('start', function(e, config) { - var opts = config.fontsettings; - - // Generate buttons at start - updateButtons(); - - // Init current settings - init(opts); - }); - - // Expose API - gitbook.fontsettings = { - enlargeFontSize: enlargeFontSize, - reduceFontSize: reduceFontSize, - setTheme: changeColorTheme, - setFamily: changeFontFamily, - getThemes: getThemes, - setThemes: setThemes, - getFamilies: getFamilies, - setFamilies: setFamilies - }; -}); - - diff --git a/docs/_book/gitbook/gitbook-plugin-highlight/ebook 2.css b/docs/_book/gitbook/gitbook-plugin-highlight/ebook 2.css deleted file mode 100644 index cecaaab5a..000000000 --- a/docs/_book/gitbook/gitbook-plugin-highlight/ebook 2.css +++ /dev/null @@ -1,135 +0,0 @@ -pre, -code { - /* http://jmblog.github.io/color-themes-for-highlightjs */ - /* Tomorrow Comment */ - /* Tomorrow Red */ - /* Tomorrow Orange */ - /* Tomorrow Yellow */ - /* Tomorrow Green */ - /* Tomorrow Aqua */ - /* Tomorrow Blue */ - /* Tomorrow Purple */ -} -pre .hljs-comment, -code .hljs-comment, -pre .hljs-title, -code .hljs-title { - color: #8e908c; -} -pre .hljs-variable, -code .hljs-variable, -pre .hljs-attribute, -code .hljs-attribute, -pre .hljs-tag, -code .hljs-tag, -pre .hljs-regexp, -code .hljs-regexp, -pre .hljs-deletion, -code .hljs-deletion, -pre .ruby .hljs-constant, -code .ruby .hljs-constant, -pre .xml .hljs-tag .hljs-title, -code .xml .hljs-tag .hljs-title, -pre .xml .hljs-pi, -code .xml .hljs-pi, -pre .xml .hljs-doctype, -code .xml .hljs-doctype, -pre .html .hljs-doctype, -code .html .hljs-doctype, -pre .css .hljs-id, -code .css .hljs-id, -pre .css .hljs-class, -code .css .hljs-class, -pre .css .hljs-pseudo, -code .css .hljs-pseudo { - color: #c82829; -} -pre .hljs-number, -code .hljs-number, -pre .hljs-preprocessor, -code .hljs-preprocessor, -pre .hljs-pragma, -code .hljs-pragma, -pre .hljs-built_in, -code .hljs-built_in, -pre .hljs-literal, -code .hljs-literal, -pre .hljs-params, -code .hljs-params, -pre .hljs-constant, -code .hljs-constant { - color: #f5871f; -} -pre .ruby .hljs-class .hljs-title, -code .ruby .hljs-class .hljs-title, -pre .css .hljs-rules .hljs-attribute, -code .css .hljs-rules .hljs-attribute { - color: #eab700; -} -pre .hljs-string, -code .hljs-string, -pre .hljs-value, -code .hljs-value, -pre .hljs-inheritance, -code .hljs-inheritance, -pre .hljs-header, -code .hljs-header, -pre .hljs-addition, -code .hljs-addition, -pre .ruby .hljs-symbol, -code .ruby .hljs-symbol, -pre .xml .hljs-cdata, -code .xml .hljs-cdata { - color: #718c00; -} -pre .css .hljs-hexcolor, -code .css .hljs-hexcolor { - color: #3e999f; -} -pre .hljs-function, -code .hljs-function, -pre .python .hljs-decorator, -code .python .hljs-decorator, -pre .python .hljs-title, -code .python .hljs-title, -pre .ruby .hljs-function .hljs-title, -code .ruby .hljs-function .hljs-title, -pre .ruby .hljs-title .hljs-keyword, -code .ruby .hljs-title .hljs-keyword, -pre .perl .hljs-sub, -code .perl .hljs-sub, -pre .javascript .hljs-title, -code .javascript .hljs-title, -pre .coffeescript .hljs-title, -code .coffeescript .hljs-title { - color: #4271ae; -} -pre .hljs-keyword, -code .hljs-keyword, -pre .javascript .hljs-function, -code .javascript .hljs-function { - color: #8959a8; -} -pre .hljs, -code .hljs { - display: block; - background: white; - color: #4d4d4c; - padding: 0.5em; -} -pre .coffeescript .javascript, -code .coffeescript .javascript, -pre .javascript .xml, -code .javascript .xml, -pre .tex .hljs-formula, -code .tex .hljs-formula, -pre .xml .javascript, -code .xml .javascript, -pre .xml .vbscript, -code .xml .vbscript, -pre .xml .css, -code .xml .css, -pre .xml .hljs-cdata, -code .xml .hljs-cdata { - opacity: 0.5; -} diff --git a/docs/_book/gitbook/gitbook-plugin-lunr/lunr.min 2.js b/docs/_book/gitbook/gitbook-plugin-lunr/lunr.min 2.js deleted file mode 100644 index 6aa6bc7d6..000000000 --- a/docs/_book/gitbook/gitbook-plugin-lunr/lunr.min 2.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12 - * Copyright (C) 2015 Oliver Nightingale - * MIT Licensed - * @license - */ -!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;no;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n 0) { - gitbook.toolbar.createButton({ - icon: 'fa fa-share-alt', - label: 'Share', - position: 'right', - dropdown: [menu] - }); - } - - // Direct actions to share - $.each(SITES, function(sideId, site) { - if (!opts[sideId]) return; - - gitbook.toolbar.createButton({ - icon: site.icon, - label: site.text, - position: 'right', - onClick: site.onClick - }); - }); - }); -}); diff --git a/docs/_book/gitbook/images/apple-touch-icon-precomposed-152 2.png b/docs/_book/gitbook/images/apple-touch-icon-precomposed-152 2.png deleted file mode 100644 index f0adcfd0bbeec43834757908ec281bc024cbe407..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4817 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 diff --git a/docs/_book/index.html b/docs/_book/index.html index f38301841..02bbe10d3 100644 --- a/docs/_book/index.html +++ b/docs/_book/index.html @@ -548,7 +548,7 @@

          No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"简介","level":"1.1","depth":1,"next":{"title":"快速开始","level":"1.2","depth":1,"path":"QuickStart/README.md","ref":"QuickStart/README.md","articles":[{"title":"安装","level":"1.2.1","depth":2,"path":"QuickStart/Installation.md","ref":"QuickStart/Installation.md","articles":[]},{"title":"运行","level":"1.2.2","depth":2,"path":"QuickStart/Run.md","ref":"QuickStart/Run.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"README.md","mtime":"2019-03-28T11:44:15.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-28T12:07:05.349Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"简介","level":"1.1","depth":1,"next":{"title":"快速开始","level":"1.2","depth":1,"path":"QuickStart/README.md","ref":"QuickStart/README.md","articles":[{"title":"安装","level":"1.2.1","depth":2,"path":"QuickStart/Installation.md","ref":"QuickStart/Installation.md","articles":[]},{"title":"运行","level":"1.2.2","depth":2,"path":"QuickStart/Run.md","ref":"QuickStart/Run.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"README.md","mtime":"2019-03-28T11:44:15.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-16T11:37:08.921Z"},"basePath":".","book":{"language":""}}); }); @@ -558,6 +558,10 @@

          No results matching " + + + + diff --git a/frontend/docs/file-manager-prototype.png b/frontend/docs/file-manager-prototype.png deleted file mode 100644 index 270435b7e232204cd62671b093dc30646277d624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92019 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 diff --git a/frontend/src/api/login.js b/frontend/src/api/login.js deleted file mode 100644 index 4699f07e9..000000000 --- a/frontend/src/api/login.js +++ /dev/null @@ -1,27 +0,0 @@ -import request from '@/utils/request' - -export function login (username, password) { - return request({ - url: '/user/login', - method: 'post', - data: { - username, - password - } - }) -} - -export function getInfo (token) { - return request({ - url: '/user/info', - method: 'get', - params: { token } - }) -} - -export function logout () { - return request({ - url: '/user/logout', - method: 'post' - }) -} diff --git a/frontend/src/api/table.js b/frontend/src/api/table.js deleted file mode 100644 index 95d1df604..000000000 --- a/frontend/src/api/table.js +++ /dev/null @@ -1,9 +0,0 @@ -import request from '@/utils/request' - -export function getList (params) { - return request({ - url: '/table/list', - method: 'get', - params - }) -} diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index 33ae9f404..57fb5065c 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -1,7 +1,7 @@ import Vue from 'vue' import Vuex from 'vuex' import app from './modules/app' -import user from './modules/user' +// import user from './modules/user' import tagsView from './modules/tagsView' import dialogView from './modules/dialogView' import node from './modules/node' @@ -19,7 +19,7 @@ Vue.use(Vuex) const store = new Vuex.Store({ modules: { app, - user, + // user, tagsView, dialogView, node, diff --git a/spiders/sites_inspector/sites_inspector.py b/spiders/sites_inspector/sites_inspector.py new file mode 100644 index 000000000..80c9c60af --- /dev/null +++ b/spiders/sites_inspector/sites_inspector.py @@ -0,0 +1,76 @@ +import asyncio +import os +from datetime import datetime + +import aiohttp +import requests + +from pymongo import MongoClient + +# MONGO_HOST = os.environ['MONGO_HOST'] +# MONGO_PORT = int(os.environ['MONGO_PORT']) +# MONGO_DB = os.environ['MONGO_DB'] +MONGO_HOST = 'localhost' +MONGO_PORT = 27017 +MONGO_DB = 'crawlab_test' + +mongo = MongoClient(host=MONGO_HOST, port=MONGO_PORT) +db = mongo[MONGO_DB] +col = db['sites'] + + +async def process_response(resp, **kwargs): + url = kwargs.get('url') + status = resp.status # 读取状态 + if status == 200: + col.update({'_id': url}, {'$set': {'has_robots': True}}) + else: + # 错误状态 + col.update({'_id': url}, {'$set': {'has_robots': False}}) + + +async def process_home_page_response(resp, **kwargs): + url = kwargs.get('url') + duration = kwargs.get('duration') + status = resp.status # 读取状态 + col.update({'_id': url}, {'$set': {'home_http_status': status, 'home_response_time': duration}}) + + +async def request_site(url: str, semaphore): + _url = 'http://' + url + '/robots.txt' + print('crawling ' + _url) + async with semaphore: + async with aiohttp.ClientSession() as session: # <1> 开启一个会话 + async with session.get(_url) as resp: # 发送请求 + await process_response(resp=resp, url=url) + print('crawled ' + _url) + # resp = requests.get(_url) + return resp + + +async def request_site_home_page(url: str, semophore): + _url = 'http://' + url + print('crawling ' + _url) + async with semophore: + tic = datetime.now() + async with aiohttp.ClientSession() as session: # <1> 开启一个会话 + async with session.get(_url) as resp: # 发送请求 + toc = datetime.now() + duration = (toc - tic).total_seconds() + await process_home_page_response(resp=resp, url=url, duration=duration) + print('crawled ' + _url) + + +async def run(): + semaphore = asyncio.Semaphore(50) # 限制并发量为50 + sites = [site for site in col.find({'rank': {'$lte': 5000}})] + urls = [site['_id'] for site in sites] + to_get = [request_site(url, semaphore) for url in urls] + to_get += [request_site_home_page(url, semaphore) for url in urls] + await asyncio.wait(to_get) + + +if __name__ == '__main__': + loop = asyncio.get_event_loop() + loop.run_until_complete(run()) + loop.close() From 97752ba7055b32acab445aa6988ad1abf7bcfe30 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Tue, 21 May 2019 13:34:07 +0800 Subject: [PATCH 02/20] =?UTF-8?q?=E6=B7=BB=E5=8A=A0robots.txt=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/i18n/zh.js | 2 + frontend/src/views/site/SiteList.vue | 101 ++++++++++++++++++++++++++- 2 files changed, 100 insertions(+), 3 deletions(-) diff --git a/frontend/src/i18n/zh.js b/frontend/src/i18n/zh.js index dd1d529eb..e33bfa832 100644 --- a/frontend/src/i18n/zh.js +++ b/frontend/src/i18n/zh.js @@ -139,6 +139,8 @@ export default { 'Select': '请选择', 'Select Category': '请选择类别', 'Spider Count': '爬虫数', + 'Robots Protocol': 'Robots 协议', + 'Home Page Response Time': '首页响应时间(秒)', // 文件 'Choose Folder': '选择文件', diff --git a/frontend/src/views/site/SiteList.vue b/frontend/src/views/site/SiteList.vue index 9c053dc5e..4453b7827 100644 --- a/frontend/src/views/site/SiteList.vue +++ b/frontend/src/views/site/SiteList.vue @@ -21,6 +21,7 @@ + + + + + + d.name).indexOf(columnName) } }, created () { @@ -202,4 +262,39 @@ export default { .table >>> .domain { text-decoration: underline; } + + .table >>> .status { + } + + .table >>> .status.info { + color: #909399; + background: rgba(144, 147, 153, .1); + } + + .table >>> .status.danger { + color: #f56c6c; + background: rgba(245, 108, 108, .1); + } + + .table >>> .status.success { + color: #67c23a; + background: rgba(103, 194, 58, .1); + } + + .table >>> .status.primary { + color: #409eff; + background: rgba(64, 158, 255, .1); + } + + .table >>> .status.warning { + color: #e6a23c; + background: rgba(230, 162, 60, .1); + } + + .table >>> a { + display: inline-block; + width: 100%; + height: 100%; + } + From b5dc9ca30daa9ffb3b14fe23447a23bb353e5f02 Mon Sep 17 00:00:00 2001 From: woshixiaoqianbi Date: Tue, 21 May 2019 18:00:03 +0800 Subject: [PATCH 03/20] restore router tag --- frontend/src/views/layout/Layout.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/views/layout/Layout.vue b/frontend/src/views/layout/Layout.vue index bf284ee6c..2b182d31c 100644 --- a/frontend/src/views/layout/Layout.vue +++ b/frontend/src/views/layout/Layout.vue @@ -4,7 +4,7 @@
          - +
          @@ -14,8 +14,8 @@ import { Navbar, Sidebar, - AppMain - // TagsView + AppMain, + TagsView } from './components' import ResizeMixin from './mixin/ResizeHandler' @@ -24,7 +24,7 @@ export default { components: { Navbar, Sidebar, - // TagsView, + TagsView, AppMain }, mixins: [ResizeMixin], From 366ec7d8573040a67a652d306eefbe6d899d0b38 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Wed, 22 May 2019 13:02:14 +0800 Subject: [PATCH 04/20] added i18n for tags-view --- frontend/src/views/layout/components/TagsView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/layout/components/TagsView.vue b/frontend/src/views/layout/components/TagsView.vue index 0f1c92aa4..406ed45c4 100644 --- a/frontend/src/views/layout/components/TagsView.vue +++ b/frontend/src/views/layout/components/TagsView.vue @@ -11,7 +11,7 @@ class="tags-view-item" @click.middle.native="closeSelectedTag(tag)" @contextmenu.prevent.native="openMenu(tag,$event)"> - {{ generateTitle(tag.title) }} + {{ $t(generateTitle(tag.title)) }} From d545dc2697b215bfd4d1a53eb74f396562cfaab2 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Wed, 22 May 2019 13:16:45 +0800 Subject: [PATCH 05/20] cleanup requirements.txt --- crawlab/requirements.txt | 1 - spiders/sites_inspector/sites_inspector.py | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/crawlab/requirements.txt b/crawlab/requirements.txt index 901a56ca1..68bf4ac34 100644 --- a/crawlab/requirements.txt +++ b/crawlab/requirements.txt @@ -57,7 +57,6 @@ pytz==2018.9 queuelib==1.5.0 redis==3.2.1 redisbeat==1.1.4 -reppy==0.4.12 requests==2.21.0 Scrapy==1.6.0 selenium==3.141.0 diff --git a/spiders/sites_inspector/sites_inspector.py b/spiders/sites_inspector/sites_inspector.py index 80c9c60af..ae425abcd 100644 --- a/spiders/sites_inspector/sites_inspector.py +++ b/spiders/sites_inspector/sites_inspector.py @@ -22,7 +22,7 @@ async def process_response(resp, **kwargs): url = kwargs.get('url') status = resp.status # 读取状态 - if status == 200: + if status == 200 and ('robots.txt' in str(resp.url)): col.update({'_id': url}, {'$set': {'has_robots': True}}) else: # 错误状态 @@ -38,7 +38,7 @@ async def process_home_page_response(resp, **kwargs): async def request_site(url: str, semaphore): _url = 'http://' + url + '/robots.txt' - print('crawling ' + _url) + # print('crawling ' + _url) async with semaphore: async with aiohttp.ClientSession() as session: # <1> 开启一个会话 async with session.get(_url) as resp: # 发送请求 @@ -50,7 +50,7 @@ async def request_site(url: str, semaphore): async def request_site_home_page(url: str, semophore): _url = 'http://' + url - print('crawling ' + _url) + # print('crawling ' + _url) async with semophore: tic = datetime.now() async with aiohttp.ClientSession() as session: # <1> 开启一个会话 @@ -63,7 +63,7 @@ async def request_site_home_page(url: str, semophore): async def run(): semaphore = asyncio.Semaphore(50) # 限制并发量为50 - sites = [site for site in col.find({'rank': {'$lte': 5000}})] + sites = [site for site in col.find({'rank': {'$lte': 100}})] urls = [site['_id'] for site in sites] to_get = [request_site(url, semaphore) for url in urls] to_get += [request_site_home_page(url, semaphore) for url in urls] From c1cf09a7e48fbb5f30315b9747841b0f7b2f17e3 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Wed, 22 May 2019 13:16:56 +0800 Subject: [PATCH 06/20] cleanup requirements.txt --- crawlab/requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/crawlab/requirements.txt b/crawlab/requirements.txt index 68bf4ac34..d42e56f73 100644 --- a/crawlab/requirements.txt +++ b/crawlab/requirements.txt @@ -56,7 +56,6 @@ python-dateutil==2.8.0 pytz==2018.9 queuelib==1.5.0 redis==3.2.1 -redisbeat==1.1.4 requests==2.21.0 Scrapy==1.6.0 selenium==3.141.0 From 55d0c2653fdc05d25837382cded9784de229e087 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Wed, 22 May 2019 13:17:15 +0800 Subject: [PATCH 07/20] cleanup requirements.txt --- crawlab/requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/crawlab/requirements.txt b/crawlab/requirements.txt index d42e56f73..feb2cdd04 100644 --- a/crawlab/requirements.txt +++ b/crawlab/requirements.txt @@ -1,7 +1,6 @@ aiohttp==3.5.4 amqp==2.4.2 aniso8601==6.0.0 -Appium-Python-Client==0.40 APScheduler==3.6.0 asn1crypto==0.24.0 async-timeout==3.0.1 From 841b5d95d96a7bea687d8de31d64f3e7b7287049 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Wed, 22 May 2019 19:24:27 +0800 Subject: [PATCH 08/20] updated SiteList --- frontend/src/i18n/zh.js | 3 +- frontend/src/views/site/SiteList.vue | 52 +++++++++++++++++++++++- frontend/src/views/spider/SpiderList.vue | 3 ++ 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/frontend/src/i18n/zh.js b/frontend/src/i18n/zh.js index e33bfa832..17a0df1e6 100644 --- a/frontend/src/i18n/zh.js +++ b/frontend/src/i18n/zh.js @@ -140,7 +140,8 @@ export default { 'Select Category': '请选择类别', 'Spider Count': '爬虫数', 'Robots Protocol': 'Robots 协议', - 'Home Page Response Time': '首页响应时间(秒)', + 'Home Page Response Time (sec)': '首页响应时间(秒)', + 'Home Page Response Status Code': '首页响应状态码', // 文件 'Choose Folder': '选择文件', diff --git a/frontend/src/views/site/SiteList.vue b/frontend/src/views/site/SiteList.vue index 4453b7827..7cf3e9369 100644 --- a/frontend/src/views/site/SiteList.vue +++ b/frontend/src/views/site/SiteList.vue @@ -53,6 +53,24 @@
          + + + + + + - +