Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱
MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com

Gitbook 简介 使用总结 MD


目录

Gitbook

Gitbook 是基于Node.js的命令行工具,用来创建漂亮的电子书,它使用MarkdownAsciiDoc语法来撰写内容,用Git进行版本控制,且可以托管在Github上。Gitbook 可以将作品编译成网站、PDF、ePub 和 MOBI 等多重格式。

如果你不擅长自己搭建 gitbook 环境,还可以使用 gitbook.com 在线服务来创建和托管你的作品,他们还提供了基于桌面的编辑器。

环境准备

安装 Node.js

GitBook 是一个基于 Node.js 的命令行工具,下载安装 Node.js,安装完成之后,你可以使用下面的命令来检验是否安装成功。

node -v

安装 GitBook

输入下面的命令来安装 GitBook。

npm install gitbook-cli -g

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

gitbook -V

安装 GitBook Editor

GitBook Editor 下载

Write, publish, and collaborate seamlessly. The Editor brings the GitBook workflow you love to your desktop.

不翻墙可能无法登陆注册,但是可以离线使用

实际发现并没有什么卵用

基本使用

1、GitBook 准备工作做好之后,我们进入一个你要写书的目录,输入如下命令:

gitbook init

warn: no summary file in this book
info: create README.md
info: create SUMMARY.md
info: initialization is finished

如果目录中存在SUMMARY.md文件,则会根此文件的目录结构初始化各个章节文件,否则他会会自动创建SUMMARY.md文件。项目中一般还会包含一个README.md说明文档。

2、运行服务,在编辑内容后实时预览::

gitbook serve
Live reload server started on port: 35729
Press 【CTRL+C】 to quit ...
...
Serving book on http://localhost:4000

首次运行该命令后,会在项目文件夹中生成一个_book文件夹,里面的内容即为生成的html文件,然后在浏览器地址栏中输入 http://localhost:4000 便可预览书籍。

3、我们可以使用下面命令来生成网页而不开启服务器:

gitbook build

项目目录结构

GitBook 项目基本的目录结构如下所示:

├── book.json
├── README.md
├── SUMMARY.md
├── chapter-1/
| ├── README.md
| └── something.md
└── chapter-2/
├── README.md
└── something.md

下面我们主要来讲讲 book.json 和 SUMMARY.md 文件。

章节文件:SUMMARY.md

这个文件主要决定 GitBook 的章节目录,它通过 Markdown 中的列表语法来表示文件的父子关系。我们可以通过使用标题或者水平分割线将 GitBook 分为几个不同的部分,下面是一个简单的示例:

# Summary

## Part I

* [Introduction](README.md)
* [Writing is nice](part1/writing.md)
* [GitBook is nice](part1/gitbook.md) ## Part II * [We love feedback](part2/feedback_please.md)
* [Better tools for authors](part2/better_tools.md) --- * [Last part without title](part3/title.md)

配置文件:book.json

该文件主要用来存放配置信息,常用配置如下:

  • title:本书标题
  • author:本书作者
  • description:本书描述
  • language:本书语言,中文设置 "zh-hans" 即可
  • gitbook:指定使用的 GitBook 版本
  • styles:自定义页面样式
  • structure:指定 Readme、Summary、Glossary 和 Languages 对应的文件名
  • links:在左侧导航栏添加链接信息,例如个人站点
  • plugins:配置使用的插件,例如分享、GitHub
  • pluginsConfig:配置插件的属性,比如GitHub的仓库地址
{
"title": "包青天的GitBook",
"author": "包青天",
"description": "欢迎访问包青天的GitBook",
"language": "zh-hans",
"gitbook": "3.2.3",
"styles": {
"website": "./styles/website.css"
},
"structure": {
"readme": "README.md"
},
"links": {
"sidebar": {
"我的博客": "http://www.cnblogs.com/baiqiantao",
"我的GitHub": "https://github.com/baiqiantao"
}
},
"plugins": [
"-sharing",
"anchors",
"github"
],
"pluginsConfig": {
"github": {
"url": "https://github.com/baiqiantao"
}
}
}

使用插件

插件官网

Gitbook 本身功能丰富,但同时可以使用插件来进行个性化定制。

GitBook默认带有 5 个插件:highlight、search、sharing、font-settings、livereload,如果要去除自带的插件,可以在插件名称前面加-

Gitbook目前一共有700个左右的插件,如果要使用其他插件,可以在plugins中添加插件名称,然后在pluginsConfig中配置插件。

如果在执行build或server命令时提示要使用的插件不存在,只需在终端输入 gitbook install ./ 即可自动安装缺少的插件。如果要指定插件的版本,可以使用plugin@0.3.1

