【发布时间】:2008-08-20 20:33:28
【问题描述】:
我正在用 Markdown 编写一些文档,并为文档的每个部分创建一个单独的文件。我希望能够一次将所有文件转换为 HTML,但我找不到其他尝试过同样事情的人。我在 Mac 上,所以我认为一个简单的 bash 脚本应该能够处理它,但我从来没有在 bash 中做过任何事情,也没有任何运气。看起来写东西应该很简单,所以我可以运行:
markdown-batch ./*.markdown
有什么想法吗?
【问题讨论】:
我正在用 Markdown 编写一些文档,并为文档的每个部分创建一个单独的文件。我希望能够一次将所有文件转换为 HTML,但我找不到其他尝试过同样事情的人。我在 Mac 上,所以我认为一个简单的 bash 脚本应该能够处理它,但我从来没有在 bash 中做过任何事情,也没有任何运气。看起来写东西应该很简单,所以我可以运行:
markdown-batch ./*.markdown
有什么想法吗?
【问题讨论】:
使用pandoc — 它是一个命令行工具,可让您从一种格式转换为另一种格式。此工具支持 Markdown 转 HTML 并返回。
例如要从 Markdown 生成 HTML,请运行:
pandoc -f markdown index.md > index.html
【讨论】:
for i in /some/directory/*.md; do pandoc -f markdown -t html -s "$i" > "$i".html; done; 转换某个文件夹内的所有文件。
pandoc -s index.md -o index.html --metadata title="My Title" |参考 - Pandoc: Converting markdown to HTML, syntax highlighter
commonmark)、GitHub-Flavored Markdown (gfm) 等。
这就是你在 Bash 中的做法。
for i in ./*.markdown; do perl markdown.pl --html4tags $i > $i.html; done;
当然,您需要Markdown script。
【讨论】:
index.md 会变成index.md.html。如果你想让它变成index.html,使用这个:for i in ./*.md; do perl Markdown.pl --html4tags $i > output/${i%.*}.html; done;
您可以使用 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页面即可移植。
【讨论】:
我在 .bat 文件中使用它:
@echo off
for %i in (*.txt) python markdown.py "%i"
【讨论】:
bash。
// 在 mac 中使用 Bash
for i in *.md; do asciidoc $i; done;
【讨论】:
$i,否则这不适用于名称中包含特殊字符的文件。