(轉(zhuǎn)載)GitBook 從懵逼到入門

原文鏈接:https://blog.csdn.net/luckydarcy/article/details/81100704
本文適當(dāng)修改了一部分內(nèi)容于置,對部分可能出現(xiàn)的bug進行了總結(jié)茧吊!
同時希望各位遇到的其他問題還有解決方法都發(fā)到評論區(qū)!


本文從 “是什么”、“為什么”搓侄、“怎么辦”瞄桨、“好不好” 四個維度來介紹 GitBook,帶你從黑暗之中走出來讶踪,get 這種美妙的寫作方式讲婚。


是什么?

在我認識 GitBook 之前俊柔,我已經(jīng)在使用 Git 了筹麸,毋容置疑,Git 是目前世界上最先進的分布式版本控制系統(tǒng)雏婶。

我認為 Git 不僅是程序員管理代碼的工具物赶,它的分布式協(xié)作方式同樣適用于很多場合,其中一個就是寫作(這會是一個引起社會變革的偉大的工具A敉怼)酵紫。所以在我發(fā)現(xiàn) GitBook 之前,實際上我已經(jīng)無數(shù)次想象過它的使用場景了错维。

咋一看 GitBook 的名字奖地,你可能會認為它是關(guān)于 Git 的一本書。而當(dāng)你有所了解之后赋焕,你也許會認為它是一個使用 Git 構(gòu)建電子書的工具参歹。其實不然,GitBook 與 Git 的關(guān)系隆判,就像雷鋒塔和雷鋒那樣犬庇,沒有一點關(guān)系!

實際上侨嘀,GitBook 是一個基于 Node.js 的命令行工具臭挽,支持 Markdown 和 AsciiDoc 兩種語法格式,可以輸出 HTML咬腕、PDF欢峰、eBook 等格式的電子書。所以我更喜歡把 GitBook 定義為<font color="#cc0000">文檔格式轉(zhuǎn)換工具</font>涨共。

所以纽帖,GitBook 不是 Markdown 編輯工具,也不是 Git 版本管理工具煞赢。市面上我們可以找到很多 Markdown 編輯器抛计,比如 Typora哄孤、MacDown照筑、Bear、MarkdownPad、MarkdownX凝危、JetBrains’s IDE(需要安裝插件)波俄、Atom、簡書蛾默、CSDN 以及 GitBook 自家的 GitBook Editor 等等懦铺。

但 GitBook 又與 Markdown 和 Git 息息相關(guān),因為只有將它們結(jié)合起來使用支鸡,才能將它們的威力發(fā)揮到極致冬念!因此,通常我們會選擇合適的 Markdown 編輯工具以獲得飛一般的寫作體驗牧挣;使用 GitBook 管理文檔急前,預(yù)覽、制作電子書瀑构;同時通過 Git 管理書籍內(nèi)容的變更裆针,并將其托管到云端(比如 GitHub、GitLab寺晌、碼云世吨,或者是自己搭建的 Git 服務(wù)器),實現(xiàn)多人協(xié)作呻征。

實際上耘婚,GitBook Editor 對于新手來說是個不錯的選擇,它集成了 GitBook陆赋、Git边篮、Markdown 等功能,還支持將書籍同步到 gitbook.com 網(wǎng)站奏甫,使我們可以很方便地編輯和管理書籍戈轿。但是不幸的是,GitBook Editor 的注冊和登錄需要翻墻阵子,即便注冊成功了也可能登錄不上思杯,似乎是因為網(wǎng)站最近在升級。

因此挠进,我推薦色乾,也是我目前使用的搭配是 GitBook + Typora + Git


為什么领突?

通常暖璧,我們最開始學(xué)習(xí)和使用的辦公軟件就是 Word、Excel 和 PowerPoint君旦。這里不是說它們已經(jīng)過時了澎办,不是說 GitBook 能夠替代它們嘲碱。

相反,Microsoft 的辦公軟件很優(yōu)秀并且經(jīng)受了時間的考驗局蚀,但是正因為它功能豐富麦锯,導(dǎo)致稍顯臃腫(二八定律:80%的時間里我們只會只用20%的功能),同時因為它存在以二進制格式保存琅绅、軟件不兼容扶欣、格式不兼容、難以進行版本控制千扶、難以實時分享預(yù)覽料祠、難以多人協(xié)作等短板。而這恰恰是 GitBook + Markdown + Git 的長處澎羞。

簡單來說术陶,GitBook + Markdown + Git 帶來的好處有:

  • 語法簡單
  • 兼容性強
  • 導(dǎo)出方便
  • 專注內(nèi)容
  • 團隊協(xié)作

所以,如果你和我一樣煤痕,不滿足于傳統(tǒng)的寫作方式梧宫,正在尋找一種令人愉悅的寫作方式,那么該嘗試使用 GitBook 啦摆碉!