默认插件

  • sharing:默认的分享插件。
  • fontsettings:默认的字体、字号、颜色设置插件。
  • search:默认搜索插件。
  • highlight:默认的代码高亮插件,通常会使用 prism 来替换。
  • lunr

必备插件

  • anchor-navigation-ex:导航扩展,增加锚点,返回顶部,显示序号
  • anchor-navigation:锚点导航(为什么不能用?)
  • donate:捐赠打赏按钮插件
  • splitter:在左侧目录和右侧内容之间添加一个可以拖拽的栏,用来调整两边的宽度。
  • tbfed-pagefooter:自定义页脚,显示版权和最后修订时间。
  • ad:在每个页面顶部和底部添加广告或任何自定义内容。

常用插件

可能有用的

  • redirect:页面跳转(重定向)。
  • sectionx:分离各个段落,并提供一个展开收起的按钮。
  • favicon:为网站添加了favicon和Apple Touch图标。
  • image-captions:抓取内容中图片的 alttitle 属性,在图片下面显示标题。
  • mermaid:使用流程图。
  • latex-codecogs:使用数学方程式。
  • disqus:添加 disqus 评论插件。
  • sitemap:生成站点地图。
  • baidu:使用百度统计。
  • ga:添加 Google 统计代码。
  • duoshuo:使用多说评论。

一般用不到的

  • chart:使用 C3.js 图表。
  • youtubex:插入 YouTube 视频。
  • fbqx:使用填空题。
  • mcqx:使用选择题。
  • spoiler:隐藏答案,当鼠标划过时才显示。
  • styles-sass:使用 SASS 替换 CSS。
  • styles-less:使用 LESS 替换 CSS。

输出PDF格式文档

下载插件 calibre-ebook

安装后,程序会自动将包含ebook-convert.exe的文件夹添加到PATH变量中(如果没有,请手动添加)。

npm install svgexport -g
npm install ebook-convert -g
gitbook pdf/epub/mobi //生成电子书

个性化配置:

  • pageNumbers:是否添加页码,默认是true
  • fontSize:字体大小,默认是12
  • fontFamily:字体,默认字体是Arial
  • paperSize:default is a4, options are 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'legal', 'letter'
  • margin.top/bottom/right/left:Top margin (default is 56/62)
{
"pdf": {
"fontFamily": "Arial",
"fontSize": 12,
"margin": {
"bottom": 56,
"left": 62,
"right": 62,
"top": 56
},
"pageNumbers": true,
"paperSize": "a4"
},
"pluginsConfig": {
"fontSettings": {
"family": "msyh",
"size": 2,
"theme": "white"
},
"plugins": [
"yahei",
"katex",
"-search"
]
}
}

常用命令

常用命令

gitbook init //初始化目录文件
gitbook build [书籍路径] [输出路径] //构建书籍,生成静态网页,默认输出到 _book 目录
gitbook serve [--port 端口号] //包含build命令,生成静态网页并运行服务器
gitbook pdf ././mybook.pdf //生成 pdf/epub/mobi 格式的电子书 gitbook help //列出gitbook所有的命令
gitbook --help //输出gitbook-cli的帮助信息
gitbook ls //列出本地所有的gitbook版本
gitbook ls-remote //列出远程可用的gitbook版本
gitbook fetch 标签/版本号 //安装对应的gitbook版本
gitbook update //更新到gitbook的最新版本
gitbook uninstall 2.0.1 //卸载对应的gitbook版本

gitbook --help

Usage: gitbook [options] [command]

Options:
-v, --gitbook [version] specify GitBook version to use
-d, --debug enable verbose error
-V, --version Display running versions of gitbook and gitbook-cli
-h, --help output usage information Commands:
ls List versions installed locally
current Display currently activated version
ls-remote List remote versions available for install
fetch [version] Download and install a <version>
alias [folder] [version] Set an alias named <version> pointing to <folder>
uninstall [version] Uninstall a version
update [tag] Update to the latest version of GitBook
help List commands for GitBook
* run a command with a specific gitbook version

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] --log install all plugins dependencies
parse [book] --log parse and print debug information about a book
init [book] --log setup and create files for chapters
pdf [book] [output] --log build a book into an ebook file
epub [book] [output] --log build a book into an ebook file
mobi [book] [output] --log build a book into an ebook file

报错:找不到 fontsettings.js

Error: ENOENT: no such file or directory, stat ...\_book\gitbook\gitbook-plugin-fontsettings\fontsettings.js

原来是一个Bug(Vesion:3.2.3)。

解决办法:

