当前位置: 首页 > 科技观察

使用pandoc将Markdown转成格式化文档

时间:2023-03-23 11:13:28 科技观察

生活在纯文本的世界里?以下是如何在不使用文字处理器的情况下创建其他人想要的格式化文档。如果您生活在纯文本世界中,总会有人向您索要格式化文档。我经常遇到这个问题,尤其是在DayJobTM上。虽然我已经向与我合作的一个开发团队介绍了用于编写和审查发行说明的DocsLikeCode工作流程,但仍有少数人对GitHub和使用Markdown不感兴趣,他们更喜欢编写和审查发行说明特定的专有应用程序。格式化文档。好消息是,您不会将未格式化的文本复制粘贴到文字处理器中。使用pandoc,您可以快速为人们提供他们想要的东西。让我们看看如何在Linux中使用pandoc将文档从Markdown格式转换为文字处理器格式。请注意,pandoc也可用于从两个BSD(NetBSD和FreeBSD)到ChromeOS、MacOS和Windows的各种操作系统。基本转换首先,在您的计算机上安装pandoc。然后,打开控制台终端窗口并导航到包含要转换的文件的目录。输入此命令以创建一个ODT文件(可以使用LibreOfficeWriter或AbiWord等文字处理器打开):pandoc-todtfilename.md-ofilename.odt请记住将文件名替换为实际文件名。如果您需要为另一个文字处理器创建一个文件(您知道我的意思),请将命令行中的odt替换为docx。以下是本文在转换为ODT文件时所做的工作:使用pandoc的基本转换结果。这些转换结果虽然可用,但有点乏味。让我们看看如何向转换后的文档添加更多样式。使用样式转换pandoc有一个漂亮的功能,允许您在将标记的纯文本文件转换为文字处理器格式时指定样式模板。在此文件中,您可以编辑文档中的少量样式,包括控制段落、文章标题和副标题、段落标题、说明、基本表格和超链接的样式。让我们看看可以做什么。创建模板要设置文档样式,您不能只使用任何模板。您需要生成pandoc所称的参考模板,这是将文本文件转换为文字处理器文档时使用的模板。要创建此文件,请在终端窗口中键入以下内容:pandoc-ocustom-reference.odt--print-default-data-filereference.odt此命令会创建一个名为custom-reference.odt的文件。如果您使用的是其他文字处理程序,请在命令行中将“odt”更改为“docx”。在LibreOfficeWriter中打开模板文件,然后按F11打开LibreOfficeWriter的样式面板。虽然pandoc手册不建议对此文件进行其他更改,但我会更改页面大小并在必要时添加页眉和页脚。使用模板那么,如何使用刚刚创建的模板呢?有两种方法可以做到这一点。最简单的方法是将模板放在主目录中的.pandoc文件夹中,如果不存在,则必须先创建该文件夹。pandoc在转换文档时使用这个模板文件。如果您需要多个模板,请参阅下一节了解如何从多个模板中进行选择。另一种使用模板的方法是在命令行中键入以下转换选项:pandoc-todtfile-name.md--reference-doc=path-to-your-file/reference.odt-ofile-name.odt如果您想知道使用自定义模板转换后的文档是什么样子,这里有一个示例:Adocumentconvertedusingapandocstyletemplate。选择模板许多人只需要一个pandoc模板,然而,有些人需要多个。例如,在我的日常工作中,我使用了几个模板:一个带有DRAFT水印,一个带有表示内部使用的水印,另一个用于文档的最终版本。每种类型的文档都需要不同的模板。如果您有类似的需求,您可以像使用单个模板一样创建文件custom-reference.odt,将生成的文件重命名为custom-reference-draft.odt之类的名称,然后在LibreOfficeWriter中打开它并修改样式.对您需要的每个模板重复此过程。接下来,将文件复制到您的主目录中。如果需要,您甚至可以将它们放在.pandoc文件夹中。要在转换时选择特定模板,您需要在终端中运行此命令:pandoc-todtfile-name.md--reference-doc=path-to-your-file/custom-template.odt-ofile-name.odt将custom-template.odt更改为您的模板文件名。结语为了不必记住一组我不经常使用的选项,我拼凑了一些简单的、非常蹩脚的单行代码,封装了每个模板的选项。例如,我运行脚本todraft.sh以使用带有DRAFT水印的模板创建文字处理器文档。您可能也想这样做。这是一个使用包含DRAFT水印的模板的示例脚本:pandoc-todt$1.md-o$1.odt--reference-doc=~/Documents/pandoc-templates/custom-reference-draft.odt使用pandoc是一种以人们要求的格式提供文档而不必放弃命令行生活的好方法。这个工具也不仅仅适用于Markdown。我在本文中讨论的内容还允许您在各种标记语言之间创建和转换文档。有关更多详细信息,请参阅前面链接的官方pandoc网站。