Pandoc工具使用

介绍

如果你需要在不同的文件格式之间相互转换,多半听说或使用过文档转换的瑞士军刀——Pandoc

Pandoc 是一个基于 GPL 协议开源的免费 命令行软件,由加州大学伯克利分校哲学系教授 John MacFarlane 使用 Haskell 语言开发,目前另一位核心开发者是来自德国的 Albert Krewinkel。截止 2022 年 12 月 10 日,Pandoc 的 GitHub 仓库拥有超过 27,000 个 Star,3,000 次 Fork。

安装

[pandoc安装使用](Releases · jgm/pandoc · GitHub)

使用

  • 将html格式文件转储markdown格式文件
1
pandoc -s input.html -o output.md

Pandoc 还可以读取网页内容,并将其转换为其他格式

  • 将网址数据转储为markdown格式文件
1
pandoc -f html https://cyborg2077.github.io/2022/10/22/RedisPractice -t commonmark-raw_html -o output.md
  • 转储网页内容并将图片下载到本地
1
pandoc --wrap=preserve -f html https://sspai.com/post/77206 --extract-media=tools/assets -t commonmark-raw_html -o output.md

这段命令使用Pandoc工具将指定网页的数据转换为Markdown格式的文件(output.md):

  • --wrap 是一个 Pandoc 命令行选项,用于控制输出文本的换行方式:
    • auto(默认):Pandoc 会尝试将文本换行,以适应 --columns 选项指定的列宽(默认为 72)。
    • none:Pandoc 不会对文本进行换行。
    • preserve:Pandoc 会尝试保留源文档中的换行方式(即源文档中的非语义换行符会被保留)。
  • -f html:指定输入文件格式为HTML。
  • https://sspai.com/post/77206:指定要转换的网页的URL。
  • --extract-media=tools/assets:将网页中的媒体文件提取到指定的目录中(此处为tools/assets)。
  • -t commonmark-raw_html:指定输出文件格式为CommonMark格式的原始HTML。
  • -o output.md:将转换后的数据输出到output.md文件中。

通过运行这个命令,你可以将网页数据转换为Markdown格式的文件,并将其中的媒体文件提取到指定的目录中。

通用命令

  • pandoc -h 帮助命令。
  • pandoc --list-output-formats 命令来查看。这个命令会列出所有 Pandoc 支持的输出格式。