最好用的離線markdown編輯器Haroopad介紹

来源:http://www.cnblogs.com/magicbowen/archive/2016/05/26/5529522.html
-Advertisement-
Play Games

最好用的離線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同樣適合你!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 需求: 發送簡訊到用戶輸入手機, 要求可以自定義信息內容 問題: 沒有電信貓, 使用免費api介面無法自定義簡訊內容 解決方案: 通過4G網卡, 接在伺服器上, 通過AT指令操作網卡, 發送簡訊 查閱發現, AT質量發送需要對信息進行多重編碼, 而且發送超時, 但實際發送成功, 問題還未完全解決 代 ...
  • 這是一 個測試博客,用來測試客戶端發博客是否正常 public class UserFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,... ...
  • 最近找實習, 在做Test Assignment時遇到了這麼道題, 就順便記錄下來:說, 有1到100共100個數, 擺成一個圈. 從1開始, 每隔1, 2, 3, 4 ... 個數拿走一個數, 一直迴圈, 最後剩下幾? 具體的講就是一開始(隔0個數)把 1 拿走, 隔1個數(2)把3拿走, 再隔2 ...
  • http://www.cnblogs.com/huangcong/archi s.strip() .lstrip() .rstrip(',') 去空格及特殊符號 複製字元串 Python 1 #strcpy(sStr1,sStr2) 2 sStr1 = 'strcpy' 3 sStr2 = sStr ...
  • 1、首先我們必須弄清楚什麼是冒泡排序,不理解冒泡排序的原理,我們就無法寫出代碼。 冒泡排序(BubbleSort)的基本概念是:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續, ...
  • 在使用Qt開發時,肯定是想讓開發的項目界面統一風格;不希望每個界面都要程式員用代碼去修飾美化以及進行事件處理等等,這樣非常繁瑣,容易出錯而且沒有格調;所以我就開發一個動態鏈接庫,封裝統一的風格界面、事件處理等等;自己開發的這個庫叫做CQU;CQU庫最終提供給用戶的文件只有如下三個文件: CQU.dl ...
  • 1.Appfuse是個什麼鬼? AppFuse是一個集成了當前最流行的Web應用框架的一個更高層次的Web開發框架。換句話說,AppFuse就是一個完整的各主流框架的整合版本。AppFuse總是能夠緊隨java的主流技術框架。 2.使用AppFuse的環境要求 JDK1.7+ MySQL5.5+ m ...
  • 第一次系統的學習數據結構是在半年前,看小甲魚的數據結構與演算法視頻,自學的話有許多不懂得地方,什麼AVL樹,紅黑樹,圖的最短路徑,最小生成樹...但總歸對數據結構與演算法有一個大體的印象,到現在隨著不斷寫代碼,做OJ題,愈發認識到數據結構與演算法的重要性,打算再看一遍,現在看著:大話數據結構(程傑著),數 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...