文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用pandoc将Markdown转换为格式化文档

2024-12-25 01:56

关注

 生活在普通文本世界么?以下是无需使用文字处理器而创建别人要的格式化文档的方法。

如果你生活在普通文本世界里,总会有人要求你提供格式化文档。我就经常遇到这个问题,特别是在 Day JobTM。虽然我已经给与我合作的开发团队之一介绍了用于撰写和审阅发行说明的 Docs Like Code 工作流程,但是还有少数人对 GitHub 和使用 Markdown 没有兴趣,他们更喜欢为特定的专有应用格式化的文档。

好消息是,你不会被卡在将未格式化的文本复制粘贴到文字处理器的问题当中。使用 pandoc,你可以快速地给人们他们想要的东西。让我们看看如何使用 pandoc 将文档从 Markdown 转换为 Linux 中的文字处理器格式。

请注意,pandoc 也可用于从两种 BSD(NetBSDFreeBSD)到 Chrome OS、MacOS 和 Windows 等的各种操作系统。

基本转换

首先,在你的计算机上安装 pandoc。然后,打开控制台终端窗口,并导航到包含要转换的文件的目录。

输入此命令以创建 ODT 文件(可以使用 LibreOffice WriterAbiWord 等字处理器打开):

  1. pandoc -t odt filename.md -o filename.odt

记得用实际文件名称替换 filename。如果你需要为其他文字处理器(你知道我的意思)创建一个文件,替换命令行的 odtdocx。以下是本文转换为 ODT 文件时的内容:

Basic conversion results with pandoc.

这些转换结果虽然可用,但有点乏味。让我们看看如何为转换后的文档添加更多样式。

带样式转换

pandoc 有一个漂亮的功能,使你可以在将带标记的纯文本文件转换为字处理器格式时指定样式模板。在此文件中,你可以编辑文档中的少量样式,包括控制段落、文章和副、段落、说明、基本的表格和超链接的样式。

让我们来看看能做什么。

创建模板

要设置文档样式,你不能只是使用任何一个模板就行。你需要生成 pandoc 称之为引用模板的文件,这是将文本文件转换为文字处理器文档时使用的模板。要创建此文件,请在终端窗口中键入以下内容:

  1. pandoc -o custom-reference.odt --print-default-data-file reference.odt

此命令创建一个名为 custom-reference.odt 的文件。如果你正在使用其他文字处理程序,请将命令行中的 “odt” 更改为 “docx”。

在 LibreOffice Writer 中打开模板文件,然后按 F11 打开 LibreOffice Writer 的 “样式” 窗格。虽然 pandoc 手册建议不要对该文件进行其他更改,但我会在必要时更改页面大小并添加页眉和页脚。

使用模板

那么,你要如何使用刚刚创建的模板?有两种方法可以做到这一点。

最简单的方法是将模板放在家目录的 .pandoc 文件夹中,如果该文件夹不存在,则必须先创建该文件夹。当转换文档时,pandoc 会使用此模板文件。如果你需要多个模板,请参阅下一节了解如何从多个模板中进行选择。

使用模板的另一种方法是在命令行键入以下转换选项:

  1. pandoc -t odt file-name.md --reference-doc=path-to-your-file/reference.odt -o file-name.odt

如果你想知道使用自定义模板转换后的文件是什么样的,这是一个示例:

A document converted using a pandoc style template.

选择模板

很多人只需要一个 pandoc 模板,但是,有些人需要不止一个。

例如,在我的日常工作中,我使用了几个模板:一个带有 DRAFT 水印,一个带有表示内部使用的水印,另一个用于文档的最终版本。每种类型的文档都需要不同的模板。

如果你有类似的需求,可以像使用单个模板一样创建文件 custom-reference.odt,将生成的文件重命名为例如 custom-reference-draft.odt 这样的名字,然后在 LibreOffice Writer 中打开它并修改样式。对你需要的每个模板重复此过程。

接下来,将文件复制到家目录中。如果你愿意,你甚至可以将它们放在 .pandoc 文件夹中。

要在转换时选择特定模板,你需要在终端中运行此命令:

  1. pandoc -t odt file-name.md --reference-doc=path-to-your-file/custom-template.odt -o file-name.odt

改变 custom-template.odt 为你的模板文件名。

结语

为了不用记住我不经常使用的一组选项,我拼凑了一些简单的、非常蹩脚的单行脚本,这些脚本封装了每个模板的选项。例如,我运行脚本 todraft.sh 以使用带有 DRAFT 水印的模板创建文字处理器文档。你可能也想要这样做。

以下是使用包含 DRAFT 水印的模板的脚本示例:

  1. pandoc -t odt $1.md -o $1.odt --reference-doc=~/Documents/pandoc-templates/custom-reference-draft.odt

使用 pandoc 是一种不必放弃命令行生活而以人们要求的格式提供文档的好方法。此工具也不仅适用于 Markdown。我在本文中讨论的内容还可以让你在各种标记语言之间创建和转换文档。有关更多详细信息,请参阅前面链接的 pandoc 官网

来源:Linux中国内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