簡介
Haroopad:一款讓你欲罷不能的Markdown編輯器
身為大程序員,我本來是不需要 Markdown 編輯器的,但是 Haroopad 讓我簡直欲罷不能,不能再愛更多。跨平台,代碼高亮,Vim 鍵綁定,多列模式,行號,折疊, Github Flavored Markdown 等功能~
其實它最吸引我的是它的所見即所得的繪圖功能。
安裝方法
下面是在Ubuntu 14.04 64bit上的安裝實錄.
從官網下載x86的deb包,雙擊安裝即可
安裝完成后,從Unity中輸入Haroopad即可打開程序界面
使用方法
下面給出了一個markdown源碼示例的使用說明,參見參考文獻[3]
簡介 Haroopad:一款讓你欲罷不能的Markdown編輯器 身為大程序員,我本來是不需要 Markdown 編輯器的,但是 Haroopad 讓我簡直欲罷不能,不能再愛更多。跨平台,代碼高亮,Vim 鍵綁定,多列模式,行號,折疊, Github Flavored Markdown 等功能~ 其實它最吸引我的是它的所見即所得的繪圖功能。 安裝方法 下面是在Ubuntu 14.04 64bit上的安裝實錄. 從官網下載x86的deb包,雙擊安裝即可 安裝完成后,從Unity中輸入Haroopad即可打開程序界面 使用方法 下面給出了一個markdown源碼示例的使用說明,參見參考文獻[3] [html] view plain copy 在CODE上查看代碼片派生到我的代碼片 #Markdown和Haroopad介紹文檔 [TOC "float:right"] ##什么是Markdown Markdown 是一種輕量級標記語言,創始人為約翰·格魯伯(John Gruber)。簡而言之的說,它可以通過類似HTML的標記語法,使普通文本內容具有一定的格式。 ###Markdown有哪些優點 * 純文本實現,使用任何文本編輯器均可編輯,全平台通用。 * 排版清晰簡潔,可讀性較高,使用擴展可以獲得更多語法格式支持,漂亮美觀。 * 語法簡潔,上手較快,任何人均可在短時間內學會。即使不會語法的讀者,也可以讀懂其原始文件的內容。 * 豐富的工具鏈支持: - 編輯器:各種支持所見即所得的編輯器,如本文介紹的Haroopad。 - 平台支持:各大博客系統、Wiki系統均有相關插件,代碼托管平台Github也支持使用Markdown來編寫Readme文件。 - 和其他格式進行轉化:可以方便的轉化為HTML文件等。 ###Markdown的基本語法 Markdown的基本語法非常簡單,本文即用Markdown完成。 ####標題 可以在標題內容前輸入特定數量的井號('#')來實現對應級別的HTML樣式的標題(HTML提供六級標題)。例如: # 一級標題 #### 四級標題 一級和二級標題還有一種寫法: 一級標題 =================== 二級標題 -------------------- ####特殊格式字體 在需要改變的文字片段前后 使用一對符號可以改變文字為特殊格式: * 粗體 使用`**文字**`或者`__文字__` 效果:**這里請大家尤其注意!** * 斜體 使用`*文字*`或者`_文字_` 效果:會不調用父類的 *析構函數* 呢? * 高亮 使用`==文字==` 效果:==這里是高亮的重點==,但這里不是。 * 下划線 使用`++文字++` 效果:如果此時的++判斷結果為真++…… * 刪除線 使用`~~文字~~` 效果:~~1.2的版本已經修復這個Bug?~~ * 上角標 使用`^文字^` 效果:單位圓的方程式是x^2^+y^2^=1。 * 下角標 使用`~文字~` 效果:最常見的氧化反應是C+O~2~=CO~2~ ####外部內容嵌入 * 圖像 使用``來貼入圖片 效果:  * 鏈接 使用`[linkText](url)`來插入鏈接 效果: [博客首頁](http://www.walkcd.com) * 電子郵件 使用`<郵件地址>`來插入郵件地址 效果:<cdsama@gmail.com> ####列表 #####無序列表 使用如下格式(*+-可以任意替換): ``` * 第一章 * 第二章 + 第一條 + 第二條 - 第一則 ``` 效果: * 第一章 * 第二章 * 第一條 * 第二條 * 第一則 #####有序列表 使用如下格式(即為效果): 1. 內容 2. 內容 3. 內容 ####表格 簡單表格如下,分號的位置表示對齊方式: ``` |這里是列名一|列二|三| |:-|:-:|-:| |這列是左對齊|這列是居中對齊|這列是右對齊| |左對齊|居中對齊|右對齊| ``` 效果: |這里是列名一|列二|三| |:-|:-:|-:| |這列是左對齊|這列是居中對齊|這列是右對齊| |左對齊|居中對齊|右對齊| |1|2|3| ####分割線 以下三個連續符號構成一個分割線,分別是三種不同的分割線: `***` `---` `___` 效果: *** --- ___ ####換行、空格和標記符號 在瀏覽器中一般情況下,Markdown會刪除所有換行和空格,打亂原有的縮進和排版。通過回車和至少兩個空格可以強制換行。 要打出連續空格可以用輸入法輸入全角中文空格或者: 半字大的空白` `或` ` 全字大的空白` `或` ` 不斷行的空白格` `或` ` 若要輸出符號原本的意思可以加斜線\來輸出 例如: \* 不是列表 ####引用 使用右尖括號即可插入一段引用,例如: ``` > 這里是一段引用 >> 書是人類進步的階梯。 --高爾基 > > 退出二級引用 ``` 效果: > 這里是一段引用 >> 書是人類進步的階梯。 --高爾基 > > 退出二級引用 ####代碼 使用一對反引號即可包含一個行內代碼使用一對三個反引號可以包括多行代碼,另外多行Tab也可以用於代碼段,例如: `code` ``` code blocks ``` 效果:`print("hello");` ``` #include <iostream> int main() { std::cout<<"hello world!""<<std::endl; return 0; } ``` ##Haroopad介紹 Haroopad是一個韓國人寫的Markdown編輯器,項目主頁是: [Haroopad - The Next Document processor based on Markdown](http://pad.haroopress.com/) ###Haroopad的優點和缺點 優點: * 跨Windows、Mac、Linux三大平台。 * 支持實時渲染,可以在編寫的時候實時查看效果。 * 支持復制、導出到HTML。 * 支持多種編程語言語法高亮。 * 支持繪制各種流程時序圖等非標准Markdown格式。 缺點: * 暫時不支持導出到PDF等格式 ###Haroopad支持的額外語法 ####目錄 單行插入[toc]或[TOC]即可生成目錄 ####腳注 使用`[^id]` `[^id]:text`即可生成一對腳注 [^demo] ####代碼語法高亮 在```后加入編程語言名稱 例如````python` ```python @requires_authorization def somefunc(param1='', param2=0): '''A docstring''' if param1 > param2: # interesting print 'Greater' return (param2 - param1 + 1) or None class SomeClass: pass >>> message = '''interpreter ... prompt''' ``` ####計划任務列表 使用`- [ ] task name` `- [x] finished task`來創建計划任務。 效果: - [x] 任務1 - [x] 任務2 ####圖像繪制 圖像繪制使用了mermaid引擎([訪問該項目地址](https://github.com/knsv/mermaid))。 目前支持流程圖和時序圖,可以在該項目Wiki上查看更多用法,以下列舉兩個最基本的例子。 流程圖: ```mermaid graph TD subgraph 子圖 a1[矩形] a2>旗幟形] a3(圓角方形) end subgraph 第二個子圖 b1((圓形)) b2{斜方形} end a1-->|實線箭頭|a2 a2-->a1 a2-.->|虛線箭頭|a3 a3-.->a2 a3==>|加粗箭頭|a1 a1==>a3 b1---b2 b2---|實線無箭頭|b1 a1-->b1 ``` 時序圖: ```mermaid sequenceDiagram Alice->>Bob: Hello Bob, how are you? alt is sick Bob->>Alice: Not so good :( else is well Bob->>Alice: Feeling fresh like a daisy end opt Extra response Bob->>Alice: Thanks for asking end ``` [^demo]:這里是一個示例腳注。 在haroopad中的效果如下,你可以借鑒該說明來編寫自己的markdown文件或繪制流程圖 流程圖和時序圖的繪制 Hapoopad目前通過mermaid可以支持流程圖和時序圖的繪制,為了更好地繪制我們需要的圖形,我們需要深入了解mermaid的語法。 下面是一些語法文檔,需要逐個了解 http://knsv.github.io/mermaid/#mermaid mermaid的源碼參見 https://github.com/knsv/mermaid 參考文獻 [1].https://github.com/songshaodong/mermaid 源碼 [2].http://pad.haroopress.com/user.html 官網 [3].http://blog.walkcd.com/applies-to-documentation-of-markdown-and-haroopad-presentation/
在haroopad中的效果如下,你可以借鑒該說明來編寫自己的markdown文件或繪制流程圖



參考文獻
[2].http://pad.haroopress.com/user.html 官網
[3].http://blog.walkcd.com/applies-to-documentation-of-markdown-and-haroopad-presentation/