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. sql查询的常用语句

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database 数据库名 3.说明:备份sql server --- 创建 ...

  2. Multi-judge Solving

    C. Multi-judge Solving 写这个题的时候也是思维出了漏洞....容易漏掉的一点就是在别的 oj 上做了题之后可能不能够马上回原来的 oj 上做题,这是写循环的时候需要注意的的方,需 ...

  3. 网络爬虫技术实现java依赖库整理输出

    网络爬虫技术实现java依赖库整理输出 目录 1       简介... 2 1.1      背景介绍... 2 1.2      现有方法优缺点对比... 2 2       实现方法... 2 ...

  4. zookeeper系列(六)zookeeper的系统模型(数据树)

    作者:leesf    掌控之中,才会成功:掌控之外,注定失败. 出处:http://www.cnblogs.com/leesf456/p/6072597.html尊重作者原创,奇文共欣赏,大家共同学 ...

  5. shiro 自定义filter

    1.自定义登录filter package com.creatunion.callcenter.filter; import com.alibaba.fastjson.JSONObject; impo ...

  6. Amaple.js框架详细介绍

    Amaple · 体验优先的JavaScript单页框架 Amaple (点此查看Github仓库)是专为单页web应用而设计的基于页面模块化的JavaScript框架,它可使开发者快速开发单页web ...

  7. nginx返回固定字符串

    在系统还没有做集群的情况下,直接重启项目时刚好用户在使用的话,一般都会受到投诉,那么使用nginx返回类似“系统维护”的提示信息并且提前在应用上面做通知才是合适的做法 那么记录一下nginx里面的配置 ...

  8. docker操作笔记

    1.查看docker版本:docker info /docker  version2.使用 docker run 命令来在容器内运行一个应用程序.如输出helloworld:docker run ub ...

  9. TCP之Nagle算法与TCP_NODELAY

    1. Nagle 算法 在一个 Rlogin 连接上客户一般每次发送一个字节到服务器,这就产生了一些 41 字节长的分组:20 字节的 IP 首部.20 字节的 TCP 首部和 1 个字节的数据.在局 ...

  10. LeetCode 470. 用 Rand7() 实现 Rand10()(Implement Rand10() Using Rand7())

    题目描述 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数. 不要使用系统的 Math.random() 方法. 示 ...