0

0

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

WBOY

WBOY

发布时间:2024-07-06 10:49:18

|

653人浏览过

|

来源于Linux就该这么学

转载

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页幻灯)来操作你的演示稿。

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

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

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

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

PathFinder
PathFinder

AI驱动的销售漏斗分析工具

下载

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

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

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

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

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

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

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

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

总结

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

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

531

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

576

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

760

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

6231

2023.08.17

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

492

2023.09.01

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

Js中concat和push的区别
Js中concat和push的区别

Js中concat和push的区别:1、concat用于将两个或多个数组合并成一个新数组,并返回这个新数组,而push用于向数组的末尾添加一个或多个元素,并返回修改后的数组的新长度;2、concat不会修改原始数组,是创建新的数组,而push会修改原数组,将新元素添加到原数组的末尾等等。本专题为大家提供concat和push相关的文章、下载、课程内容,供大家免费下载体验。

240

2023.09.14

js截取字符串的方法介绍
js截取字符串的方法介绍

JavaScript字符串截取方法,包括substring、slice、substr、charAt和split方法。这些方法可以根据具体需求,灵活地截取字符串的不同部分。在实际开发中,根据具体情况选择合适的方法进行字符串截取,能够提高代码的效率和可读性 。

303

2023.09.21

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

37

2026.03.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.5万人学习

Git 教程
Git 教程

共21课时 | 4.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号