带模板的pandoc包装器

panop的Python项目详细描述


工作流自动化包装器 Pandoc

你有exciting.md想要一个带有lualatex的pdf,参考书目 支持?

panopy pdf exciting.md

想要一个自包含的HTML和引导程序吗?

panopy html exciting.md

安装

pip install panopy

目的

pandoc需要大量的命令行参数来生成 输出格式。典型的解决方案是使用makefile或yaml 指定pandoc应该做什么的配置,以及 前/后处理器,以清除pandoc的缺点。这可以得到 凌乱。

panopy的理念是将内容与工作流分离。内容 应该尽可能努力不确定其输出格式。 同样,文件系统应该将内容与所需的工具隔离开来 去处理它。而不是生成文件和文档嵌入输出 规范,panopy使用全局yaml模板指定 任何给定输入文件周围的工作流,以及 全部处理。所以你可以写一个标记文件并把它推到 无论你需要什么格式。

目前,panopy是一个简单的包装器,允许 一系列预处理命令、一个pandoc命令和一系列 后处理命令。我不能保证它的处理能力 一个输出中有多个输入文件。我也怀疑潘多克 足够快成为多个文件的在线处理器。

用法

panopy在中查找默认的yaml模板文件 ~/.pandoc/panopy.templates。目前没有办法改变这个 地点。示例文件可能如下所示:

__default__:s:S:r:markdown+yaml_metadata_blocklatex:o:%.texbibliography:~/Documents/library.bibfilter:-pandoc-citeprocpdf:__inherits__:latexo:%.pdflatex-engine:pdflatexfancypdf:__inherits__:pdf__pre__:-gpp -o %.gpp.md %.md__in__:%.gpp.md

__default__模板设置选项-s(独立),-S (smart)和所有文件的-r markdown+yaml_metadata_block。这个 latextemplate将默认输出格式更改为tex并添加 pandoc的书目处理过滤器。pdf模板继承 来自latex的所有设置,但将输出更改为pdf并设置 乳胶发动机。fancypdf模板更新pdf以进行预处理 输入文件 gpp和 更改输入文件以传递给pandoc。

现在只需在终端中找到输入文件并键入:

panopy fancypdf input.md

如果使用vim:

:!panopy fancypdf %

```

全景关键词

特殊模板:

  • __default__:提供所有其他模板 继承自

模板中的关键字:

  • %:自动替换为基本文件名:panopy pdf infile.md为 模板选项-o: %.pdf变为-o infile.pdf。逃离 \%
  • __inherits__:从命名模板继承
  • __in__:指定输入文件格式
  • __pre__:指定在pandoc之前运行的命令
  • __post__:指定在pandoc之后运行的命令
  • __clear__:指定要清除的继承选项

类似

  • panzer允许您指定 文件级的样式(yaml元数据),而panopy指定 命令行中的工作流。我赚了panopy,因为我想 保持我的山药清洁和某种工具不可知论。
  • makefiles:参见例如Kieran Healy’s solution

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
选项卡内的java 安卓工具栏   java接口VS API VS公共类   无法解析java。lang.ClassNotFoundException:在安卓 studio中找不到类“com.example.安卓.camera2basic.AutoFitTextureView”?   java等待线程正常完成   java在JTable中的prepareRenderer方法中编辑单元格数据是否可行?   java SessionNotCreatedException selenium webdriver   java Android Studio Gradle CreateProcess错误=2   java找不到适用于异常(int)的构造函数   javascript如何在不使用正则表达式的情况下检查输入是否为表情符号?   从JAVA运行ant时,JAVA_HOME变量不正确   long的java min值引发异常   java如何在这段代码中实现侦听器?   带有透明文本的java Android按钮   图像Java扫描仪问题(JFrame)   java模拟输入蒸汽似乎在Junit测试的第一次输入中就被吃掉了   压缩Java Deflater,现在和将来的结果相同(确定性)   java JTable getModel()。setValueAt从数组中删除第一个元素   java我有不同于编译器和计算器的价值   使用C#客户端调用基本身份验证java webservice   java相同类型的多个@Embedded字段在持久化后始终为空