1. 程式人生 > >GitBook製作電子書詳細教程(命令列版)

GitBook製作電子書詳細教程(命令列版)

GitBook 是一款基於 Node.js 開發的開源的工具,可以通過命令列的方式建立電子書專案,再使用 MarkDown 編寫電子書內容,然後生成 PDF、ePub、mobi 格式的電子書,或生成一個靜態站點。

除此之外,還可以利用 Git 命令管理電子書版本。如果你是 GitHub 的重度使用者,還可以把你的 GitBook 帳戶和 GitHub 帳戶關聯起來,這樣不論在任何一方修改了內容,都可以互相同步。

一、安裝 Node.js

由於 GitBook 是基於 Node.js 開發的,所以依賴 Node.js 環境。如果您的系統中還未安裝 Node.js,請點選下面的連結,根據你所使用的系統下載對應的版本。如果已安裝則略過本步驟。

Windows 版和 Mac 版的 Node.js 都是常規的安裝包,連續下一步安裝即可。Lunix 版可以參照官方文件通過 yum、apt-get 之類的工具安裝,也可以通過原始碼包安裝,如下所示:

$ wget https://nodejs.org/dist/v5.4.1/node-v5.4.1.tar.gz
$ tar zxvf node-v5.4.1.tar.gz
$ cd node-v5.4.1
$ ./configure
$ make
$ make install

二、安裝 GitBook

開啟“命令提示符”(Mac 系統開啟“終端”)輸入以下命令安裝 GitBook:

$ npm install
gitbook-cli -g

由於網路的原因,安裝的時間可能會較長一些,請耐心等待直到安裝完成。安裝完成後可以輸入以下命令,以檢視 GitBook 版本的方式檢查是否安裝成功:

$ gitbook -V

三、建立電子書專案

新建一個目錄,並進入該目錄使用 gitbook 命令初始化電子書專案。舉個例子,現在要建立一個名為“MyFirstBook”的空白電子書專案,如下所示:

$ mkdir MyFirstBook
$ cd MyFirstBook
$ gitbook init

四、編輯電子書內容

初始化後的目錄中會出現“README.md(電子書簡介檔案)”和“SUMMARY.md(導航目錄檔案)”兩個基本檔案。除此之外還可以手動新建其它“Glossary.md(書尾的詞彙表)”、“book.json(電子書配置檔案)”。電子書的正文內容可以根據自己的喜好建立新的字尾為 .md 檔案,如“chapter01.md”,然後用 MarkDown 編寫具體的文字內容即可。下面對這些檔案分別做詳細介紹。

1、README.md

此檔案是簡單的電子書介紹,可以把您所製作的電子書做一下簡單的描述:

# 簡介

這是我的第一本使用 GitBook 製作的電子書。

2、SUMMARY.md

此為電子書的導航目錄檔案,每當新增一個章節檔案就需要向此檔案中新增一條記錄。對於 Kindle 電子書來說,此檔案所呈現的目錄結構就是開頭的目錄內容和“前往”的目錄導航。

# Summary

* [簡介](README.md)
* [第一章](section1/README.md)
* [第二章](section2/README.md)

如果需要“子章節”可以使用 Tab 縮排來實現(最多支援三級標題),如下所示:

# Summary

* [第一章](section1/README.md)
    * [第一節](section1/example1.md)
    * [第二節](section1/example2.md)
* [第二章](section2/README.md)
    * [第一節](section2/example1.md)

3、Glossary.md

對於電子書內容中需要解釋的詞彙可在此檔案中定義。詞彙表會被放在電子書末尾。其格式如下所示:

# 電子書
電子書是指將文字、圖片、聲音、影像等訊息內容數字化的出版物和植入或下載數字化文字、圖片、聲音、影像等訊息內容的集儲存和顯示終端於一體的手持閱讀器。

# Kindle
Amazon Kindle 是由 Amazon 設計和銷售的電子書閱讀器(以及軟體平臺)。使用者可以通過無線網路使用 Amazon Kindle 購買、下載和閱讀電子書、報紙、雜誌、部落格及其他電子媒體。

4、book.json

“book.json”是電子書的配置檔案,可以看作是電子書的“原資料”,比如 title、description、isbn、language、direction、styles 等,更多點選這裡檢視。它的基本結構如下所示:

{
    "title": "我的第一本電子書",
    "description": "用 GitBook 製作的第一本電子書!",
    "isbn": "978-3-16-148410-0",
    "language": "zh-tw",
    "direction": "ltr"
}

5、普通章節.md 檔案

普通章節.md 檔案可以使用您感覺順手的文字編輯器編寫。MarkDown 的寫法可以點選這裡檢視相關示例。每編寫一個 .md 檔案,不要忘了在“SUMMARY.md”檔案中新增一條記錄哦。

6、電子書封面圖片

GitBook 幫助文件建議封面圖片的尺寸為 1800*2360 畫素並且遵循建議:

  • 沒有邊框
  • 清晰可見的書本標題
  • 任何重要的文字在小版本中應該可見

