前面的话

  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. SimpleRpc-系统边界以及整体架构

    系统边界 什么是系统边界?系统边界就是在系统设计之初,对系统所要实现的功能进行界定,不乱添加,不多添加.这么做的好处就是,系统简单明了,主旨明确,方便开发和用户使用.举个例子,一个自动售货机的本职工作 ...

  2. Maven简介(一)

    在现实的企业中,以低成本.高效率.高质量的完成项目,不仅仅需要技术大牛,企业更加需要管理大牛,管理者只懂技术是远远不够的.当然,管理可以说有很多的方面,例如:对人员的管理,也有对项目的管理等等.如果你 ...

  3. 框架应用:Mybatis (一) - 入门案例

    ORM框架 在实际开发中,工程中本质的任务是从数据库中获取数据,然后对数据进行操作,又或者写入数据.开发时语言是大多是面向对象的工程语言,这个时候就必须进行工程语言和数据库连接语言的转换,也就是所谓的 ...

  4. 读Zepto源码之Gesture模块

    Gesture 模块基于 IOS 上的 Gesture 事件的封装,利用 scale 属性,封装出 pinch 系列事件. 读 Zepto 源码系列文章已经放到了github上,欢迎star: rea ...

  5. 每周分享之 二 http协议(3)

    本次分享http协议,共分为三部分,这是第三部分,主要讲解一个完整的http请求都经过哪些步骤,当我们在地址栏中输入网址,到返回页面都经历了什么 1.输入网址 当我们在浏览器中输入网址的时候,浏览器就 ...

  6. KM算法新识

    看了很多写的好的文章,但是针对代码注释来讲,这篇文章最合适.                                 如果人生会有很长,愿你的荣耀永不散场--wenr大牛. #include ...

  7. (10.16)java小作业!

    相信大家刚刚学习java多多少少都会写一些java的基础编程来练练手感,我也不例外!今天想和大家分享一下我最近所接触到的比较有趣的java小编程! 已知a已被赋值,b已被赋值,请编写java程序实现a ...

  8. 【学习】原生js学习笔记1:添加class和使input为不可用

    <input type="checkbox" id="new_check" onChange="noUse()" checked> ...

  9. UWP appButtonBar样式

    UWP 的appButtonBar使用<AppBarButton Icon = "Next" Label = "Next" /> Icon是 Sym ...

  10. OpenSCAD 建模:矿泉水瓶盖

    下载地址:https://github.com/ZhangGaoxing/openscad-models/tree/master/BottleCap 代码: module screw(r=){ ::] ...