GitBook 從懵逼到入門

  本文從 “是什麼”、“爲什麼”、“怎麼辦”、“好不好” 四個維度來介紹 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

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

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

  Typora 的安裝很簡單,難點在於需要翻牆才能下載(當然你也可以找我要)。Git 的安裝也很簡單,但要用好它需要不少時間,這裏就不展開了(再講下去你就要跑啦)。

怎麼使用

  想象一下,現在你準備構建一本書籍,你在硬盤上新建了一個叫 mybook 的文件夾,按照以前的做法,你會新建一個 Word 文檔,寫上標題,然後開始巴滋巴滋地筆耕。但是現在有了 GitBook,你首先要做的是在 mybook 文件夾下執行以下命令:

$ gitbook init

  執行完後,你會看到多了兩個文件 —— 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)

  然後我們回到命令行,在 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 [書籍路徑] [輸出路徑]

  serve 命令也可以指定端口:

$ gitbook serve --port 2333

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

$ gitbook pdf ./ ./mybook.pdf

  生成 epub 格式的電子書:

$ gitbook epub ./ ./mybook.epub

  生成 mobi 格式的電子書:

$ gitbook mobi ./ ./mybook.mobi

  如果生成不了,你可能還需要安裝一些工具,比如 ebook-convert。或者在 Typora 中安裝 Pandoc 進行導出。

  除此之外,別忘了還可以用 Git 做版本管理呀!在 mybook 目錄下執行 git init 初始化倉庫,執行 git remote add 添加遠程倉庫(你得先在遠端建好)。接着就可以愉快地 commit,push,pull … 啦!


好不好?

  額…… 你覺得好不好嘛?

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


(全劇終)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章