GitBook 使用教程

1、简介

GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 并非关于 Git 的教程。

GitBook支持输出多种文档格式:

  • 静态站点:GitBook默认输出该种格式,生成的静态站点可直接托管搭载Github Pages服务上;
  • PDF:需要安装gitbook-pdf依赖;
  • eBook:需要安装ebook-convert;
  • 单HTML网页:支持将内容输出为单页的HTML,不过一般用在将电子书格式转换为PDF或eBook的中间过程;
  • JSON:一般用于电子书的调试或元数据提取。
    使用GitBook制作电子书,必备两个文件:README.md和SUMMARY.md

2、安装GitBook

2.1、环境要求

GitBook 是一个基于 Node.js 的命令行工具,所以要确保环境中已安装 Node.js.
检验Node.js是否安装成功

 $ node -v
 v12.11.1

2.2、安装命令行工具 gitbook-cli

通过npm命令来安装gitbook-cli, 执行命令:

$ npm install gitbook-cli -g

上面命令运行完成之后,你可以使用下面的命令来检验是否安装成功。

$ gitbook -V
CLI version: 2.3.2
Installing GitBook 3.2.3

2.3、安装编辑器gitbook-editor

  • 1)、windows用户

$ choco install gitbook-editor
  • 2)、mac用户

$ brew install gitbook-editor

3、创作

GitBook用于创作电子书,主要有以下几个步骤:

3.1、新建一本书 gitbook init

为新书创建一个目录:gitbook_tutorial,进入gitbook_tutorial目录,初始化。

$ mkdir gitbook_tutorial
$ cd gitbook_tutorial
$ gitbook init
warn: no summary file in this book
info: create README.md
info: create SUMMARY.md
info: initialization is finished

运行gitbook init命令会创建 README.md 和 SUMMARY.md 这两个文件,README.md 是说明文档, SUMMARY.md是书的章节目录,其默认内容如下所示:

# Summary

* [Introduction](README.md)

3.2、编排书的目录结构

进入目录gitbook_tutorial,在其中创建下列文件。

$ npx -p touch nodetouch 1_install.md
$ npx -p touch nodetouch 2_creation.md
$ npx -p touch nodetouch 3_command.md
$ npx -p touch nodetouch 4_plug.md
$ npx -p touch nodetouch 5_configure.md

如下图:

0.png

编辑SUMMARY.md文件:

  # Summary

  * [简介](README.md)
  * [安装](1_install.md)
  * [创作](2_creation.md)
  * [命令](3_command.md)
  * [插件](4_plug.md)
  * [配置](5_configure.md)

3.3、编辑书的内容

以README.md为例:

    # 简介

    GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 并非关于 Git 的教程。  

    GitBook支持输出多种文档格式:  

    - 静态站点:GitBook默认输出该种格式,生成的静态站点可直接托管搭载Github Pages服务上;
    - PDF:需要安装gitbook-pdf依赖;
    - eBook:需要安装ebook-convert;
    - 单HTML网页:支持将内容输出为单页的HTML,不过一般用在将电子书格式转换为PDF或eBook的中间过程;
    - JSON:一般用于电子书的调试或元数据提取。
    使用GitBook制作电子书,必备两个文件:README.md和SUMMARY.md

3.4、预览全貌

在终端输入

$ gitbook serve 

然后在浏览器地址栏中输入 http://localhost:4000 便可预览书籍.

如下图:

1.png

4、命令

GitBook常用的一些命令

4.1、查看gitbook的帮助信息

$ gitbook --help

4.2、启动服务器生成静态网页预览

$ gitbook serve

4.3、生成静态网页而不开启服务器

$ gitbook build

4.4、生成静态网页时指定gitbook的版本,如果本地没有将先下载

$ gitbook build --gitbook=3.2.3

4.5、列出所有的gitbook版本

$ gitbook ls

4.6、列出远程可用的gitbook版本

$ gitbook ls-remote

4.7、更新到gitbook的最新版本

$ gitbook update

4.8、卸载对应的gitbook版本

$ gitbook uninstall 3.2.3

4.9、安装依赖

主要指在 book.json 中加入的配置插件

$ gitbook install ./

4.10、指定log的级别

$ gitbook build --log=debug

4.11、输出错误信息

$ gitbook builid --debug

5、配置

5.1、创建配置文件book.json

进入gitbook_tutorial目录,创建一个文件 book.json

$ npx -p touch nodetouch book.json

5.2、编辑配置文件book.json

book.json文件主要用来存放配置信息,内容如下:

