首先,用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。