Gitbook淺玩:如何發(fā)布開源的需求文檔?
本文主要圍繞 GitBook 的安裝、使用、集成、書籍發(fā)布四個(gè)方面來論述。
GitBook 是一項(xiàng)致力于文檔編制、數(shù)碼寫作和出版的新型、簡單的解決方案。它不僅提供了簡單且強(qiáng)大的電子書創(chuàng)建工具 GitBook,同時(shí)還提供了在線電子書制作平臺(tái) GitBook.com。
GitBook?is where you create, write and organize documentation and books with your team.
簡單點(diǎn)說,如果你想自己寫開源的需求文檔玩也打算讓其他人加入一起參與創(chuàng)作,就可以嘗試選擇 Gitbook 了。
為什么要將需求文檔開源呢?日常工作中,復(fù)雜程度很高的業(yè)務(wù)需求(如醫(yī)療行業(yè))單個(gè)人或者單個(gè)組織的知識(shí)范圍和深度難以分析透徹,眾人拾柴火焰高,將需求文檔轉(zhuǎn)變?yōu)?strong>眾創(chuàng)的形式,就極有可能在一段時(shí)間的演化后輸出品質(zhì)極高的需求文檔,人人編寫,人人使用,這也是互聯(lián)網(wǎng)開放開源精神的體現(xiàn)!
很多東西就是玩出來的,如果你不滿不同行業(yè)的知識(shí)壁壘和樂于分享你的知識(shí),同時(shí),你也打算自己改變這種現(xiàn)狀,這篇文章就值得一看。(預(yù)計(jì)花費(fèi)8分鐘閱讀完,消化并熟練掌握需2小時(shí))
本文主要圍繞 GitBook 的安裝,使用,集成,書籍發(fā)布四個(gè)方面來論述,還會(huì)分享一些Gitbook 書籍資源,文末還會(huì)發(fā)起開源的編寫不同行業(yè)的需求文檔的活動(dòng)。
Let’s play~
安裝
首先,你需要安裝 node.js ,以便使用“命令提示符” (Mac 系統(tǒng)打開“終端”)來安裝 Gitbook 。
安裝只需要一步就能實(shí)現(xiàn),簡單移動(dòng)。
$ npm install gitbook -g
由于網(wǎng)絡(luò)的原因,安裝的時(shí)間可能會(huì)較長一些,請耐心等待直到安裝完成。
安裝完成后可以輸入以下命令,以查看 GitBook 版本的方式檢查是否安裝成功:
$ gitbook -V
使用
基本的用法并不復(fù)雜,一般來說需要兩步:
- 使用?gitbook init?初始化書籍目錄
- 使用?gitbook serve?編譯書籍
下面使用一個(gè)簡單直觀的示例來介紹 Gitbook 的基本使用方法。
gitbook init
首先,創(chuàng)建如下目錄結(jié)構(gòu):
$ tree book/
book/
├── README.md
└── SUMMARY.md0 directories, 2 files
README.md 和 SUMMARY.md 是兩個(gè)必須文件,README.md 是對書籍的簡單介紹:
$ dog book/README.md
# READMEThis is a book powered by [GitBook](https://github.com/GitbookIO/gitbook).
SUMMARY.md 是書籍的目錄結(jié)構(gòu)。內(nèi)容如下:
$ dog book/SUMMARY.md
# SUMMARY* [Chapter1](chapter1/README.md)
* [Section1.1](chapter1/section1.1.md)
* [Section1.2](chapter1/section1.2.md)
* [Chapter2](chapter2/README.md)
創(chuàng)建了這兩個(gè)文件后,使用?gitbook init,它會(huì)為我們創(chuàng)建 SUMMARY.md 中的目錄結(jié)構(gòu)。
$ cd book
$ gitbook init
$ tree
.
├── README.md
├── SUMMARY.md
├── chapter1
│ ├── README.md
│ ├── section1.1.md
│ └── section1.2.md
└── chapter2
└── README.md2 directories, 6 files
gitbook serve
書籍目錄結(jié)構(gòu)創(chuàng)建完成以后,就可以使用?gitbook serve?來編譯和預(yù)覽書籍了:
$ gitbook serve
Live reload server started on port: 35729
Press CTRL+C to quit …info: 7 plugins are installed
info: loading plugin “livereload”… OK
info: loading plugin “highlight”… OK
info: loading plugin “search”… OK
info: loading plugin “lunr”… OK
info: loading plugin “sharing”… OK
info: loading plugin “fontsettings”… OK
info: loading plugin “theme-default”… OK
info: found 5 pages
info: found 7 asset files
info: >> generation finished with success in 1.8s !Starting server …
Serving book on http://localhost:4000
gitbook serve?命令實(shí)際上會(huì)首先調(diào)用?gitbook build?編譯書籍,完成以后會(huì)打開一個(gè) web 服務(wù)器,監(jiān)聽在本地的 4000 端口。
現(xiàn)在,可以用瀏覽器打開?http://127.0.0.1:4000?查看書籍的效果,如下圖:
現(xiàn)在,gitbook 為我們創(chuàng)建了書籍目錄結(jié)構(gòu)后,就可以向其中添加真正的內(nèi)容了,文件的編寫使用 markdown 語法,在文件修改過程中,每一次保存文件,gitbook serve?都會(huì)自動(dòng)重新編譯,所以可以持續(xù)通過瀏覽器來查看最新的書籍效果!
此外,你還可以下載 Gitbook 編輯器,實(shí)現(xiàn)所見所得編輯體驗(yàn)。
圖書輸出
目前為止,Gitbook支持如下輸出:
- 靜態(tài)HTML,可以看作一個(gè)靜態(tài)網(wǎng)站
- PDF格式
- eBook格式(Mobi&ePub)
- 單個(gè)HTML文件
- JSON格式
輸出PDF
輸出為PDF文件,需要先安裝gitbook pdf。
$ npm install gitbook-pdf -g
如果在安裝gitbook-pdf時(shí),覺得下載phantomjs包太慢的話,你可以到phantomjs的官方網(wǎng)站上去下載。http://phantomjs.org/
這個(gè)包的安裝方式,參考其官網(wǎng)的說明文檔。
然后,用下面的命令就可以生成PDF文件了。
$ gitbook pdf {book_name}
如果,你已經(jīng)在編寫的gitbook當(dāng)前目錄,也可以使用相對路徑。
$ gitbook pdf .
然后,你就會(huì)發(fā)現(xiàn),你的目錄中多了一個(gè)名為book.pdf的文件。
發(fā)布
可以使用Github Pages服務(wù)將我們寫的gitbook發(fā)布到互聯(lián)網(wǎng)上,前提是你已經(jīng)了解了Git、Github及Github Pages的使用。
創(chuàng)建倉庫與分支
- 登陸到Github,創(chuàng)建一個(gè)新的倉庫,名稱我們就命名為book,這樣我就得到一個(gè)book倉庫。
- 克隆倉庫到本地:?git clone git@github.com:/USER_NAME/book.git
- 創(chuàng)建一個(gè)新分支:?git checkout -b gh-pages,注意,分支名必須為gh-pages。
- 將分支push到倉庫:?git push -u origin gh-pages。
- 切換到主分支:git checkout master。
經(jīng)過這一步處理,我們已經(jīng)創(chuàng)建了gh-pages分支了,有了這個(gè)分支,Github會(huì)自動(dòng)為你分配一個(gè)網(wǎng)址。
Gitbook資源
只推薦這本書吧,七年一重生,開拓新的人生維度~
這就是一本開源的書籍,同樣的,需求文檔也是可以是開放式的。
拓展
直接將排版好導(dǎo)出的文檔可以放入 Kindle 或 iBooks 中,閱讀體驗(yàn)可以得到不小提升~
歡迎加入到編輯開源需求文檔的隊(duì)伍中~
本文由 @姚磊 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
推薦使用MWeb,書寫使用Markdown
可以一鍵生成靜態(tài)網(wǎng)站,然后發(fā)布到公司的內(nèi)部服務(wù)器上