Pandoc 一文读懂

1.1Pandoc 简介

Pandoc是使用Haskell语言编写的一款跨平台、自由开源及命令行界面的标记语言转换工具,可实现不同标记语言间的格式转换,堪称该领域中的“瑞士军刀”。

1.1.1 Pandoc 支持转换格式

from 格式类型:

to 格式类型

1.1.2 Pandoc 功能拓展

Pandoc 可以基于LaTeX、Groff ms或HTML生成PDF。

Pandoc 针对Markdown 增强语法包含:包括表格、定义列表、元数据块、脚注、引文、数学等语法。

Pandoc  包含模块设计器,它由一组读取器和一组写入器构成。读取器主要用于解析指定文本并产生文档对象。写入器主要用于将文档对象转换为模板对象。用户基于Lua 实现自定义读取器和写入器的filter来修改AST。

1.2 Pandoc 安装

Window 10 安装Pandoc

1. 安装软件
1)首先打开官网地址下载好的安装包: pandoc-3.1.9-windows-x86_64.msi

Pandoc Github 下载 地址:https://github.com/jgm/pandoc/tags

 

我这里选择了 Pandoc  最新 版本:Windows_x86_64 位版本

2)不用更改设置,傻瓜式操作,下一步下一步完成

3)软件安装成功

2. 测试是否安装成功
1)打开CMD命令提示符

2)输入pandoc --version命令

3)会显示出pandoc的版本信息,则说明安装成功了

Linux 安装Pandoc

# 通过apt-get 下载pandoc
sudo apt-get install pandoc
Do you want to continue? [Y/n] Y
******
# 查看pandoc 版本信息验证是否安装成功
pandoc --version
******

1.3 Pandoc 使用指南

Pandoc 使用

1)如果没有指定输入文件,则从标准输入中实现读取。默认情况下输出为Output,输出至指定文件请使用参数:-o

Windows 演示:在D:\test 文件夹下新增input.text, 输入文本内容如下:"Hello Pandoc".

在CMD 窗口执行如下命令:D:\test>pandoc -o output.html input.txt

效果截图:

2)默认情况下,Pandoc 仅仅是生成HTML片段,希望生成 一个标准HTML页面,请使用参数:-s/-standalone.

在CMD 窗口执行如下命令:D:\test>pandoc -s -o output.html input.txt

CMD 窗口指令:

D:\test>pandoc -s -o output.html input.txt
[WARNING] This document format requires a nonempty <title> element.
  Defaulting to 'input' as the title.
  To specify a title, use 'title' in metadata or --metadata title="...".

 警告:标准文档要求title 标签对象非空,指定title 可以通过参数:--metadata title ="***" 实现添加。

CMD 窗口指令优化:

D:\test>pandoc -s -o output.html input.txt --metadata title="Html 标准格式"

效果截图:

 

3) 如果输入文件有多个,Pandoc 会自动将多个文件进行合并。请使用参数:--file-scope

Windows 演示:在D:\test 文件夹下新增input1.text, 输入文本内容如下:"Pandoc 多文件合并".

在CMD 窗口执行如下命令:D:\test>pandoc --file-scope -s -o output.html input.txt input1.txt --metadata title="HTML 标准格式"

效果截图:

4)Pandoc  指定输入格式,请使用参数:-f/--from, Pandoc 指定输出格式,请使用参数:-t/--to。实例:将hello.txt 文本转换为markdown,需要结合使用latex 工具。Pandoc 指令如下:

pandoc -f markdown -t latex hello.txt

 实例:将基于Makedown 编写的HTML文件生成hello.html。Pandoc 指令如下:

pandoc -f html -t markdown hello.html

5) 查看Pandoc 支持的输入格式和输出格式,请使用如下指令:

D:\test>pandoc --list-input-formats
biblatex
bibtex
bits
commonmark
******
D:\test>pandoc --list-output-formats
asciidoc
asciidoc_legacy
asciidoctor
beamer
biblatex
bibtex
chunkedhtml
commonmark
commonmark_x
******

