简介
GitBook 是一个基于 Node.js 的命令行工具,可使用 GitHub / Git、Markdown、AsciiDoc来制作精美的电子书。GitBook 可以将文档作为静态网站或电子书(PDF,ePub或Mobi格式)输出。
GitBook.com 是使用 GitBook 格式创建和托管图书的在线平台,它提供托管,协作功能和易于使用的编辑器。
本文示例运行的系统为CentOS Linux release 7.4.1708,nodejs版本为v8.11.3。
 
安装nodejs
访问nodejs官网,下载nodejs,下载后的文件名为node-v8.11.3-linux-x64.tar.xz。
1.执行 tar -Jxvf node-v8.11.3-linux-x64.tar.xz,将nodejs解压到当前目录。
2.需要创建软链接,执行 ln -s /usr/local/mine/node-v8.11.3-linux-x64/bin/node /usr/local/bin/node、ln -s /usr/local/mine/node-v8.11.3-linux-x64/bin/npm /usr/local/bin/npm。
 
安装GitBook
1.执行 npm install gitbook-cli -g安装GitBook命令行工具,自动选择版本,同时也会安装GitBook。
2.安装完成后,可以在nodejs目录里的bin目录下看到gitbook软连接文件,执行 ln -s /usr/local/mine/node-v8.11.3-linux-x64/bin/gitbook /usr/local/bin/gitbook,让该命令全局可用。
npm命令的-g选项是指全局安装,将模块安装到全局目录中,全局目录可以用npm config get prefix 命令获取以及用npm config set prefix ""命令设置,不加-g则是将模块下载到当前命令行所在目录。
npm update gitbook-cli -g是更新命令,npm uninstall gitbook-cli -g是卸载命令。
 
GitBook命令
gitbook -h显示GitBook 帮助信息,gitbook help显示GitBook可用命令。
GitBook可以在本地安装多个版本并在执行命令的时候指定某个版本,如果指定的版本还没安装就会自动下载安装,下载后的GitBook会被放到~/.gitbook目录下。相关操作有:
gitbook ls:列出本地已安装的gitbook版本
gitbook current:列出当前活动的gitbook版本
gitbook ls-remote:列出远程可以下载安装的gitbook版本
gitbook fetch [version]:下载安装某个gitbook版本
gitbook uninstall [version]:卸载某个gitbook版本
gitbook update:更新到最新的gitbook版本
如 gitbook -v 4.0.0-alpha.6 current会显示GitBook version is 4.0.0-alpha.6,而gitbook -V会显示gitbook和gitbook cli的运行版本。
 
初始化GitBook
1.执行 mkdir gitbook-demo && cd gitbook-demo 创建一个gitbook-demo目录并进入到该目录。
2.执行gitbook init 初始化GitBook,会在当前目录下生成 README.md 和 SUMMARY.md文件。SUMMARY.md是GitBook的目录文件。README.md是电子书介绍文件,必须存在。
也可以先手动创建SUMMARY.md,再执行gitbook init,如果SUMMARY.md中配置的文件夹和文件不存在,就会自动创建文件夹和文件,已经存在的文件夹和文件不会被覆盖。一般情况下是先在gitbook-demo目录下执行gitbook init,然后将要制作文档的md文件放到gitbook-demo里,接着再修改SUMMARY.md。
gitbook init的更多用法参考gitbook help。
 
生成静态网站
在gitbook-demo目录下执行 gitbook build,会在gitbook-demo目录下生成一个 _book 目录,里面的内容为静态网站的文件,可以将 _book 目录下的文件拷贝到nginx、httpd等web服务器内,也可以使用gitbook serve命令启动一个web服务,默认端口是4000。
gitbook build和gitbook serve的更多用法参考gitbook help。
 
GitBook目录结构
基本结构如下:
├── book.json
├── README.md
├── SUMMARY.md
├── chapter-1/
| ├── README.md
| └── something.md
└── chapter-2/
├── README.md
└── something.md
book.json:全局配置数据 (可选)
README.md:介绍电子书(必须)
SUMMARY.md:目录 (可选)
GLOSSARY.md:词汇、术语列表(可选)
 
SUMMARY.md格式
基本格式为:* [描述](文件路径或者http超链接)。文件路径是相对于SUMMARY.md所在的目录的。
支持多级目录,每级目录多缩进4个空格。例如:
* [介绍](README.md)
* [概述](index.md)
* [接口](api.md)
* [注意事项](note.md)
 
GLOSSARY.md格式
基本格式是一组h2标题加上描述,在其他页面用到这些词汇时会突出显示,鼠标放上去就会显示术语描述。术语暂不支持中文。
例如:
## test
测试定义
 
book.json格式
GitBook 允许使用灵活的配置自定义电子书,这些选项在 book.json 文件中指定,格式为json。
root:包含除了 book.json外的所有电子书文件的根目录。
structure:指定readme, summary, glossary和 languages的文件名,参考 Structure paragraph。
title:电子书名,默认值是从 README 中提取出来的。在 GitBook.com 上,这个字段是预填的。
description:书籍的描述,默认值是从 README 中提取出来的。在 GitBook.com 上,这个字段是预填的。
author:作者名。在GitBook.com上,这个字段是预填的。
isbn:国际标准书号 ISBN。
language:本书的语言类型 ,默认值是 en。
direction:文本阅读顺序,可以是 rtl (从右向左)或 ltr (从左向右),默认值依赖于 language 的值。
gitbook:应该使用的GitBook版本。使用 SemVer 规范,并接受类似于 “> = 3.0.0” 的条件。
 
