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. 高性能之js

    alloyteam团队的总结: 链接在:http://www.alloyteam.com/2012/10/high-performance-front-end-high-performance-jav ...

  2. axios中文文档

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. Features 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http  ...

  3. HDU3488 Tour KM

    原文链接http://www.cnblogs.com/zhouzhendong/p/8284304.html 题目传送门 - HDU3488 题意概括 给一个n的点m条边的有向图. 然后让你把这个图分 ...

  4. List接口相对于Collection接口的特有方法

    [添加功能] 1 void add(int index,Object element); // 在指定位置添加一个元素. [获取功能] 1 Object get(int index); // 获取指定 ...

  5. springmvc 无法访问静态资源

    没有配置<mvc:resources location="/" mapping="/**"/> <?xml version="1.0 ...

  6. day32 process模块用法

    昨日作业: 服务端: 服务端: from socket import * from multiprocessing import Process def server(ip,port): server ...

  7. JavaEE 之 Spring(一)

    1.Spring a.作用:降低组件与组件之间的关联,便于系统的维护和拓展 b.核心思想: ①IOC:控制反转——配置文件依赖注入 ②AOP:面向切面编程 2.IOC/DI a.建配置文件 <? ...

  8. 003.DNS主从正反解析部署

    一 实验环境 1.1 实验需求 配置正向解析bind 配置反向解析bind 配置辅助dns的bind 实现主辅dns之间的区域传送 1.2 环境规划 主dns:CentOS6.8-01 172.24. ...

  9. react那些事儿

    一.参考链接https://reactjs.org/http://react-china.org/https://doc.react-china.org/https://hulufei.gitbook ...

  10. 深度学习目标检测:RCNN,Fast,Faster,YOLO,SSD比较

    转载出处:http://blog.csdn.net/ikerpeng/article/details/54316814 知乎的图可以放大,更清晰,链接:https://www.zhihu.com/qu ...