前面的话

  gitbook功能强大,可以自动实现搜索及翻页等功能,上手容易,用markdown书写即可,且可以自动生成响应式网站。本文将详细介绍如何使用gitbook

安装

  1、使用npm全局安装gitbook-cli

npm install gitbook-cli -g

  2、使用gitbook --version来查看gitbook的版本

gitbook --version

  3、接下来对gitbook进行基础配置,创建并进入一个笔记文件夹

mkdir myNote
cd myNode

  4、初始化gitbook,会自动生成两个文件。README.md用于书籍介绍,SUMMARY.md用于设置书籍的目录

gitbook init

  5、接着,使用gitbook serve命令来启动gitbook本地服务器,预览默认的书籍内容

gitbook serve

  6、打开localhost:4000,会出现如下页面

  7、使用gitbook install命令来安装插件

gitbook install

  8、生成静态网页

  使用gitbook build命令,gitbook把md文件构建成静态网页

gitbook build #生成静态网页

目录结构

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

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

【book.json】

  该文件用于存放配置信息

【Glossary.md】

  允许指定要显示为注释的术语及其各自的定义。根据这些条款,GitBook将自动构建一个索引并突出显示这些术语

  该GLOSSARY.md格式是列表h2的标题,以及描述项一起

## Term
Definition for this term ## Another term
With it's definition, this can contain bold text
and all other kinds of inline markup ...

【README.md】

  书本的第一页内容是从文件 README.md 中提取的。如果这个文件名没有出现在 SUMMARY 中,那么它会被添加为章节的第一个条目

【.bookignore】

  GitBook将读取.gitignore.bookignore以及.ignore文件以获得文件和文件夹跳过列表

【SUMMARY.md】

  该文件用于存放GitBook的文件目录信息,左侧的目录就是根据这个文件来生成的,默认对应的文件是 SUMMARY.md,可以在 book.json 重新定义该文件的对应值。它通过Markdown中的列表语法来表示文件的父子关系

  [注意]不被SUMMARY.md包含的文件不会被gitbook处理.

  该文件基本的写法如下

# Summary

* [Part I](part1/README.md)
* [Writing is nice](part1/writing.md)
* [GitBook is nice](part1/gitbook.md)
* [Part II](part2/README.md)
* [We love feedback](part2/feedback_please.md)
* [Better tools for authors](part2/better_tools.md)

  目录中的章节可以使用锚点指向文件的特定部分

# Summary

### Part I