在用户目录下找到以下文件:<user>\.gitbook\versions\3.2.3\lib\output\website\copyPluginAssets.js

替换:confirm: trueconfirm: false

2019-3-12

Gitbook 简介 使用总结 MD的更多相关文章

  1. RxJava RxPermissions 动态权限 简介 原理 案例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. gitbook 入门教程之 gitbook 简介

    gitBook 是一个基于node.js的命令行工具,使用 github/git 和 markdown/asciiDoc 构建精美的电子书. gitbook 支持输出静态网页和电子书等多种格式,其中默 ...

  3. Xposed 框架 hook 简介 原理 案例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. 利用 Gitbook 生成文档中心站点

    经过一个多月,Bugtags 最近上线了自己的文档站点:docs.bugtags.com,在这里你可以找到 Bugtags 集成.使用相关的绝大部分问题. 在这之前我们使用的是第三方提供的帮助中心产品 ...

  5. 使用 Gitbook 打造你的电子书

    本文详细讲解了 Gitbook 生成电子书的完整过程,内容包括:安装.命令.配置.文档结构.生成电子书.部署. 限于篇幅,本文不介绍任何 Gitbook 定制化页面的内容. 想看看 Gitbook 在 ...

  6. Gitbook 命令行工具

    1.Gitbook 简介 1.1 Gitbook GitBook 是一个基于 Node.js 开发的命令行工具,使用它可以很方便的管理电子书,GitBook 是目前最流行的开源书籍写作方案. 使用 G ...

  7. GITBOOK/HEXO TRAVIS GITHUB-PAGES 博客搭建

    简介 这年头要是没有个博客都不好意思给别人说你是程序员,我用XX笔记呀,不行吗?不行,这玩意儿要么不能公开分享,要么公开分享要会员,现在到处都是开源,自己学到了东西都不能分享给需要帮助的人,真是伤心呀 ...

  8. docker搭建gitbook服务

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

  9. Leader 让我做 CMS 帮助中心的技术选型,我撸了 VuePress 和 GitBook,然后选择...

    前言 因为自己平时经常写博客,也有博客网站,所以 Leader 叫我做一个 CMS 的帮助中心的技术选型,CMS 的帮助中心的功能:是通过文章来教用户如何使用我们的项目. 所以笔者要做一个静态网站的技 ...

随机推荐

  1. BZOJ4025 二分图 分治 并查集 二分图 带权并查集按秩合并

    原文链接http://www.cnblogs.com/zhouzhendong/p/8683831.html 题目传送门 - BZOJ4025 题意 有$n$个点,有$m$条边.有$T$个时间段.其中 ...

  2. >maven-compiler-plugin的理解

    在maven中项目中这个插件一直都会看见,但是一直没有认真学习一下为啥使用,现在有空就查询学习一下. 1.使用场景 下载了一些工程需要编译的时候. maven是个项目管理工具,如果我们不告诉它我们的代 ...

  3. Python上下文管理器 with

    对于系统资源的操作,如:文件操作.数据库操作等,我们往往打开文件.连接数据库后忘了将其close掉,这时就可能会引发异常,因此我们常用的做法是: # coding:utf-8 f = open(&qu ...

  4. 反向传播算法(前向传播、反向传播、链式求导、引入delta)

    参考链接: 一文搞懂反向传播算法

  5. 队列queue实现线程的消费者和生产者

    import threading import queue import random import time qq = queue.Queue(4) #实例化一个队列,因为是一个进程的线程,所以共资 ...

  6. oracle连接连表查询时,两表的连接字段类型不一致的时候,会导致ora 01722无效数字错误,这时候需要转换

    类型不匹配,需要类型转换,函数:to_char()转换成字符,to_num()转换成数字

  7. HDU 2888 Check Corners (模板题)【二维RMQ】

    <题目链接> <转载于 >>> > 题目大意: 给出一个N*M的矩阵,并且给出该矩阵上每个点对应的值,再进行Q次询问,每次询问给出代询问子矩阵的左上顶点和右下 ...

  8. P3150 pb的游戏(1)

    P3150 pb的游戏(1)选偶数,这一轮一定会活,选奇数,自己这一轮可能会死,并且(如果自己这一轮没死)下一轮对手一定可以活,因为选了奇数,就会被分解成奇数和偶数. #include<iost ...

  9. java validate date

    public boolean isDateValidDDMMYYYY(String date) { String DATE_FORMAT = "ddMMyyyy"; try { D ...

  10. Oracle date-time

    Name Description ADDDATE() Add time values (intervals) to a date value ADDTIME() Add time CONVERT_TZ ...