其他博客地址

主力博客:https://tonghuix.io

2013年4月21日星期日

Markdown+HTML5制作Geek风格的投影片

做投影片用什么?如果你的回答是用PowerPoint,有没有感觉弱爆了?好吧,也许你会说用开源的替代,比如openOffice/Libreoffice。当然其实本质都是一样的,那就是PPT!
从今天开始不要再说、再用 PPT这三个字母了! 我们现在要重新定义,使用它本来的名称投影片!,即便是要装B用英文的话,也要用Slides这个词!
今天开始,这些都不用了,我将会最有Geek风格的投影片制作方法,也就是Markdown+HTML5的方法。先来说这种方式有什么好处:
  1. 采用”轻文本标记型语言“,主要是Markdown语言。文档和格式分开,轻便简单方便操作
  2. 采用HTML5技术,先进快捷。在浏览器中打开投影片,非常简单易行。大多数现代浏览器(IE浏览器和国产山寨浏览器除外)都是支持的。
  3. 非常酷,因为大多是用Javascript脚本实现的,所以想要多酷就有多酷,完全自由!
  4. 因为是网页格式,不用担心中文的问题(与Latex Beamer相比较)。只要浏览器能显示和渲染就行。
  5. 易于分享,只要放到网站上即可,看的人不需要安装任何软件!所以目前有越来越多的项目在github上弄个网页来展示投影片。
  6. 即便不会Javascript和HTML5的语法也没关系,只要用Markdown和一些工具,就能完全自由的制作投影片咯!
  7. 像写代码一样写投影片,非常有Geek Style!
既然是要用Markdown,那么首先用markdown来写一个演讲稿大纲,并把这个大纲按照投影片的方式整理一下:

% 主标题
% 演讲人
% 日期时间

----
# 投影片的标题
## 副标题
- 列表
- 列表项**强调的内容**
- 列表项3

----

#又一个投影片的标题
1. 有序列表1
2. 有序列表2 *斜体的内容*

----

# 第三张投影片
! [图片](image/press.jpg)

Markdown+Impress.js

这是我第一个尝试的办法,有个项目叫mdpress,它可以实现Markdown+Impress.js的结合,可以参考这篇文章。如果不想看英文呢,我就说说如何在Ubuntu下安装mdpress,简单至极:
  1. 首先安装需要的包: sudo apt-get install gem ruby-1.9.1-dev
  2. 然后安装mdpress: sudo gem install mdpress
  3. 剩下的就是把投影片"编译"一下: mdpress slides.md
  4. 此时会在当前目录下得到一个叫slides的目录,这个目录名和上面的文件名是一样的,然后进入这个目录可以看到一个index.html网页,用任何现代浏览器(Firefox\Chrome\Opera)打开即可。
  5. 左右键控制翻页,大多数浏览器用F11来全屏浏览。
  6. Impress.js还有恨多非常酷的特效,在markdown写的投影片里用至少三个连续短线"----"来分割投影片,在短线下面可以写上一些impress.js提供的特效参数。最终版源文件
mdpress项目还有一些示例可以看看,项目主页:https://github.com/egonSchiele/mdpress

Markdown+Pandoc+Reveal.js

这是最近刚刚发现的一个,实现的最终效果和上一个差不多,但是我觉得更炫。这是由Reveal.js提供的,自带了好几个主题包,其3D效果非常炫。我这里还要用到Pandoc,所以安装略有点复杂。可以看这篇文章这篇文章
  1. 首先是安装pandoc

    sudo apt-get install pandoc
  2. 然后需要下载reveal.js项目的代码https://github.com/hakimel/reveal.js/archive/master.zip
  3. 解包,进入目录。然后下载这个gist得到template-revealjs.html文件,放到revel.js项目根目录下。
  4. 准备好演讲用的投影片文件比如slides.md,也放到reveal.js的根目录下,然后在命令行执行:

pandoc -t html5 --template=template-revealjs.html \


--standalone --section-divs \
--variable theme="beige" \
--variable transition="linear" \

slides.md -o slides.html

  1. 上面这段有很多参数,其中theme可以指定reveal.js自带的主题,transition可以指定reveal.js自带的切换效果。-o后面的文件名就是“编译”完成以后的投影片。直接用浏览器打开即可。最终效果
  2. 用上下左右键来翻页,用ESC可以看到整个投影片结构(这是比impress进步的一点)。注意页面右下角有操作提示,非常方便!
  3. 如果以上步骤嫌麻烦,那么reveal.js还开发了一个完全所见即所得的网站,在线制作投影片,在线播放! http://www.rvl.io/

结论

以上两种方法各有优缺点,如果想表达效果更炫,可以选用reveal.js的方法。如果想要更简单快捷的制作投影片可以选用impress.js的方法。
总之,无论使用以上何种方法,都远好于用PPT!