使用 Gitbook 打造前端文檔落地平臺

? ? 最近遇到一些問題跟啤,就是團隊中會有些伙伴踩得坑的收集問題或者有些較為復雜的業(yè)務需求文檔共享上成本較高,所以考慮弄一個文檔落地平臺缸浦,供大家去沉淀班巩、分享自己的問題或者感悟渣慕。諸如此類的東西有很多,參考其他組的方式,選擇使用gitbook來作為我們組的沉淀平臺\(^o^)/~下面來簡單介紹下他的搭建和使用逊桦。

簡單介紹下

GitBook 是使用 GitHub / Git 和 Markdown(或AsciiDoc)構建漂亮書籍的命令行工具(和Node.js庫)眨猎。可以將您的內(nèi)容作為網(wǎng)站(可定制和可擴展)或電子書(PDF强经,ePub或Mobi)輸出宵呛。

GitBook.com 是使用 GitBook 格式創(chuàng)建和托管圖書的在線平臺。它提供托管夕凝,協(xié)作功能和易于使用的編輯器宝穗。

1

GitBook 安裝

安裝 GitBook 是很簡單的。您的系統(tǒng)只需要滿足這兩個要求:

NodeJS(推薦使用v4.0.0及以上版本)

Windows码秉,Linux逮矛,Unix 或 Mac OS X

通過NPM安裝

安裝 GitBook 的最好辦法是通過 NPM。在終端提示符下转砖,只需運行以下命令即可安裝 GitBook:

?npm install gitbook-cli -g

gitbook-cli 是 GitBook 的一個命令行工具须鼎。它將自動安裝所需版本的 GitBook 來構建一本書。

執(zhí)行下面的命令府蔗,查看 GitBook 版本晋控,以驗證安裝成功。

gitbook -V

安裝歷史版本

gitbook-cli?可以輕松下載并安裝其他版本的GitBook來測試您的書籍:

gitbook fetch beta

使用 gitbook ls-remote?會列舉可以下載的版本姓赤。

如何創(chuàng)建一本書

GitBook可以設置一個樣板書:

?gitbook init

如果您希望將書籍創(chuàng)建到一個新目錄中赡译,可以通過運行 gitbook init ./directory 這樣做。

使用下面的命令不铆,會在項目的目錄下生成一個 _book 目錄蝌焚,里面的內(nèi)容為靜態(tài)站點的資源文件:

?gitbook build

Debugging

您可以使用選項?--log=debug?和?--debug?來獲取更好的錯誤消息(使用堆棧跟蹤)。例如:

gitbook build ./ --log=debug --debug

啟動服務

使用下列命令會運行一個 web 服務, 通過 http://localhost:4000/ 可以預覽書籍

gitbook serve

GitBook 命令

這里主要介紹一下 GitBook 的命令行工具 gitbook-cli 的一些命令, 首先說明兩點:

gitbook-cli 和 gitbook 是兩個軟件

gitbook-cli 會將下載的 gitbook 的不同版本放到 ~/.gitbook中, 可以通過設置GITBOOK_DIR環(huán)境變量來指定另外的文件夾

列出 gitbook 所有的命令

gitbook help

輸出 gitbook-cli 的幫助信息

gitbook --help

生成靜態(tài)網(wǎng)頁

gitbook build

生成靜態(tài)網(wǎng)頁并運行服務器

gitbook serve(此處可以配置啟動的目錄)

生成時指定gitbook的版本, 本地沒有會先下載

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

指定log的級別

gitbook build --log=debug

輸出錯誤信息

gitbook builid --debug

Gitbook 目錄結構

GitBook 項目結構

GitBook使用簡單的目錄結構誓斥。在 SUMMARY (即 SUMMARY.md 文件)中列出的所有 Markdown / Asciidoc 文件將被轉(zhuǎn)換為 HTML只洒。多語言書籍結構略有不同。

一個基本的 GitBook 電子書結構通常如下:

.

├── book.json

├── README.md

├── SUMMARY.md

├── chapter-1/

|? ├── README.md

|? └── something.md

└── chapter-2/

? ? ├── README.md

? ? └── something.md

GitBook 特殊文件的功能:

文件 描述

book.json 配置數(shù)據(jù) (optional)

README.md 電子書的前言或簡介 (required)

SUMMARY.md 電子書目錄 (optional)

GLOSSARY.md 詞匯/注釋術語列表 (optional)

靜態(tài)文件和圖片

靜態(tài)文件是在?SUMMARY.md 中未列出的文件劳坑。除非被忽略毕谴,否則所有靜態(tài)文件都將復制到輸出路徑。

忽略文件和文件夾

GitBook將讀取?.gitignore距芬,.bookignore?和?.ignore?文件涝开,以獲取要過濾的文件和文件夾。這些文件中的格式遵循 .gitignore 的規(guī)則:

# This is a comment

# Ignore the file test.md

test.md

# Ignore everything in the directory "bin"

