如何在Linux命令行中创建以及展示演示稿

如何在Linux命令行中创建以及展示演示稿

你在准备一场演讲的时候,脑海可能会先被图文并茂、形象华丽的演示图稿所占据。诚然,没有人会否认一份生动形象的演讲稿所带来的积极作用。然而,并非所有的演讲都需要TED Talk的质量。更多时候,演讲稿只为传达特定的信息。 而这个,使用文本信息足以完成。在这种情况下,你的时间可以更好的花在信息的搜集和核实上面,而不是在谷歌图片搜索(Google Image)上寻找好看的图片。

在Linux的世界里,有几个不同的方式供你选择来做演讲。比如带有大量多媒体展示、视觉冲击效果极佳的Impress.js,专为LaTex用户提供的Beamer,等等。而如果你苦于寻找一种简单的方式来创建并且展示文本演示稿,mdp 就能帮你实现。

什么是Mdp?

mdp是Linux下一款基于ncurses的命令行演示工具。我喜欢mdp在于它对markdown的支持,使得我很容易以熟悉的markdown格式来创建幻灯片。自然,它还可以很轻松地用HTML格式来发布幻灯片。另一个好处是它支持UTF-8字符编码,这让非英语字符(如希腊或西里尔字母)的展示也变得很方便。

在Linux中安装Mdp

mdp的依赖需求很少(如 ncursesw),这使得安装非常简单。

Debian、Ubuntu或者它们的衍生版


  1. $ sudo apt-get install git gcc make libncursesw5-dev
  2. $ git clone https://github.com/visit1985/mdp.git
  3. $ cd mdp
  4. $ make
  5. $ sudo make install

Fedora或者CentOS/RHEL


  1. $ sudo yum install git gcc make ncurses-devel
  2. $ git clone https://github.com/visit1985/mdp.git
  3. $ cd mdp
  4. $ make
  5. $ sudo make install

Arch Linux

Arch Linux可以通过AUR轻松安装mdp。

在命令行中创建演示稿

安装mdp完毕,你可以使用你喜欢的文本编辑器来轻松创建一个演示稿。如果你熟悉markdown的话,很快就可以驾驭mdp。而对于那些不熟悉markdown的人来说,学习mdp最好的方式就是从一个实例着手。

这里有一份6页的演示稿样本可供参考。


  1. %title: Sample Presentation made with mdp (Xmodulo.com)
  2. %author: Dan Nanni
  3. %date: 2015-01-28
  4.  
  5. -> This is a slide title <-
  6. =========
  7.  
  8. -> mdp is a command-line based presentation tool with markdown support. <-
  9.  
  10. *_Features_*
  11.  
  12. * Multi-level headers
  13. * Code block formatting
  14. * Nested quotes
  15. * Nested list
  16. * Text highlight and underline
  17. * Citation
  18. * UTF-8 special characters
  19.  
  20. -------------------------------------------------
  21.  
  22. -> # Example of nested list <-
  23.  
  24. This is an example of multi-level headers and a nested list.
  25.  
  26. # first-level title
  27.  
  28. second-level
  29. ------------
  30.  
  31. - *item 1*
  32. - sub-item 1
  33. - sub-sub-item 1
  34. - sub-sub-item 2
  35. - sub-sub-item 3
  36. - sub-item 2
  37.  
  38. -------------------------------------------------
  39.  
  40. -> # Example of code block formatting <-
  41.  
  42. This example shows how to format a code snippet.
  43.  
  44. 1 /* Hello World program */
  45. 2
  46. 3 #include <stdio.h>
  47. 4
  48. 5 int main()
  49. 6 {
  50. 7 printf("Hello World");
  51. 8 return 0;
  52. 9 }
  53.  
  54. This example shows inline code: `sudo reboot`
  55.  
  56. -------------------------------------------------
  57.  
  58. -> # Example of nested quotes <-
  59.  
  60. This is an example of nested quotes.
  61.  
  62. # three-level nested quotes
  63.  
  64. > This is the first-level quote.
  65. >> This is the second-level quote
  66. >> and continues.
  67. >>> *This is the third-level quote, and so on.*
  68.  
  69. -------------------------------------------------
  70.  
  71. -> # Example of citations <-
  72.  
  73. This example shows how to place a citation inside a presentation.
  74.  
  75. This tutorial is published at [Xmodulo](http://xmodulo.com)
  76.  
  77. You are welcome to connect with me at [LinkedIn](http://www.linkedin.com/in/xmodulo)
  78.  
  79. Pretty cool, huh?
  80.  
  81. -------------------------------------------------
  82.  
  83. -> # Example of UTF-8 special characters <-
  84.  
  85. This example shows UTF-8 special characters.
  86.  
  87. ae = ä, oe = ö, ue = ü, ss = ß
  88. alpha = ?, beta = ?, upsilon = ?, phi = ?
  89. Omega = ?, Delta = ?, Sigma = ?
  90.  
  91. ???????????
  92. ?rectangle?
  93. ???????????

在命令行中展示演示稿

当你把以上代码保存为slide.md的文本文件后,你可以运行以下命令来展示演示稿:


  1. $ mdp slide.md

你可以通过按键 回车/空格/下翻页/向下光标键 (下一张幻灯)、回退/上翻页/向上光标键 (上一张幻灯)、Home (幻灯首页)、 End (幻灯末页)或者 数字N (第N页幻灯)来操作你的演示稿。

演示稿的标题将在每页幻灯的顶部展示,而你的名字和页码则会出现在幻灯的底部。

如何在Linux命令行中创建以及展示演示稿

这是嵌套列表和多层次标题的实例效果。

如何在Linux命令行中创建以及展示演示稿

这是代码片段和内联代码的实例效果。

如何在Linux命令行中创建以及展示演示稿

这是嵌套引用的实例效果。

如何在Linux命令行中创建以及展示演示稿

这是放置引文的实例效果。

如何在Linux命令行中创建以及展示演示稿

这是UTF-8编码特殊字符支持的实例效果。

如何在Linux命令行中创建以及展示演示稿

总结

在本教程中,我演示了在命令行中如何使用mdp来创建并且展示一个演示稿。mdp的markdown兼容性让我们省去了学习其它新格式的麻烦,这相对于另一种名为tpp的演示工具来说是一个优势。拘于mdp的局限性,它可能无法作为你的默认演示工具。但是,值得肯定的是它一定能在某个场合下派上用场。你觉得mdp怎么样呢?你还喜欢其它的什么东西吗?

原文发布时间:2015-02-09

本文来自云栖合作伙伴“linux中国”

上一篇:C/C++中的日期和时间 time_t与struct tm转换


下一篇:阿里云ECS云服务器通用型g6和g5的区别以及选择建议