关于 bash:如何将 Markdown 文档批量转换为 HTML?

关于 bash:如何将 Markdown 文档批量转换为 HTML?

How can I convert Markdown documents to HTML en masse?

我正在用 Markdown 编写一些文档,并为文档的每个部分创建一个单独的文件。我希望能够一次将所有文件转换为 HTML,但我找不到其他尝试过同样事情的人。我在 Mac 上,所以我认为一个简单的 bash 脚本应该能够处理它,但我从来没有在 bash 中做过任何事情,也没有任何运气。似乎写一些东西应该很简单,所以我可以运行:

1
markdown-batch ./*.markdown

有什么想法吗?


使用 pandoc — 它是一个命令行工具,可让您从一种格式转换为另一种格式。此工具支持 Markdown 转 HTML 并返回。

例如要从 Markdown 生成 HTML,请运行:

1
pandoc -f markdown index.md  index.html

这就是你在 Bash 中的做法。

1
for i in ./*.markdown; do perl markdown.pl --html4tags $i  $i.html; done;

当然,你需要 Markdown 脚本。


您可以使用 VS Code 轻松做到这一点。 (嗯,这不是一个命令行工具,但证明自己非常有用。)

  • 安装 Yu Zhang 的 Markdown All In One 扩展
  • 打开 VS Code 命令面板 (Ctrl-Shift-P),然后选择 Markdown All In One: Print documents to HTML (select a source folder)
  • 提示:如果您想使您的导出可移植,您希望通过在 settings.json (Ctrl-Shift-P - Preferences: Open Settings (JSON)) 中使用以下设置将绝对图像路径更改为相对路径
1
   "markdown.extension.print.absoluteImgPath": false

这样,转换后,只需将所有非markdown文件(图像)复制到目标文件夹,HTML页面即可移植。


// 在 mac 中使用 Bash

1
for i in *.md; do asciidoc  $i;  done;

我在 .bat 文件中使用它:

1
2
@echo off
for %i in (*.txt) python markdown.py"%i"

推荐阅读