GitBook+Markdown製作精美電子書

一、Gitbook概述

GitBook 是一個基於 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 來製作精美的電子書,GitBook 並非關於 Git 的教程。

gitbook

GitBook支持輸出多種文檔格式:

  • 靜態站點:GitBook默認輸出該種格式,生成的靜態站點可直接託管搭載Github Pages服務上;

  • PDF:需要安裝gitbook-pdf依賴;

  • eBook:需要安裝ebook-convert

  • 單HTML網頁:支持將內容輸出爲單頁的HTML,不過一般用在將電子書格式轉換爲PDF或eBook的中間過程;

  • JSON:一般用於電子書的調試或元數據提取。

使用GitBook製作電子書,必備兩個文件:README.mdSUMMARY.md。README.md多爲電子書的簡介內容,SUMMARY.md用來定義電子書章節結構,如:

gitbook-summary

同時,GitBook還支持嵌入JavaScript的交互式內容,未來版本會支持Python、Ruby等語言。

二、gitbook的安裝

以下是來自gitbook項目頁上提供的安裝方法:

  1. GitBook can be installed from NPM using:
  2. $ npm install gitbook-cli -g
  3. Create the directories and files for a book from its SUMMARY.md file (if existing) using
  4. $ gitbook init
  5. You can serve a repository as a book using:
  6. $ gitbook serve
  7. Or simply build the static website using:
  8. $ gitbook build

三、gitbook的基本規則

Gitbook需要2個基本文件:

  • README.md
  • SUMMARY.md

README.md是關於你的書的介紹,而SUMMARY.md中則包含了書目,即章節結構,它的格式大致是:

  1. * [第1章](c1.md)
  2. * [第1節](c1s1.md)
  3. * [第2節](c1s2.md)
  4. * [第2章](c2.md)

剩下的東西就很好理解了,你只需要編寫相應章節即可。在編輯完README.md和SUMMARY.md後,你可以運行以下命令:

  1. $ gitbook serve -p 8080 .

Gitbook首先把你的Markdown文件編譯爲HTML文件,並根據SUMMARY.md生成書的目錄。所有生存的文件都保存在當前目錄下的一個名爲_book的子目錄中。完成這些工作後,Gitbook會作爲一個HTTP Server運行,並在8080端口監聽HTTP請求。

運行以上命令後,打開瀏覽器,在地址欄輸入:http://localhost:8080即可看到你的書頁了。

其中位於左側書目頂部的Introduction一節就編譯自README.md,而書目本身自編譯自SUMMARY.md。你要在自己的網站上發佈新書,只需把_book目錄複製到服務器相應目錄即可。至此Gitbook的基本用法就介紹完畢。下面簡單討論下Gitbook的其他應用,包括Gitbook的插件、與Github的融合、Gitbook客戶端、Gitbook平臺,以及Gitbook的問題。

四、Gitbook的插件支持

Gitbook可以生成HTML,因此它支持一些外部的JavaScript文件嵌入到HTML中,例如Google統計、Disqus評論系統等。以下以頁面中嵌入Disqus評論爲例。

首先是安裝Gitbook的Disqus插件。

  1. $ npm install gitbook-plugin-disqus

然後建立一個book.json文件,其格式如下:

  1. {
  2. "plugins": ["disqus"],
  3. "pluginsConfig": {
  4. "disqus": {
  5. "shortName": "NAME-FROM-DISQUS"
  6. }
  7. }
  8. }

把上面的NAME-FROM-DISQUS修改爲你在Disqus上的項目名即可。

再次運行命令:

  1. $ gitbook serve -p 8080 .

並刷新瀏覽器,即可看到附加了Disqus評論的頁面。

與Github的融合

Gitbook的博客上說Github提供了對Gitbook的特殊支持,但我沒有測試。只是依然把源文件保存在Github上,然後用Gitbook去編譯。期待Gitbook做的更好。

Gitbook客戶端

Gitbook客戶端支持Mac、Windows、Linux。我在Mac和Windows簡單嘗試了這個客戶端,總體而言可以用。但也僅僅是可以用而已。你可以在客戶端裏編輯Markdown文件,並提供一個實時的預覽窗口;可以關聯到你的Gitbook賬戶,並把內容同步到gitbook.io,併爲你生成PDF等。說句題外話,如果你要Markdown的客戶端的話,飛象馬克更好用,至少Vim編輯模式你得支持啊。

五、Gitbook的問題

Gitbook網站的訪問速度很慢。可以在生成_book目錄後,把其中的HTML文件和gitbook子目錄(包含字體和js文件等)複製到自己的網站上。

Gitbook提供的push功能不能用。push.gitbook.io這個地址無法訪問,不知是否是臨時性服務故障。

Gitbook生成PDF的中文字體極其難看。萬分期待改進。話說Gitbook生存的HTML上的中文非常漂亮。

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