在Linux命令行中创建和展示幻灯片的教程
你在准备一场演讲的时候,脑海可能会先被图文并茂、形象华丽的演示图稿所占据。诚然,没有人会否认一份生动形象的演讲稿所带来的积极作用。然而,并非所有的演讲都需要ted talk的质量。更多时候,演讲稿只为传达特定的信息。 而这个,使用文本信息足以完成。在这种情况下,你的时间可以更好的花在信息的搜集和核实上面,而不是在谷歌图片搜索(google image)上寻找好看的图片。
在linux的世界里,有几个不同的方式供你选择来做演讲。比如带有大量多媒体展示、视觉冲击效果极佳的impress.js,专为latex用户提供的beamer,等等。而如果你苦于寻找一种简单的方式来创建并且展示文本演示稿, 就能帮你实现。
什么是mdp?
mdp是linux下一款基于ncurses的命令行演示工具。我喜欢mdp在于它对的支持,使得我很容易以熟悉的markdown格式来创建幻灯片。自然,它还可以很轻松地用html格式来发布幻灯片。另一个好处是它支持utf-8字符编码,这让非英语字符(如希腊或西里尔字母)的展示也变得很方便。
在linux中安装mdp
mdp的依赖需求很少(如 ncursesw),这使得安装非常简单。
debian、ubuntu或者它们的衍生版
$ git clone https://github.com/visit1985/mdp.git
$ cd mdp
$ make
$ sudo make install
fedora或者centos/rhel
$ git clone https://github.com/visit1985/mdp.git
$ cd mdp
$ make
$ sudo make install
arch linux
arch linux可以通过aur轻松安装mdp。
在命令行中创建演示稿
安装mdp完毕,你可以使用你喜欢的文本编辑器来轻松创建一个演示稿。如果你熟悉markdown的话,很快就可以驾驭mdp。而对于那些不熟悉markdown的人来说,学习mdp最好的方式就是从一个实例着手。
这里有一份6页的演示稿样本可供参考。
%author: dan nanni
%date: 2015-01-28
-> this is a slide title <-
=========
-> mdp is a command-line based presentation tool with markdown support. <-
*_features_*
* multi-level headers
* code block formatting
* nested quotes
* nested list
* text highlight and underline
* citation
* utf-8 special characters
-------------------------------------------------
-> # example of nested list <-
this is an example of multi-level headers and a nested list.
# first-level title
second-level
------------
- *item 1*
- sub-item 1
- sub-sub-item 1
- sub-sub-item 2
- sub-sub-item 3
- sub-item 2
-------------------------------------------------
-> # example of code block formatting <-
this example shows how to format a code snippet.
1 /* hello world program */
2
3 #include <stdio.h>
4
5 int main()
6 {
7 printf("hello world");
8 return 0;
9 }
this example shows inline code: `sudo reboot`
-------------------------------------------------
-> # example of nested quotes <-
this is an example of nested quotes.
# three-level nested quotes
> this is the first-level quote.
>> this is the second-level quote
>> and continues.
>>> *this is the third-level quote, and so on.*
-------------------------------------------------
-> # example of citations <-
this example shows how to place a citation inside a presentation.
this tutorial is published at [xmodulo](http://xmodulo.com)
you are welcome to connect with me at [linkedin](http://www.linkedin.com/in/xmodulo)
pretty cool, huh?
-------------------------------------------------
-> # example of utf-8 special characters <-
this example shows utf-8 special characters.
ae = ?, oe = ?, ue = ü, ss = ?
alpha = ?, beta = ?, upsilon = ?, phi = ?
omega = ?, delta = ?, sigma = ?
???????????
?rectangle?
???????????
在命令行中展示演示稿
当你把以上代码保存为slide.md的文本文件后,你可以运行以下命令来展示演示稿:
你可以通过按键 回车/空格/下翻页/向下光标键 (下一张幻灯)、回退/上翻页/向上光标键 (上一张幻灯)、home (幻灯首页)、 end (幻灯末页)或者 数字n (第n页幻灯)来操作你的演示稿。
演示稿的标题将在每页幻灯的顶部展示,而你的名字和页码则会出现在幻灯的底部。
这是嵌套列表和多层次标题的实例效果。
这是代码片段和内联代码的实例效果。
这是嵌套引用的实例效果。
这是放置引文的实例效果。
这是utf-8编码特殊字符支持的实例效果。
总结
在本教程中,我演示了在命令行中如何使用mdp来创建并且展示一个演示稿。mdp的markdown兼容性让我们省去了学习其它新格式的麻烦,这相对于另一种名为tpp的演示工具来说是一个优势。拘于mdp的局限性,它可能无法作为你的默认演示工具。但是,值得肯定的是它一定能在某个场合下派上用场。