gitbook-cli 命令行操作
gitbook
生成电子书主要有三种方式:
gitbook-cli
命令行操作,简洁高效,适合从事软件开发的相关人员.gitbook-editor
编辑器操作,可视化编辑,适合无编程经验的文学创作者.gitbook.com
官网操作,在线编辑实时发布,适合无本地环境且科学上网的体验者.
本文主要讲解第一种 gitbook-cli
命令行操作流程,其他两种见另外两篇教程.
gitbook
的一些常用命令
gitbook
的一些常用命令安装 gitbook-cli
脚手架工具
gitbook-cli
脚手架工具本机已安装 node.js
开发环境,安装完成后运行 gitbook -V
能够打印出版本信息,则表示安装成功.
关于安装配置相关问题请参考 环境要求
初始化 gitbook
项目
gitbook
项目初始化项目,按照 gitbook
规范会自动创建 README.md
和 SUMMARY.md
两个文件,具体用途见下文.
其实 SUMMARY.md
是电子书的章节目录,gitbook
会初始化相应的文件目录结构,所以主要是用于开发初始阶段.
启动 gitbook
项目
gitbook
项目启动本地服务,程序无报错则可以在浏览器预览电子书效果: http://localhost:4000
由于能够实时预览电子书效果,并且大多数开发环境搭建在本地而不是远程服务器中,所以主要用于开发调试阶段.
构建 gitbook
静态网页
gitbook
静态网页构建静态网页而不启动本地服务器,默认生成文件存放在 _book/
目录,当然输出目录是可配置的,暂不涉及,见高级部分.
输出静态网页后可打包上传到服务器,也可以上传到 github
等网站进行托管,因而主要用于发布准备阶段.
章节小结
gitbook init
初始化README.md
和SUMMARY.md
两个文件.gitbook build
本地构建但不运行服务,默认输出到_book/
目录.gitbook serve
本地构建并运行服务,默认访问http://localhost:4000
实时预览.
gitbook
的目录结构说明
gitbook
的目录结构说明既然要书写一本电子书,那么起码的章节介绍和章节详情自然是必不可少的.
当然还有标题,作者和联系方式等个性化信息需要指定,如果不指定的话,一旦采用默认配合,八成不符合我们的预期,说不定都会变成匿名电子书?所以配置文件一般也是需要手动设置的!
真正可选的文件要数词汇表了,毕竟不是每一本电子书都有专业词汇需要去解释说明.如果在章节详情顺便解释下涉及到的专业词汇,那么自然也就不需要词汇表文件了.
简单解释下各个文件的作用:
README.md
是默认首页文件,相当于网站的首页index.html
,一般是介绍文字或相关导航链接.SUMMARY.md
是默认概括文件,主要是根据该文件内容生成相应的目录结构,同README.md
一样都是被gitbook init
初始化默认创建的重要文件._book
是默认的输出目录,存放着原始markdown
渲染完毕后的html
文件,可以直接打包到服务器充当静态网站使用.一般是执行gitbook build
或gitbook serve
自动生成的.book.json
是配置文件,用于个性化调整gitbook
的相关配置,如定义电子书的标题,封面,作者等信息.虽然是手动创建但一般是必选的.GLOSSARY.md
是默认的词汇表,主要说明专业词汇的详细解释,这样阅读到专业词汇时就会有相应提示信息,也是手动创建但是可选的.LANGS.md
是默认的语言文件,用于国际化版本翻译,和GLOSSARY.md
一样是手动创建但是可选的.
README.md
首页文件[必须]
README.md
首页文件[必须]编辑 README.md
文件,随便写点内容并启动本地服务(gitbook serve
)实时预览效果.
SUMMARY.md
概括文件[必须]
SUMMARY.md
概括文件[必须]先停止本地服务,编辑章节目录结构,然后重新再初始化(gitbook init
)自动创建相应目录.
_book
输出目录[可选]
_book
输出目录[可选]执行 gitbook build
或 gitbook serve
命令后会自动生成静态网页.
book.json
配置文件[可选]
book.json
配置文件[可选]在根目录下新建 book.json
配置文件,完整的支持项请参考官方文档,下面仅列举常用的一些配置项.
title
标题
title
标题书籍的标题
示例:
author
作者
author
作者书籍的作者
示例:
description
描述
description
描述书籍的简要描述
示例:
isbn
国际标准书号
isbn
国际标准书号书籍的国际标准书号
示例:
选填,请参考 ISBN Search
language
语言
language
语言支持语言项: 默认英语(
en
),设置成简体中文(zh-hans
)
示例:
direction
阅读顺序
direction
阅读顺序阅读顺序,支持从右到左(
rtl
)或从左到右(ltr
),默认值取决于语言值.
示例:
gitbook
版本
gitbook
版本指定
gitbook
版本,支持SemVer规范,接受类似于>=3.2.3
的条件.
示例:
root
根目录
root
根目录指定存放
gitbook
文件(除了book.json
文件本身)的根目录
示例:
links
侧边栏链接
links
侧边栏链接左侧导航栏添加链接,支持外链
示例;
styles
自定义样式
styles
自定义样式自定义全局样式
示例:
plugins
插件
plugins
插件配置额外的插件列表,添加新插件项后需要运行
gitbook install
安装到当前项目.
gitbook
默认自带5个插件,分别是:
highlight
语法高亮插件search
搜索插件sharing
分享插件font-settings
字体设置插件livereload
热加载插件
后续会介绍一些常用插件,如需获取更多插件请访问官网插件市场
示例:
pluginsConfig
插件配置
pluginsConfig
插件配置安装插件的相应配置项,具体有哪些配置项是由插件本身提供的,应访问插件官网进行查询.
structure
目录结构配置
structure
目录结构配置指定
README.md
,SUMMARY.md
,GLOSSARY.md
和LANGS.md
文件名称.
structure.readme
readme
文件名(默认值是 README.md
)
structure.summary
summary
文件名(默认值是 SUMMARY.md
)
structure.glossary
glossary
文件名(默认值是 GLOSSARY.md
)
structure.languages
languages
文件名(默认值是 LANGS.md
)
pdf
配置
pdf
配置定制
ebook-convert
等相关插件
pdf.pageNumbers
添加页码(默认值是 true
)
pdf.fontSize
字体大小(默认值是 12
)
pdf.fontFamily
字体集(默认值是 Arial
)
pdf.paperSize
页面尺寸(默认值是 a4
),支持a0
,a1
,a2
,a3
,a4
,a5
,a6
,b0
,b1
,b2
,b3
,b4
,b5
,b6
,legal
,letter
pdf.margin.top
上边界(默认值是 56
)
pdf.margin.bottom
下边界(默认值是 56
)
pdf.margin.left
左边界(默认值是 62
)
pdf.margin.right
右边界(默认值是 62
)
电子书封面照片
cover.jpg
和cover_small.jpg
,后续会详细说明.
GLOSSARY.md
词汇表文件[可选]
GLOSSARY.md
词汇表文件[可选]词汇表文件,用于全书的专业词汇解释说明,比如鼠标悬停在专业词汇上会有相应提示.
语法格式:
##
+ +专业词汇
学习 gitbook
前最好先学习下markdown和git,你知道他们的用途吗?
示例:
LANGS.md
语言文件[可选]
LANGS.md
语言文件[可选]支持国际化编写图书,一种语言一个单独子目录,同样地,将语言文件放到根目录下.
示例:
章节小结
开发初始阶段运行 gitbook init
命令按照 SUMMARY.md
文件内容自动创建对应目录结构,编写各自文件内容后运行 gitbook serve
启动本地服务实时预览效果.
开发到一定程度后打算发布服务,再运行 gitbook build
输出到 _book/
目录,别忘了配置 book.json
文件,然后就可以将 _book/
文件夹整个扔到 nginx
等静态服务器上,这样就能联网访问你的电子书了.
是不是很简单,后续还会有如何发布与导出等相关教程,今天先到这里,下次见!
最后更新于