Gitbook详解(二)-命令行的使用

命令行的使用

Gitbook 的命令行工具其实就是 gitbook-cli ,可以通过命令的方式来创建,构造,安装插件,预览等功能。

查看帮助

GitbookGit 一样是一个命令行工具,开始介绍之前,先使用 gitbook help 命令来概览看一下 gitbook 主要的几个命令。

$ gitbook help
build [book] [output]       build a book
   --log                   Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)
   --format                Format to build to (Default is website; Values are website, json, ebook)
   --[no-]timing           Print timing debug information (Default is false)

serve [book] [output]       serve the book as a website for testing
   --port                  Port for server to listen on (Default is 4000)
   --lrport                Port for livereload server to listen on (Default is 35729)
   --[no-]watch            Enable file watcher and live reloading (Default is true)
   --[no-]live             Enable live reloading (Default is true)
   --[no-]open             Enable opening book in browser (Default is false)
   --browser               Specify browser for opening book (Default is )
   --log                   Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)
   --format                Format to build to (Default is website; Values are website, json, ebook)

install [book]              install all plugins dependencies
   --log                   Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

parse [book]                parse and print debug information about a book
   --log                   Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

init [book]                 setup and create files for chapters
   --log                   Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

pdf [book] [output]         build a book into an ebook file
   --log                   Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

epub [book] [output]        build a book into an ebook file
   --log                   Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)

mobi [book] [output]        build a book into an ebook file
   --log                   Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)
  • 其中[]标记的是 **可选参数 **指令,但是有可能在某些平台中不生效甚至会报错。可能是 gitbook 在平台的兼容性上还不够完善原因导致的,如有参数使用的需求的情况,可以根据需要选择适合的平台来使用。目前笔者测试过在部分 Ubuntu 环境平台上部分参数指令可能无效(可能简写命令格式支持,或许支持完整参数格式又或许都不支持),但是在 Windows (windows 10) 平台上是可以使用的,具体的参数是否可正常的使用取决于不同平台的支持程度。

  • -- 标记的是可选的功能参数,如 --log 输出执行相关的log,具体功能描述参考上面help中后面的描述。

简单的了解一下这些参数吧:

  • [book]:指定 gitbook 项目的目录
  • [output]:指定文件输出的目录

使用示例:

# 在指定的/home/gitbook/目录中初始化一个书籍项目
$ gitbook init --book=/home/gitbook/
# 对应的简写格式
$ gitbook init /home/gitbook/

# 指定书籍项目目录在当前目录,并将编译构建后文件放到指定的当前目录下的mybook目录中
$ gitbook build --book=./  --output=./mybook
# 对应的简写格式
$ gitbook build ./ ./mybook

# 指定书籍项目目录在当前目录,导出 PDF 格式的电子书到指定的/home/pdf/目录中
$ gitbook pdf --book=./  --output=/home/pdf/
# 对应的简写格式
$ gitbook pdf ./ /home/pdf/

初始化

使用 gitbook init 初始化一本书,本地会默认创建生成两个 markdown 格式的文件,这两个文件是必须存在的,一个是初始化页面,一个是电子书的目录结构定义文件。

# 电子书初始化
$ gitbook init  
warn: no summary file in this book 
info: create README.md 
info: create SUMMARY.md 
info: initialization is finished 

# 查看初始化的目录结构
$ tree
.
├── README.md
└── SUMMARY.md

构建电子书

使用 git build 命令来生成静态网页格式的电子书。执行后会生成HTML静态资源输出到当前项目的目录下_book 目录中。

# 构建电子书
$ gitbook build
info: 21 plugins are installed 
info: 18 explicitly listed 
info: loading plugin "highlight"... OK 
info: loading plugin "chapter-fold"... OK 
info: loading plugin "anchor-navigation-expand"... OK 
info: loading plugin "search-pro"... OK 
info: loading plugin "code"... OK 
info: loading plugin "splitter"... OK 
info: loading plugin "sharing-plus"... OK 
info: loading plugin "advanced-emoji"... OK 
info: loading plugin "github"... OK 
info: loading plugin "alerts"... OK 
info: loading plugin "auto-scroll-table"... OK 
info: loading plugin "popup"... OK 
info: loading plugin "hide-element"... OK 
info: loading plugin "donate"... OK 
info: loading plugin "tbfed-pagefooter"... OK 
info: loading plugin "fontsettings"... OK 
info: loading plugin "theme-default"... OK 
info: found 3 pages 
info: found 0 asset files 
warn: "options" property is deprecated, use config.get(key) instead 
info: >> generation finished with success in 0.7s ! 

# 查看简单的目录结构
$ tree -L 3
.
├── _book
│   ├── gitbook
│   │   ├── fonts
│   │   ├── gitbook.js
│   │   ├── gitbook-plugin-fontsettings
│   │   ├── gitbook-plugin-highlight
│   │   ├── gitbook-plugin-lunr
│   │   ├── gitbook-plugin-search
│   │   ├── gitbook-plugin-sharing
│   │   ├── images
│   │   ├── style.css
│   │   └── theme.js
│   ├── index.html
│   └── search_index.json
├── README.md
└── SUMMARY.md

安装插件

在书籍的配置文件(后续有配置相关文章)配置好需要的 Gitbook 插件,执行 gitbook install 就可以在线安装相关插件了。

$ gitbook install
info: installing 15 plugins using npm@3.9.2 
info:  
info: installing plugin "highlight"
......

出现这样的输出后,就等待插件安装完成就可以使用了,如果插件配置错误,会中途直接报错停止,需要解决错误后才可以继续安装。

本地静态电子书预览

使用 gitboo serve 命令开启进行本地网页预览服务,执行后会默认执行 gitbook build 命令,然后本地开启一个端口 4000 的预览网页服务,此时可以通过浏览器访问本地机器 4000 端口进行电子书的浏览。

$ gitbook serve
Live reload server started on port: 35729
Press CTRL+C to quit ...

info: 21 plugins are installed 
info: 19 explicitly listed 
info: loading plugin "highlight"... OK 
info: loading plugin "chapter-fold"... OK 
info: loading plugin "anchor-navigation-expand"... OK 
info: loading plugin "search-pro"... OK 
info: loading plugin "code"... OK 
info: loading plugin "splitter"... OK 
info: loading plugin "sharing-plus"... OK 
info: loading plugin "advanced-emoji"... OK 
info: loading plugin "github"... OK 
info: loading plugin "alerts"... OK 
info: loading plugin "auto-scroll-table"... OK 
info: loading plugin "popup"... OK 
info: loading plugin "hide-element"... OK 
info: loading plugin "donate"... OK 
info: loading plugin "tbfed-pagefooter"... OK 
info: loading plugin "livereload"... OK 
info: loading plugin "fontsettings"... OK 
info: loading plugin "theme-default"... OK 
info: found 3 pages 
info: found 0 asset files 
warn: "options" property is deprecated, use config.get(key) instead 
info: >> generation finished with success in 0.7s ! 

Starting server ...
Serving book on http://localhost:4000

此时通过浏览器打开 http://localhost:4000 即可预览静态网页电子书。

预览效果:


静态网页电子书预览 预览效果图

好了,这就是 Gitbook 的主要的几个主要命令,如果需要了解更多,请参考相关网站。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容