源起
希望把工作相關(guān)的東西都用git管理起來濒旦,對程序員來說,主要是三個東西:代碼测秸,文檔疤估,演示。用git管的話霎冯,這些東西需要都是基于純文本的铃拇,代碼已然是,文檔用Markdown來寫沈撞,拋棄word慷荔,剩下演示怎么弄,如何能拋棄PowerPoint缠俺?這篇文稿描述用Markdown來編寫內(nèi)容显晶,然后用pandoc來生成基于reveal.js的網(wǎng)頁ppt贷岸。好處很明顯,讓作者專注內(nèi)容磷雇,寫好的文檔基于純文本偿警,可用git管理起來。
說明:reveal.js本身就可以支持Markdown唯笙,直接能制作網(wǎng)頁P(yáng)PT螟蒸,而我們用pandoc的原因是,完全不用了解html的細(xì)節(jié)崩掘,對純外行很適用七嫌。
基礎(chǔ)工作
Markdown編輯器
推薦Typora,免費又好用苞慢,誰用誰知道诵原。
安裝pandoc
pandoc官網(wǎng):http://pandoc.org/。官網(wǎng)有鏈接到github的下載地址挽放,有各個系統(tǒng)的安裝包绍赛,文檔以Windows為例,下載...x86_64.msi文件骂维,直接安裝惹资。
pandoc沒有圖形界面,安裝好之后航闺,用powershell褪测,輸入命令:pandoc -v
,驗證一下潦刃,能出來版本號等提示就表示安裝成功了侮措。
下載reveal.js
從github上下載:https://github.com/hakimel/reveal.js,不需要安裝乖杠,下載下來是一個目錄分扎,目錄名:“reveal.js”。
示例
1.首先用Markdown編寫需要演示的PPT的內(nèi)容胧洒。這里引用pandoc官方文檔的示例畏吓,我們假設(shè)文件名取名為demo.md。
% 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
------------------
![picture of spaghetti](images/spaghetti.jpg)
## Going to sleep
- Get in bed
- Count sheep
2.用demo.md文件來生成用于演示的html卫漫。
pandoc -t revealjs -s demo.md -o demo.html
3.享受成果菲饼,查看生成的ppt。
這里需要注意列赎,把生成的demo.html和下載下來的reveal.js放到同一個目錄下宏悦,比如放到temp目錄下:
temp
│ demo.html
│
└─reveal.js
用瀏覽器,推薦chrome來打開demo.html就看到生成好的網(wǎng)頁P(yáng)PT了。
方法詳解
%符號作用
前三行的%的作用是告訴pandoc饼煞,這個Markdown文本要處理成幻燈片源葫。前三行分別是:文檔標(biāo)題,作者砖瞧,日期息堂,會單獨生成一頁ppt作為全部ppt的起始頁。
理解slide level
slide level(我姑且翻譯成“滑動級別”)是理解幻燈片生成的重要概念芭届,英文好的直接讀pandoc幫助文檔储矩。根據(jù)幫助文檔感耙,我這樣理解褂乍,Markdown文檔里面,后面緊跟著正文內(nèi)容的標(biāo)題的級別(標(biāo)題的級別就是1級標(biāo)題即硼、2級標(biāo)題的級逃片,也是HTML里面的h1、h2只酥、……)褥实,就是這篇文檔的“滑動級別”,產(chǎn)生的結(jié)果是:
- 與“滑動級別”同級的標(biāo)題裂允,會單獨產(chǎn)生一頁P(yáng)PT损离,如果緊跟上一級標(biāo)題,生成的PPT縱向滑動绝编。
- 高于“滑動級別”的標(biāo)題僻澎,會單獨成一頁只有標(biāo)題的PPT,橫向滑動十饥。
- 低于“滑動級別”的標(biāo)題窟勃,只會作為ppt的內(nèi)容。
用我們的例子理解一下逗堵,緊跟正文內(nèi)容的標(biāo)題級別是2秉氧,那么這篇文檔的slide level就是2。所有1級標(biāo)題會單獨產(chǎn)生一頁只有標(biāo)題的ppt蜒秤,緊跟這個1級標(biāo)題的每個2級標(biāo)題及其正文內(nèi)容汁咏,會單獨產(chǎn)生單獨的一頁ppt,會在一級標(biāo)題頁之下作媚,通過縱向滑動展示攘滩,而一級標(biāo)題之間通過橫向滑動來切換頁。
幫助文檔也提到可以在生成的時候掂骏,通過--slide-level
選項來指定“滑動級別”轰驳。實踐中,你也可以用3級標(biāo)題來寫正文內(nèi)容,2級標(biāo)題來作為單獨標(biāo)題頁级解,理解好“滑動級別”就可以靈活運(yùn)用冒黑。
網(wǎng)頁P(yáng)PT常用操作
縮略圖模式
演示ppt的時候,按鍵盤“esc”鍵勤哗,就可以出現(xiàn)所有ppt的縮略圖抡爹,可以任意選擇ppt頁。
演講模式
按下鍵盤“S”鍵芒划,就進(jìn)入演講模式冬竟。(演講模式我自己取的名,就是用PowerPoint的時候民逼,演示人自己看到一個界面泵殴,內(nèi)容豐富,有注釋拼苍,還有下一頁預(yù)覽等笑诅,而給聽眾只看到普通的頁面。)如果是雙屏情況下疮鲫,把普通頁拓到投影那邊即可吆你。
更進(jìn)一步
逐條顯示條目
要讓條目逐條顯示,用下面的方式把條目包起來就可以了俊犯。
::: incremental
- Eat spaghetti
- Drink wine
:::
不逐條的:
::: nonincremental
- Eat spaghetti
- Drink wine
:::
同一頁顯示多列
:::::::::::::: {.columns}
::: {.column width="40%"}
contents...
:::
::: {.column width="60%"}
contents...
:::
::::::::::::::
演講注釋
演講模式里面妇多,演講者的界面里,可以有注釋信息燕侠,和PowerPoint的注釋功能一樣者祖。實現(xiàn)方法:
::: notes
This is my note.
- It can contain Markdown
- like this list
:::
修改默認(rèn)主題
前面我們使用命令pandoc demo.md -o demo.html -t revealjs -s
來生成網(wǎng)頁P(yáng)PT,生成的網(wǎng)頁P(yáng)PT使用reveal.js的默認(rèn)主題——黑色主題贬循。如果我們對此不爽咸包,reveal.js本身提供了很多主題供我們選擇,可以查看reveal.js/css/theme
目錄下杖虾,是直接可以用的主題烂瘫。
目錄中每個.css文件就是一個主題。如果我們想生成一個simple主題奇适,那么使用pandoc的 -V參數(shù)來指定主題即可坟比。
pandoc demo.md -o demo.html -t revealjs -s -V theme=simple
現(xiàn)在ppt變成這樣了:
不同的主題,看官自己去試吧嚷往。
其他未涉及
還有一些換背景葛账,換轉(zhuǎn)場效果等技能,我暫時沒用到皮仁,也覺得不是核心特別要用的籍琳,請參考pandoc的文檔吧菲宴。
作者:safeasy
鏈接:http://www.reibang.com/p/9b71614f57b1
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處趋急。