Structure paragraph
除了 root 属性之外,还可以指定readme, summary, glossary和 languages 的文件名,而不是使用默认名称,如README.md。这些文件必须在项目的根目录下,不接受的路径。
structure.readme:readme 文件名(默认值是 README.md )
structure.summary:summary 文件名 (默认值是 SUMMARY.md)
structure.glossary:glossary 文件名(默认值是 GLOSSARY.md)
structure.languages:languages 文件名 (默认值是 LANGS.md)

GitBook 3.2.3入门的更多相关文章

  1. GitBook 入门学习

    一.什么是 Gitbook GitBook 是一个基于 Node.js 的命令行工具,支持 Markdown 和 AsciiDoc 两种语法格式,可以输出 HTML.PDF.eBook 等格式的电子书 ...

  2. gitbook 入门教程之 gitbook 简介

    gitBook 是一个基于node.js的命令行工具,使用 github/git 和 markdown/asciiDoc 构建精美的电子书. gitbook 支持输出静态网页和电子书等多种格式,其中默 ...

  3. GitBook入门(用github做出第一本书)——超详细配图说明

    我最近接触到gitbook,发现它支持markdown和git,刚好把我之前在github上的笔记可以生成一本书,于是我就开始着手捣鼓gitbook,一下午的时间就弄的差不多了,说明这个东西还是挺容易 ...

  4. gitbook 入门教程之小白都能看懂的 Gitbook 插件开发全流程

    什么是插件 Gitbook 插件是扩展 GitBook 功能(电子书和网站)的最佳方式. 只要是 Gitbook 默认没有提供的功能,基于插件机制都可以自行扩展,是插件让 Gitbook 变得更加强大 ...

  5. gitbook 入门教程之从零到壹发布自己的插件

    什么是插件 Gitbook 插件是扩展 Gitbook 功能的最佳方式,如果 Gitbook 没有想要的功能或者说网络上也没有现成的解决方案时,那么只剩下自食其力这条道路,让我们一起来自力更生开发插件 ...

  6. Gitbook 使用入门

    GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书. 本书将简单介绍如何安装.编写.生成.发布一本在线图书. http:/ ...

  7. gitbook 入门教程之使用 gitbook-editor 编辑器开发电子书

    亲测,目前已不再支持旧版 gitbook-editor 编辑器,而官网也没有相应的新版编辑器,如果哪位找到了新版编辑器,还望告知! 现在注册 gitbook 账号会默认重定向到 新版官网,而 旧版官网 ...

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

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

  9. gitbook 入门教程之快速体验

    本文主要介绍三种使用 gitbook 的方式,分别是 gitbook 命令行工具,Gitbook Editor 官方编辑器和 gitbook.com 官网. 总体来说,三种途径适合各自不同的人群,找到 ...

随机推荐

  1. 01 . etcd简介原理,应用场景及部署,简单使用

    etcd简介 Etcd是CoreOS团队于2013年6月发起的开源项目,他的目标是构建一个高可用的分布式键值(key-value)数据库,etcd内部采用raft协议作为一致性算法,etcd基于Go语 ...

  2. jdk8的下载、安装、配置

    jdk官方网址:https://www.oracle.com/java/technologies/javase-downloads.html 小编微信和公众号(很高兴能与各位交流学习) 以下是具体步骤 ...

  3. 如何使用zabbix监控公网环境的云服务器(从小白到高级技术顾问!!!)

    问题:当我们在本地部署了一台Zabbix服务器后,想要对云上的服务器做监控.但是zabbix一个在内网,云服务器一个在公网,网络环境不同该如何解决?能否检测到云服务器数据? 思路:使用NAT技术,将本 ...

  4. Easy Game(记忆化搜索)

    You are playing a two player game. Initially there are n integer numbers in an array and player A an ...

  5. JavaWeb三大器(过滤器、拦截器、监听器)概念梳理

    最近工作碰到了一个问题:项目A需要收集项目B中的用户活跃数信息,最后通过HttpSessionAttributeListener实现.在开发过程中,网上查找了过滤器.拦截器.监听器的帖子,这里对自己收 ...

  6. 非构造函数方式创建DbContext实例的方法

    using Microsoft.EntityFrameworkCore;using Microsoft.EntityFrameworkCore.Design;using Microsoft.Entit ...

  7. python - 模块调用

    基础 调用模块常见的两种方法 import [模块名] from [模块名] import [属性/方法] 进阶用法 调用父级目录下模块 背景介绍 目录new2(b2.py)调用上级目录new1(b1 ...

  8. Java实现随机生成由字母、数字组合的N位随机数

    通过Math.random函数生成所需的字符所有序列,通过判断当前字符是否属于大小写.数字,符合者加入数组内,直到数组存储N位为止,最后把当前数组转为字符串返回调用处. /** * 随机生成由数字.字 ...

  9. 浅谈DOM事件的优化

    在 JavaScript 程序的开发中,经常会用到一些频繁触发的 DOM 事件,如 mousemove.resize,还有不是那么常用的鼠标滚轮事件:mousewheel (在 Firefox 中,滚 ...

  10. ThinkPHP6.0 判断是否有文件上传

    有必要考虑不是post请求或没有指定enctype="multipart/form-data"的情况.如果是post请求还是设置了正确的编码,没有文件上传时 request()-& ...