當(dāng)然塘匣,GitBook 不是萬能的,當(dāng)我們需要復(fù)雜排版時巷帝,依然需要依托于 Word 等工具忌卤。但不用擔(dān)心,因為我們可以把 Markdown 格式的文檔導(dǎo)出為 Word 格式楞泼,再進一步加工驰徊。


怎么辦?

怎么安裝

當(dāng)你聽了我的慫恿堕阔,并決定嘗試使用 GitBook 的時候棍厂,首先面臨的問題是 —— 如何搭建 GitBook 環(huán)境?

因為 GitBook 是基于 Node.js超陆,所以我們首先需要安裝 Node.js(下載地址:http://nodejs.cn/download/)牺弹,找到對應(yīng)平臺的版本安裝即可。

現(xiàn)在安裝 Node.js 都會默認安裝 npm(node 包管理工具)时呀,所以我們不用單獨安裝 npm张漂,打開命令行,執(zhí)行以下命令安裝 GitBook:

npm install -g gitbook-cli

安裝完之后谨娜,就會多了一個 gitbook 命令(如果沒有航攒,請確認上面的命令是否加了 -g)。

上面我推薦的是 GitBook + Typora + Git趴梢,所以你還需要安裝 Typora(一個很棒的支持 macOS漠畜、Windows币他、Linux 的 Markdown 編輯工具)和 Git 版本管理工具。戳下面:

Typora 的安裝很簡單盆驹,難點在于需要翻墻才能下載(當(dāng)然你也可以找我要)圆丹。Git 的安裝也很簡單滩愁,但要用好它需要不少時間躯喇,這里就不展開了(再講下去怕你要跑啦~)。

怎么使用

想象一下硝枉,現(xiàn)在你準(zhǔn)備構(gòu)建一本書籍廉丽,你在硬盤上新建了一個叫 mybook 的文件夾,按照以前的做法妻味,你會新建一個 Word 文檔正压,寫上標(biāo)題,然后開始巴滋巴滋地筆耕责球。但是現(xiàn)在有了 GitBook焦履,你首先要做的是在 mybook 文件夾下執(zhí)行以下命令:

gitbook init

執(zhí)行完后,你會看到多了兩個文件 —— README.mdSUMMARY.md雏逾,它們的作用如下:

  • README.md —— 書籍的介紹寫在這個文件里
  • SUMMARY.md —— 書籍的目錄結(jié)構(gòu)在這里配置

這時候嘉裤,我們啟動恭候多時的 Typora 來編輯這兩個文件了:

編輯 SUMMARY.md 文件,內(nèi)容修改為:

# 目錄

* [前言](README.md)
* [第一章](Chapter1/README.md)
  * [第1節(jié):衣](Chapter1/衣.md)
  * [第2節(jié):食](Chapter1/食.md)
  * [第3節(jié):住](Chapter1/住.md)
  * [第4節(jié):行](Chapter1/行.md)
* [第二章](Chapter2/README.md)
* [第三章](Chapter3/README.md)
* [第四章](Chapter4/README.md)

然后我們回到命令行栖博,在 mybook 文件夾中再次執(zhí)行 gitbook init 命令屑宠。GitBook 會查找 SUMMARY.md 文件中描述的目錄和文件,如果沒有則會將其創(chuàng)建仇让。

Typora 是所見即所得(實時渲染)的 Markdown 編輯器典奉,這時候它是這樣的:

接著我們執(zhí)行 gitbook serve . 來預(yù)覽這本書籍,執(zhí)行命令后會對 Markdown 格式的文檔進行轉(zhuǎn)換丧叽,默認轉(zhuǎn)換為 html 格式卫玖,最后提示 “Serving book on http://localhost:4000”。嗯踊淳,打開瀏覽器看一下吧:

當(dāng)你寫得差不多骇笔,你可以執(zhí)行 gitbook build 命令構(gòu)建書籍,默認將生成的靜態(tài)網(wǎng)站輸出到 _book 目錄嚣崭。實際上笨触,這一步也包含在 gitbook serve . 里面,因為它們是 HTML雹舀,所以 GitBook 通過 Node.js 給你提供服務(wù)了芦劣。

當(dāng)然,build 命令可以指定路徑:

gitbook build [書籍路徑] [輸出路徑]

serve 命令也可以指定端口:

gitbook serve  . --port 2333

你還可以生成 PDF 格式的電子書:

gitbook pdf ./ ./mybook.pdf

生成 epub 格式的電子書:

gitbook epub ./ ./mybook.epub

生成 mobi 格式的電子書:

gitbook mobi ./ ./mybook.mobi

如果生成不了说榆,你可能還需要安裝一些工具虚吟,比如 ebook-convert寸认。或者在 Typora 中安裝 Pandoc 進行導(dǎo)出串慰。

除此之外偏塞,別忘了還可以用 Git 做版本管理呀!在 mybook 目錄下執(zhí)行 git init 初始化倉庫邦鲫,執(zhí)行 git remote add 添加遠程倉庫(你得先在遠端建好)科盛。接著就可以愉快地 commit酬核,push被冒,pull … 啦惶楼!

不是程序員的小伙伴可能不太喜歡用命令行,那其實版本管理這部分可以下載安裝 Git 或 GitHub 這些客戶端程序滔以,在圖形界面上操作也是可以完成工作的捉腥。


好不好?

額… 你覺得好不好嘛你画?

反正我覺得挺好的抵碟,特別是對我這種懶得排版,又想隨時隨地寫作的寶寶來說坏匪。而且能夠查看每個版本內(nèi)容變更的情況拟逮,同時又避免了硬盤單一故障帶來的風(fēng)險。


使用過程中的報錯與解決

步驟:

  1. shell npm install -g gitbook-cli
  2. gitbook init
  3. 接著我們執(zhí)行 gitbook serve . 來預(yù)覽這本書籍
  4. gitbook build

error:

Thrown:
shell npm install -g gitbook-cli
      ^^^
SyntaxError: Unexpected identifier
  1. gitbook : 無法加載文件 C:\Users\13365\AppData\Roaming\npm\gitbook.ps1剥槐,因為在此系統(tǒng)上禁止運行腳本唱歧。有關(guān)詳細信息,請參閱 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies粒竖。
Error: ENOENT: no such file or directory, stat 'C:\Users\13365\Documents\my_book\_book\gitbook\gitbook-plugin-livereload\plugin.js'
  1. 使用gitbook build命令生成html之后颅崩,本地html只能起了服務(wù)器之后才能正常跳轉(zhuǎn)

解決:

  1. shell npm install -g gitbook-cli 應(yīng)在命令行執(zhí)行
  2. https://cloud.tencent.com/developer/article/1007688
  3. gitbook serve .
  4. 解決1. https://segmentfault.com/q/1010000012724784;2. https://www.zhihu.com/question/62727687

推薦:
在Linux上安裝gitbook:http://www.reibang.com/p/ec1e7d2c76c6

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蕊苗,一起剝皮案震驚了整個濱河市沿后,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌朽砰,老刑警劉巖尖滚,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異瞧柔,居然都是意外死亡漆弄,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門造锅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撼唾,“玉大人,你說我怎么就攤上這事哥蔚〉构龋” “怎么了蛛蒙?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長渤愁。 經(jīng)常有香客問我牵祟,道長,這世上最難降的妖魔是什么抖格? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任诺苹,我火速辦了婚禮,結(jié)果婚禮上他挎,老公的妹妹穿的比我還像新娘筝尾。我一直安慰自己捡需,他們只是感情好办桨,可當(dāng)我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著站辉,像睡著了一般呢撞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饰剥,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天殊霞,我揣著相機與錄音,去河邊找鬼汰蓉。 笑死绷蹲,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的顾孽。 我是一名探鬼主播祝钢,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼若厚!你這毒婦竟也來了拦英?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤测秸,失蹤者是張志新(化名)和其女友劉穎疤估,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霎冯,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡铃拇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了沈撞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慷荔。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖关串,靈堂內(nèi)的尸體忽然破棺而出拧廊,到底是詐尸還是另有隱情监徘,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布吧碾,位于F島的核電站凰盔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏倦春。R本人自食惡果不足惜户敬,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望睁本。 院中可真熱鬧尿庐,春花似錦、人聲如沸呢堰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枉疼。三九已至皮假,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間骂维,已是汗流浹背惹资。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留航闺,地道東北人褪测。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像潦刃,于是被迫代替她去往敵國和親侮措。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 是什么福铅? 在我認識 GitBook 之前萝毛,我已經(jīng)在使用 Git 了,毋容置疑滑黔,Git 是目前世界上最先進的分布式版...
    TimidIprotectyo閱讀 7,421評論 0 4
  • 前言 近期使用Typora編寫文檔的時候笆包,寫一些篇章比較短的文章還好。但是當(dāng)篇章過長略荡,標(biāo)題目錄過多的時候庵佣,那樣就會...
    Devops海洋的漁夫閱讀 11,723評論 6 59
  • 參考文章:GitBook 從懵逼到入門 一、介紹 GitBook 是一個基于 Node.js 的命令行工具汛兜,可使用...
    左木北魚閱讀 26,042評論 1 41
  • 最近遇到一些問題巴粪,就是團隊中會有些伙伴踩得坑的收集問題或者有些較為復(fù)雜的業(yè)務(wù)需求文檔共享上成本較高,所以考慮弄...
    tobAlier閱讀 3,897評論 0 5
  • 首先問自己一個問題辫塌,什么是最寶貴的財物∨烧埽可能很多人會覺得是金錢臼氨、古董、房產(chǎn)等金錢方面的財富芭届。如果我跟你說注意力是最...
    我是dolly閱讀 158評論 0 0