IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Install GITBOOK By NPM and build HTML

    Adamhuan发表于 2017-03-01 08:25:16
    love 0

    首先,用NPM安装GITBOOK支持:

    [root@ndb2-1 ~]# npm install gitbook -g
    npm WARN deprecated ignore@3.1.2: several bugs fixed in v3.2.1
    npm WARN deprecated tough-cookie@2.2.2: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130
    npm WARN deprecated node-uuid@1.4.7: use uuid module instead
    npm WARN engine escodegen@1.8.1: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.46","npm":"2.15.1"})
    npm WARN engine esprima@3.1.3: wanted: {"node":">=4"} (current: {"node":"0.10.46","npm":"2.15.1"})
    npm WARN engine web-resource-inliner@2.0.0: wanted: {"node":">=4.0.0"} (current: {"node":"0.10.46","npm":"2.15.1"})
    npm WARN engine deep-extend@0.4.1: wanted: {"node":">=0.12.0","iojs":">=1.0.0"} (current: {"node":"0.10.46","npm":"2.15.1"})
    npm WARN engine escodegen@1.8.1: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.46","npm":"2.15.1"})
    npm WARN optional dep failed, continuing fsevents@1.1.1
    npm WARN optional dep failed, continuing fsevents@1.1.1
    /usr/bin/gitbook -> /usr/lib/node_modules/gitbook/bin/gitbook.js
    gitbook@3.2.2 /usr/lib/node_modules/gitbook
    ├── escape-string-regexp@1.0.5
    ├── escape-html@1.0.3
    ├── destroy@1.0.4
    ├── bash-color@0.0.4
    ├── cp@0.2.0
    ├── ignore@3.1.2
    ├── spawn-cmd@0.0.2
    ├── direction@0.1.5
    ├── gitbook-plugin-livereload@0.0.1
    ├── nunjucks-do@1.0.0
    ├── github-slugid@1.0.1
    ├── graceful-fs@4.1.4
    ├── json-schema-defaults@0.1.1
    ├── open@0.0.5
    ├── extend@3.0.0
    ├── gitbook-plugin-fontsettings@2.0.0
    ├── object-path@0.9.2
    ├── gitbook-plugin-search@2.2.1
    ├── is@3.2.1
    ├── crc@3.4.0
    ├── front-matter@2.1.2
    ├── jsonschema@1.1.0
    ├── q@1.4.1
    ├── semver@5.1.0
    ├── dom-serializer@0.1.0 (domelementtype@1.1.3, entities@1.1.1)
    ├── urijs@1.18.0
    ├── omit-keys@0.1.0 (isobject@0.2.0, array-difference@0.0.1)
    ├── tmp@0.0.28 (os-tmpdir@1.0.2)
    ├── error@7.0.2 (string-template@0.2.1, xtend@4.0.1)
    ├── resolve@1.1.7
    ├── mkdirp@0.5.1 (minimist@0.0.8)
    ├── npmi@2.0.1 (semver@4.3.6)
    ├── immutable@3.8.1
    ├── rmdir@1.2.0 (node.flow@1.2.3)
    ├── send@0.13.2 (fresh@0.3.0, range-parser@1.0.3, statuses@1.2.1, ms@0.7.1, etag@1.7.0, debug@2.2.0, depd@1.1.0, mime@1.3.4, http-errors@1.3.1, on-finished@2.3.0)
    ├── cpr@1.1.1 (rimraf@2.4.5)
    ├── js-yaml@3.8.1 (esprima@3.1.3, argparse@1.0.9)
    ├── tiny-lr@0.2.1 (parseurl@1.3.1, qs@5.1.0, livereload-js@2.2.2, debug@2.2.0, faye-websocket@0.10.0, body-parser@1.14.2)
    ├── read-installed@4.0.3 (debuglog@1.0.1, util-extend@1.0.3, slide@1.1.6, readdir-scoped-modules@1.0.2, read-package-json@2.0.4)
    ├── gitbook-plugin-theme-default@1.0.6
    ├── gitbook-plugin-highlight@2.0.2 (highlight.js@9.2.0)
    ├── gitbook-plugin-sharing@1.0.2 (lodash@3.10.1)
    ├── fresh-require@1.0.3 (is-require@0.0.1, shallow-copy@0.0.1, sleuth@0.1.1, astw@1.3.0, through2@0.6.5, escodegen@1.8.1, acorn@0.9.0)
    ├── moment@2.13.0
    ├── gitbook-plugin-lunr@1.2.0 (html-entities@1.2.0, lunr@0.5.12)
    ├── i18n-t@1.0.1 (lodash@4.17.4)
    ├── gitbook-markdown@1.3.2 (kramed-text-renderer@0.2.1, gitbook-html@1.3.3, kramed@0.5.6, lodash@4.17.4)
    ├── cheerio@0.20.0 (entities@1.1.1, css-select@1.2.0, htmlparser2@3.8.3, jsdom@7.2.2, lodash@4.17.4)
    ├── gitbook-asciidoc@1.2.2 (gitbook-html@1.3.3, asciidoctor.js@1.5.5-1, lodash@4.17.4)
    ├── chokidar@1.5.0 (path-is-absolute@1.0.1, inherits@2.0.3, async-each@1.0.1, glob-parent@2.0.0, is-binary-path@1.0.1, is-glob@2.0.1, readdirp@2.1.0, anymatch@1.3.0)
    ├── nunjucks@2.5.2 (asap@2.0.5, yargs@3.32.0, chokidar@1.6.1)
    ├── juice@2.0.0 (deep-extend@0.4.1, batch@0.5.3, slick@1.12.2, cssom@0.3.1, commander@2.9.0, cross-spawn-async@2.2.5, web-resource-inliner@2.0.0)
    ├── request@2.72.0 (is-typedarray@1.0.0, aws-sign2@0.6.0, oauth-sign@0.8.2, forever-agent@0.6.1, tunnel-agent@0.4.3, caseless@0.11.0, stringstream@0.0.5, isstream@0.1.2, json-stringify-safe@5.0.1, aws4@1.6.0, node-uuid@1.4.7, qs@6.1.1, mime-types@2.1.14, tough-cookie@2.2.2, combined-stream@1.0.5, bl@1.1.2, har-validator@2.0.6, hawk@3.1.3, http-signature@1.1.1, form-data@1.0.1)
    └── npm@3.9.2
    [root@ndb2-1 ~]# 
    [root@ndb2-1 ~]# 
    
    [root@ndb2-1 git_data]# npm install gitbook-cli -g
    /usr/bin/gitbook -> /usr/lib/node_modules/gitbook-cli/bin/gitbook.js
    gitbook-cli@2.3.0 /usr/lib/node_modules/gitbook-cli
    ├── bash-color@0.0.4
    ├── q@1.4.1
    ├── semver@5.1.0
    ├── tmp@0.0.28 (os-tmpdir@1.0.2)
    ├── user-home@2.0.0 (os-homedir@1.0.2)
    ├── commander@2.9.0 (graceful-readlink@1.0.1)
    ├── lodash@4.5.1
    ├── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
    ├── npm@3.7.5
    ├── fs-extra@0.26.5 (path-is-absolute@1.0.1, klaw@1.3.1, jsonfile@2.4.0, graceful-fs@4.1.11, rimraf@2.6.1)
    └── npmi@1.0.1 (semver@4.3.6, npm@2.15.11)
    [root@ndb2-1 git_data]# 
    
    [root@ndb2-1 git_data]# gitbook -V
    CLI version: 2.3.0
    Installing GitBook 3.2.2
    gitbook@3.2.2 ../tmp/tmp-251045FndEbAQK5rT/node_modules/gitbook
    ├── escape-string-regexp@1.0.5
    ├── escape-html@1.0.3
    ├── destroy@1.0.4
    ├── bash-color@0.0.4
    ├── cp@0.2.0
    ├── ignore@3.1.2
    ├── spawn-cmd@0.0.2
    ├── direction@0.1.5
    ├── gitbook-plugin-livereload@0.0.1
    ├── nunjucks-do@1.0.0
    ├── graceful-fs@4.1.4
    ├── github-slugid@1.0.1
    ├── open@0.0.5
    ├── json-schema-defaults@0.1.1
    ├── extend@3.0.0
    ├── gitbook-plugin-fontsettings@2.0.0
    ├── object-path@0.9.2
    ├── gitbook-plugin-search@2.2.1
    ├── is@3.2.1
    ├── crc@3.4.0
    ├── front-matter@2.1.2
    ├── jsonschema@1.1.0
    ├── q@1.4.1
    ├── semver@5.1.0
    ├── omit-keys@0.1.0 (isobject@0.2.0, array-difference@0.0.1)
    ├── error@7.0.2 (string-template@0.2.1, xtend@4.0.1)
    ├── tmp@0.0.28 (os-tmpdir@1.0.2)
    ├── urijs@1.18.0
    ├── dom-serializer@0.1.0 (domelementtype@1.1.3, entities@1.1.1)
    ├── mkdirp@0.5.1 (minimist@0.0.8)
    ├── npmi@2.0.1 (semver@4.3.6)
    ├── resolve@1.1.7
    ├── immutable@3.8.1
    ├── rmdir@1.2.0 (node.flow@1.2.3)
    ├── cpr@1.1.1 (rimraf@2.4.5)
    ├── send@0.13.2 (fresh@0.3.0, range-parser@1.0.3, statuses@1.2.1, ms@0.7.1, etag@1.7.0, debug@2.2.0, depd@1.1.0, mime@1.3.4, http-errors@1.3.1, on-finished@2.3.0)
    ├── js-yaml@3.8.1 (esprima@3.1.3, argparse@1.0.9)
    ├── tiny-lr@0.2.1 (parseurl@1.3.1, debug@2.2.0, qs@5.1.0, livereload-js@2.2.2, faye-websocket@0.10.0, body-parser@1.14.2)
    ├── read-installed@4.0.3 (debuglog@1.0.1, util-extend@1.0.3, slide@1.1.6, readdir-scoped-modules@1.0.2, read-package-json@2.0.4)
    ├── gitbook-plugin-theme-default@1.0.6
    ├── chokidar@1.5.0 (path-is-absolute@1.0.1, async-each@1.0.1, inherits@2.0.3, glob-parent@2.0.0, is-binary-path@1.0.1, is-glob@2.0.1, readdirp@2.1.0, anymatch@1.3.0)
    ├── gitbook-plugin-highlight@2.0.2 (highlight.js@9.2.0)
    ├── gitbook-plugin-sharing@1.0.2 (lodash@3.10.1)
    ├── nunjucks@2.5.2 (asap@2.0.5, yargs@3.32.0, chokidar@1.6.1)
    ├── fresh-require@1.0.3 (is-require@0.0.1, shallow-copy@0.0.1, sleuth@0.1.1, astw@1.3.0, through2@0.6.5, escodegen@1.8.1, acorn@0.9.0)
    ├── moment@2.13.0
    ├── gitbook-plugin-lunr@1.2.0 (html-entities@1.2.0, lunr@0.5.12)
    ├── juice@2.0.0 (deep-extend@0.4.1, batch@0.5.3, slick@1.12.2, cssom@0.3.1, commander@2.9.0, cross-spawn-async@2.2.5, web-resource-inliner@2.0.0)
    ├── gitbook-asciidoc@1.2.2 (gitbook-html@1.3.3, asciidoctor.js@1.5.5-1, lodash@4.17.4)
    ├── i18n-t@1.0.1 (lodash@4.17.4)
    ├── cheerio@0.20.0 (entities@1.1.1, htmlparser2@3.8.3, css-select@1.2.0, jsdom@7.2.2, lodash@4.17.4)
    ├── gitbook-markdown@1.3.2 (kramed-text-renderer@0.2.1, gitbook-html@1.3.3, kramed@0.5.6, lodash@4.17.4)
    ├── request@2.72.0 (is-typedarray@1.0.0, aws-sign2@0.6.0, oauth-sign@0.8.2, forever-agent@0.6.1, tunnel-agent@0.4.3, caseless@0.11.0, stringstream@0.0.5, isstream@0.1.2, json-stringify-safe@5.0.1, aws4@1.6.0, node-uuid@1.4.7, combined-stream@1.0.5, qs@6.1.1, tough-cookie@2.2.2, mime-types@2.1.14, bl@1.1.2, hawk@3.1.3, http-signature@1.1.1, har-validator@2.0.6, form-data@1.0.1)
    └── npm@3.9.2
    GitBook version: 3.2.2
    [root@ndb2-1 git_data]# 
    [root@ndb2-1 git_data]# gitbook -V
    CLI version: 2.3.0
    GitBook version: 3.2.2
    [root@ndb2-1 git_data]#

    安装GIT:

    [root@ndb2-1 ~]# yum list | grep --color "^git"
    git.x86_64                              1.8.3.1-6.el7_2.1              base     
    git-all.noarch                          1.8.3.1-6.el7_2.1              base     
    git-bzr.noarch                          1.8.3.1-6.el7_2.1              base     
    git-cvs.noarch                          1.8.3.1-6.el7_2.1              base     
    git-daemon.x86_64                       1.8.3.1-6.el7_2.1              base     
    git-email.noarch                        1.8.3.1-6.el7_2.1              base     
    git-gui.noarch                          1.8.3.1-6.el7_2.1              base     
    git-hg.noarch                           1.8.3.1-6.el7_2.1              base     
    git-p4.noarch                           1.8.3.1-6.el7_2.1              base     
    git-svn.x86_64                          1.8.3.1-6.el7_2.1              base     
    gitk.noarch                             1.8.3.1-6.el7_2.1              base     
    gitweb.noarch                           1.8.3.1-6.el7_2.1              base     
    [root@ndb2-1 ~]# 
    [root@ndb2-1 ~]# yum install -y git
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.cn99.com
     * extras: mirrors.cn99.com
     * updates: mirrors.cn99.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package git.x86_64 0:1.8.3.1-6.el7_2.1 will be installed
    --> Processing Dependency: perl-Git = 1.8.3.1-6.el7_2.1 for package: git-1.8.3.1-6.el7_2.1.x86_64
    --> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-6.el7_2.1.x86_64
    --> Processing Dependency: perl(Git) for package: git-1.8.3.1-6.el7_2.1.x86_64
    --> Processing Dependency: perl(Error) for package: git-1.8.3.1-6.el7_2.1.x86_64
    --> Running transaction check
    ---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed
    ---> Package perl-Git.noarch 0:1.8.3.1-6.el7_2.1 will be installed
    ---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =========================================================================================================================================================================================================
     Package                                              Arch                                       Version                                                  Repository                                Size
    =========================================================================================================================================================================================================
    Installing:
     git                                                  x86_64                                     1.8.3.1-6.el7_2.1                                        base                                     4.4 M
    Installing for dependencies:
     perl-Error                                           noarch                                     1:0.17020-2.el7                                          ISO                                       32 k
     perl-Git                                             noarch                                     1.8.3.1-6.el7_2.1                                        base                                      53 k
     perl-TermReadKey                                     x86_64                                     2.30-20.el7                                              ISO                                       31 k
    
    Transaction Summary
    =========================================================================================================================================================================================================
    Install  1 Package (+3 Dependent packages)
    
    Total download size: 4.5 M
    Installed size: 22 M
    Downloading packages:
    (1/4): perl-Git-1.8.3.1-6.el7_2.1.noarch.rpm                                                                                                                                      |  53 kB  00:00:00     
    (2/4): perl-Error-0.17020-2.el7.noarch.rpm                                                                                                                                        |  32 kB  00:00:01     
    (3/4): perl-TermReadKey-2.30-20.el7.x86_64.rpm                                                                                                                                    |  31 kB  00:00:01     
    (4/4): git-1.8.3.1-6.el7_2.1.x86_64.rpm                                                                                                                                           | 4.4 MB  00:00:04     
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Total                                                                                                                                                                    1.0 MB/s | 4.5 MB  00:00:04     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : 1:perl-Error-0.17020-2.el7.noarch                                                                                                                                                     1/4 
      Installing : perl-TermReadKey-2.30-20.el7.x86_64                                                                                                                                                   2/4 
      Installing : git-1.8.3.1-6.el7_2.1.x86_64                                                                                                                                                          3/4 
      Installing : perl-Git-1.8.3.1-6.el7_2.1.noarch                                                                                                                                                     4/4 
      Verifying  : perl-Git-1.8.3.1-6.el7_2.1.noarch                                                                                                                                                     1/4 
      Verifying  : perl-TermReadKey-2.30-20.el7.x86_64                                                                                                                                                   2/4 
      Verifying  : 1:perl-Error-0.17020-2.el7.noarch                                                                                                                                                     3/4 
      Verifying  : git-1.8.3.1-6.el7_2.1.x86_64                                                                                                                                                          4/4 
    
    Installed:
      git.x86_64 0:1.8.3.1-6.el7_2.1                                                                                                                                                                         
    
    Dependency Installed:
      perl-Error.noarch 1:0.17020-2.el7                               perl-Git.noarch 0:1.8.3.1-6.el7_2.1                               perl-TermReadKey.x86_64 0:2.30-20.el7                              
    
    Complete!
    [root@ndb2-1 ~]#

    GIT Clone一个线上的GITBOOK仓库。
    比方说:
    https://github.com/influxdata/docs.influxdata.com.git
    或者:
    https://github.com/xtutu/influxdb-handbook.git

    [root@ndb2-1 git_data]# git clone https://github.com/xtutu/influxdb-handbook.git
    Cloning into 'influxdb-handbook'...
    remote: Counting objects: 61, done.
    remote: Total 61 (delta 0), reused 0 (delta 0), pack-reused 61
    Unpacking objects: 100% (61/61), done.
    [root@ndb2-1 git_data]# 
    [root@ndb2-1 git_data]# ls -ltr
    total 4
    drwxr-xr-x 3 root root 4096 Mar  1 16:04 influxdb-handbook
    [root@ndb2-1 git_data]#

    生成GITBOOK:

    [root@ndb2-1 git_data]# ls
    influxdb-handbook
    [root@ndb2-1 git_data]# 
    [root@ndb2-1 git_data]# cd influxdb-handbook/
    [root@ndb2-1 influxdb-handbook]# ls
    an_zhuang_shi_yong.md        img_20160225175525.jpg  img_20160226115801.jpg  jie_xia_qu_ke_yi_kan_xie_shen_me.md    README.md                                    shu_ju_zhan_shi_gong_ju.md
    cha.md                       img_20160226114619.jpg  img_20160226120201.jpg  lian_xu_cha_xun_continuous_queries.md  shanyugai_md_md.md                           SUMMARY.md
    disan_fang_ku_md.md          img_20160226115132.jpg  influxdbjie_shao.md     ming_ci_jie_xi.md                      shu_ju_bao_cun_ce_lve_retention_policies.md  yong_hu_guan_li.md
    grafanajian_dan_shi_yong.md  img-20160226115614.jpg  ji_ben_cao_zuo_md.md    nodejs-api.md                          shu_ju_ku_yu_biao_de_cao_zuo.md              zeng.md
    [root@ndb2-1 influxdb-handbook]# 
    [root@ndb2-1 influxdb-handbook]# gitbook build
    info: 7 plugins are installed 
    info: 6 explicitly listed 
    info: loading plugin "highlight"... OK 
    info: loading plugin "search"... OK 
    info: loading plugin "lunr"... OK 
    info: loading plugin "sharing"... OK 
    info: loading plugin "fontsettings"... OK 
    info: loading plugin "theme-default"... OK 
    info: found 17 pages 
    info: found 7 asset files 
    info: >> generation finished with success in 7.1s ! 
    [root@ndb2-1 influxdb-handbook]#

    如果要输出PDF,可以安装:gitbook-pdf
    npm install gitbook-pdf -g

    在本地作为网站运行:

    [root@ndb2-1 ~]# cd /git_data/influxdb-handbook/
    [root@ndb2-1 influxdb-handbook]# 
    [root@ndb2-1 influxdb-handbook]# gitbook serve
    Live reload server started on port: 35729
    Press CTRL+C to quit ...
    
    info: 7 plugins are installed 
    info: loading plugin "livereload"... OK 
    info: loading plugin "highlight"... OK 
    info: loading plugin "search"... OK 
    info: loading plugin "lunr"... OK 
    info: loading plugin "sharing"... OK 
    info: loading plugin "fontsettings"... OK 
    info: loading plugin "theme-default"... OK 
    info: found 17 pages 
    info: found 7 asset files 
    info: >> generation finished with success in 7.2s ! 
    
    Starting server ...
    Serving book on http://localhost:4000
    
    (该会话会挂起,... )

    注意,需要在GITBOOK,特定项目的数据目录的根目录里面运行。

    在另外一个会话中查看当前的网络端口情况:

    [root@ndb2-1 ~]# netstat -tupln | grep 4000
    tcp        0      0 0.0.0.0:4000            0.0.0.0:*               LISTEN      25412/node          
    [root@ndb2-1 ~]#

    然后,访问上面的URL【http://10.158.1.122:4000/】,就可以本地浏览了。

    ——————————
    Done。



沪ICP备19023445号-2号
友情链接