* [Part I](part1/README.md)
* [Writing is nice](part1/README.md#writing)
* [GitBook is nice](part1/README.md#gitbook)
* [Part II](part2/README.md)
* [We love feedback](part2/README.md#feedback)
* [Better tools for authors](part2/README.md#tools)

  目录可以分为以标题或水平线分隔的部分

# Summary

### Part I

* [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】

  书本的标题

"title" : "小火柴的前端小册子"

【author】

  作者的相关信息

"author" : "xiaohuochai"

【description】

  本书的简单描述

"description" : "小火柴的前端学习记录"

【language】

  Gitbook使用的语言

"language" : "zh-hans",

【root】

  指定存放 GitBook 文件(除了 book.json)的根目录

  如果目录结构如下

.
├── book.json
└── docs/
├── README.md
└── SUMMARY.md

  则可以这样设置

"root": "./docs"

【structure】

  指定自述文件,摘要,词汇表等的路径

变量            描述
structure.readme 自述文件名(默认为README.md)
structure.summary 摘要文件名(默认为SUMMARY.md)
structure.glossary 词汇表文件名(默认为GLOSSARY.md)
structure.languages 语言文件名(默认为LANGS.md)

【variables】

  可以通过{{book.value}}来获取变量,变量会从书本内容中寻找对应的值

     "variables": {
"value": "Hello World"
}

【转义】

  如果想要输出任何特殊的目标标签,可以使用raw,任何在其中的内容都会原样输出

{% raw %}
这 {{ 不会被处理 }}
{% endraw %}

【link】

  插件中的链接(null: default, false: remove, string: new value)

  "links": {
// Custom links at top of sidebar
"sidebar": {
"Custom link name": "https://xiaohuochai.site"
},
// Sharing links
"sharing": {
"google": null,
"facebook": null,
"twitter": null,
"weibo": null,
"all": null
}
}

插件

plugins          要加载的插件列表
pluginsConfig  插件配置

  gitbook默认带有6个插件

highlight
search
sharing
font-settings
livereload
lunr

  如果要去除自带的插件, 可以在插件名称前面加-

"plugins": [
"-search"
]

  下面来介绍一些常用的插件

【打赏功能:donate】

{
"plugins": ["donate"],
"pluginsConfig": {
"donate": {
"wechat": "例:/images/qr.png",
"alipay": "http://blog.willin.wang/static/images/qr.png",
"title": "默认空",
"button": "默认值:Donate",
"alipayText": "默认值:支付宝捐赠",
"wechatText": "默认值:微信捐赠"
}
}
}

【中文搜索:search-plus】

{
plugins: ["-lunr", "-search", "search-plus"]
}

【广告功能:ad】

{
"plugins": ["ad"],
"pluginsConfig": {
"ad": {
"contentTop": "<div>Ads at the top of the page</div>",
"contentBottom": "%3Cdiv%3EAds%20at%20the%20bottom%20of%20the%20page%3C/div%3E"
}
}
} // note: contentBottom is escape('<div>Ads at the bottom of the page</div>')

【目录宽度可调节:splitter】

{
"plugins": ["splitter"]
}

【github图标】

{
"plugins": [ "github" ],
"pluginsConfig": {
"github": {
"url": "https://github.com/your/repo"
}
}
}

【自定义页脚:tbfed-pagefooter】

{
"plugins": [ "tbfed-pagefooter" ],
"pluginsConfig": {
"tbfed-pagefooter": {
"copyright":"&copy Taobao FED Team",
"modify_label": "该文件修订时间:",
"modify_format": "YYYY-MM-DD HH:mm:ss"
}
}
}

【目录章节可折叠:expandable-chapters

{
{
plugins: ["expandable-chapters"]
}
{
"pluginsConfig": {
"expandable-chapters":{}
}
}
}

【畅言评论:changyan】

{
"plugins": [
"changyan"
],
"pluginsConfig": {
"changyan": {
"appid": "your changyan's appid",
"conf": "the conf in the code generate by changyan"
}
}
}

【返回顶部:back-to-top-button】

{
"plugins" : [ "back-to-top-button" ]
}

【更换ico:favicon】

  [注意]favicon只支持本地路径,不支持网络路径

{
"plugins": [
"favicon"
],
"pluginsConfig": {
"favicon": {
"shortcut": "assets/images/favicon.ico",
"bookmark": "assets/images/favicon.ico",
"appleTouch": "assets/images/apple-touch-icon.png",
"appleTouchMore": {
"120x120": "assets/images/apple-touch-icon-120x120.png",
"180x180": "assets/images/apple-touch-icon-180x180.png"
}
}
}
}

主题

  目前 GitBook 提供了三类文档: Book 文档、API文档、FAQ文档。常用的是 Book 文档模式,如果需要使用 API 文档模式或者 FAQ 文档模式,只需引入文档对应的主题插件即可

【Book】

  Book 是常用的模式,大部分插件也都是针对这个模式做的。

  theme-default 是默认的 Book 主题。将 showLevel 设为 true, 就可以显示标题前面的数字索引,默认不显示

{
"theme-default": {
"showLevel": true
}
}

  them-comscore是另一个Book主题,可以为标题添加颜色

{
"plugins": [
"theme-comscore"
]
}

【API】

  GitBook 同样可以编写 API 文档,只需要引入 theme-api 插件,引入之后会替换默认的样式

{
"plugins": ["theme-api"],
"pluginsConfig": {
"theme-api": {
"theme": "dark"
}
}
}

【FAQ】

  theme-faq 插件主要用来制作知识库或者帮助中心,GitBook 的 帮助中心 就是使用的该主题。为了支持中文搜索需要引入 search-pro 包

{
"plugins": [
"theme-faq",
"-lunr",
"search-pro@^2.0.2"
]
}

  编写帮助中心很简单,在 Summary 里配置问题以及答案所在的文件,在对应文件中写入问题的答案即可

  [注意]由于FAQ主题默认会调用maxcdn里的bootstrap和fontawesome,所以对于国内用户来说,可访问性不是很好

# Summary

## HTML
* [介绍](README.md)
* [语法介绍](introduce.md)
* [结构](struct.md) ## HTTP
* [HTTP](HTTP.md) ## CSS
* [display](display.md)
* [float](float.md)
* [absolute](absolute.md)
* [relative](relative.md)

修改内容

  下面在初始化的gitbook的基础上修改内容,并制作一个简单的电子书

  [注意]gitbook需要掌握markdown语法,详细信息移步至此

  修改目录文件SUMMARY.md

# Summary

* [前言](README.md)
* [HTML](HTML.md)
* [CSS](CSS.md)
* [JS](JS.md)
* [ES6](ES6.md)
* [HTTP](HTTP.md)
* [前端框架](FELib.md)
* [Bootstrap](bs.md)
* [jQuery](jq.md)
* [Vue](vue.md)
* [前端构建](build.md)
* [版本管理](version.md)
* [后端相关](BELib.md)
* [PHP](php.md)
* [MySQL](mysql.md)
* [NodeJS](node.md)
* [MongoDB](mongo.md)
* [服务器端](server.md)
* [辅助工具](helper.md)
* [术语表](Glossary.md)
* [参考资料](Resources.md)

  修改book.json文件

{
"title": "FE-booklet",
"description": "小火柴的前端小册子",
"author": "xiaohuochai",
"language": "zh-hans",
"links": {
"sidebar": {
"小火柴的博客": "https://webhuochai.com"
}
},
"styles":{
"website":"style.css"
},
"variables": {
"cdn": "://static.xiaohuochai.site/"
},
"plugins": [
"-lunr",
"-search",
"-livereload",
"-sharing",
"expandable-chapters",
"search-plus",
"splitter",
"github",
"tbfed-pagefooter","back-to-top-button",
],
"pluginsConfig": {
"github": {
"url": "https://github.com/littlematch0123/FE-booklet"
},
"tbfed-pagefooter": {
"copyright": "&copy; xiaohuochai",
"modify_label": "文件修订时间:",
"modify_format": "YYYY-MM-DD HH:mm:ss"
},
}
}

  最终效果如下

使用gitbook的更多相关文章

  1. gitbook安装与使用之windows下搭建gitbook平台

    最近需要在GitBook中去阅读电子书 安装nodejs cnpm安装gitbook 解压书籍文件,并cd到书籍文件目录 gitbook serve 浏览器访问localhost:4000 先在win ...

  2. Gitbook简易教程

    简介 GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书.GitBook支持输出以下几种文档格式 静态站点:GitBook ...

  3. 局域网内利用gitlab,jenkins自动生成gitbook并发布(nginx)

    安装了GitBook,内网使用,没法用上gitbook的网页. 用gitbook serve只能展示一本书,而且也不利于长期维护. 于是使用gitlab,jenkins,和nginx配合gitbook ...

  4. GitBook制作电子书详细教程(命令行版)

    GitBook 是一款基于 Node.js 开发的开源的工具,可以通过命令行的方式创建电子书项目,再使用 MarkDown 编写电子书内容,然后生成 PDF.ePub.mobi 格式的电子书,或生成一 ...

  5. Open Source Cassandra Gitbook for Developer

    Just released an open source Cassandra Gitbook for developer. http://teddymaef.github.io/learncassan ...

  6. GitBook – 使用 GitHub 和 Markdown 制作书籍

    GitBook 是一个命令行工具(也是 Node.js 库),让你能够使用 GitHub/Git 和 Markdown 构建出美丽的编程书籍,可以包含互动的练习.GitBook 支持使用多种语言构建书 ...

  7. gitbook使用

    第一步:安装node.js 官方网址:https://nodejs.org/en/ 运行以下命令,确认是否安装成功 node -v 第二步:安装gitbook npm install -g gitbo ...

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

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

  9. 从gitbook将书籍导入到github中

    gitbook自己的导出工具经常出问题,可直接使用git. 从gitbook中clone下书 $ git clone https://git.gitbook.com/username/name_of_ ...

  10. Gitbook安装

    Gitbook安装 Gitbook是从NMP安装的,命令行: $ npm install gitbook -g 安装完之后,你可以检验下是否安装成功: $ gitbook -V 0.4.2 如果你看到 ...

随机推荐

  1. python实现算24的算法

    1.介绍 给定4个整数,数字范围在1-13之间,任意使用 + - * / ( ) ,构造出一个表达式,使得最终结果为24,这就是常见的算24的游戏.本文介绍用Python语言实现的两种方式.2.实现思 ...

  2. getOutputStream() has already been called for this response

    错误日志里偶尔会有getOutputStream() has already been called for this response这个错误 最近发现了高概率复现条件,所以顺手解决了一下: 首先根 ...

  3. Manacher详解

    之前的字符串题解中对Manacher的思想进行了简略的介绍,在这篇文章中,我将会详细的将这个算法的初衷和具体实现理论进行解释.声明一点,这是我个人的理解,可能有不全面之处,望多包涵.在之前的几篇文章中 ...

  4. CSV导出大量数据

    $csvname = $csvname . '.csv'; header('Content-Type: application/vnd.ms-excel;charset=GB2312'); heade ...

  5. 最详细的PHP flush()与ob_flush()的区别详解

    buffer ---- flush()buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页.主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区 ...

  6. eclipse中搜狗输入法中文状态下输出的全是英文

    在eclipse中搜狗输入法变成了如图这样 在中文状态下,提示的全是中文. 查询到的解决方案: 快捷键ctrl+shift+E关闭搜狗智能英文.然而与eclipse中 Ctrl+shift+E 快捷键 ...

  7. 关于数据库中datareader的用法

    1.C#中提供的DataReader可以从数据库中每次提取一条数据. using System; using System.Collections.Generic; using System.Comp ...

  8. JSP 入门

    request是请求,即客服端发来的请求. response是响应,是服务器做出的响应 redirect页面重定向 forward页面跳转 不改变url 四个作用域 如果把变量放到pageContex ...

  9. 利用百度地图WEB服务APIGeoCoding API批量地址解析

    Geocoding API包括地址解析和逆地址解析功能: 地理编码:即地址解析,由详细到街道的结构化地址得到百度经纬度信息,例如:“北京市海淀区中关村南大街27号”地址解析的结果是“lng:116.3 ...

  10. python---os模块使用详解

    os模块调用操作系统接口的模块 相关方法或属性: getcwd() --- 获取当前的操作目录,等同于linux中的pwd命令. 调用:os.getcwd() chdir() --- 改变python ...