一、Marp是什么
Marp是一个轻量的框架,可以将MarkDown编写的文档转换为PPT,从而解放开发者制作PPT的繁琐过程,只要专注于内容的编写即可。
当然,Marp制作的PPT只能满足日常汇报的需求,并不能像PPT一样实现极高自由度的排版,但对于开发者而言,尤其是习惯用MarkDown写资料的人来说,是制作PPT的趁手利器。
二、为什么要使用Marp
Marp提供了CLI和vscode插件两种使用方式,毫无疑问,开发者果断选择vscode插件的方式,只要在插件市场搜索marp下载使用即可。
Marp制作的PPT可以导出多种格式,比如PDF、PPT等,方便移动共享。
在vscode上的右上角,点击marp的图标,选择Toggle Marp Feature For Current Markdown
,就会在当前markdown文档中插入marp开关:
---
marp: true
---
默认为true表示开启marp模式,此时点击markdown预览就会显示PPT模式,当值改为false时,就表示关闭marp模式,此时点击markdown预览就显示普通模式。
三、常见的Marp语法
最全最多的语法规则可以参考第四部分中的参考文档,这里只是列举用的最多比较简单的语法。
3.1 基础语法
-
分页,用
---
就可以手动切换下一个幻灯片页; -
注释,用注释符号标注的内容不会显示在幻灯片上,但是在演讲者模式下,演讲者能看到这些提示信息;
--- marp: true --- <!--提醒用户这里是注释信息--> ## page1 --- ## page2
-
头信息,用如下格式标注当前文档的一些元信息:
--- marp: true theme: default paginate: true ---
其中字段的含义依次为是否开启marp渲染、主题、是否开启分页;
3.2 指令语法
指令分两种类型:
-
全局指令,在文档头部元信息中声明的,将具有全局作用域;
theme,指定使用的主题,官方提供了default、gaia、uncover三种主题;
-
headingDivider,根据指定的标题级别自动分页,这样就不用
---
来分页了;#为级别1,##为级别2,###为级别3,指定2的话,那么1和2级别的标题都会自动分页;
-
局部指令,在幻灯片内声明的,以
包裹的
,以_
开头的,将具有局部本地作用域,仅对当前幻灯片生效;局部指令也可以放在全局生效;- paginate,自动显示分页号;
- _paginate,false表示首页的页号不展示;
- header,设置页头信息;
- footer,设置页脚信息;
- color,设置字体颜色;
3.3 图片语法
大小;
过滤,滤镜效果;
幻灯片背景;
-
背景大小;
-
多张背景,水平、垂直;
背景文字分离;
-
多张背景图片和文字分离;
3.4 主题CSS
每张幻灯片在marp处理后,都是包裹在<section></section>
中的,所以我们直接使用CSS的样式写法也能对幻灯片的样式产生作用。
全局样式
-
局部本地样式