經(jīng)常寫技術(shù)文檔,需要將文檔像代碼一樣管理,例如可以提交SVN或者GIT,可以比對歷史差異。用WORD之類的工具,文檔不是純文本,沒法滿足需求。用簡單文本沒有格式不美觀。Latex最強大,但是對于一般文檔撰寫又太重量,配置一個好的模板太費神,而且標(biāo)記有些復(fù)雜不好記。
如果你也有上述困苦,那么可以嘗試一下markdown! Markdown是一種可以使用普通文本編輯器編寫的標(biāo)記語言,類似HTML,不過比HTML簡單很多! 用markdown撰寫的文章可以直接轉(zhuǎn)成HTML格式進行顯示。 目前主流的博客系統(tǒng)都直接支持markdown,開源代碼托管網(wǎng)站GitHub中readme文檔撰寫默認(rèn)是markdown格式。 Mardown語法非常簡單, 基本十分鐘可以全部學(xué)會!
為了讓markdown支持更豐富的元素,不同組織和個人還開發(fā)了許多markdown擴展,例如可以支持表格、編程語言代碼塊、數(shù)學(xué)公式等等。
雖然markdown可以用任何文本編輯器進行撰寫,但是使用專門的markdown編輯器,可以做到一邊編寫一邊實時顯示渲染效果。網(wǎng)上免費的markdown編輯器非常多,這里給大家介紹一款個人覺得最好用的markdown編輯器Haroopad! 它是開源、免費、跨平臺的,支持windows,linux和mac系統(tǒng)。Haroopad已經(jīng)內(nèi)置了各種markdown擴展,支持100多種編程語言代碼的直接顯示,例如C/C++, JAVA, C#, Ruby, Python, Erlang, Makefile等等,甚至代碼顯示的背景框都有很多主題可以選擇。另外它支持撰寫數(shù)學(xué)公式,支持一套文本繪圖DSL,支持自動生成文檔目錄等等。Haroopad支持直接將文檔發(fā)布成PDF格式。最后Haroopad支持用戶自定義顯示樣式。 由于Haroopad是韓國人寫的,所以用戶手冊里面很多都是韓語,因此這里將Haroopad的一些主要用法給大家介紹一下!
Haroopad使用非常簡單,左邊是編輯區(qū),右邊是預(yù)覽區(qū)。支持實時預(yù)覽。
Haroopad支持所有的markdown標(biāo)準(zhǔn)語法。Markdown基本語法見http://www.appinn.com/markdown/,基本上十分鐘之內(nèi)可以全部學(xué)會。
寫好的markdown文稿保存成*.md
文件。md文件是純文本格式,可以用記事本打開直接閱讀修改。在Haroopad下,可以將md文稿發(fā)布成帶樣式的html文件或者pdf文件。
發(fā)布成HTML格式: 文件 -> 導(dǎo)出到 -> HTML
發(fā)布成PDF格式: 文件 -> 打印 -> 打印到文件
對于程序員來說,最需要的就是對于Code Block的強大支持! Haroopad支持100多種編程語言!每種語言的代碼會按照語言風(fēng)格進行編排縮進和語法高亮。
Code Block需要以~~~
加上編程語言標(biāo)識符的單獨一行開始,以~~~
單獨一行結(jié)束。
例如對于一段C++的Code Block。
顯示結(jié)果如下:
代碼塊的背景框風(fēng)格在Haroopad中可以配置:
文件 -> 偏好設(shè)置 -> Code -> 主題
Haroopad支持非常多的代碼框風(fēng)格,例如上面C++中的例子中配置的是sublime的風(fēng)格。
在Haroopad中插入圖片非常方便,如下:
小括號內(nèi)分別是圖片的url(可以是網(wǎng)絡(luò)地址)、title以及圖片的顯示大?。▎挝籶x)。
Haroopad中繪制表格的語法如下:
顯示效果如下:
Haroopad擴展支持tasklist,語法如下:
顯示效果如下:
Haroopad借助Mathjax擴展來支持對數(shù)學(xué)公式的顯示。
為了讓haroopad支持?jǐn)?shù)學(xué)公式首先需要在配置里面開啟數(shù)學(xué)公式支持:
文件 -> 偏好設(shè)置 -> Markdown -> 啟用數(shù)學(xué)表達式
md文檔中數(shù)學(xué)公式框需要以單獨$$
一行開始,并以$$
一行結(jié)束,中間是符合Mathjax要求的數(shù)學(xué)公式:
顯示效果:
Haroopad支持mermaid擴展。Mermaid是一套繪圖的符號語言擴展,支持繪制各種關(guān)系圖,序列圖。
Haroopad中mermaid繪圖以~~~mermaid
單獨一行開始,以~~~
單獨一行結(jié)束。
顯示效果如下:
其中graph TD
指定繪圖方向是從上而下,改為graph LR
則是從左至右。
其它例子:
Mermaid擴展還支持其它繪圖方式,以及調(diào)整繪圖樣式,具體見mermail介紹https://github.com/knsv/mermaid/wiki
Haroopad支持直接撰寫PPT。在撰寫文檔的時候以***
做分頁,在presentation mode下就會是獨立的一頁PPT。
要將文檔以PPT模式顯示,需要開啟presentation mode:
視圖 -> Presentation Mode
具體參見Haroopad關(guān)于Presentation Mode的說明: http://pad.haroopress.com/page.html?f=how-to-write-presentation
Haroopad支持對markdown語法的快捷鍵和自動補全。需要的話可以在偏好設(shè)置里面進行設(shè)置。
Haroopad支持自動插入目錄。具體在需要插入目錄的地方插入空行和 [toc]
就搞定一切了。
Haroopad支持豐富的媒體插入。例如音頻和視頻。
Haroopad支持自定義編輯區(qū)和預(yù)覽發(fā)布的樣式,具體在
文件 -> 偏好設(shè)置 -> 編輯器 ->自定義主題 -> 編輯
文件 -> 偏好設(shè)置 -> 預(yù)覽 ->自定義主題 -> 編輯
在彈出的目錄里面有css文件,修改該css文件用來改變樣式。每次修改css后需要重啟haroopad。我收集了很多適合haroopad使用的css主題,可以在我的github上下載:https://github.com/MagicBowen/markdown
將md文件發(fā)布成pdf后,會發(fā)現(xiàn)Code Block背景框的風(fēng)格變化了。該問題的解決需要配置haroopad的預(yù)覽樣式css文件,增加設(shè)置讓其嚴(yán)格按照顏色樣式打印就好了。如下:
由于其簡單易用,Markdown在社區(qū)已經(jīng)越來越流行。甚至有些項目將自動化測試用例都用markdown語法來寫,可以直接發(fā)布給客戶當(dāng)作說明文檔,執(zhí)行的時候靠一段解釋代碼將其翻譯成目標(biāo)語言執(zhí)行,真的做到測試即文檔。而Haroopad是一款非常強大的markdown編輯器,它內(nèi)置的很多mardown擴展都是為了方便程序員,避免了大家到處尋找插件自行配制的繁瑣。到目前為止haroopad是我找到的最好用的markdown編輯器。最后在支持如此多的特性后,haroopad依然非常輕量! 希望Haroopad同樣適合你!
作者:MagicBowen , Email: e.bowen.wang@icloud.com , 轉(zhuǎn)載請注明作者信息!
聯(lián)系客服