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

admin5个月前笔记38

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

什么是Mdp?

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

在Linux中安装Mdp

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

Debian、Ubuntu或者它们的衍生版
$ sudo apt-get install git gcc make libncursesw5-dev	
$ git clone https://github.com/visit1985/mdp.git 	
$ cd mdp
$ make
$ sudo make install
Fedora或者CentOS/RHEL
$ sudo yum install git gcc make ncurses-devel
$ 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页的演示稿样本可供参考。

 	%title: Sample Presentation made with mdp (Xmodulo.com)
 	%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的文本文件后,你可以运行以下命令来展示演示稿:

 	$ mdp slide.md

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

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png


相关文章

教你实现Vscode的Markdown预览

教你实现Vscode的Markdown预览

vscode 的 markdown 预览是我们整天都在用的功能,有没有想过它是怎么实现的。或许有一天你会接到个定制 markdown 预览的需求,应该怎么做呢?其实整体思路比较简单,就是创建一个 we...

虚拟主机访问不了,虚拟云主机访问慢怎么办

虚拟主机访问不了,虚拟云主机访问慢怎么办

虚拟主机访问不了。虚拟云主机访问慢怎么办?为啥的虚拟主机访问不了?假如选购了虚拟主机。发觉访问不了。能够一一清查:网络服务器是不是一切正常打开;解析域名。绑定是不是一切正常;服务器网络是不是一切正常等...

OpenAI 推出超神 ChatGPT 注册攻略来了

OpenAI 推出超神 ChatGPT 注册攻略来了

前几天,OpenAI 推出超神 ChatGPT,非常火爆。但是呢,因为不可抗力原因,大部分人无法体验到。这里我分享一下注册的攻略。准备首先能能访问 Google(前置条件,不能明确说,懂得都懂)你得有...

解析MySQL 配置文件 my.cnf / my.ini 区别

充分理解 MySQL 配置文件中各个变量的意义对我们有针对性的优化 MySQL 数据库性能有非常大的意义。我们需要根据不同的数据量级,不同的生产环境情况对 MySQL 配置文件进行优化。一、配置文件m...

具体详实给你讲什么是系统解耦

具体详实给你讲什么是系统解耦

在软件开发领域,解耦这个词相信大家都不陌生。在面向对象的语境下,我们会应用SOLID原则来构建高内聚低耦合的应用,实现模块间的解耦;在复杂业务系统分析和建模时,会通过DDD的战略和战术设计帮助划分领域...

JavaScript对象重构

JavaScript对象重构

用常量来表示数字如果我们有很多重复的值且表示一样的含义,但没有明确地说明,那么我们应该将它们转换为常量,以便每个人都知道它们的含义,并且如果需要更改,我们只需更改一个地方就行了。例如我们可能会这样写代...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。