作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
菲利普·爱德华兹的头像

菲利普·爱德华兹

前大学讲师, Phillip在软件开发的各个方面都有丰富的经验, 具有Java方面的专业知识.

专业知识

以前在

Okta
分享

今天,我们将进一步了解专业人士如何获得 P和oc 创建一个健壮且易于实现的发布链. P和oc是一个非常简单但功能强大的工具,允许用户将文档转换为各种格式, 取决于他们的需求.

它可以极大地简化文档和发布, 甚至开辟一些新的自动化可能性. 最重要的是, P和oc依赖于git友好的减价, 这意味着您还可以在没有任何额外麻烦的情况下为文档实现版本控制系统.

说到麻烦, 我们将依靠码头工人镜像来安装P和oc和乳胶. 安装软件可能很耗时, 当开始一个新项目时,从头开始建立一个工作的软件环境几乎没有生产力. 码头工人通过允许用户在几分钟内设置所有内容来帮助缓解这些问题, 不管平台是什么.

另外, 雇主要求你提供自己的电脑硬件是很常见的. 这通常被称为自带设备(BYOD), 让我们不要忘记2019冠状病毒病大流行给我们带来的影响 在家工作越来越普遍. 没有像码头工人这样的解决方案, 它将很难支持运行在不同硬件和操作系统(如Windows)上的应用程序, macOS, 和Linux.

在继续学习P和oc之前,让我们先仔细看看码头工人容器和映像.

救援码头工人

使用码头工人容器可以消除在新机器上安装多个软件应用程序的需要. 预构建的码头工人映像可在 码头工人中心 用于大量的应用程序. 领先的云提供商(如AWS、Azure和Google)都提供容器注册表. 还有许多其他第三方注册中心,包括 GitLab红帽OpenShift.

映像很可能对大多数(如果不是全部)应用程序可用. 这意味着没有必要安装大多数应用程序及其依赖项. 应用程序可以简单地在码头工人容器中运行. 这方便地消除了与团队成员在不同硬件和不同操作系统上运行应用程序相关的问题. 可以使用相同的映像在任何可以运行容器的系统上运行它们 码头工人专家 可以使这个过程非常快速和有效吗.

P和oc用例:文档

可能需要几种不同格式的文档. 同一文档可能需要以不同的格式提供,例如演示文稿使用HTML格式,讲义使用PDF格式. 文件格式之间的转换可能是乏味的,需要大量的时间. 一个好的解决方案是建立一个拥有单一真相来源的出版链. 所有文件应用同一种语言书写. 它应该是一种基于文本的语言,因为它更容易版本化和存储在Git存储库中.

减价 这是创造单一真理来源的好选择吗. 可以将减价文档转换为各种其他格式的软件很容易获得,而且往往是可靠的.

减价可以很容易地转换成一系列不同的格式,用于各种用途

P和oc

P和oc 是一个可以将文档转换成不同格式的软件包吗. 特别是,它可以将减价转换为HTML、PDF和其他广泛使用的格式. 可以使用减价源中的模板和元数据自定义转换过程.

P和oc需要 乳胶 安装以创建PDF文件. 安装P和oc和乳胶非常耗时. 幸运的是,有一个码头工人映像叫做 pandoc /乳胶,这样就不需要安装除码头工人之外的任何东西.

码头工人的命令

需要找到或创建一个包含必要软件的合适的码头工人映像. 建议将映像拉到本地注册表,因为下载可能需要一些时间.

码头工人拉pandoc /乳胶

要在码头工人容器中运行命令,需要一个包装器来运行码头工人容器并在容器中执行命令. 一个好的解决方案是在macOS或UNIX/Linux系统上编写shell函数. 该函数可以放在任何登录脚本中,也可以放在单独的文件中,例如 $ HOME /.功能. 也可以编写具有相同功能的脚本或别名.

函数pandoc {
   Echo pandoc $@
   运行命令——rm - v $ PWD: /工作 - w /工作 pandoc /乳胶 pandoc“$ @”
}

这个函数的作用如下:

  • 它将命令打印到屏幕上.
  • 对象运行码头工人容器 pandoc /乳胶 图像.
  • -it 选项创建一个交互式终端会话,并使命令的输出可见.
  • --rm 选项在命令终止后删除容器.
  • - v $ PWD: /工作 选项将主机上的当前目录挂载到该目录 /工作 在容器里.
  • - w /工作 使 /工作 目录中的工作目录.
  • 最后一个 pandoc“$ @” 运行 pandoc 命令在容器中传递传递给该函数的所有命令行选项.

shell或脚本需要将函数加载到内存中.

. $ HOME /.功能

该函数现在本身就是一个命令,其行为方式与 pandoc 二进制文件在本地安装. 这种方法可以用于码头工人镜像中可用的任何命令.

降低到HTML

要将减价转换为HTML,最好在减价中使用模板和元数据.

降低到HTML

减价的元数据

减价源可以有一个头节,头节可以有任意的元数据. 元数据采用键值对的形式. 这些值可以在HTML模板中替换.

