Markdown 語(yǔ)言在 2004 由約翰·格魯伯創(chuàng)建,是一種輕量級(jí)標(biāo)記語(yǔ)言,可以使用純文本格式編寫文檔,并能導(dǎo)出為 HTML 、Word、圖像、PDF、Epub 等多種格式的文檔,可以做到“一次編寫,多次使用”。
Pandoc則可以將文檔在 Markdown、LaTeX、reStructuredText、HTML、Word docx 等多種標(biāo)記格式之間相互轉(zhuǎn)換,并支持輸出 PDF、EPUB、HTML 幻燈片等多種格式。該程序被稱為格式轉(zhuǎn)換界的 “瑞士軍刀”。
Reveal.js 是一個(gè)使用 HTML 語(yǔ)言制作演示文稿的 Web 框架, 它可以把 Markdown 文件轉(zhuǎn)為類似 PPT 的演示文稿,輕快省力,減少排版上的時(shí)間,更專于文字內(nèi)容;同時(shí),也獲得 PPT 所不具有的靈活性
環(huán)境安裝
- 首先根據(jù)系統(tǒng)選擇需要下載的安裝包安裝,windows版下載完成后雙擊安裝一路默認(rèn)即可,驗(yàn)證安裝是否成功可以
使用命令行 輸入:> pandoc -v,出現(xiàn)下圖所示類似結(jié)果,表示安裝成功。
check.PNG - 到github 上下載 revealjs(或者命令行 git clone https://github.com/hakimel/reveal.js)
- 將要轉(zhuǎn)換的md文檔與reveal.js 文件夾放在同一目錄下,然后使用命令
pandoc slides.md -o index.html -t revealjs -s
,即可在同級(jí)目錄下得到-o 后面的文件名稱的html文件,即是最后的實(shí)現(xiàn)了類似 PPT 的演示文稿。 - 打開 生成的 index.html ,可以使用如下按鍵進(jìn)行控制:
按空格鍵來跳轉(zhuǎn)到下一頁(yè)
按 Esc 鍵,進(jìn)入幻燈片概覽
按 b ,暫?;脽羝?yè)面變黑息屏)
按 s ,進(jìn)入 演講者備注視圖
如果需要在別的地方使用該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)盤手機(jī)App,操作更方便哦
:::
pandoc使用
pandoc 將Markdown轉(zhuǎn)成PPT 本質(zhì)上還是轉(zhuǎn)換成html,而這個(gè)html文件實(shí)現(xiàn)了ppt的效果。
pandoc的一般命令格式為:
pandoc <files> <options>
其中 ,<files> 為輸入的文件。而 <options> 為參數(shù)選項(xiàng)。主要的參數(shù)選項(xiàng)有:
-f <format>、-r <format>:指定輸入文件格式,默認(rèn)為 Markdown;
-t <format>、-w <format>:指定輸出文件格式,默認(rèn)為 HTML;
-o <file>:指定輸出文件,該項(xiàng)缺省時(shí),將輸出到標(biāo)準(zhǔn)輸出;
--highlight-style <style>:設(shè)置代碼高亮主題,默認(rèn)為 pygments;
-s:生成有頭尾的獨(dú)立文件(HTML,LaTeX,TEI 或 RTF);
-i : 漸進(jìn)顯示的列表
--list-highlight-styles:列出支持的代碼高亮主題;
-V 接需要用的變量
-v、--version:顯示程序的版本號(hào);
-h、--help:顯示程序的幫助信息。
目前Pandoc包含了對(duì)五種HTML幻燈片框架的支持:
- DZSlides
- Slidy
- S5
- Slideous
- reveal.js
當(dāng)然,你實(shí)際上可以使用任何喜歡的幻燈片框架,只要讓Pandoc 使用-t選項(xiàng)指定格式即可,前提是你提前下載了框架。這里我們使用 reveal.js 類型的幻燈片為例。
修改主題
格式如:
pandoc slides.md -o slides.html -t revealjs -s -V theme=beige
主要的主題背景有:
default:(默認(rèn))深灰色背景,白色文字
beige:米色背景,深色文字
sky:天藍(lán)色背景,白色細(xì)文字
night:黑色背景,白色粗文字
serif:淺色背景,灰色襯線文字
simple:白色背景,黑色文字
solarized:奶油色背景,深青色文字
使用變量控制顯示效果
格式如:
pandoc slides.md -o slides.html -t revealjs -s -V controls=true
支持的變量有:
controls: true, // 是否在右下角展示控制條
progress: true,// 是否顯示演示的進(jìn)度條
slideNumber: false, // 是否顯示當(dāng)前幻燈片的頁(yè)數(shù)
history: false,// 是否將每個(gè)幻燈片改變加入到瀏覽器的歷史記錄中去
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)按下鍵盤上的?問號(hào)鍵時(shí),是否顯示幫助
autoSlide: 0,// 兩個(gè)幻燈片之間自動(dòng)切換的時(shí)間間隔(毫秒),當(dāng)設(shè)置成 0 的時(shí)候則禁止自動(dòng)切換,該值可以被幻燈片上的 ` data-autoslide` 屬性覆蓋
autoSlideStoppable: true,// 當(dāng)遇到用戶輸入的時(shí)候停止切換
mouseWheel: false, // 是否啟用通過鼠標(biāo)滾輪來導(dǎo)航幻燈片
hideAddressBar: true, // 是否在移動(dòng)設(shè)備上隱藏地址欄
previewLinks: false, // 是否在一個(gè)彈出的 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ī)則
-
---將總是開始新的幻燈片。即可以使用分割線來強(qiáng)行生成新的幻燈片。 - 幻燈片級(jí)別(即用來分頁(yè)的標(biāo)題級(jí)別,可以使用
---slide-level來改變 )以上的標(biāo)題會(huì)創(chuàng)建 "標(biāo)題幻燈片",其中僅包含章節(jié)標(biāo)題,并有助于將幻燈片分為幾部分。 這些標(biāo)題下的非幻燈片內(nèi)容將包含在標(biāo)題幻燈片中(用于HTML幻燈片顯示)或后續(xù)具有相同標(biāo)題的幻燈片中(用于投影機(jī))。 - 幻燈片級(jí)別的標(biāo)題,始終會(huì)開始創(chuàng)建新幻燈片,并作為標(biāo)題顯示
- 幻燈片級(jí)別以下的標(biāo)題,只會(huì)在幻燈片中顯示成標(biāo)題。
如下:
%標(biāo)題
%作者
%日期
## 上述% 元信息說明
文本開頭需要包含三行以%打頭的元信息:這將生成 幻燈片入口:這些百分號(hào) % 將單獨(dú)生成幻燈片入口(切記上下行之間不能有空格)
## 級(jí)別說明
- 如果是一級(jí)標(biāo)題,緊接著的有內(nèi)容和無(wú)內(nèi)容時(shí)生成的ppt 樣式是不一樣的
- 如果所有的1級(jí)標(biāo)題下無(wú)內(nèi)容,則以二級(jí)標(biāo)題為 分頁(yè)依據(jù),
且一級(jí)標(biāo)題獨(dú)立成頁(yè)
- 有文字的時(shí)候,1級(jí)標(biāo)題作為分頁(yè)依據(jù),其后內(nèi)容作為內(nèi)容
## 一級(jí)標(biāo)題,緊接著的無(wú)內(nèi)容舉例:
```
# level1 A
## leve2 A1
- listA11
- listA12
## leve2 A2
- listA21
- listA22
# level1 B
## level2 B
- list b1
- list b2
```
上面會(huì)生成5頁(yè)ppt,每個(gè)標(biāo)題級(jí)分別占一頁(yè),其中前三個(gè)一組,豎向分頁(yè),后兩個(gè)一組豎向分頁(yè), # level1 A 和# level1 B 橫向劃分
## 一級(jí)標(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
```
上面會(huì)生成2頁(yè)ppt, # level1 A 和# level1 B 橫向劃分,分別作為一頁(yè)ppt,其后面的作為內(nèi)容
## 這是一個(gè)幻燈片級(jí)別的標(biāo)題 {data-background-color="#ff0000"}
- 幻燈片級(jí)別標(biāo)題后 {data-background-color="#ff0000"} 可修改當(dāng)前頁(yè)背景
- 類似 的還有:
* data-background-image
* data-background-video
* data-background-iframe
## 暫停
`...` 可以暫停顯示,這里是暫停之前
. . .
`...` 可以暫停顯示,這里是暫停之后
## 強(qiáng)制分頁(yè)
- `---` 可以強(qiáng)制分頁(yè)
- 這里是`---`強(qiáng)制分頁(yè)前
---
這里是`---`強(qiáng)制分頁(yè)后
## 備注
- 這里是備注,演講者模式(按S進(jìn)入演講者模式)時(shí)可以顯示
::: notes
這里是備注,演講者模式(按S進(jìn)入演講者模式)時(shí)可以顯示
:::
## 列表逐行顯示,按空格顯示
::: incremental
- 列表項(xiàng)1
- 列表項(xiàng)2
:::
## 水平展示列表
:::::::::::::: {.columns}
::: {.column width="40%"}
第一列
:::
::: {.column width="60%"}
第2列
:::
::::::::::::::
## END
結(jié)果如下:

參考資料:
[1] http://www.itdecent.cn/p/0e0abc6feeb3
[2] https://www.pandoc.org/MANUAL.html