一、Gitbook介紹
GitBook 並非關於 [Git]的教程,GitBook 是一個基於 Node.js 的命令行工具,支持 Markdown 和 AsciiDoc 兩種語法格式,使用它可以輸出 HTML、PDF、eBook 等格式來製作精美的電子書。
Gitbook 使用方案:
- GitBook + Typora / Vscode+ Git:推薦
- GitBook + Gitbook Editor+ Git
GitBook + Markdown + Git
優點:
- 語法簡單
- 兼容性強
- 導出方便
- 專注內容
- 團隊協作
注:本文使用搭配:GitBook + Typora + Git
使用GitBook需要依賴 Node.js和Git,Node.js 和 Git 安裝都很簡單,這裏就不再贅述,
相關下載鏈接如下,大家自行下載安裝即可:
二、Gitbook 安裝及使用
在已經安裝node.js環境的前提下,使用以下命令安裝gitbook:
npm install -g gitbook-cli
安裝好之後,Node.js的安裝目錄下,會多了一個 gitbook 命令
現在來初始化一本書:
cd F:
mkdir mybook
cd mybook
gitbook init # 初始化
執行完畢會發現 mybook 目錄中多了兩個文件:
- README.md:書籍介紹
- SUMMARY.md:書籍目錄結構
用 Typora 打開 SUMMARY.md,編輯如下(此步是編寫書籍目錄):
# 目錄
* [前言](README.md)
* [第1節:HTML 簡介](HTML/intro.md)
* [第2節:URL 簡介](HTML/url.md)
* [第3節:元素的屬性](HTML/attribute.md)
* [第4節:字符編碼](HTML/encode.md)
* [第5節:語義結構](HTML/semantic.md)
* [第6節:文本標籤](HTML/text.md)
* [第7節:列表標籤](HTML/list.md)
* [第8節:圖像標籤](HTML/image.md)
* [第9節:鏈接標籤](HTML/link.md)
* [第11節:多媒體標籤](HTML/multimedia.md)
* [第11節: iframe標籤](HTML/iframe.md)
* [第12節:表格標籤](HTML/table.md)
* [第13節:表單標籤](HTML/form.md)
* [第14節:其他標籤](HTML/elements.md)
再執行 gitbook init,gitbook 就會自動創建相應章節,如下圖所示:
執行以下命令可以生成 HTML 靜態文件,然後在瀏覽器中查看:
gitbook serve
在瀏覽器中訪問:
http://localhost:4000/
配置
所有的配置都以JSON格式存儲在名爲 gitbook.json
的文件中。
字段
gitbook
{ "gitbook": ">=2.0.0" }
這個選項是用來探測用來生成書本的GitBook的版本的。格式是一個 SEMVER 條件。
在 gitbook.com 中,這個值是根據平臺中輸入的標題定義的。
description
{ "description": "This is such a great book!" }
這個選項定義了書本的描述,默認是從 README(第一段)中提取的。
在 gitbook.com 中,這個值是根據平臺輸入的描述定義的。
isbn
{ "isbn": "978-3-16-148410-0" }
這個選項定義了你書本的ISBN。
language
{ "language": "fr" }
這個選項定義了你書本的語言,默認值是 en
。
這個值是用來做國際化和本地化的,它改變網站的文字。
在 gitbook.com 中,這個值是根據探測到的語言或指定的設置定義的。
direction
{ "direction": "rtl" }
這個選項是用來重新設置語言的文字方向的。建議將 language
字段設置爲帶有正確的文字方向的語言。
styles
這個選項是用來自定義書本的css的。
例子:
{
"styles": {
"website": "styles/website.css",
"ebook": "styles/ebook.css",
"pdf": "styles/pdf.css",
"mobi": "styles/mobi.css",
"epub": "styles/epub.css"
}
}
plugins
{ "plugins": ["mathjax"] }
書本使用的插件列表被定義在 book.json
的配置中。
pluginsConfig
{
"plugins": ["myplugin"],
"pluginsConfig": {
"myPlugin": {
"message": "Hello World"
}
}
}
structure
這個選項是用來覆蓋GitBook使用的路徑的。
例如你想要使用 INTRO.md
代替 README.md
:
{
"structure": {
"readme": "INTRO.md"
}
}
variables
{
"variables": {
"myTest": "Hello World"
}
}
這個選項定義在 模板 中使用的變量值。
三、常用命令
# 構建書籍,默認將生成的靜態網站輸出到 _book 目錄
gitbook build
# 指定路徑
gitbook build [書籍路徑] [輸出路徑]
# 指定端口
gitbook serve --port 2333
# 你還可以生成 PDF 格式的電子書
gitbook pdf ./ ./mybook.pdf
gitbook epub ./ ./mybook.epub # epub 格式
gitbook mobi ./ ./mybook.mobi # mobi 格式
其他命令:
gitbook init //初始化目錄文件
gitbook help //列出gitbook所有的命令
gitbook --help //輸出gitbook-cli的幫助信息
gitbook build //生成靜態網頁
gitbook serve //生成靜態網頁並運行服務器
gitbook build --gitbook=2.0.1 //生成時指定gitbook的版本, 本地沒有會先下載
gitbook ls //列出本地所有的gitbook版本
gitbook ls-remote //列出遠程可用的gitbook版本
gitbook fetch 標籤/版本號 //安裝對應的gitbook版本
gitbook update //更新到gitbook的最新版本
gitbook uninstall 2.0.1 //卸載對應的gitbook版本
gitbook build --log=debug //指定log的級別
gitbook builid --debug //輸出錯誤信息