GitBook 从懵逼到入门
原文 https://blog.csdn.net/lu_embedded/article/details/81100704
本文从 “是什么”、“为什么”、“怎么办”、“好不好” 四个维度来介绍 GitBook,带你从黑暗之中走出来,get 这种美妙的写作方式。
是什么?
在我认识 GitBook 之前,我已经在使用 Git 了,毋容置疑,Git 是目前世界上最先进的分布式版本控制系统。
我认为 Git 不仅是程序员管理代码的工具,它的分布式协作方式同样适用于很多场合,其中一个就是写作(这会是一个引起社会变革的伟大的工具!)。所以在我发现 GitBook 之前,实际上我已经无数次想象过它的使用场景了。
咋一看 GitBook 的名字,你可能会认为它是关于 Git 的一本书。而当你有所了解之后,你也许会认为它是一个使用 Git 构建电子书的工具。其实不然,GitBook 与 Git 的关系,就像雷锋塔和雷锋那样,没有一点关系!
实际上,GitBook 是一个基于 Node.js 的命令行工具,支持 Markdown 和 AsciiDoc 两种语法格式,可以输出 HTML、PDF、eBook 等格式的电子书。所以我更喜欢把 GitBook 定义为文档格式转换工具。
所以,GitBook 不是 Markdown 编辑工具,也不是 Git 版本管理工具。市面上我们可以找到很多 Markdown 编辑器,比如 Typora、MacDown、Bear、MarkdownPad、MarkdownX、JetBrains’s IDE(需要安装插件)、Atom、简书、CSDN 以及 GitBook 自家的 GitBook Editor 等等。
但 GitBook 又与 Markdown 和 Git 息息相关,因为只有将它们结合起来使用,才能将它们的威力发挥到极致!因此,通常我们会选择合适的 Markdown 编辑工具以获得飞一般的写作体验;使用 GitBook 管理文档,预览、制作电子书;同时通过 Git 管理书籍内容的变更,并将其托管到云端(比如 GitHub、GitLab、码云,或者是自己搭建的 Git 服务器),实现多人协作。
实际上,GitBook Editor 对于新手来说是个不错的选择,它集成了 GitBook、Git、Markdown 等功能,还支持将书籍同步到 gitbook.com 网站,使我们可以很方便地编辑和管理书籍。但是不幸的是,GitBook Editor 的注册和登录需要翻墙,即便注册成功了也可能登录不上,似乎是因为网站最近在升级。
因此,我推荐,也是我目前使用的搭配是 GitBook + Typora + Git
。
为什么?
通常,我们最开始学习和使用的办公软件就是 Word、Excel 和 PowerPoint。这里不是说它们已经过时了,不是说 GitBook 能够替代它们。
相反,Microsoft 的办公软件很优秀并且经受了时间的考验,但是正因为它功能丰富,导致稍显臃肿(二八定律:80%的时间里我们只会只用20%的功能),同时因为它存在以二进制格式保存、软件不兼容、格式不兼容、难以进行版本控制、难以实时分享预览、难以多人协作等短板。而这恰恰是 GitBook + Markdown + Git 的长处。
简单来说,GitBook + Markdown + Git 带来的好处有:
- 语法简单
- 兼容性强
- 导出方便
- 专注内容
- 团队协作
所以,如果你和我一样,不满足于传统的写作方式,正在寻找一种令人愉悦的写作方式,那么该尝试使用 GitBook 啦!
当然,GitBook 不是万能的,当我们需要复杂排版时,依然需要依托于 Word 等工具。但不用担心,因为我们可以把 Markdown 格式的文档导出为 Word 格式,再进一步加工。
怎么办?
怎么安装
当你听了我的怂恿,并决定尝试使用 GitBook 的时候,首先面临的问题是 —— 如何搭建 GitBook 环境?
因为 GitBook 是基于 Node.js,所以我们首先需要安装 Node.js(下载地址:https://nodejs.org/en/download/),找到对应平台的版本安装即可。
现在安装 Node.js 都会默认安装 npm(node 包管理工具),所以我们不用单独安装 npm,打开命令行,执行以下命令安装 GitBook:
npm install -g gitbook-cli
- 1
安装完之后,就会多了一个 gitbook 命令(如果没有,请确认上面的命令是否加了 -g
)。
上面我推荐的是 GitBook + Typora + Git,所以你还需要安装 Typora(一个很棒的支持 macOS、Windows、Linux 的 Markdown 编辑工具)和 Git 版本管理工具。戳下面:
- Typora 下载地址:https://typora.io/
- Git 下载地址:https://git-scm.com/downloads
Typora 的安装很简单,难点在于需要翻墙才能下载(当然你也可以找我要)。Git 的安装也很简单,但要用好它需要不少时间,这里就不展开了(再讲下去你就要跑啦)。
怎么使用
想象一下,现在你准备构建一本书籍,你在硬盘上新建了一个叫 mybook 的文件夹,按照以前的做法,你会新建一个 Word 文档,写上标题,然后开始巴滋巴滋地笔耕。但是现在有了 GitBook,你首先要做的是在 mybook 文件夹下执行以下命令:
$gitbook init
- 1
执行完后,你会看到多了两个文件 —— README.md 和 SUMMARY.md,它们的作用如下:
- README.md —— 书籍的介绍写在这个文件里
- SUMMARY.md —— 书籍的目录结构在这里配置
这时候,我们启动恭候多时的 Typora 来编辑这两个文件了:
编辑 SUMMARY.md 文件,内容修改为:
# 目录*[前言](README.md)
*[第一章](Chapter1/README.md)* [第1节:衣](Chapter1/衣.md)* [第2节:食](Chapter1/食.md)* [第3节:住](Chapter1/住.md)* [第4节:行](Chapter1/行.md)
*[第二章](Chapter2/README.md)
*[第三章](Chapter3/README.md)
*[第四章](Chapter4/README.md)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
然后我们回到命令行,在 mybook 文件夹中再次执行 gitbook init
命令。GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建。
Typora 是所见即所得(实时渲染)的 Markdown 编辑器,这时候它是这样的:
接着我们执行 gitbook serve
来预览这本书籍,执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,最后提示 “Serving book on http://localhost:4000”。嗯,打开浏览器看一下吧:
当你写得差不多,你可以执行 gitbook build
命令构建书籍,默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve
里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。
当然,build 命令可以指定路径:
$ gitbook build [书籍路径] [输出路径]
- 1
serve 命令也可以指定端口:
$ gitbook serve --port 2333
- 1
你还可以生成 PDF 格式的电子书:
$gitbook pdf ./ ./mybook.pdf
- 1
生成 epub 格式的电子书:
$gitbook epub ./ ./mybook.epub
- 1
生成 mobi 格式的电子书:
$gitbook mobi ./ ./mybook.mobi
- 1
如果生成不了,你可能还需要安装一些工具,比如 ebook-convert。或者在 Typora 中安装 Pandoc 进行导出。
除此之外,别忘了还可以用 Git 做版本管理呀!在 mybook 目录下执行 git init
初始化仓库,执行 git remote add
添加远程仓库(你得先在远端建好)。接着就可以愉快地 commit,push,pull … 啦!
好不好?
额…… 你觉得好不好嘛?
反正我觉得挺好的,特别是对我这种懒得排版,又想随时随地写作的宝宝来说。而且能够查看每个版本内容变更的情况,同时又避免了硬盘单一故障带来的风险。
(全剧终)
GitBook 从懵逼到入门相关推荐
- Read the Docs 从懵逼到入门
继<GitBook 从懵逼到入门>,时隔两年,终于推出姐妹篇<Read the Docs 从懵逼到入门>.从阅读量来看,笔者已经感受到大家对 GitBook 和 Markdow ...
- 【Python 骚操作】使用 Gitbook + Typora 打造一个属于自己的电子书网站
前段时间,我在互联网冲浪时候,发现了一个写作的工具组合 Gitbook + Typora,堪称神器. 安利到 Blink 和朋友圈之后,有一朋友表示很感兴趣,希望我简单出一个教程,介绍一下这套工具怎么 ...
- 搭建Gitbook+Gitee电子书管理工具(一)
目录 搭建Gitbook+Gitee电子书管理工具 1.安装使用gitbook 2.搭建Gitee仓库进行版本管理 搭建Gitbook+Gitee电子书管理工具 Gitbook 是一个基于node.j ...
- 新版GitBook安装及使用——不完全避坑指南
最近打算把一些笔记进行电子化整理和归档,于是尝试了 GitBook. GitBook 是目前最流行的开源书籍写作方案,可以把Markdown 文件汇集成电子书,并提供 PDF.HTML 等多种格式输出 ...
- 快速开发像vue elementui官网一样的api查询网站
推荐vuepress 附官网VuePress 中文文档 | VuePress 中文网 前言 一直想做公司的api封装查询网站,百度寻找工具返回结果大多是 gitbook 于是开始各种查询GitBook ...
- 北京尚学堂:小白如何快速入门编程
2019独角兽企业重金招聘Python工程师标准>>> 版权声明:本文为北京尚学堂原创文章,未经允许不得转载. 大学里面学的是理论知识,比较广泛,主要是对编程进行一个大体的介绍,对 ...
- 偷偷修复漏洞 苹果要求研究员噤声
1.偷偷修复漏洞 苹果要求研究员噤声 此前公布苹果0day漏洞PoC的研究员,如今伤口又被撒盐:前两天更新的iOS 15.0.2又"偷偷"修复了他之前提交的漏洞,而且和往常一样没有 ...
- Android MVP进阶:“修行在个人”
Android MVP复杂页面的实现方式 距离上一篇Android MVP从懵逼到入门:登陆业务实践已经有一段时间了,这段时间忙着公司的项目,都没找时间写写文章,今天就把这段时间整理的MVP知识再总结 ...
- 一脸懵逼加从入门到绝望学习hadoop之Caused by: java.net.UnknownHostException: master报错...
一脸懵逼加从入门到绝望学习hadoop之Caused by: java.net.UnknownHostException: master报错 windows下开发hadoop应用程序,hadoop部署 ...
最新文章
- Python分析离散心率信号(下)
- 【加法笔记系列】逻辑电路的实现
- 为内置对象添加原型方法 把局部变量编程全局变量
- 一起用ipython
- 数据结构-“栈”的基本操作
- 应用回归分析何晓群_二战上岸人大20年应用统计高分经验帖
- JSON与Java对象的互相转换
- mysql 的数据备份_MySQL 数据备份与还原
- MyBatis中![CDATA[ ]]的使用
- 小程序获取城市经纬度_微信小程序获取当前所在城市的方法
- Android webview 下载文件(文件名,扩展名)
- 光电信息科学与工程学c语言吗,光电信息工程专业排名_光电信息科学与工程专业可以考什么专业的研究生...
- C51_将按键次数写入AT24C02,再读出送LCD显示
- 分库分表之MyCat应用
- MyBatis中达到where a and (b or c)形式
- Android Studio 编译时报文件不能删除,编译失败
- 美团脱颖而出的经验_使用条件格式使重要的Outlook邮件脱颖而出
- PL/SQL Developer配置使用说明
- 下一个好莱坞巨头——计算机
- linux 显卡驱动 在哪里,linux下如何看我的显卡驱动是否装好了