Skip to content

[Python] 使用 markdown 套件將 markdown 轉成 HTML

Markdown 是一種輕量級的標記語言Lightweight Markup Language, LML),由於可以透過簡單的語法製作出漂亮的筆記,故受到了許多的程式設計師的歡迎。

過去我都是使用各種線上工具來撰寫 markdown 語法的。但今天,我有著需要快速將大量使用 markdown 語法的筆記轉成 HTML 格式這樣的需求,於是開始尋找各種可以在終端機中工作的套件。

ㄧ開始我自然是嘗試使用 LinuxMac OS 上的 APT、Homebrew 等套件管理中的 markdown 工具來試著轉換,但很快發現其似乎不太支援表格(Table)—— 當然,有可能只是我沒有找到表格套件的方法。

最後,意外發現 Python 中有著 markdown 套件,並且可以成功繪製表格。


Python 中的 markdown 套件使用方法

首先,使用以下指令安裝。

pip3 install markdown


然後,準備好我們的 markdown 文件,在這裡我做了一個測試用的文件,並取名叫 test.md

# [H1] TITLE  
## [H2]  

- 01
- 02
- 03


|Name|Age|
|:--:|:-:|
|Clay|26|
|Atlas|25|


然後,我們可以使用以下程式來將這份文件轉成 HTML 格式。順帶一提,若是有無法轉換的格式,可以確認一下 Python 中的 markdown 套件提供的 extensionshttps://python-markdown.github.io/extensions/)。

import markdown


def main():
    md_file = open('test.md', 'r').read()
    html = markdown.markdown(md_file, extensions=['tables'])
    print(html)

if __name__ == '__main__':
    main()


Output:

<h1>[H1] TITLE</h1>
<h2>[H2]</h2>
<ul>
<li>01</li>
<li>02</li>
<li>03</li>
</ul>
<table>
<thead>
<tr>
<th align="center">Name</th>
<th align="center">Age</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">Clay</td>
<td align="center">26</td>
</tr>
<tr>
<td align="center">Atlas</td>
<td align="center">25</td>
</tr>
</tbody>
</table>


如果我們將其使用網頁打開,會發現已經轉換成功了:

當然,你可能會想說:表格的線上哪去了? —— 但根據 Github 上的 Issues 863 所提及,這是正常的標準 HTML 輸出,開發人員似乎暫時也沒有更動的意思。所以若是想要加上表格的框線,那就別猶豫地自己修改吧!


References


Read More

Leave a Reply