1.1 gitbook介绍

  1、gitbook说明

    GitBook 使用的markdown语法 在此基础上做了一些 写作便利性的加强

    Markdown 是一种轻量级的「标记语言」,优点在于

      • 专注你的文字内容而不是排版样式。
      • 轻松的导出 HTML、PDF 和本身的 .md 文件。
      • 纯文本内容,兼容所有的文本编辑器与字处理软件。
      • 可读,直观。适合所有人的写作语言。

  2、安装gitbook 

npm install gitbook-cli -g   # 安装gitbook
gitbook help # 查看gitbook帮助信息
gitbook -V # 查看gitbook版本信息

  3、创建一个gitbook项目

C:\Users\tom>  cd C:\aa\test-book            # 进入要进行书写的空文件夹
C:\aa\test-book> gitbook init # 初始化文件夹
C:\aa\test-book> gitbook serve --port 80 # 在本地80端口运行gitbook这个服务
# 注访问:http://localhost:80

  4、设置gitbook样式

{
"language": "zh-hans",
"plugins": [
"livereload",
"highlight",
"search",
"lunr",
"-sharing",
"fontsettings",
"theme-default"
], "styles": {
"website": "styles/website.css"
} }

book.json在C:\aa\test-book中创建插件配置

.gitbook-link {
display: none!important;
}

styles/website.css在C:\aa\test-book清除默认链接样式

1.2 设置目录层级结构

  1、说明

      1. test-book 目录下的 SUMMARY.md 文件是 gitbook init 自动生成的 你也可以自己创建 这个markdown文件决定了你文档的目录结构

      2. SUMMARY.md 就是一个markdown文件 当中内容遵循如下格式,星号 空格 方括号 圆括号【  * [前言](README.md)

        1)星号:的缩进代表所在条目的层级结构,四个空格为一个层级,相当于是一个链接

        2)方括号:中是链接的名字

        3)圆括号:中是一个文件里面是实际内容

        4)默认的 README.md 是你的说明文件 你可以将文档的说明内容 在此文件中编辑 对应一本书的前言 或者是序言

  2、使用举例

    1)创建对应的文件目录结构

cd /c/aa/test-book                         # 在windows中使用git进入test-book文件夹,并使用linux环境
mkdir -p chapter{1,2,3} # 在test-book中创建文件夹:chapter1 chapter2 chapter3
touch chapter{1,2,3}/chapter{1,2,3}.md # 在对应文件夹中创建章节文件:chapter1.md chapter2.md chapter3.md
touch chapter{1,2,3}/section{1,2,3}.md # 在对应文件夹中创建文章文件:section1.md section2.md section3.md
C:\aa\test-book>tree /F
C:.
│ book.json # 设置gitbook插件
│ README.md # gitbook介绍
│ SUMMARY.md # gitbook目录结构

├─styles
│ website.css # 设置样式

├─chapter1 # 第一章文件夹
│ chapter1.md # 第一章文件
│ section1.md
│ section2.md
│ section3.md

├─chapter2 # 第二章文件夹
│ chapter2.md # 第二章文件
│ section1.md
│ section2.md
│ section3.md

├─chapter3 # 第三章文件夹
│ chapter3.md # 第三章文件
│ section1.md
│ section2.md
│ section3.md

创建后的目录结构如下

    2)在test-book/summary.md 中加入目录结构

# Summary

* [前言](README.md)
* [第一章](chapter1/chapter1.md)
* [第1节](chapter1/section1.md)
* [第2节](chapter1/section2.md)
* [第3节](chapter1/section3.md)
* [第二章](chapter2/chapter2.md)
* [第1节](chapter2/section1.md)
* [第2节](chapter2/section2.md)
* [第3节](chapter2/section3.md)
* [第三章](chapter3/chapter3.md)
* [第1节](chapter3/section1.md)
* [第2节](chapter3/section2.md)
* [第3节](chapter3/section3.md)
* [总结](summary.md)

summary.md

        

1.3 gitbook一些实用插件

  1、gitbook中常用插件注释

      参考博客:https://segmentfault.com/a/1190000019806829?utm_source=tag-newest

{
"plugins": [
"splitter", # splitter 侧边栏宽度可调节
"copy-code-button", # 快速复制按钮
"highlight", # 代码高亮
"accordion", # 折叠模块(页面内容可折叠)
"back-to-top-button", # 回到顶部按钮 "search-pro", # search-pro支持中文搜索,在使用此插件之前,需要将默认的search和lunr 插件去掉
"-search",
"-lunr", "chapter-fold", # 左侧目录可折叠
"expandable-chapters", # 也是左侧目录折叠的插件,不同的是可以解决chapter-fold插件的bug
"-expandable-chapters-small", # 也是折叠菜单的,但是这个插件跟chapter-fold有一样的bug "fontsettings",
"livereload", # 为GitBook实时重新加载
"popup", # 打开新的页面查看图片 "-sharing", # 去掉左右分享功能
"theme-default",
"theme-comscore", # 主题插件,修改标题和表格颜色
"page-treeview" # 在页面顶部显示目录 ], "styles": {
"website": "styles/website.css"
}
}
{
"plugins": [
"-search",
"-sharing",
"theme-default",
"-lunr",
"fontsettings",
"livereload",
"popup",
"splitter",
"copy-code-button",
"highlight",
"-expandable-chapters-small",
"chapter-fold",
"back-to-top-button",
"search-pro",
"-expandable-chapters"
], "styles": {
"website": "styles/website.css"
} }

