概述

GitBook 是使用 GitHub / Git 和 Markdown(或AsciiDoc)构建漂亮书籍的命令行工具(和Node.js库)。

GitBook 可以将您的内容作为网站(可定制和可扩展)或电子书(PDF,ePub或Mobi)输出。

GitBook.com 是使用 GitBook 格式创建和托管图书的在线平台。它提供托管,协作功能和易于使用的编辑器

文章转载于 https://www.imooc.com/article/22889#

GitBook 安装

本地安装

环境要求

安装 GitBook 是很简单的。您的系统只需要满足这两个要求:

  • NodeJS(推荐使用v4.0.0及以上版本)
  • Windows,Linux,Unix 或 Mac OS X

通过NPM安装

安装 GitBook 的最好办法是通过 NPM。在终端提示符下,只需运行以下命令即可安装 GitBook:

$ npm install gitbook-cli -g

gitbook-cli 是 GitBook 的一个命令行工具。它将自动安装所需版本的 GitBook 来构建一本书。

执行下面的命令,查看 GitBook 版本,以验证安装成功。

$ gitbook -V

安装历史版本

gitbook-cli 可以轻松下载并安装其他版本的GitBook来测试您的书籍:

$ gitbook fetch beta

使用 gitbook ls-remote 会列举可以下载的版本。

创建一本书

初始化

GitBook可以设置一个样板书:

$ gitbook init

如果您希望将书籍创建到一个新目录中,可以通过运行 gitbook init ./directory 这样做。

构建

使用下面的命令,会在项目的目录下生成一个 _book 目录,里面的内容为静态站点的资源文件:

$ gitbook build

Debugging

您可以使用选项 --log=debug 和 --debug 来获取更好的错误消息(使用堆栈跟踪)。例如:

$ gitbook build ./ --log=debug --debug

启动服务

使用下列命令会运行一个 web 服务, 通过 http://localhost:4000/ 可以预览书籍

$ gitbook serve

GitBook 命令

这里主要介绍一下 GitBook 的命令行工具 gitbook-cli 的一些命令, 首先说明两点:

  • gitbook-cli 和 gitbook 是两个软件
  • gitbook-cli 会将下载的 gitbook 的不同版本放到 ~/.gitbook中, 可以通过设置GITBOOK_DIR环境变量来指定另外的文件夹

列出 gitbook 所有的命令

gitbook help

输出 gitbook-cli 的帮助信息

gitbook --help

生成静态网页

gitbook build

生成静态网页并运行服务器

gitbook serve

生成时指定gitbook的版本, 本地没有会先下载

gitbook build --gitbook=2.0.1

列出本地所有的gitbook版本

gitbook ls

列出远程可用的gitbook版本

gitbook ls-remote

安装对应的gitbook版本

gitbook fetch 标签/版本号

更新到gitbook的最新版本

gitbook update

卸载对应的gitbook版本

gitbook uninstall 2.0.1

指定log的级别

gitbook build --log=debug

输出错误信息

gitbook builid --debug

Gitbook 目录结构

GitBook 项目结构

GitBook使用简单的目录结构。在 SUMMARY (即 SUMMARY.md 文件)中列出的所有 Markdown / Asciidoc 文件将被转换为 HTML。多语言书籍结构略有不同。

一个基本的 GitBook 电子书结构通常如下:

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

GitBook 特殊文件的功能:

文件 描述
book.json 配置数据 (optional)
README.md 电子书的前言或简介 (required)
SUMMARY.md 电子书目录 (optional)
GLOSSARY.md 词汇/注释术语列表 (optional)

静态文件和图片

静态文件是在 SUMMARY.md 中未列出的文件。除非被忽略,否则所有静态文件都将复制到输出路径。

忽略文件和文件夹

GitBook将读取 .gitignore.bookignore 和 .ignore 文件,以获取要过滤的文件和文件夹。这些文件中的格式遵循 .gitignore 的规则:

