pandoc 转换html,pandoc将markdown转换输出HTML slide
概览
本文记录的是如何使用pandoc将markdown格式文本转换输出为HTML slide shows。你能够使用Pandoc将markdown转换输出HTML+javascript的幻灯片,这样就可通过web浏览器浏览。可以通过S5,DZSlides,Slidy,Slideous或者reveal.js引擎转换输出HTML幻灯片,也可以使用LaTeX beamer转换输出PDF的幻灯片。
下面是官网文档中的markdown源码文件,稍作修改,habits.md:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31% Habits
% John Doe
% March 22, 2005
# In the morning
## Getting up
- Turn off alarm
- Get out of bed
## Breakfast
- Eat eggs
- Drink coffee
# In the evening
## Dinner
- Eat spaghetti
- Drink wine
------------------
![UML attribute text](http://readus-org.qiniudn.com/img/uml-class-diagram/attribute-text.png)
## Going to sleep
- Get in bed
- Count sheep
可使用如下命令转换输出HTML/javascript的幻灯片,然后使用浏览器打开habits.html文件。
pandoc -t FORMAT -s habits.txt -o habits.html
其中FORMAT可以是s5,slidy,slideous,dzslides或者revealjs.
对于Slidy, Slideous, reveal.js和S5, pandoc通过-s/--standalone选项转换输出的文件指向javascripts和CSS文件的链接,这些文件通常可在相对路径s5/default(S5),slideous(Slideous),reveal.js(reveal.js)或者w3.org上的Slidy网址(Slidy)找到,当然这些路径可以通过设置参数变量slidy-url, slideous-url, revealjs-url或者s5-url改变,参考pandoc的--variable选项.
对于所有的HTML幻灯片,选项--self-contained选项能够将所有依赖的文件(linked scripts,stylesheets, images, and videos)都包含进同一个文件中,这样要是分享给其他人时就只需要传递单一文件。
转换输出PDF幻灯片格式的文件,可以只用beamer,如下:
pandoc -t beamer habits.md -o habits.pdf
但是我尝试了中文的markdown文件,会出现乱码的问题,目前没有找到解决方案.
幻灯片的结构化
slide level: 默认情况下,slide level由文章的组织结构中,以紧接着文章内容(而不是另一个标题)的最高的header等级决定。在上面的例子中,一级标题总是紧跟着二级标题,二级标题后会跟着实际内容,因此slide level是2。这由文章组织结构内容决定的slide level可由pandoc 的 --slide-level选项覆盖。
文章内容根据以下规则划分为不同的幻灯片页:
一条水平线总会开启一页新幻灯片。
header等级等于slide level总会开启一页新的幻灯片。
组织结构中在slide level以下的headers会在同一幻灯片页中创建headers。例如上述例子slide level等于2,那么如果有H3或者H4等级的headers,那么它们会显示在由其他规则创建的幻灯片页中。
组织结构中在slide level以上的headers会创建"title slides",它只包含了该section的标题,从而将整个幻灯片的内容划分为不同的sections。
pandoc会自动根据文中的title block创建出一页title page。当然,必须得存在title block。
如果你不是很在意将幻灯片划分为多个sections和subsections的话,那么你可以在所有的幻灯片页中只使用一级标题(这样的话,slide level等于1),当然你也可以像上述示例一样将其划分为不同的sections。
Note: 在reveal.js类型的幻灯片中,如果slide level等于2,那么产生的幻灯片会是一个二维的布局,一级标题会产生水平控制阅读的幻灯片,二级标题会产生垂直方向控制的幻灯片。另外,不建议使用reveal.js写slide level大于2的幻灯片内容。
增量式列表
默认情况下,pandoc转换输出的列表都是一次性显示出来。你可以在转换输出幻灯片时使用-i选项使列表一次只显示一个列表项。如果你想让某一个特定的列表显示与默认的不一样,也就是: 没有使用-i选项的时候使某一列表增量显示,或者,使用-i选项的时候使某一列表一次性显示出来,你可以将该特定列表放置于block quote中, 如下所示:
1
2> - Eat spaghetti
> - Drink wine
插入停顿
你可以在幻灯片页中添加停顿,该功能通过在幻灯片页中插入包含3个点的段落实现,且该三个点间以空格隔开,如下所示:
1
2
3
4
5
6
7# Slide with a pause
content before the pause
. . .
content after the pause
定义幻灯片样式
你可以通过将自定义CSS文件放置于用户数据目录$DATADIR下来改变HTML的样式,对于S5而言,该目录是$DATADIR/s5/default; Slidy: $DATADIR/slidy;Slideous:$DATADIR/slideous; $DATADIR指的是数据目录,参考--data-dir选项说明。
对于reveal.js,幻灯片主题可通过设置theme变量指定,如下所示:
-V theme=moon
或者可以通过--css选项指定自定义的CSS样式表.
定义beamer幻灯片的样式时,可使用-V选项,指定其"theme"或者"colortheme":
pandoc -t beamer habits.md -V theme:Warsaw -o habits.pdf
Note: pandoc在转换输出为HTML格式的幻灯片时,header的属性值会变为幻灯片页的属性(在
或者
标签中),这样就可以通过css自定义单一的幻灯片页的样式了。如下:
# References {.allowframebreaks}
转化HTML slide shows常用参数
-s, –standalone
转换输出文档时会自动加上合适的header和footer(例如standalone HTML, LaTeX, RTF).该选择在转换输出pdf,epub,epub3,fb2,docx,odt格式文件时会被自动设置,因此如果转换输出上述格式文件,则不用显示指定该选项。如上所述,使用该选项后,能够将所有依赖的文件(linked scripts,stylesheets, images, and videos)都转换输出到同一个文件中。
--slide-level=NUMBER
指定能够创建新幻灯片页的headers等级(对beamer, s5, slidy, slideous, dzslides而言)。在设定的level以上的header将幻灯片划分为不同的sections,在level以下的headers在同一页幻灯片中创建子标题.默认情况下根据文档内容自动确定,见幻灯片的结构化.
-i, --incremental
使幻灯片中的列表选项增量式显示(one by one)。默认情况下,列表内容会一次性显示出来。
-c URL, --css=URL
链接到CSS样式表。该选项能够使用多次来引入多个文件,所指定的文件能够以指定的顺序依次引入。
--data-dir=DIRECTORY
指定用户数据目录,设定之后会在该目录下搜索pandoc数据文件。如果没有指定该选项,则会使用默认的用户数据目录:
$HOME/.pandoc
可通过pandoc --version命令查看。
--base-header-level=NUMBER
指定headers的基准level,默认是1.
--section-divs
将sections包裹进
Copyrights © 2021 CaryaLiu. All Rights Reserved.
pandoc 转换html,pandoc将markdown转换输出HTML slide相关推荐
- 【工具使用系列】文件格式转换工具Pandoc
基本信息列表 稳定版本:1.19.2.1(发布时间:20170131) 源代码库:github.com/jgm/pandoc 编程语言:Haskell 操作系统:FreeBSD, NetBSD, Li ...
- markdown 转 html c,STATA中的Markdown转换命令markstat
% Stata Markdown % wintryheart % 2019年7月1日 STATA Markdown 前言 本文基于markstat命令的开发者Germán Rodríguez的使用说明 ...
- 使用 Visual Studio Code 和 Pandoc 构建一个惊人的 Markdown 编辑器
使用 Visual Studio Code 和 Pandoc 构建一个惊人的 Markdown 编辑器 1. 安装 Visual Studio Code 2. 熟悉 VS Code 开箱即用的 Mar ...
- 转换Excel表格到MarkDown:exceltk
源码和下载: 0.1.3 mac: https://github.com/fanfeilong/exceltk/blob/master/pub/exceltk.0.1.3.pkg windows: h ...
- Tooler:使用exceltk转换Excel表格到MarkDown表格
特性 转换Excel表格到MarkDown表格 支持Excel单元格带超链接,如果一个单元格,你右键添加了超链接,自动转成[text](url) 如果Excel里有合并的跨行单元格,在转换后的Mark ...
- 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-(一千零一拾一元整)输出。...
程序代码如下: package cn.itcast.framework.interview;import java.text.NumberFormat; import java.util.HashMa ...
- 编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制
题目要求: 编写一个C程序,实现以下功能: //编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101. //在main函数中输入整数n,调用函数 ...
- 第E题 转换任意进制 (java方法直接解)==输入一个十进制数N,将它转换成R进制数输出
输入一个十进制数N,将它转换成R进制数输出. Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10). Outpu ...
- ITextpdf将Markdown转换成PDF详细流程(HTML转PDF)
#作者:杨景文 一.文章说明 此篇文章将解决itextpdf转PDF遇到的以下问题: 1.中文不显示问题 2.表格或者图片超宽问题 3.pdf样式问题 4.Markdown引用样式在PDF中正常显示 ...
- Markdown转换HTML
背景 将Markdown文档转换为html,主要是web应用中有些场景会用到,如博客系统,支持Markdown语法的评论功能.代码高亮等等... 要自己去实现这个功能,并没有那么简单,当然面向GitH ...
最新文章
- java面向对象-------静态初始化块
- 输出不详宗教预言,Google翻译为何“水逆”了?
- C语言中标准输入流、标准输出流、标准错误输出流
- C# ASP.NET里的@妙用,字符串换行
- JZOJ 5640. 【NOI2018模拟4.9】劈配
- SAP Spartacus category navigation页面鼠标进入事件的处理
- 计算机是怎么知道两张图片相似的呢?
- WinForm - 两个窗体之间的方法调用
- 浙大计算机基础知识题1,浙大作业1计算机基础知识题.docx
- 错误记录(四)java.lang.IllegalArgumentException: Control character in cookie value or attribute.
- MEF程序设计指南(转)
- oracle number +1,number number(1)
- PINN内嵌物理知识神经网络入门及文献总结
- 三维空间点到线段的距离
- 纳多德通过ISO 9001质量、ISO 14001环境、ISO 45001职业健康安全国际管理体系认证
- 浏览器HTML5 视频播放
- N元语言模型的训练方法
- 苹果连接电脑 计算机不显示硬盘,苹果连接电脑没反应怎么办?苹果连接电脑没反应解决方法...
- cannot re-initialize CUDA in forked subprocess.To use CUDA with multiprocessing,you must use the ‘sp
- Arduino ESP8266利用定时器中断控制LED闪烁示例程序