Markdown是近年來十分流行的輕量標記語言,它使用了人類易懂且也容易輸入的符號來編寫文件,能夠便利地撰寫出不同等級的文件標題,還能加入圖片、超連結,甚至是表格,完全符合一般文書的需求,軟體界也是大量使用Markdown來撰寫軟體文件。大多數的Markdown編輯軟體都可以將Markdown文件轉換成HTML文件,方便文件的傳播,這也是因為相同的Markdown檔案在不同的Markdown編輯軟體或是瀏覽軟體所呈現出來的排版和樣式可能不太一樣,有些Markdown文件甚至還運用了LaTeX排版系統來撰寫數學函式,但這並不是所有的Markdown軟體都能夠支援的。



Markdown to HTML Converter

「Markdown to HTML Converter」是筆者用Rust程式語言開發的Markdown文件轉HTML文件的開源小工具,可以快速地將Markdown文件轉成獨立、可離線單檔開啟的HTML文件,且支援程式碼高亮、MathJax(可以畫數學函式,相容LaTeX)和CJK字體。產生出來的HTML文件所包含的HTML語法也都已有經過壓縮。

安裝Markdown to HTML Converter

如果系統環境中有安裝「Cargo」的話,可以直接使用以下指令來下載「Markdown to HTML Converter」的原始碼專案,並進行編譯安裝。

cargo install markdown2html-converter

如果是使用Linux作業系統的話,可以直接到以下頁面取得「Markdown to HTML Converter」的執行檔,手動放置到「/usr/local/bin」目錄中即可。網址如下:

https://github.com/magiclen/markdown2html-converter/releases

使用Markdown to HTML Converter

「Markdown to HTML Converter」的用法十分簡單,只要輸入一個Markdown文件的路徑,程式就可以將這個Markdown文件轉成HTML文件,並存放在同一個目錄下。例如以下指令,可以將「README.md」轉成「README.html」,並存放在同一個目錄下。

markdown2html-converter README.md

如果要指定輸出的檔案路徑,可以加上「-o」選項。例如以下指令,可以將「README.md」轉成「MyDoc.html」,並存放在「/tmp」目錄下。

markdown2html-converter README.md -o /tmp/MyDoc.html

預設的HTML標題為主檔名(不包含副檔名的檔名),如果要另外設定的話,可以加上「-t」選項。可以將「README.md」轉成「README.html」,並存放在同一個目錄下,「README.html」的標題為「Document」。

markdown2html-converter README.md -t Document

另外,如果有特殊需求的話,也還可以使用「--css-path」、「--highlight-js-path」、「--highlight-css-path」、「--mathjax-path-path」這些參數來分別指定HTML文件要嵌入的CSS樣式、Highlight.js的JS程式、Highlight.js的CSS樣式和MathJax的JS程式。

MathJax

如果要在Markdown文件中使用MathJax來畫數學函式,如果是要嵌在一個文字段落中(inline),需使用「#{{」和「}}#」將MathJax語法的部份括起來。而如果是要用在單獨的段落中,需使用「#{{{」和「}}}#」將MathJax語法的部份括起來。

範例

這個是一份範例的Markdown文件。其轉出的HTML文件在這裡