1. 問題描述
markdown技術可以實現(xiàn)技術文檔的快捷寫作,以及輸出發(fā)布。但markdown的基本功能只支持單篇文檔,如何將大量的技術文檔集成綜合的技術手冊、書籍呢?
筆者通過gitbook+看云的技術平臺,實現(xiàn)了
- 大量技術文檔的綜合集成
- 發(fā)布了257頁的pdf技術手冊
- 實現(xiàn)了文檔的動態(tài)更新和分享;
本文介紹這一技術的實現(xiàn)過程。
2. 技術背景
markdown的基礎應用不再贅述,詳見筆者簡書專欄:http://www.lxweimin.com/nb/6041803。
本文采用的技術框架為:
- 看云網(wǎng)站,手機客戶端
- gitbook editor
下文提供下載方式。
2.1 看云
看云是一個專業(yè)的markdown技術文檔、書籍的托管發(fā)布平臺,也有相應的手機客戶端。
關于看云平臺的使用方法,詳見http://help.kancloud.cn/41497。
2.2 gitbook
gitbook是一個國外的markdown書籍創(chuàng)作平臺,有相應的editor編輯器。gitbook的軟件及平臺本身即可實現(xiàn)技術文檔的撰寫發(fā)布,但網(wǎng)絡不暢通且不穩(wěn)定,不適合國內使用。此處僅采用gitbook編輯器軟件。
關于gitbook的詳細應用,見http://www.lxweimin.com/p/383d26cd9238。
3. 解決方案
大型技術文檔的編輯發(fā)布,關鍵在于markd子文檔的集成,以及編譯方式的定義。其中的技術邏輯與LaTeX排版方式類似。
通過itbook創(chuàng)建的書籍項目,基本文件結構為:
- SUMMARY.md,為子文檔集成的核心
編碼內容如下,通過多級列表和超鏈接,定義文檔的章節(jié)架構。
# Summary
* [引言](README.md)
* [理論基礎](理論基礎.md)
* [導波控制方程](導波控制方程.md)
* [導波頻散曲線分析](導波頻散曲線分析.md)
* [數(shù)值模擬](數(shù)值模擬.md)
- book.json,定義文檔的定制化編譯方式
以下代碼中,highlight
表示代碼命令的高亮,tex
表示對tex格式的公式編譯。
{ "plugins": [
"highlight",
"tex"
]}
詳見:http://help.kancloud.cn/62408。
- README.md
此為gitbook默認生成,實際上起到“前言”的作用,可以不用。
建議保留不刪除,以免gitbook報錯。
4. 實施示例
4.1 預備工作
- 注冊看云
http://www.kancloud.cn - 下載gitbook
官方下載網(wǎng)站為:https://www.gitbook.com/editor/,但下載速度極慢,很不穩(wěn)定。
百度網(wǎng)盤下載更方便:鏈接:http://pan.baidu.com/s/1nuVG9dB 密碼:8hrc - 安裝gitbook
安裝過程按照默認配置即可,沒有必要注冊gitbook
4.2 文檔項目的創(chuàng)建
- 進入看云的個人賬戶-【創(chuàng)建文檔】
mark - 文檔信息設置
此處需注意文檔標識的命名規(guī)則,規(guī)范的命名如cloud-design-pattern
.
mark - 記錄項目git地址
如本測試項目:https://git.kancloud.cn/macheng2018/test.git
mark
看云主要作為網(wǎng)上的分享、發(fā)布平臺,而文檔項目的內容編輯主要在本地電腦,通過gitbook實現(xiàn)。
- 打開gitbook,
local library
創(chuàng)建New book
mark -
進入test項目,【book】-【Sync】與網(wǎng)絡端同步
mark -
輸入看云項目的git網(wǎng)絡地址
mark -
輸入看云賬戶的賬戶密碼
mark
如此即完成了基本的項目配置工作,后續(xù)主要進行內容的創(chuàng)作。
4.3 內容創(chuàng)作與編輯
-
gitbook編輯器中的初始狀態(tài)如下:
章節(jié)布局:
mark
文件結構:
mark
其中,introduction
與README.md
對應,是默認的必備文件,無法刪除。
First Chapter
與chapter1.md
對應,可以刪除。
- 構建自己的章節(jié)框架
按照一般的布局習慣,將introduction
改為引言
,First Chapter
刪除。
按照寫作需求創(chuàng)建章,這里實際上相當于章的標題和每章引言。
mark -
輸入文字內容后,gitbook會自動創(chuàng)建相應的markdown文件。
mark - 創(chuàng)建具體的節(jié)內容
mark - 獨立目錄創(chuàng)建
除了基本的markdown語法之外,看云支持在文檔首添加[toc]
,生成子文檔的獨立目錄。效果如:
mark
4.4 章節(jié)關系組織
每個markdown文件的內容實際上相互獨立,通過SUMMARY.md
組織成整理。通過gitbook創(chuàng)建的內容可以生成默認的SUMMARY文件:
其基本語法是markdown標準語法中,無序列表和超鏈接的結合,但此處的超鏈接指向文檔的子文件。:
* [引言](README.md)
* [理論基礎](理論基礎.md)
注意到:“理論基礎”是章標題(一級),而“導波控制方程”與“導波頻散曲線分析”為節(jié)標題(二級),可以手動調整邏輯層次。
4.4 文檔的發(fā)布
- 完成編輯后,點擊【Publish&Sync】可以向看云發(fā)布
mark -
看云網(wǎng)站-【編輯】
mark -
看到網(wǎng)頁版與本地編輯器效果一致-【發(fā)布文檔】
mark -
確認發(fā)布
mark -
回到項目頁面,【閱讀】
mark - 預覽頁面
在預覽頁面可以看到很多重要信息:
文檔項目的唯一網(wǎng)址:http://www.kancloud.cn/macheng2018/test
提供的功能有:在線閱讀、下載、分享
下部可以預覽概要和目錄。
mark
當文檔在本地有更新,重復以上的發(fā)布過程,即可實現(xiàn)文檔的更新。
4.5 閱讀與下載
-
在線閱讀
在線閱讀的顯示效果最佳,提供導航窗格,搜索和收藏的功能。
mark -
下載
下載功能支持多種格式。但一般下載的文檔格式上比在線閱讀較差。
mark
PDF下載效果:
-
書簽、封面、目錄
mark -
正文顯示效果
mark
經常在電腦端工作,且不能保證經常聯(lián)網(wǎng)的情況下,適合下載pdf版本。
4.6 手機客戶端
PDF通用性很好,但存在一定的不足:
- 排版顯示效果不如在線閱讀
- 不能及時更新最新的改動
與之相比,采用手機客戶端閱讀,體驗更好。目前支持蘋果ios,似乎尚無安卓版。
-
手機客戶端
mark -
在網(wǎng)站點擊【關注】后,手機端【我的收藏】即可顯示相關文檔
mark -
文檔顯示
mark -
目錄
mark -
正文
mark
5. 常見問題
看云發(fā)布的pdf中,公式顯示尚存問題,目前以圖片鏈接代替。
網(wǎng)站提供了詳細的幫助系統(tǒng),詳見:http://help.kancloud.cn/41497。
本文用時 2 h