Markdown 語言在 2004 由約翰·格魯伯創(chuàng)建,是一種輕量級標(biāo)記語言橱野,可以使用純文本格式編寫文檔,并能導(dǎo)出為 HTML 刊苍、Word既们、圖像、PDF正什、Epub 等多種格式的文檔啥纸,可以做到“一次編寫,多次使用”婴氮。
Pandoc則可以將文檔在 Markdown斯棒、LaTeX、reStructuredText主经、HTML荣暮、Word docx 等多種標(biāo)記格式之間相互轉(zhuǎn)換,并支持輸出 PDF罩驻、EPUB穗酥、HTML 幻燈片等多種格式。該程序被稱為格式轉(zhuǎn)換界的 “瑞士軍刀”惠遏。
Reveal.js 是一個使用 HTML 語言制作演示文稿的 Web 框架砾跃, 它可以把 Markdown 文件轉(zhuǎn)為類似 PPT 的演示文稿,輕快省力节吮,減少排版上的時間抽高,更專于文字內(nèi)容;同時透绩,也獲得 PPT 所不具有的靈活性
環(huán)境安裝
- 首先根據(jù)系統(tǒng)選擇需要下載的安裝包安裝翘骂,windows版下載完成后雙擊安裝一路默認即可,驗證安裝是否成功可以
使用命令行 輸入:> pandoc -v
,出現(xiàn)下圖所示類似結(jié)果帚豪,表示安裝成功碳竟。
- 到github 上下載 revealjs(或者命令行 git clone https://github.com/hakimel/reveal.js)
- 將要轉(zhuǎn)換的md文檔與reveal.js 文件夾放在同一目錄下,然后使用命令
pandoc slides.md -o index.html -t revealjs -s
狸臣,即可在同級目錄下得到-o 后面的文件名稱的html文件瞭亮,即是最后的實現(xiàn)了類似 PPT 的演示文稿。 - 打開 生成的 index.html 固棚,可以使用如下按鍵進行控制:
按空格鍵來跳轉(zhuǎn)到下一頁
按 Esc 鍵统翩,進入幻燈片概覽
按 b ,暫痛酥蓿幻燈片(頁面變黑息屏)
按 s 厂汗,進入 演講者備注視圖
如果需要在別的地方使用該html文件,需要連同reveal.js 文件夾一起打包
::: notes
不知為啥pandoc在github 上 一直下載失敗呜师,只能從別的渠道下載娶桦,防止再次出現(xiàn)這種問題,善良的我已經(jīng)把pandoc 軟件和revealjs 放到云盤上汁汗。
鏈接:https://pan.baidu.com/s/1TOVtqsWyRIM4YGJ4kqw_zA
提取碼:ncvr
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App衷畦,操作更方便哦
:::
pandoc使用
pandoc 將Markdown轉(zhuǎn)成PPT 本質(zhì)上還是轉(zhuǎn)換成html,而這個html文件實現(xiàn)了ppt的效果知牌。
pandoc的一般命令格式為:
pandoc <files> <options>
其中 祈争,<files> 為輸入的文件。而 <options> 為參數(shù)選項角寸。主要的參數(shù)選項有:
-f <format>菩混、-r <format>:指定輸入文件格式,默認為 Markdown扁藕;
-t <format>沮峡、-w <format>:指定輸出文件格式,默認為 HTML亿柑;
-o <file>:指定輸出文件邢疙,該項缺省時,將輸出到標(biāo)準(zhǔn)輸出望薄;
--highlight-style <style>:設(shè)置代碼高亮主題疟游,默認為 pygments;
-s:生成有頭尾的獨立文件(HTML式矫,LaTeX乡摹,TEI 或 RTF);
-i : 漸進顯示的列表
--list-highlight-styles:列出支持的代碼高亮主題采转;
-V 接需要用的變量
-v聪廉、--version:顯示程序的版本號系馆;
-h夺巩、--help:顯示程序的幫助信息。
目前Pandoc包含了對五種HTML幻燈片框架的支持:
- DZSlides
- Slidy
- S5
- Slideous
- reveal.js
當(dāng)然旨袒,你實際上可以使用任何喜歡的幻燈片框架察绷,只要讓Pandoc 使用-t選項指定格式即可干签,前提是你提前下載了框架。這里我們使用 reveal.js 類型的幻燈片為例拆撼。
修改主題
格式如:
pandoc slides.md -o slides.html -t revealjs -s -V theme=beige
主要的主題背景有:
default:(默認)深灰色背景容劳,白色文字
beige:米色背景喘沿,深色文字
sky:天藍色背景,白色細文字
night:黑色背景竭贩,白色粗文字
serif:淺色背景蚜印,灰色襯線文字
simple:白色背景,黑色文字
solarized:奶油色背景留量,深青色文字
使用變量控制顯示效果
格式如:
pandoc slides.md -o slides.html -t revealjs -s -V controls=true
支持的變量有:
controls: true, // 是否在右下角展示控制條
progress: true,// 是否顯示演示的進度條
slideNumber: false, // 是否顯示當(dāng)前幻燈片的頁數(shù)
history: false,// 是否將每個幻燈片改變加入到瀏覽器的歷史記錄中去
keyboard: true, // 是否啟用鍵盤快捷鍵來導(dǎo)航
overview: true, // 是否啟用幻燈片的概覽模式
center: true, // 是否將幻燈片垂直居中
touch: true, // 是否在觸屏設(shè)備上啟用觸摸導(dǎo)航
loop: false, // 是否循環(huán)演示
rtl: false, // 是否將演示的方向變成 RTL
fragments: true, // 全局開啟和關(guān)閉碎片
help: true,// 當(dāng)按下鍵盤上的?問號鍵時窄赋,是否顯示幫助
autoSlide: 0,// 兩個幻燈片之間自動切換的時間間隔(毫秒),當(dāng)設(shè)置成 0 的時候則禁止自動切換楼熄,該值可以被幻燈片上的 ` data-autoslide` 屬性覆蓋
autoSlideStoppable: true,// 當(dāng)遇到用戶輸入的時候停止切換
mouseWheel: false, // 是否啟用通過鼠標(biāo)滾輪來導(dǎo)航幻燈片
hideAddressBar: true, // 是否在移動設(shè)備上隱藏地址欄
previewLinks: false, // 是否在一個彈出的 iframe 中打開幻燈片中的鏈接
ransition: 'default', // 切換過渡效果none/fade/slide/convex/concave/zoom
transitionSpeed: 'default',// 過渡速度 忆绰,default/fast/slow
backgroundTransition: 'default', //全屏幻燈片背景的過渡效果 none/fade/slide/convex/concave/zoom
viewDistance: 3, // 除當(dāng)前可見的之外的幻燈片數(shù)量
parallaxBackgroundSize: '', // // 視差背景尺寸,如"2100px 900px"
幻燈片生成規(guī)則
-
---
將總是開始新的幻燈片可岂。即可以使用分割線來強行生成新的幻燈片错敢。 - 幻燈片級別(即用來分頁的標(biāo)題級別,可以使用
---slide-level
來改變 )以上的標(biāo)題會創(chuàng)建 "標(biāo)題幻燈片"青柄,其中僅包含章節(jié)標(biāo)題伐债,并有助于將幻燈片分為幾部分。 這些標(biāo)題下的非幻燈片內(nèi)容將包含在標(biāo)題幻燈片中(用于HTML幻燈片顯示)或后續(xù)具有相同標(biāo)題的幻燈片中(用于投影機)致开。 - 幻燈片級別的標(biāo)題峰锁,始終會開始創(chuàng)建新幻燈片,并作為標(biāo)題顯示
- 幻燈片級別以下的標(biāo)題双戳,只會在幻燈片中顯示成標(biāo)題虹蒋。
如下:
%標(biāo)題
%作者
%日期
## 上述% 元信息說明
文本開頭需要包含三行以%打頭的元信息:這將生成 幻燈片入口:這些百分號 % 將單獨生成幻燈片入口(切記上下行之間不能有空格)
## 級別說明
- 如果是一級標(biāo)題,緊接著的有內(nèi)容和無內(nèi)容時生成的ppt 樣式是不一樣的
- 如果所有的1級標(biāo)題下無內(nèi)容飒货,則以二級標(biāo)題為 分頁依據(jù)魄衅,
且一級標(biāo)題獨立成頁
- 有文字的時候,1級標(biāo)題作為分頁依據(jù)塘辅,其后內(nèi)容作為內(nèi)容
## 一級標(biāo)題晃虫,緊接著的無內(nèi)容舉例:
```
# level1 A
## leve2 A1
- listA11
- listA12
## leve2 A2
- listA21
- listA22
# level1 B
## level2 B
- list b1
- list b2
```
上面會生成5頁ppt,每個標(biāo)題級分別占一頁扣墩,其中前三個一組哲银,豎向分頁,后兩個一組豎向分頁呻惕, # level1 A 和# level1 B 橫向劃分
## 一級標(biāo)題荆责,緊接著的有內(nèi)容舉例:
```
# level1 A
- list l1a1
- list l1a2
## leve2 A1
- listA11
- listA12
## leve2 A2
- listA21
- listA22
# level1 B
- list l1b1
## level2 B
- list b1
- list b2
```
上面會生成2頁ppt, # level1 A 和# level1 B 橫向劃分,分別作為一頁ppt亚脆,其后面的作為內(nèi)容
## 這是一個幻燈片級別的標(biāo)題 {data-background-color="#ff0000"}
- 幻燈片級別標(biāo)題后 {data-background-color="#ff0000"} 可修改當(dāng)前頁背景
- 類似 的還有:
* data-background-image
* data-background-video
* data-background-iframe
## 暫停
`...` 可以暫停顯示做院,這里是暫停之前
. . .
`...` 可以暫停顯示,這里是暫停之后
## 強制分頁
- `---` 可以強制分頁
- 這里是`---`強制分頁前
---
這里是`---`強制分頁后
## 備注
- 這里是備注,演講者模式(按S進入演講者模式)時可以顯示
::: notes
這里是備注键耕,演講者模式(按S進入演講者模式)時可以顯示
:::
## 列表逐行顯示寺滚,按空格顯示
::: incremental
- 列表項1
- 列表項2
:::
## 水平展示列表
:::::::::::::: {.columns}
::: {.column width="40%"}
第一列
:::
::: {.column width="60%"}
第2列
:::
::::::::::::::
## END
結(jié)果如下:
參考資料:
[1] http://www.reibang.com/p/0e0abc6feeb3
[2] https://www.pandoc.org/MANUAL.html