如何将 Markdown 文档批量转换为 HTML?

问题描述 投票:0回答:7

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

markdown-batch ./*.markdown

有什么想法吗?

bash markdown
7个回答
92
投票

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

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

pandoc -f markdown index.md > index.html

27
投票

这就是您在 Bash 中的做法。

for i in ./*.markdown; do perl markdown.pl --html4tags $i > ${i%.*}.html; done;

当然,你需要Markdown脚本


3
投票

您可以使用 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)
    )
  • 中使用以下设置将绝对图像路径更改为相对路径
    "markdown.extension.print.absoluteImgPath": false

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


3
投票

如果安装了 Node.js,则可以使用 [MdPugToHtml] 转换器 (https://www.npmjs.com/package/md-pug-to-html)。它将 Markdown 大规模转换为 Html。此外,可以使用 Pug 模板,但您可以在没有模板的情况下使用它们。

只需在终端中执行一个命令即可完成转换:

npx md-pug-to-html /home/content

地点:

  • npx
    是一个 npm 命令,它在第一次启动时安装 md-pug-to-html,然后启动 md-pug-to-html 转换器。
  • /home/content
    是包含 Markdown 文件的目录。你可能还有一个。

转换器具有各种设置,既可以在 CLI 命令行中使用,又具有可在应用程序中使用的 API。

有关于 MdPugToHtml 转换器的详细文档,语言为 EnglishRussian


0
投票

仅供记录,还有

blackfriday-tool
命令行实用程序,它利用 Go markdown 处理器 blackfriday,并且看起来更聪明(例如,了解用 HTML 字符实体替换什么等)。作为一个没有依赖项(甚至没有 Perl)的跨平台单一二进制文件有时也很方便。


-2
投票

我在 .bat 文件中使用它:

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

-2
投票

// 在 mac 中使用 Bash

for i in *.md; do asciidoc  $i;  done; 
© www.soinside.com 2019 - 2024. All rights reserved.