Pandoc指定格式

Pandoc 默认使用UTF-8字符编码处理输入和输出。如果你本地编码格式不是UTF-8, 你可以通过iconv设置编码格式。

iconv -t utf-8 input.txt | iconv -f utf-8

Pandoc 生成PDF

实例:将test.txt 文本生成PDF 文件,请使用如下指令:

pandoc test.txt -o test.pdf

默认情况下,Pandoc将使用LaTeX创建PDF,这需要安装LaTeX引擎(请参阅下面的--pdf-engine)。或者,Pandoc也可以使用ConTeXt、roff ms或HTML等中间件。指定PDF生成引擎可以通过--pdf-engine参数或者 -t context-t html, or -t ms 。

你可以使用变量控制PDF的样式,主要取决于生成PD

pandoc -f html -t markdown --request-header User-Agent:"Mozilla/5.0" \
  https://www.fsf.org

F选择的中间件,请参考LaTex 变量、ConTeXt变量、wkhtmltopdf变量、ms 变量。使用HTML作为中间控制PDF样式使用CSS变量控制。

Pandoc 基于web 生成

实例:将基于Markdown 的网站:https://www.fsf.org.输出为HTML

pandoc -f html -t markdown https://www.fsf.org

 添加头部请求参数:

pandoc -f html -t markdown --request-header User-Agent:"Mozilla/5.0" \
  https://www.fsf.org

参考资料:

Pandoc 官网开发指南: https://pandoc.org/MANUAL.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pandoc: 如果您需要将文件从一种标记格式转换为另一种标记格式,那么pandoc就是您的瑞士军刀。Pandoc可以转换文件(几种方言)Markdown,reStructuredText,纺织品,HTML,DocBook,LaTeX,MediaWiki标记,TWiki标记,TikiWiki标记,Creole 1.0,Vimwiki标记,OPML,Emacs 组织模式,Emacs Muse,txt2tags,Microsoft Word docx,LibreOffice ODT,EPUB或黑线鳕标记到 HTML格式 使用Slidy,reveal.js,Slideous,S5或DZSlides的 XHTML,HTML5和HTML幻灯片演示 字处理器格式 Mi crosoft Word docx,OpenOffice / LibreOffice ODT,OpenDocument XML,Microsoft PowerPoint。 电子书 EPUB版本2或3,FictionBook2 文档格式 DocBook版本4或5,TEI Simple,GNU TexInfo,Groff man,Groff ms,Haddock标记 档案格式 JATS 页面布局格式 InDesign ICML 大纲格式 OPML TeX格式 LaTeX,ConTeXt,LaTeX Beamer幻灯片 PDF 通过pdflatex,xelatex,lualatex,pdfroff,wkhtml2pdf,prince,或weasyprint。 轻量级标记格式 Markdown(包括CommonMark和GitHub风格的Markdown),reStructuredText,AsciiDoc,Emacs Org-Mode,Emacs Muse,Textile,txt2tags,MediaWiki标记,DokuWiki标记,TikiWiki标记,TWiki标记,Vimwiki标记和ZimWiki标记。 自定义格式 自定义编写器可以用lua编写。 Pandoc了解许多有用的markdown语法扩展,包括文档元数据(标题,作者,日期); 脚注; 表; 定义清单; 上标和下标; 三振出局; 增强的有序列表(起始编号和编号样式很重要); 运行示例列表; 带语法高亮的分隔代码块; 聪明的引号,短划线和椭圆; HTML块内的markdown; 和内联LaTeX。如果需要严格的降价兼容性,则可以关闭所有这些扩展。 LaTeX数学(甚至宏)可用于降价文档。提供了几种不同的HTML渲染数学方法,包括MathJax和MathML的翻译。LaTeX数学被转换(根据输出格式的需要)到unicode,本机Word方程对象,MathML或groff eqn。 Pandoc包含一个强大的系统,用于自动引用和参考书目,使用pandoc-citeproc(源自Andrea Rossato的citeproc-hs)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值