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