---
title:文件标题
链接:
  上一页:指数
  下一个:page002
...

标题以只包含三个破折号的一行开始 ---. 它以一条只包含三个点的线结束 .... 关键字是后跟冒号及其值的单个单词. 键可以嵌套. 该示例显示了所调用的键的定义 标题、链接.上一页链接.下一个.

这种方法为每个页面使用一个单独的文件. 在本例中,前一页为 指数.md,当前页面为 page001.md,下一页是 page002.md. 在实践中, 将使用更有意义的文件名,以便更容易重新排序和插入页面.

HTML模板

HTML模板就是一个HTML文件. 元数据替换和简单的控制结构可以在美元符号之间添加. 下面是一个简单的HTML模板的例子:


    
        
        
        $title$
        
    
    

$title$

身体美元

该示例显示了 template. 的 身体美元 被转换为HTML的减价文本所取代. 只有当元数据在减价标头中定义时,条件语句才会生成HTML链接.

从减价生成HTML

P和oc只需要被告知输入和输出文件的名称以及任何模板文件. 默认的输入文件格式为 减价. 它可以从指定的输出文件扩展名推断输出文件格式.

生成输出的命令可以是脚本或makefile.

dir =项目
对于${dir}/*中的input_file.md
do
    output_file = HTML / $ {input_file %.md}.html
    如果[[${input_file} -nt ${output_file}]]
    然后
        pandoc——data-dir . ——模板演示.HTML -t HTML \
                ${output_file} ${input_file}
    fi
完成

对于每一个 .md 存档于 项目 目录下,它创建一个对应的 .html 存档于 HTML /项目 如果输出文件比输入文件早,或者不存在,则返回.

从减价生成激光PDF

Beamer是一个用于生成演示文稿的乳胶软件包. 输出是一个PDF幻灯片.

从减价生成激光PDF

同样的减价源文件可以用来生成激光PDF.

pandoc - t投影机 -o PDF/项目.pdf -V主题:Boadilla -V颜色主题:鲸鱼项目/索引.医学博士项目/ page000.md

命令的详细信息如下:

  • - t投影机 选项说使用乳胶和beamer来生成PDF.
  • -o 选项指定输出文件.
  • -V 选项选择激光主题和颜色主题.
  • 该命令以减价文件列表结束,这些文件将按照给定的顺序连接起来.

所有的处理都在码头工人容器中执行.

降价至PDF格式

将减价文档转换为PDF文档也非常简单. PDF总是通过首先将减价转换为乳胶来生成的. 可以将元数据添加到减价标头中以自定义输出,例如设置纸张大小和边距大小.

---
title:文件的标题
papersize: a4
几何:
-利润= 20毫米
...

从减价生成PDF

将减价转换为PDF的命令很简单:

pandoc -s项目/大纲.md -o PDF/项目Outline.pdf

s选项创建一个独立的文档.

结论

不再需要花费许多天来安装软件. 简单地在码头工人容器中运行命令就不需要安装了. 许多应用程序在码头工人中心上都有合适的码头工人镜像. 如果软件需要更新,只需拉出最新的码头工人镜像.

设置一台新计算机只是安装码头工人的问题, 提取必要的图像, 并创建一些脚本.

不再需要以不同的格式创建文档. 减价这样的单一格式可以用于所有文档. 然后,像P和oc这样的工具可以从减价生成大量不同格式的文档.

由于减价是一个文本文件,当签入Git存储库时,可以获得完整的版本历史记录. Git存储库也会自动呈现减价,并允许人们对更改进行注释,而不必在文档文件本身中使用混乱的更改历史.

了解基本知识

  • 码头工人是什么?它的用途是什么?

    码头工人实现了轻量级虚拟化,允许应用程序及其依赖关系在称为容器的隔离环境中运行.

  • 码头工人是如何工作的?

    码头工人从可用cpu的子集创建容器, 内存, 和其他资源,并执行单个应用程序,该应用程序与其依赖项一起存储在称为映像的精简Linux文件系统上.

  • 潘多克是什么?

    P和oc是一个可以转换文档的开源软件, 通常用减价写, 转换成广泛的其他文档格式,包括HTML和PDF.

  • 如何使用P和oc?

    P和oc是一个命令行工具,它将输入文件及其文档类型作为参数, 所需的输出文件及其文档类型, 可选的模板文件定义输出文件格式.

  • 什么是P和oc 减价?

    P和oc 减价是减价的一个稍微修改的版本,减价是一种轻量级的纯文本标记语言,通常用于格式化自述文件和在线消息发布.

聘请Toptal这方面的专家.
现在雇佣
菲利普·爱德华兹的头像
菲利普·爱德华兹

位于 Marseillan、法国

成员自 2018年10月10日

作者简介

前大学讲师, Phillip在软件开发的各个方面都有丰富的经验, 具有Java方面的专业知识.

Toptal作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.

专业知识

以前在

Okta

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

Toptal开发者

加入总冠军® 社区.