經(jīng)常寫技術(shù)文檔,需要將文檔像代碼一樣管理猴蹂,例如可以提交SVN或者GIT院溺,可以比對歷史差異。用WORD之類的工具磅轻,文檔不是純文本珍逸,沒法滿足需求。用簡單文本沒有格式不美觀聋溜。Latex最強大谆膳,但是對于一般文檔撰寫又太重量,配置一個好的模板太費神撮躁,而且標記有些復(fù)雜不好記漱病。
如果你也有上述困苦,那么可以嘗試一下Markdown馒胆! Markdown是一種可以使用普通文本編輯器編寫的標記語言缨称,類似HTML,不過比HTML簡單很多祝迂! 用markdown撰寫的文章可以直接轉(zhuǎn)成HTML格式進行顯示睦尽。 目前主流的博客系統(tǒng)都直接支持markdown,開源代碼托管網(wǎng)站GitHub中readme文檔撰寫默認是markdown格式型雳。 Mardown語法非常簡單, 基本十分鐘可以全部學會当凡!
為了讓markdown支持更豐富的元素,不同組織和個人還開發(fā)了許多markdown擴展纠俭,例如可以支持表格沿量、編程語言代碼塊、數(shù)學公式等等冤荆。
雖然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ù)學公式,支持一套文本繪圖DSL重虑,支持自動生成文檔目錄等等践付。Haroopad支持直接將文檔發(fā)布成PDF格式。最后Haroopad支持用戶自定義顯示樣式缺厉。 由于Haroopad是韓國人寫的永高,所以用戶手冊里面很多都是韓語,所以這里將Haroopad的一些用法給大家介紹一下提针!
Basic usage
Haroopad使用非常簡單命爬,左邊是編輯區(qū),右邊是預(yù)覽區(qū)辐脖。支持實時預(yù)覽饲宛。
Haroopad支持所有的markdown標準語法。Markdown基本語法見http://www.appinn.com/markdown/嗜价,基本上十分鐘之內(nèi)可以全部學會艇抠。
寫好的markdown文稿保存成*.md
文件。md文件是純文本格式久锥,可以用記事本打開直接閱讀修改家淤。在Haroopad下,可以將md文稿發(fā)布成帶樣式的html文件或者pdf文件瑟由。
發(fā)布成HTML格式: 文件 -> 導(dǎo)出到 -> HTML
發(fā)布成PDF格式: 文件 -> 打印 -> 打印到文件
Code Block
對于程序員來說絮重,最需要的就是對于Code Block的強大支持! Haroopad支持100多種編程語言歹苦!每種語言的代碼會按照語言風格進行編排縮進绿鸣,以及語法高亮。
Code Block需要以~~~
加上編程語言標識符的單獨一行開始暂氯,以~~~
單獨一行結(jié)束。
例如對于一段C++的Code Block亮蛔。
顯示結(jié)果如下:
代碼塊的背景框風格在Haroopad中可以配置:
文件 -> 偏好設(shè)置 -> Code -> 主題
Haroopad支持非常多的代碼框風格痴施,例如上面C++中的例子中配置的是sublime的風格。
Image
在Haroopad中插入圖片非常方便,如下:
小括號內(nèi)分別是圖片的url(可以是網(wǎng)絡(luò)地址)辣吃、title以及圖片的顯示大卸狻(單位px)。
Table
Haroopad中繪制表格的語法如下:
顯示效果如下:
Tasklist
Haroopad擴展支持tasklist神得,語法如下:
顯示效果如下:
Math
Haroopad借助Mathjax擴展來支持對數(shù)學公式的顯示厘惦。
為了讓haroopad支持數(shù)學公式首先需要在配置里面開啟數(shù)學公式支持:
文件 -> 偏好設(shè)置 -> Markdown -> 啟用數(shù)學表達式
md文檔中數(shù)學公式框需要以單獨$$
一行開始,并以$$
一行結(jié)束哩簿,中間是符合Mathjax要求的數(shù)學公式:
顯示效果:
Diagram
Haroopad支持mermaid擴展宵蕉。Mermaid是一套繪圖的符號語言擴展,支持繪制各種關(guān)系圖节榜,序列圖羡玛。
Haroopad中mermaid繪圖以~~~mermaid
單獨一行開始,以~~~
單獨一行結(jié)束宗苍。
顯示效果如下:
其中graph TD
指定繪圖方向是從上而下稼稿,改為graph LR
則是從左至右。
其它例子:
Mermaid擴展還支持其它繪圖方式讳窟,以及調(diào)整繪圖樣式让歼,具體見mermail介紹https://github.com/knsv/mermaid/wiki
Presentation mode
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
Other features
Haroopad支持對markdown語法的快捷鍵和自動補全碌上。需要的話可以在偏好設(shè)置里面進行設(shè)置倚评。
Haroopad支持自動插入目錄。具體在需要插入目錄的地方插入空行和
[toc]
就搞定一切了馏予。Haroopad支持豐富的媒體插入贡蓖。例如音頻和視頻匣屡。
-
Haroopad支持自定義編輯區(qū)和預(yù)覽發(fā)布的樣式,具體在
文件 -> 偏好設(shè)置 -> 編輯器 ->自定義主題 -> 編輯
文件 -> 偏好設(shè)置 -> 預(yù)覽 ->自定義主題 -> 編輯在彈出的目錄里面有css文件,修改該css文件用來改變樣式绊诲。每次修改css后需要重啟haroopad。
Extra
將md文件發(fā)布成pdf后痢缎,會發(fā)現(xiàn)Code Block背景框的風格變化了币呵。該問題的解決需要配置haroopad的預(yù)覽樣式css文件,設(shè)置嚴格按照顏色樣式打印就好了突那。如下:
Summary
由于其簡單易用挫酿,Markdown在社區(qū)已經(jīng)越來越流行。甚至有些項目將自動化測試用例都用markdown語法來寫愕难,可以直接發(fā)布給客戶當作說明文檔早龟,執(zhí)行的時候靠一段解釋代碼將其翻譯成目標語言執(zhí)行惫霸,真的做到測試即文檔。而Haroopad是一款非常強大的markdown編輯器葱弟,它內(nèi)置的很多mardown擴展都是為了方便程序員壹店,避免了大家到處尋找插件自行配制的繁瑣。到目前為止haroopad是我找到的最好用的markdown編輯器芝加,這篇文檔就是用haroopad撰寫硅卢。最后在支持如此多的特性后,haroopad依然非常輕量藏杖! 希望Haroopad同樣適合你将塑!