test-book/book.json : 添加插件

      1.  gitbook install  # 添加的插件没有,需要安装(这个插件比较多,安装有些耗时)

      2.  gitbook serve --port 80    # 重新运行项目

  2、折叠模块(页面内容可折叠)

# 在book.json的plugins参数中添加插件名
{
"plugins": ["accordion"]
}
%accordion%  折叠代码块标题 %accordion%

```python
print("折叠代码块内容")
``` %/accordion%

折叠模块

  3、生成页内目录(在book.json的plugins参数中添加插件名)

{
"plugins": ["page-treeview"],
"pluginsConfig": {
"page-treeview": {
"copyright": "Copyright © aleen42",
"minHeaderCount": "",
"minHeaderDeep": ""
}
}
}

生成页内目录:page-treeview

  4、gitbook代码高亮

{
"plugins": [
"prism",
"prism-themes"
],
"pluginsConfig": {
"prism": {
"css": ["prism-themes/themes/prism-duotone-dark.css"]
}
}
}

代码高亮:prism

1.4 把gitbook打包

   1、gitbook打包

C:\Users\tom>  cd C:\aa\test-book     # 进入gitbook文件目录
C:\aa\test-book> gitbook build # 把文件编译成html格式

  2、由于gitbook 3.x.x版本bug导致build后的文件无法自动跳转页面

# 文件位置:_book\gitbook\theme.js
# 由于代码是压缩后的,会没有空格,搜索的时候可以直接搜索: if(m)for(n.handler&&
# 将if(m)改成if(false)

01:gitbook使用的更多相关文章

  1. gitbook 入门教程之使用 gitbook-cli 开发电子书

    gitbook 生成电子书主要有三种方式: gitbook-cli 命令行操作,简洁高效,适合从事软件开发的相关人员. gitbook-editor 编辑器操作,可视化编辑,适合无编程经验的文学创作者 ...

  2. gitbook 入门教程之发布电子书

    输出目标文件 语法格式: gitbook build [book] [output] 默认情况下,gitbook 输出方式是静态网站,其实 gitbook 的输出方式有三种: website, jso ...

  3. 基于Travis CI实现 Gitbook在 Github 和 Coding 的同步部署

    前言 最近发现自己的博客在使用vpn的情况下打开很慢,百度站点也抓取失败,于是将自己的博客借助hexo-deploy 插件很容易同步部署到了coding上.只需要在你的hexo配置文件_config. ...

  4. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  5. 用Kotlin创建第一个Android项目(KAD 01)

    原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...

  6. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

  7. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  8. 0042 MySQL学习笔记-入门--01

    基本概念: 数据库DB(database): 数据的仓库,数据的集合,是数据的一种结构化的存储 数据库管理系统DBMS(database management system): 管理数据库的一套软件 ...

  9. Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

    一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...

随机推荐

  1. [CSP-S模拟测试]:地理课(并查集+线段树分治)

    题目传送门(内部题146) 输入格式 从$geography.in$读入数据. 第一行两个数$n,m$,表示有$n$个点,$m$个时刻.接下来$m$行每行三个数,要么是$1\ u\ v$,要么是$2\ ...

  2. C++中void和void*指针的含义 (指针类型的含义)

    转载自:http://blog.csdn.net/lee_shuai 指针有两个属性:指向变量/对象的地址和长度,但是指针只存储地址,长度则取决于指针的类型:编译器根据指针的类型从指针指向的地址向后寻 ...

  3. Java并发编程(十一)——原子操作CAS

    一.原子操作 syn基于阻塞的锁的机制,1.被阻塞的线程优先级很高,2.拿到锁的线程一直不释放锁怎么办?3.大量的竞争,消耗cpu,同时带来死锁或者其他安全. CAS的原理 CAS(Compare A ...

  4. C++入门经典-例7.9-对象数组,批量化生产

    1:在数组内容中我们了解到,数组是通过指针分配到的一段额定大小的内容.同样,数组也可以包含对象.声明对象数组的形式如下: box boxArray[5]; box boxArray2[2]={box( ...

  5. python3笔记二十四:Mysql数据库操作命令

    一:学习内容 Mysql操作命令:启动服务.停止服务.连接数据库.退出数据库.查看版本.显示当前时间.远程连接 数据库操作命令:创建数据库.删除数据库.切换数据库.查看当前选择的数据库 表操作命令:查 ...

  6. 关于OpenModelica的编译

    由于工作需要,最近对OpenModelica进行二次开发,由于国内资料也比较少,所以踩了一些坑,近期计划把OpenModelica的编译,msys,及OpenModelica里面比较关键的部分OMEd ...

  7. Linux上安装Python3

    1. 安装支持包 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel ope ...

  8. Win10怎样显示此电脑

    1.在桌面空白处右击鼠标,在出现的选项框中选择“个性化”按钮: 2.在打开的页面中选择左侧的“主题”选项,在右侧选择“桌面图标设置”: 3.在弹出的小窗口中勾选“计算机”,点击“确定”,回到桌面即有此 ...

  9. JndiObjectFactoryBean 配置数据源

    转: JndiObjectFactoryBean 配置数据源 2017年08月29日 22:04:28 病毒先生 阅读数:7338   版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  10. 搭建Git服务器及本机克隆提交

    前文 Git是什么? Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首 ...