{
    "title": "GitBook简明教程",
    "author": "JackYang",
    "description": "GitBook的安装,gitbook-editor的安装及简单使用",
    "language": "zh-hans",
    "gitbook": "3.2.3",
    "styles": {
        "website": "./styles/website.css",
        "ebook": "./styles/ebook.css",
        "pdf": "./styles/pdf.css",
        "mobi": "./styles/mobi.css",
        "epub": "./styles/epub.css"
   },
    "structure": {
        "readme": "README.md"
    },
    "links": {
        "sidebar": {
            "GitBook简明教程": "https://legacy.gitbook.com/book/jackyangg/"
        }
    },
    "plugins": [
        "-sharing",
        "splitter",
        "expandable-chapters-small",
        "anchors",
        "github",
        "github-buttons",
        "donate",
        "sharing-plus",
        "anchor-navigation-ex",
        "favicon",
        "code"
    ],
    "pluginsConfig": {
       "code": {
            "copyButtons": false
          },
        "github": {
            "url": "https://github.com/JackYang3567"
        },
        "github-buttons": {
            "buttons": [{
                "user": "JackYang",
                "repo": "glory",
                "type": "star",
                "size": "small",
                "count": true
                }
            ]
        },
        "donate": {
              
                    "wechat": "./src/img/微信打赏二维码.jpg",
                    "alipay": "./src/img/支付宝打赏二维码.jpg",
                    "title": "",
                    "button": "赞赏",
                    "alipayText": "支付宝打赏",
                    "wechatText": "微信打赏" 
           },
        "sharing": {
            "douban": false,
            "facebook": false,
            "google": false,
            "hatenaBookmark": false,
            "instapaper": false,
            "line": false,
            "linkedin": false,
            "messenger": false,
            "pocket": false,
            "qq": false,
            "qzone": false,
            "stumbleupon": false,
            "twitter": false,
            "viber": false,
            "vk": false,
            "weibo": false,
            "whatsapp": false,
            "all": [
                "google", "facebook", "weibo", "twitter",
                "qq", "qzone", "linkedin", "pocket"
            ]
        },
        "anchor-navigation-ex": {
            "showLevel": false
        },
        "favicon":{
            "shortcut": "./src/img/favicon.jpg",
            "bookmark": "./src/img/favicon.jpg",
            "appleTouch": "./src/img/apple-touch-icon.jpg",
            "appleTouchMore": {
                "120x120": "./src/img/apple-touch-icon.jpg",
                "180x180": "./src/img/apple-touch-icon.jpg"
            }
        }
    } 
}

5.3、配置文件book.json中各属性介绍

  • 1、title 本书标题

  • 2、author 本书作者

  • 3、description 本书描述

  • 4、language 本书语言,中文设置 "zh-hans" 即可

language” : “zh-hans”

可选的语言如下:

 en, ar, bn, cs, de, en, es, fa, fi, fr, he, it, ja, 
 ko, no, pl, pt, ro, ru, sv, uk, vi, zh-hans, zh-tw
  • 5、gitbook 指定使用的 GitBook 版本

  • 6、styles 自定义页面样式

默认情况下各generator对应的css文件

    "styles": {
        "website": "styles/website.css",
        "ebook": "styles/ebook.css",
        "pdf": "styles/pdf.css",
        "mobi": "styles/mobi.css",
        "epub": "styles/epub.css"
    }
  • 7、structure 指定 Readme、Summary、Glossary 和 Languages 对应的文件名

  • 8、links 在左侧导航栏添加链接信息

"links": {
       "sidebar": {
           "GitBook简明教程": "https://legacy.gitbook.com/book/jackyangg/"
       }
   },
  • 9、plugins 配置使用的插件

可以在插件前面加-符号删除默认插件,默认五种插件如下,更多插件

  • highlight:代码高亮
  • search:导航栏查询功能(不支持中文)
  • sharing:右上角分享功能
  • font-settings:字体设置(最上方的"A"符号)
  • livereload:为GitBook实时重新加载
  • 10、pluginsConfig 配置插件的属性

6、插件

6.1、GitBook 插件列表

  • back-to-top-button(返回顶部)

  • code(代码添加行号&复制按钮)

  • search-pro(高级搜索,支持中文)

  • github(在右上角添加github图标)

  • splitter(侧边栏宽度可调节)

  • tbfed-pagefooter(页面添加页脚,简单的)

  • page-copyright(页面页脚版权,复杂的)

  • donate(打赏插件)

  • sharing-plus(分享当前页面)

  • custom-favicon(修改标题栏图标)

  • prism(代码高亮)

  • todo(复选框)

  • pageview-count(阅读量计数)

  • auto-scroll-table(表格滚动条)

  • image-captions(显示图片名称)

  • styles-sass(使用sass替换css)

  • styles-less(使用less替换css)

  • toggle-chapters(目录折叠)

  • multipart(分章节展示)

  • 设置导航序号

6.2、添加插件

在book.json中配置如下(这里用code插件作为例子):

{
    "plugins": [
        "code"
    ],
    "pluginsConfig": {
        "code": {
            "copyButtons": false
        }
    }
}

6.3、安装插件

可以选择下列三种方式中的一种进行安装

  • 1)、执行gitbook install

这其实是安装book.json中的配置

  $ gitbook install ./
  • 2)、npm安装

命令格式npm install gitbook-plugin-插件名字

$ npm install gitbook-plugin-code
  • 3)、从GitHub下载源码,放到node_modules文件夹里

7、 GitBookl转成PDF

需要下载两个插件 1、phantomjs;2、calibre

7.1、下载相关插件

Download_calibre.png

7.2、安装插件

1、phantomjs只需解压,并将解压后的目录添加到环境变量

$ npm install phantom@3 -g

2、运行calibre安装程序,并将安装目录添加到环境变量

3、用npm全局安装gitbook-pdf

$ npm install gitbook-pdf -g

7.3、生成PDF文件

切换到你之前自己写的电子书文档目录,执行如下命令:

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

推荐阅读更多精彩内容

  • 敬爱的李老师,智慧的教授,亲爱的跃友们:大家好!我是来自威海玉林广告的张孟莹,今天是我的日精进行动第151天,给大...
    39bab3513171阅读 133评论 0 0
  • 一胖解千愁……
    禾颜越瑟阅读 109评论 0 1
  • 你在一沓凌乱的纸页中安睡 忘了哪年哪月 忘了当初那个亲吻你的男子 忘了自己曾经被寄载着的情思 你身上的钢笔字迹已淡...
    此岸杨阅读 148评论 1 2
  • 昨天心心念的把奔劳了一个月的爱驾刷了,如我所料上午刷车,下午就下雨了,不知道是不是有很多人,都有这样的魔咒。 心里...
    极光谷主阅读 677评论 2 1