使用Gitbook建立檔案並匯出PDF
匯出PDF
的方式有很多種,之前使用過馬克飛象
的匯出功能,不過只是簡單的匯出並不能新增目錄,因為原始檔是markdown
編寫的,經過篩選後採用了gitbook
的方式進行編寫檔案並且使用gitbook pdf .
的方式匯出為PDF
檔案。
注意:本機需要有
NodeJs
環境。
部落格原文:blog.yuqiyu.com/use-gitbook…
環境準備
想要使用gitbook
,那麼我們本機需要進行安裝,通過npm
命令可以很方便的安裝。
安裝GitBook
通過npm
的方式進行安裝gitbook
環境,命令如下所示:
npm install gitbook -g複製程式碼
安裝calibre & ebook-convert
使用gitbook
的匯出功能,需要第三方外掛ebook
的支援,下面針對兩種不同的作業系統進行配置環境。
Linux系統
下載地址:calibre-ebook.com/download_li…
- 下載並安裝
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin複製程式碼
- 配置軟連結
sudo ln -s /usr/bin/nodejs /usr/bin/node複製程式碼
Mac系統
下載地址:calibre-ebook.com/download_os…
- 下載並安裝
下載的為dmg
檔案直接雙擊安裝即可。
- 配置軟連結
sudo ln -s ~/Applications/calibre.app/Contents/MacOS/ebook-convert /usr/bin複製程式碼
測試安裝
安裝完成後通過如下命令進行測試是否已經生效。
ebook-convert --version複製程式碼
生成檔案
一個新的gitbook
檔案有兩個檔案組成,分別是README.md
、SUMMARY.md
(可自行建立資料夾,在資料夾內建立這兩個檔案)。
-
README.md
:關於當前檔案的詳細描述 -
SUMMARY.md
:當前檔案的目錄層級關係配置,通過初始化命令可直接生成markdown
編寫Summary
下面是一個示例檔案的層級關係:
# Summary
- 第一級目錄
- [第一級目錄的子目錄](one/first.md)
- 第二級目錄
- [第二級目錄的子目錄](two/first.md)複製程式碼
GitBook初始化
gitbook
內部提供了一個初始化的命令,自動根據SUMMARY.md
檔案的層級內容生成對應的md
檔案以及資料夾,執行如下命令:
➜ gitbook-example gitbook init
info: create one/first.md
info: create two/first.md
info: create SUMMARY.md
info: initialization is finished 複製程式碼
控制檯的輸出資訊已經告訴我們成功建立了one/first.md
、two/first.md
這兩個檔案。
配置語言
gitbook
預設使用的並不是中文漢子
,我們需要通過配置book.json
檔案來修改預設語言方式(book.json
檔案建立在SUMMARY.md
同級目錄下)如下所示:
{
"language": "zh-hans"
}複製程式碼
匯出文件
gitbook
匯出文件的方式有多種,下面簡單介紹幾種匯出的方式。
匯出為PDF
在SUMMARY.md
檔案的同級目錄執行gitbook pdf .
命令進行匯出PDF
檔案,執行日誌如下所示:
➜ gitbook-example gitbook pdf .
info: 7 plugins are installed
info: 6 explicitly listed
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 3 pages
info: found 0 asset files
info: >> generation finished with success in 5.7s !
info: >> 1 file(s) generated 複製程式碼
如果想要自定義生成的
gitbook pdf . ./xxxx.pdf
命令。
匯出為epub
在SUMMARY.md
檔案的同級目錄執行gitbook epub .
命令進行匯出epub
檔案,執行日誌如下所示:
➜ gitbook-example gitbook epub .
info: 7 plugins are installed
info: 6 explicitly listed
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 3 pages
info: found 2 asset files
info: >> generation finished with success in 2.4s !
info: >> 1 file(s) generated 複製程式碼
匯出為mobi
在SUMMARY.md
檔案的同級目錄執行gitbook mobi .
命令進行匯出mobi
檔案,執行日誌如下所示:
➜ gitbook-example gitbook mobi .
info: 7 plugins are installed
info: 6 explicitly listed
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 3 pages
info: found 3 asset files
info: >> generation finished with success in 1.9s !
info: >> 1 file(s) generated複製程式碼
匯出日誌檢視
如果你在匯出過程中遇到了問題,你可以在執行匯出命令時新增--log=debug
命令引數,這樣匯出時就可以看到完整的日誌資訊在控制檯輸出,如下所示:
➜ gitbook-example gitbook pdf . ./example.pdf --log=debug
debug: readme found at README.md
debug: summary file found at SUMMARY.md
debug: cleanup folder "/var/folders/c1/5mrhntb13_zfrnjg4grnf8zr0000gn/T/tmp-2291a4Jd8P8oNX4l"
......複製程式碼
總結
使用gitbook
可以用來編寫公司的介面使用檔案、專案設計檔案等等,功能遠不止如此,它還可以通過gitbook build
命令來生成靜態html
檔案,可以部署到Nginx
、阿里雲OSS
等靜態頁面託管的地方。
作者個人 部落格
使用開源框架 ApiBoot 助你成為Api介面服務架構師