Gitbook是一个命令行工具(node.js库), 使用Github/Git创建漂亮的图书。 你可以看一些用它编写的图书的例子: 学习Javascript. 你也可以很容易的通过gitbook.io网站发布在线图书。 editor 是一个图形化的编辑工具, 提供Windows, Mac 和Linux的版本. 关注Twitter帐号 @GitBookIO. 这篇文章只是一个起步教程, 完整的文档可以在help.gitbook.io网站找到.
怎么用:
GitBook 可以通过 NPM 安装:
|
|
你可以将一个repository作为一本书:
|
|
或者简单的生成静态网站:
|
|
命令 build 和 serve 的参数为:
|
|
GitBook 会从仓库中的book.json文件加载默认的配置,前提是此文件存在.
下面是此文件的一些配置项:
|
|
输出格式
GitBook可以产生下列类型的图书:
- 静态站点: 默认格式. 创建一个完全交互式的静态网站,可以发布到GitHub Pages等网站.
- eBook: 图书完成后可以使用它创建电子书. 创建命令:
gitbook ebook ./myrepo. 你需要安装 ebook-convert. 输出格式可以是 PDF, ePub 或 MOBI. - 单页网页: 可以生成一个单页的HTML网页。这个格式可以用来转换PDF或者eBook. 创建命令:
gitbook build ./myrepo -f page. - JSON: 此格式用来调试或者抽取图书的元数据. 创建命令:
gitbook build ./myrepo -f json.
图书格式
一本图书就是一个Git repository, 至少包含两个文件: README.md 和 SUMMARY.md.
README.md
典型的, 它应该是你的图书的介绍. 它可以自动的被加到最终的summary中.
SUMMARY.md
SUMMARY.md 定义了你的图书的结构. 它应该包含章节的列表,以及它们的链接.
例如:
|
|
不被SUMMARY.md包含的文件不会被gitbook处理.
多语言
GitBook 支持使用多种语言编写图书. 每种语言应该是一个子目录, 遵循正常gitbook格式, LANGS.md文件应该被放到repository的根文件夹, 格式如下:
|
|
看个例子 学习 Git.
词汇表
允许你列出条目以及它们的定义. 基于这些条目 gitbook会自动创建一个索引,并在页面中加亮这些条目.
GLOSSARY.md 格式很简单 :
|
|
忽略文件和文件夹
GitBook 读取.gitignore, .bookignore 和 .ignore 得到需要忽略的文件/文件夹的列表. (文件的格式和 .gitignore一样).
.gitignore最佳实践是忽略build文件,这些文件来自 node.js (node_modules, ...) 和GitBook的build文件: _book, *.epub, *.mobi and *.pdf.
封面
封面文件为: /cover.jpg.
尺寸为 1800x2360. 插件 autocover可以自动创建一个文件.
封面的小尺寸图形为: /cover_small.jpg.
发布图书
平台 GitBook.io就像"Heroku for books": 你可以在它上面创建图书 (公开的, 付费的, 或者私有的), 并且使用 git push 就可以更新.
插件
P插件可以扩展图书的功能. 查看插件介绍 GitbookIO/plugin来了解如何创建一个插件.
官方插件:
| 名称 | 描述 |
|---|---|
| exercises | Add interactive exercises to your book. |
| quizzes | Add interactive quizzes to your book. |
| mathjax | Displays mathematical notation in the book. |
| mixpanel | Mixpanel tracking for your book |
其它插件:
| 名称 | 描述 |
|---|---|
| Google Analytics | Google Analytics tracking for your book |
| Disqus | Disqus comments integration in your book |
| Autocover | Generate a cover for your book |
| Transform annoted quotes to notes | Allow extra markdown markup to render blockquotes as nice notes |
| Send code to console | Evaluate javascript block in the browser inspector's console |
| Revealable sections | Reveal sections of the page using buttons made from the first title in each section |
| Markdown within HTML | Process markdown within HTML blocks - allows custom layout options for individual pages |
| Bootstrap JavaScript plugins | Use the Bootstrap JavaScript plugins in your online GitBook |
| Piwik Open Analytics | Piwik Open Analytics tracking for your book |
| Heading Anchors | Add linkable Github-style anchors to headings |
| JSBin | Embedded jsbin frame into your book |
调试
增加环境变量 DEBUG=true 来得到更好的错误信息(包含错误堆栈). 例如:
|
|