圖片的格式為 jpg 格式。把圖片重新命名為“cover.jpg”放到電子書專案資料夾即可。

五、預覽電子書內容

電子書內容編寫完畢後可以使用瀏覽器預覽一下。先輸入下面的命令據 .md 檔案生成 HTML 文件:

$ gitbook build

生成完畢後,會在電子書專案目錄中出現一個名為“_book”的資料夾。進入該資料夾,直接用瀏覽器開啟“index.html”,或先輸入下面的命令:

$ gitbook serve

然後在瀏覽器中輸入“http://localhost:4000”即可預覽電子書內容,預覽完畢後按 Ctrl + C 結束。

六、生成電子書檔案

確定電子書沒有問題後,可以通過輸入以下命令生成 mobi 電子書:

$ gitbook mobi ./ ./MyFirstBook.mobi

如果出現以下錯誤提示,說明您還未安裝 Calibre。由於 GitBook 生成 mobi 格式電子書依賴 Calibre 的 ebook-convert,所以請先點選這裡下載安裝 Calibre。

Error: Need to install ebook-convert from Calibre

Calibre 安裝完畢後,對於 Mac OS X 系統,還需要先設定一下軟連結:

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

再次執行轉換命令,即可生成 mobi 格式電子書。

七、把專案託管到 GitBook.com

以上所有的步驟都是在本地進行的,如果需要實現電子書的版本管理,或者把電子書釋出到網路上,還可以通過 Git 命令將本地的專案託管到 GitBook.com 上。

1、註冊 GitHub.com 賬號

首先進入 GitBook.com 註冊一個賬號,並新建一個專案。在“Setting(設定)”頁面獲取到“Git URL(Git 連結)”,連結的樣子如下所示:

https://git.gitbook.com/kindlefere/myfirstbook.git

2、安裝 Git 軟體

在開始下面的步驟之前請先確保您的系統中已經安裝了 Git。一般 Mac 和 Lunix 自帶 Git 功能,可以在終端執行 git --version 檢視 Git 版本。Windows 一般不會自帶 Git 功能,請點選這裡下載先安裝。

在安裝 Windows 版的 Git 時,會看到“Use Git from Git Bash only”和“Use Git from the Windows Command prompt”兩個選項。前者指的在程式自帶的獨立終端中使用 Git。後者是指可以通過系統自帶的“命令提示符”使用 Git 命令。可以根據自己的喜好選擇,個人推薦使用後者。

3、上傳已有的電子書專案

在本地新建一個資料夾,並通過 Git 命令把剛才新建的遠端專案抓取到本地,如下所示:

$ mkdir MyFirstBook-Git
$ cd MyFirstBook-Git
$ git init
$ git pull https://git.gitbook.com/kindlefere/myfirstbook.git

然後把本地專案“MyFirstBook”中的所有內容拷貝到剛才新建的資料夾中,如上面的“MyFirstBook-Git”。然後使用 Git 命令把本地的專案上傳到遠端,如下所示:

$ git add -A
$ git commit -m "提交說明"
$ git remote add gitbook https://git.gitbook.com/kindlefere/myfirstbook.git
$ git push -u gitbook master

期間需要輸入你的 GitBook 註冊郵箱和密碼。今後修改內容後只需要輸入以下 Git 命令即可:

$ git add [修改的檔案]
$ git commit -m "提交說明"
$ git push -u gitbook master

八、把專案關聯到 GitHub 帳戶

如果你喜歡使用 GitHub 管理專案。還可以把您的 GitBook 帳戶和 GitHub 帳戶關聯起來,這樣兩者的修改內容就可以互相同步了。

1、關聯 GitBook 和 GitHub 帳戶

關聯設定也很簡單,首先進入 GitBook 的“Account Settings(帳戶設定)”頁面,在“Profile(個人資料)”標籤頁找到“GitHub”選項卡,點選【Connect to GitHub】按鈕會轉向 GitHub 的“Authorize application”頁面,點選【Authorize application】按鈕即可完成關聯。

2、把 GitBook 專案匯入到 GitHub

完成關聯後即可設定同步電子書專案了。以電子書專案“MyFirstBook”為例,首先需要把專案匯入到 GitHub 中一份。進入某個電子書專案的設定頁面,切換到“GitHub”選項卡。在“GitHub Repository”中,點選【Export to GitHub】按鈕,按照嚮導所示步驟將專案匯入 GitHub 中。

3、設定 GitBook 和 GitHuB 同步

匯出成功後,再回到 GitBook 專案設定頁面的“GitHub”選項卡,在“GitHub Repository”中的輸入框中填入 GitHub 的 Repository 名,如“GitHub使用者名稱/myfirstbook”,點選【Save】按鈕儲存。

儲存後當前頁面會出現一個名為“Integration”的選項卡,點選裡面的【Add webhook】按鈕,允許 GitBook 接收 Github 的內容更新。這樣就把 GitBook 上的專案和 GitHub 相對應的專案關聯上了。

此後即可用 GitHub 管理電子書專案,在 GitBook 上對電子書內容修改也會自動同步到 GitHub 中。