在 Linux 中把多個(gè) Markdown 文件轉(zhuǎn)換成 HTML 或其他格式
很多時(shí)候我與 Markdown 打交道的方式是,先寫完一個(gè)文件,然后把它轉(zhuǎn)換成 HTML 或其他格式。也有些時(shí)候,需要?jiǎng)?chuàng)建一些新的文件。當(dāng)我要寫多個(gè) Markdown 文件時(shí),通常要把他們?nèi)繉懲曛蟛呸D(zhuǎn)換它們。
我用 pandoc
來(lái)轉(zhuǎn)換文件,它可以一次性地轉(zhuǎn)換所有 Markdown 文件。
Markdown 格式的文件可以轉(zhuǎn)換成 .html 文件,有時(shí)候我需要把它轉(zhuǎn)換成其他格式,如 epub,這個(gè)時(shí)候 pandoc 就派上了用場(chǎng)。我更喜歡用命令行,因此本文我會(huì)首先介紹它,然而你還可以使用 VSCodium 在非命令行下完成轉(zhuǎn)換。后面我也會(huì)介紹它。
使用 pandoc 把多個(gè) Markdown 文件轉(zhuǎn)換成其他格式(命令行方式)
你可以在 Ubuntu 及其他 Debian 系發(fā)行版本終端輸入下面的命令來(lái)快速開始:
sudo apt-get install pandoc
本例中,在名為 md_test
目錄下我有四個(gè) Markdown 文件需要轉(zhuǎn)換。
[email protected]:~/Documents/md_test$ ls -l *.md
-rw-r--r-- 1 bdyer bdyer 3374 Apr 7 2020 file01.md
-rw-r--r-- 1 bdyer bdyer 782 Apr 2 05:23 file02.md
-rw-r--r-- 1 bdyer bdyer 9257 Apr 2 05:21 file03.md
-rw-r--r-- 1 bdyer bdyer 9442 Apr 2 05:21 file04.md
[email protected]:~/Documents/md_test$
現(xiàn)在還沒(méi)有 HTML 文件?,F(xiàn)在我要對(duì)這些文件使用 pandoc
。我會(huì)運(yùn)行一行命令來(lái)實(shí)現(xiàn):
- 調(diào)用
pandoc
- 讀取 .md 文件并導(dǎo)出為 .html
下面是我要運(yùn)行的命令:
for i in *.md ; do echo "$i" && pandoc -s $i -o $i.html ; done
如果你不太理解上面的命令中的 ;
,可以參考 在 Linux 中一次執(zhí)行多個(gè)命令。
我執(zhí)行命令后,運(yùn)行結(jié)果如下:
[email protected]:~/Documents/md_test$ for i in *.md ; do echo "$i" && pandoc -s $i -o $i.html ; done
file01.md
file02.md
file03.md
file04.md
[email protected]:~/Documents/md_test$
讓我再使用一次 ls
命令來(lái)看看是否已經(jīng)生成了 HTML 文件:
[email protected]:~/Documents/md_test$ ls -l *.html
-rw-r--r-- 1 bdyer bdyer 4291 Apr 2 06:08 file01.md.html
-rw-r--r-- 1 bdyer bdyer 1781 Apr 2 06:08 file02.md.html
-rw-r--r-- 1 bdyer bdyer 10272 Apr 2 06:08 file03.md.html
-rw-r--r-- 1 bdyer bdyer 10502 Apr 2 06:08 file04.md.html
[email protected]:~/Documents/md_test$
轉(zhuǎn)換很成功,現(xiàn)在你已經(jīng)有了四個(gè) HTML 文件,它們可以用在 Web 服務(wù)器上。
pandoc 功能相當(dāng)多,你可以通過(guò)指定輸出文件的擴(kuò)展名來(lái)把 Markdown 文件轉(zhuǎn)換成其他支持的格式。不難理解它為什么會(huì)被認(rèn)為是最好的寫作開源工具。
使用 VSCodium 把 Markdown 文件轉(zhuǎn)換成 HTML(GUI 方式)
就像我們前面說(shuō)的那樣,我通常使用命令行,但是對(duì)于批量轉(zhuǎn)換,我不會(huì)使用命令行,你也不必。VSCode 或 VSCodium 可以完成批量操作。你只需要安裝一個(gè) Markdown-All-in-One 擴(kuò)展,就可以在一次運(yùn)行中轉(zhuǎn)換多個(gè) Markdown 文件。
有兩種方式安裝這個(gè)擴(kuò)展:
- VSCodium 的終端
- VSCodium 的插件管理器
通過(guò) VSCodium 的終端安裝該擴(kuò)展:
- 點(diǎn)擊菜單欄的
終端
。會(huì)打開終端面板 - 輸入,或復(fù)制下面的命令并粘貼到終端:
codium --install-extension yzhang.markdown-all-in-one
注意:如果你使用的 VSCode 而不是 VSCodium,那么請(qǐng)把上面命令中的 codium
替換為 code
第二種安裝方式是通過(guò) VSCodium 的插件/擴(kuò)展管理器:
- 點(diǎn)擊 VSCodium 窗口左側(cè)的塊區(qū)域。會(huì)出現(xiàn)一個(gè)擴(kuò)展列表,列表最上面有一個(gè)搜索框。
- 在搜索框中輸入 “Markdown All in One”。在列表最上面會(huì)出現(xiàn)該擴(kuò)展。點(diǎn)擊 “安裝” 按鈕來(lái)安裝它。如果你已經(jīng)安裝過(guò),在安裝按鈕的位置會(huì)出現(xiàn)一個(gè)齒輪圖標(biāo)。
安裝完成后,你可以打開含有需要轉(zhuǎn)換的 Markdown 文件的文件夾。
點(diǎn)擊 VSCodium 窗口左側(cè)的紙張圖標(biāo)。你可以選擇文件夾。打開文件夾后,你需要打開至少一個(gè)文件。你也可以打開多個(gè)文件,但是最少打開一個(gè)。
當(dāng)打開文件后,按下 CTRL+SHIFT+P
喚起命令面板。然后,在出現(xiàn)的搜索框中輸入 Markdown
。當(dāng)你輸入時(shí),會(huì)出現(xiàn)一列 Markdown 相關(guān)的命令。其中有一個(gè)是 Markdown All in One: Print documents to HTML
命令。點(diǎn)擊它:
你需要選擇一個(gè)文件夾來(lái)存放這些文件。它會(huì)自動(dòng)創(chuàng)建一個(gè) out
目錄,轉(zhuǎn)換后的 HTML 文件會(huì)存放在 out
目錄下。從下面的圖中可以看到,Markdown 文檔被轉(zhuǎn)換成了 HTML 文件。在這里,你可以打開、查看、編輯這些 HTML 文件。
在等待轉(zhuǎn)換 Markdown 文件時(shí),你可以更多地集中精力在寫作上。當(dāng)你準(zhǔn)備好時(shí),你就可以把它們轉(zhuǎn)換成 HTML —— 你可以通過(guò)兩種方式轉(zhuǎn)換它們。