bin/*

項目與子目錄集成

對于軟件項目蔑穴,您可以使用子目錄(如 docs/ )來存儲項目文檔的圖書忠寻。您可以配置根選項來指示 GitBook 可以找到該圖書文件的文件夾:

.

├── book.json

└── docs/

? ? ├── README.md

? ? └── SUMMARY.md

在 book.json?中配置以下內(nèi)容:

{

? ? "root": "./docs"

}

Summary

GitBook 使用?SUMMARY.md?文件來定義本書的章節(jié)和子章節(jié)的結構。?SUMMARY.md 文件用于生成本書的目錄存和。

SUMMARY.md?的格式是一個鏈接列表。鏈接的標題將作為章節(jié)的標題,鏈接的目標是該章節(jié)文件的路徑捐腿。

向父章節(jié)添加嵌套列表將創(chuàng)建子章節(jié)纵朋。

簡單示例:

# Summary

* [Part I](part1/README.md)

? ? * [Writing is nice](part1/writing.md)

? ? * [GitBook is nice](part1/gitbook.md)

* [Part II](part2/README.md)

? ? * [We love feedback](part2/feedback_please.md)

? ? * [Better tools for authors](part2/better_tools.md)

每章都有一個專用頁面(part#/README.md),并分為子章節(jié)茄袖。

錨點

目錄中的章節(jié)可以使用錨點指向文件的特定部分操软。

# Summary

### Part I

* [Part I](part1/README.md)

? ? * [Writing is nice](part1/README.md#writing)

? ? * [GitBook is nice](part1/README.md#gitbook)

* [Part II](part2/README.md)

? ? * [We love feedback](part2/README.md#feedback)

? ? * [Better tools for authors](part2/README.md#tools)

部分

目錄可以分為以標題或水平線 ---- 分隔的部分:

# Summary

### Part I

* [Writing is nice](part1/writing.md)

* [GitBook is nice](part1/gitbook.md)

### Part II

* [We love feedback](part2/feedback_please.md)

* [Better tools for authors](part2/better_tools.md)

----

* [Last part without title](part3/title.md)

Parts 只是章節(jié)組,沒有專用頁面宪祥,但根據(jù)主題聂薪,它將在導航中顯示。

頁面

Markdown 語法

默認情況下蝗羊,GitBook 的大多數(shù)文件都使用 Markdown 語法藏澳。 GitBook 推薦使用這種語法。所使用的語法類似于 GitHub Flavored Markdown syntax 耀找。

此外翔悠,你還可以選擇 AsciiDoc 語法。

頁面內(nèi)容示例:

# Title of the chapter

This is a great introduction.

## Section 1

Markdown will dictates _most_ of your **book's structure**

## Section 2

...

頁面前言

頁面可以包含一個可選的前言野芒。它可以用于定義頁面的描述蓄愁。前面的事情必須是文件中的第一件事,必須采取在三虛線之間設置的有效YAML的形式狞悲。這是一個基本的例子:

---

description: This is a short description of my page

---

# The content of my page

...

Glossary

允許您指定要顯示為注釋的術語及其各自的定義撮抓。根據(jù)這些術語,GitBook 將自動構建索引并突出顯示這些術語摇锋。

GLOSSARY.md?的格式是 h2 標題的列表胀滚,以及描述段落:

## Term

Definition for this term

## Another term

With it's definition, this can contain bold text

and all other kinds of inline markup ...

Gitbook 配置

GitBook 允許您使用靈活的配置自定義您的電子書。

這些選項在 book.json 文件中指定乱投。對于不熟悉 JSON 語法的作者咽笼,您可以使用 JSONlint 等工具驗證語法。

常規(guī)設置

變量 描述

root 包含所有圖書文件的根文件夾的路徑戚炫,除了?book.json

structure 指定自述文件剑刑,摘要,詞匯表等的路徑双肤,參考?Structure paragraph.

title 您的書名施掏,默認值是從 README 中提取出來的。在 GitBook.com 上茅糜,這個字段是預填的七芭。

description 您的書籍的描述,默認值是從 README 中提取出來的蔑赘。在 GitBook.com 上狸驳,這個字段是預填的预明。

author 作者名。在GitBook.com上耙箍,這個字段是預填的撰糠。

isbn 國際標準書號 ISBN

language 本書的語言類型 —— ISO code?。默認值是?en

direction 文本閱讀順序辩昆≡睦遥可以是 rtl?(從右向左)或 ltr (從左向右),默認值依賴于 language 的值汁针。

gitbook 應該使用的GitBook版本术辐。使用 SemVer 規(guī)范,并接受類似于 “> = 3.0.0” 的條件施无。

author

作者姓名辉词,在GitBook.com上,這個字段是預先填寫的帆精。

例:

"author" : "victor zhang"

description

電子書的描述较屿,默認值是從 README 中提取出來的。在GitBook.com上卓练,這個字段是預先填寫的隘蝎。

例:

"description" : "Gitbook 教程"

direction

文本的方向〗笃螅可以是 rtl 或 ltr嘱么,默認值取決于語言的值。

例:

"direction" : "ltr"

gitbook

應該使用的GitBook版本顽悼。使用SemVer規(guī)范曼振,接受類似于 >=3.0.0 的條件。

例:

"gitbook" : "3.0.0",

"gitbook" : ">=3.0.0"

language

Gitbook使用的語言, 版本2.6.4中可選的語言如下:

en, ar, bn, cs, de, en, es, fa, fi, fr, he, it, ja, ko, no, pl, pt, ro, ru, sv, uk, vi, zh-hans, zh-tw

例:

"language" : "zh-hans",

links

在左側導航欄添加鏈接信息

例:

"links" : {

? ? "sidebar" : {

? ? ? ? "Home" : "https://github.com/atlantis1024/gitbook-notes"

? ? }

}

root

包含所有圖書文件的根文件夾的路徑蔚龙, book.json 文件除外冰评。

例:

"root" : "./docs",

structure

指定 Readme、Summary木羹、Glossary 和 Languages 對應的文件名甲雅。

styles

自定義頁面樣式, 默認情況下各generator對應的css文件

例:

"styles": {

? ? "website": "styles/website.css",

? ? "ebook": "styles/ebook.css",

? ? "pdf": "styles/pdf.css",

? ? "mobi": "styles/mobi.css",

? ? "epub": "styles/epub.css"

}

例如要使 h1坑填、h2 標簽有下邊框抛人, 可以在 website.css 中設置

h1 , h2{

? ? border-bottom: 1px solid #EFEAEA;

}

title

電子書的書名,默認值是從 README 中提取出來的脐瑰。在 GitBook.com 上妖枚,這個字段是預先填寫的。

例:

"title" : "gitbook-notes",

plugins

插件及其配置在?book.json 中指定苍在。有關詳細信息绝页。

自 3.0.0 版本開始荠商,GitBook 可以使用主題。有關詳細信息抒寂,請參閱 ?the theming section?结啼。

變量 描述

plugins 要加載的插件列表

pluginsConfig 插件的配置

添加插件

"plugins": [

? ? "splitter"

]

添加新插件之后需要運行 gitbook install 來安裝新的插件

去除自帶插件

Gitbook 默認帶有 5 個插件:

highlight

search

sharing

font-settings

livereload

想要去除他們可以這樣

"plugins": [

? ? "-search"

]

更多具體的細節(jié)掠剑,可以參考這篇文章:使用 Gitbook 打造你的電子書

就寫到這屈芜,不多說啦,搬磚去咯( ̄▽ ̄)/

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朴译,一起剝皮案震驚了整個濱河市井佑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌眠寿,老刑警劉巖躬翁,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盯拱,居然都是意外死亡盒发,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門狡逢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事史汗〖ン。” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵雀彼,是天一觀的道長壤蚜。 經(jīng)常有香客問我,道長徊哑,這世上最難降的妖魔是什么袜刷? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮莺丑,結果婚禮上著蟹,老公的妹妹穿的比我還像新娘。我一直安慰自己窒盐,他們只是感情好草则,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蟹漓,像睡著了一般炕横。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上葡粒,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天份殿,我揣著相機與錄音膜钓,去河邊找鬼。 笑死卿嘲,一個胖子當著我的面吹牛颂斜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拾枣,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沃疮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了梅肤?” 一聲冷哼從身側響起司蔬,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姨蝴,沒想到半個月后俊啼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡左医,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年授帕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浮梢。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡跛十,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出黔寇,到底是詐尸還是另有隱情偶器,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布缝裤,位于F島的核電站屏轰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏憋飞。R本人自食惡果不足惜霎苗,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望榛做。 院中可真熱鬧唁盏,春花似錦、人聲如沸检眯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锰瘸。三九已至刽严,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間避凝,已是汗流浹背舞萄。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工眨补, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人倒脓。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓撑螺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親崎弃。 傳聞我的和親對象是個殘疾皇子甘晤,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

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

  • 概述 GitBook 是使用 GitHub / Git 和 Markdown(或AsciiDoc)構建漂亮書籍的命...
    輝這樣說閱讀 3,022評論 0 4
  • 本文詳細講解了 Gitbook 生成電子書的完整過程,內(nèi)容包括:安裝吊履、命令安皱、配置调鬓、文檔結構艇炎、生成電子書、部署腾窝。限于...
    靜默虛空閱讀 11,257評論 9 138
  • 首先先獻上 我的 GitBook 地址缀踪,可以在我的 博客 導航欄處找到,下面進行相關的介紹虹脯。 背景 由于之前都把零...
    Blankj閱讀 259,688評論 14 228
  • 1. GitHub 1.1. 創(chuàng)建賬戶 https://github.com/ 在上面注冊賬戶: gitexam...
    蝴蝶泉nq閱讀 4,647評論 1 3
  • 走狗公案的產(chǎn)生驴娃,一種說法是因鄭板橋與袁枚交惡,袁枚故意編造事實黑鄭燮的循集。還舉例說清末民初的國學大師章太炎對...
    乂安_0990閱讀 838評論 0 0