# This is a comment# Ignore the file test.md
test.md# Ignore everything in the directory "bin"
bin/*

项目与子目录集成

对于软件项目,您可以使用子目录(如 docs/ )来存储项目文档的图书。您可以配置根选项来指示 GitBook 可以找到该图书文件的文件夹:

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

在 book.json 中配置以下内容:

{"root": "./docs"
}

Summary

GitBook 使用 SUMMARY.md 文件来定义本书的章节和子章节的结构。 SUMMARY.md 文件用于生成本书的目录。

SUMMARY.md 的格式是一个链接列表。链接的标题将作为章节的标题,链接的目标是该章节文件的路径。

向父章节添加嵌套列表将创建子章节。

简单示例:

# 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)

每章都有一个专用页面(part#/README.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)

Parts 只是章节组,没有专用页面,但根据主题,它将在导航中显示。

页面

Markdown 语法

默认情况下,GitBook 的大多数文件都使用 Markdown 语法。 GitBook 推荐使用这种语法。所使用的语法类似于 GitHub Flavored Markdown syntax 。

此外,你还可以选择 AsciiDoc 语法。

页面内容示例:

# Title of the chapterThis is a great introduction.## Section 1Markdown will dictates _most_ of your **book's structure**## Section 2...

页面前言

页面可以包含一个可选的前言。它可以用于定义页面的描述。前面的事情必须是文件中的第一件事,必须采取在三虚线之间设置的有效YAML的形式。这是一个基本的例子:

---
description: This is a short description of my page
---# The content of my page
...

Glossary

允许您指定要显示为注释的术语及其各自的定义。根据这些术语,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 ...

Gitbook 配置

GitBook 允许您使用灵活的配置自定义您的电子书。

这些选项在 book.json 文件中指定。对于不熟悉 JSON 语法的作者,您可以使用 JSONlint 等工具验证语法。

常规设置

变量 描述
root 包含所有图书文件的根文件夹的路径,除了 book.json
structure 指定自述文件,摘要,词汇表等的路径,参考 Structure paragraph.
title 您的书名,默认值是从 README 中提取出来的。在 GitBook.com 上,这个字段是预填的。
description 您的书籍的描述,默认值是从 README 中提取出来的。在 GitBook.com 上,这个字段是预填的。
author 作者名。在GitBook.com上,这个字段是预填的。
isbn 国际标准书号 ISBN
language 本书的语言类型 —— ISO code 。默认值是 en
direction 文本阅读顺序。可以是 rtl (从右向左)或 ltr (从左向右),默认值依赖于 language 的值。
gitbook 应该使用的GitBook版本。使用 SemVer 规范,并接受类似于 “> = 3.0.0” 的条件。

author

作者姓名,在GitBook.com上,这个字段是预先填写的。

例:

"author" : "victor zhang"

description

电子书的描述,默认值是从 README 中提取出来的。在GitBook.com上,这个字段是预先填写的。

例:

"description" : "Gitbook 教程"

direction

文本的方向。可以是 rtl 或 ltr,默认值取决于语言的值。

例:

"direction" : "ltr"

gitbook

应该使用的GitBook版本。使用SemVer规范,接受类似于 >=3.0.0 的条件。

例:

"gitbook" : "3.0.0",
"gitbook" : ">=3.0.0"

language

Gitbook使用的语言, 版本2.6.4中可选的语言如下:

en, ar, bn, cs, de, en, es, fa, fi, fr, he, it, ja, ko, no, pl, pt, ro, ru, sv, uk, vi, zh-hans, zh-tw

例:

"language" : "zh-hans",

links

在左侧导航栏添加链接信息

例:

"links" : {"sidebar" : {"Home" : "https://github.com/dunwu/gitbook-notes"}
}

root

包含所有图书文件的根文件夹的路径, book.json 文件除外。

例:

"root" : "./docs",

structure

指定 Readme、Summary、Glossary 和 Languages 对应的文件名。

styles

自定义页面样式, 默认情况下各generator对应的css文件

例:

"styles": {"website": "styles/website.css","ebook": "styles/ebook.css","pdf": "styles/pdf.css","mobi": "styles/mobi.css","epub": "styles/epub.css"
}

例如要使 h1h2 标签有下边框, 可以在 website.css 中设置

h1 , h2{border-bottom: 1px solid #EFEAEA;
}

title

电子书的书名,默认值是从 README 中提取出来的。在 GitBook.com 上,这个字段是预先填写的。

例:

"title" : "gitbook-notes",

plugins

插件及其配置在 book.json 中指定。有关详细信息。

自 3.0.0 版本开始,GitBook 可以使用主题。有关详细信息,请参阅  the theming section 。

变量 描述
plugins 要加载的插件列表
pluginsConfig 插件的配置

添加插件

"plugins": ["splitter"
]

添加新插件之后需要运行 gitbook install 来安装新的插件

去除自带插件

Gitbook 默认带有 5 个插件:

  • highlight
  • search
  • sharing
  • font-settings
  • livereload
"plugins": ["-search"
]

structure

除了 root 属性之外,您可以指定 Readme,Summary,Glossary 和 Languages 的名称(而不是使用默认名称,如README.md)。这些文件必须在项目的根目录下(或 root 的根目录,如果你在 book.json 中配置了 root 属性)。不接受的路径,如:dir / MY_README.md

变量 描述
structure.readme Readme 文件名(默认值是  README.md )
structure.summary Summary 文件名(默认值是 SUMMARY.md )
structure.glossary Glossary 文件名(默认值是 GLOSSARY.md )
structure.languages Languages 文件名(默认值是 LANGS.md )

pdf

可以使用 book.json 中的一组选项来定制PDF输出:

Variable Description
pdf.pageNumbers 将页码添加到每个页面的底部(默认为 true)
pdf.fontSize 基本字体大小(默认是 12)
pdf.fontFamily 基本字体样式(默认是 Arial
pdf.paperSize 页面尺寸,选项有: 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'legal', 'letter' (默认值是 a4
pdf.margin.top 上边界(默认值是 56)
pdf.margin.bottom 下边界(默认值是 56)
pdf.margin.right 右边界(默认值是 62)
pdf.margin.left 左边界(默认值是 62)

生成电子书

GitBook 可以生成一个网站,但也可以输出内容作为电子书(ePub,Mobi,PDF)。

# Generate a PDF file
$ gitbook pdf ./ ./mybook.pdf# Generate an ePub file
$ gitbook epub ./ ./mybook.epub# Generate a Mobi file
$ gitbook mobi ./ ./mybook.mobi

安装 ebook-convert

ebook-convert 可以用来生成电子书(epub,mobi,pdf)。

GNU/Linux

安装 Calibre application.

$ sudo aptitude install calibre

在一些 GNU / Linux 发行版中,节点被安装为 nodejs,您需要手动创建一个符号链接:

$sudo ln -s /usr/bin/nodejs /usr/bin/node

OS X

下载  Calibre application。将 calibre.app 移动到应用程序文件夹后,创建一个符号链接到 ebook-convert 工具:

$ sudo ln -s ~/Applications/calibre.app/Contents/MacOS/ebook-convert /usr/bin

您可以使用 $PATH 中的任何目录替换 /usr/bin 。

封面

封面用于所有电子书格式。您可以自己提供一个,也可以使用 autocover plugin 生成一个。

要提供封面,请将 cover.jpg 文件放在书本的根目录下。添加一个 cover_small.jpg 将指定一个较小版本的封面。封面应为 JPEG 文件。

好的封面应该遵守以下准则:

  • cover.jpg 的尺寸为 1800x2360 像素,cover_small.jpg 为 200x262
  • 没有边界
  • 清晰可见的书名
  • 任何重要的文字应该在小版本中可见

gitbook 安装使用相关推荐

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

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

  2. gitbook安装与使用

    废话不说,直接主题: gitbook安装 =========== 1. 安装npm  从网站 https://nodejs.org/#download 下载node.js源代码(点击绿色的INSTAL ...

  3. gitbook安装使用看完这一篇就够了

    Gitbook使用教程 GitBook安装 GitBook是一个能将使用 Markdown 语法,快速制作成各种格式电子书的工具.它是一个基于 Node.js 的命令行工具,可以用来制作精美的电子书. ...

  4. gitbook 安装

    Gitbook 安装 文章目录 Gitbook 安装 1. node & npm 安装 2. gitbook 安装 3. gitbook 创建 1. node & npm 安装 第一种 ...

  5. Gitbook安装及用法

    Gitbook安装及用法 文章目录 Gitbook安装及用法 1.环境要求 2.安装 npm简介(可跳过) 3.编辑器 4.创建一本书 创建书 目录结构 SUMMARY.MD book.json pd ...

  6. Gitbook安装与设置

    Windows系统 安装 Gitbook 需要 nodejs 环境,请事先安装并配置 nodejs 环境,这里就不多做讲解了,您可以移步到作者的相关文章中查看:使用nvm管理node和npm 和 解压 ...

  7. gitbook安装与使用(含常用插件和book.json配置详解)

    本文是我的个人网站G笔记中的内容,最新的内容可访问G笔记 GitBook 安装教程 下面将介绍本地如何安装GitBook 环境要求 node版本要求:V4.0.0以上 通过npm安装 执行命令: np ...

  8. gitbook安装教程

    文章目录 前言介绍 一.nodejs安装配置 1.1 安装 1.2 镜像配置 二.本地gitbook安装配置 2.1 切换到D盘 2.2 安装gitbook-cli 2.3 查看版本 2.4 初始化g ...

  9. 新版GitBook安装及使用——不完全避坑指南

    最近打算把一些笔记进行电子化整理和归档,于是尝试了 GitBook. GitBook 是目前最流行的开源书籍写作方案,可以把Markdown 文件汇集成电子书,并提供 PDF.HTML 等多种格式输出 ...

最新文章

  1. 构建更好的敏捷项目管理组织所需的4种工具
  2. 脸书开源第一个使用卷积神经网络技术的端到端语音识别系统
  3. 使用gradle构建android项目,Android中使用Gradle来构建App项目的入门指南
  4. 初步了解学习将传统单机应用改造成Dubbo服务的过程
  5. 远程控制漏洞CNVD-2022-10270/CNVD-2022-03672 向日葵RCE复现与解决
  6. Pytorch基础(三)—— DataSet的应用
  7. 张高兴的 .NET Core IoT 入门指南:(五)PWM 信号输出
  8. vscode 智能打印_vscode智能提示
  9. 数据结构之查找算法:B+树
  10. CSS基础「二」复合选择器 / 元素显示模式 / 背景 / 三大特性
  11. (day 39 - 动态规划) 剑指 Offer 47. 礼物的最大价值
  12. html文件能放病毒吗,建立一个防病毒/防复制/任何程序都无法删除的文件或文件夹...
  13. php指令,php命令行下的常用命令
  14. python给excel排序_python初学—-实现excel里面读数据进行排序
  15. 《韩非子》——《孤愤》
  16. 丙烯酰胺php泥浆,大桥钻孔灌注桩清孔施工方法
  17. Python从入门到精通之面向对象
  18. 2023年计算机毕设选题推荐
  19. Stack Overflow 上 250W 浏览量的一个问题:你对象丢了
  20. 计算机科学与数学(二)

热门文章

  1. 怎么样用matlab做视频,MATLAB:使用writeVideo制作视频
  2. 信息安全-网络物理隔离技术原理与应用
  3. 【TB-02模组专题②】学习如何对接天猫精灵语音控制的过程;
  4. 亚马逊主图视频和买家秀视频有必要做吗?
  5. R语言笔记-数值型变量的描述统计
  6. 为什么人生病了就要静养呢?
  7. win10系统 如何设置定时开关机?
  8. 电磁攻击方法与能量攻击方法的对比
  9. excel怎么设置打印区域_excel:将多个表格的不同区域打印在一张纸上
  10. Dialect needs to be explicitly supplied as of v4.0.0解决方案