Marp精华总结(一)基础篇

news2024/11/18 23:34:17

概述

  • Marp是一个基于MarkDown快速编写幻灯片的工具,其可以基于VScode环境,实现MarkDown幻灯的编写和预览。
  • Marp并不难,但是目前的教程还比较零散,而且很多细节和高级内容并没有完全展示,我自己是很早就体验到了Marp的妙处,所以一直在尝试纳入自己的日常使用。
  • 本系列以更简易直观的方式带领大家一同学习Marp的使用

环境搭建

Marp要基于VScode编辑器使用,所以首先你得有一个VScode编辑器。

安装Marp for VS Code

在VSCode扩展页面,搜索关键词“Marp”,找到并安装“Marp for VS Code”扩展。

开使项目

创建一个空文件夹,用VSCode打开,新建一个.md文件。

按照正常的MarkDown语法书写你的内容即可。

预览和Marp操作

在VSCode中正确安装Marp for VS Code扩展后,在打开.md后缀名的MarkDown文件后,就可以看到右上角有一个特殊的按钮,这就是Marp操作的按钮。

其右侧的预览按钮就是VSCode本身自带的MarkDown预览按钮,可以在右侧打开预览。

点击Marp操作按钮后,会在顶部弹出两个选项:

  • 第一项是“导出幻灯”
  • 第二项是“对当前MarkDown切换Marp功能”

点击第二项后,会在普通.md文件的顶部创建如下内容:

这部分被叫做Marp的YAML头,类似于是给普通MarkDown文档添加了元信息,用于区别普通MarkDown和Marp幻灯片。

---
marp: true
---

实际上你可以一直用选项来回切换,也可以手动设定marp的值为falsetrue来切换模式。

Marp幻灯模式下,我们打开MarkDown预览,会发现显示为一个空幻灯页面:

创建标题页

你可以按照MarkDown文档本身的习惯,将一个一级标题作为标题页或者封面页:

添加新页面

设定标题自动分页

通过headingDivider指令,可以设定标题自动分页,你可以指定对几级标题进行自动分页。

比如:

headingDivider: 2

含义就是所有的2级标题自动另起一页。

再比如:

headingDivider: [2,3]

含义就是所有的2、3级标题自动另起一页。

通常设定2级标题自动分页即可。设定好后,添加新的二级标题,将会创建单独的页面:

标题自动分页可以在最大程度上保留原MarkDown文档的结构,而且免去了手动分页的麻烦。

手动分页

---可以设定强制分页,可以在标题自动分页的基础上更好的划分内容

注意:---之前必须有一个空行,如果不想添加空行,可以使用:
● 下划线标尺 ___
● 星号标尺***
● 包含空格的标尺- - -

手动分页的效果:

手动分页往往用于单个标题下内容比较多,需要多个页面显示的情形。

幻灯片设置

设定幻灯片比例

通过size,可以设定幻灯片比例,默认主题可以选择4:316:9,不显式设定的话,默认为16:9

size: 4:3

其中的4:316:9是主题内部用@size指令定义好的。其他尺寸只有自定义主题中定义后才可以使用。

设定页眉和页脚

全局设定
---
header: 这里是页眉
footer: 这里是页脚
---

影响之后所有页面
<!-- header: 页眉 -->

只影响本页面
<!-- _header: 页眉 -->

在页眉、页脚中使用MD语法

headerfooter设定中,可以通过单引号/双引号赋值。内容就可以使用MarkDown语法来设定文字的粗斜体以及引入图片等:

header: "*这里是***页眉**"
footer: "![w:40](image.png) 这里是页脚"

  • 技巧:在VSCode中选中文本后,可以用Ctrl+B设定为粗体,按Ctrl+I设为斜体

显示页码

paginate用于设定是否显示页码,默认为false

paginate: true

设为true后将默认在右下角显示页码。

修改背景色

backgroundColor: aqua

使用渐变背景

设定backgroundImage为CSS渐变,就可以获得渐变色背景:

backgroundImage: linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%)

或者在CSS或自定义主题中设定:

section{
  background-image: linear-gradient(120deg, #f6d365 0%, #fda085 100%);
}
  • https://webgradients.com/ 网站有现成的CSS渐变配色方案,可以一键复制CSS

关于CSS设定的部分,详见高级篇。

修改字色

color用于修改页面的文字颜色:

color: aqua

使用图片

如果是在VSCode中编辑,可以粘贴截图,MarkDown原本的图片也会被正确识别和显示,但大小是原始大小。

调整图像大小

Marp扩展了原生MarkDown的图片语法,方括号内原本是图片的描述信息,但是在marp中,其中可以添加对图片的控制指令,包括图片的尺寸、施加的滤镜等。

  • 可以通过widthheight关键字参数来调整图片大小:
![width:200px](image.jpg)             <!-- 设置宽度为200px -->
![height:30cm](image.jpg)             <!-- 设置高度为300px -->
![width:200px height:30cm](image.jpg) <!-- 同时设置宽度和高度 -->
  • 也可以用简写的wh
![w:32 h:32](image.jpg)               <!--设置尺寸为32x32px -->

内联图像只允许auto关键字和CSS中定义的长度单位。
与视口大小相关的几个单位(例如vw、vh、vmin、vmax)不能用于确保不变的渲染结果。

为图片添加滤镜

  • 其本质是基于CSS滤镜

以下是官方文档列出的支持的滤镜:

滤镜不带参数写法带参数写法
高斯模糊![blur]()![blur:10px]()
亮度![brightness]()![brightness:1.5]()
对比度![contrast]()![contrast:200%]()
阴影![drop-shadow]()![drop-shadow:0,5px,10px,rgba(0,0,0,.4)]()
灰度![grayscale]()![grayscale:1]()
色相旋转![hue-rotate]()![hue-rotate:180deg]()
反相![invert]()![invert:100%]()
透明度![opacity]()![opacity:.5]()
饱和度![saturate]()![saturate:2.0]()
褐色化?![sepia]()![sepia:1.0]()
  • 对同一张图片可以叠加多种滤镜

设定背景图片

  • 可以通过在方括号内添加bg指令将一张图片设定为当前页面的背景,同样你可以设定高度、宽度以及使用图片滤镜

设定为背景后,默认为cover模式,也就是:

![bg cover brightness:1.2](image-1.png)

效果就是完全覆盖整张幻灯。

将背景放置于一侧

可以用rightleft将背景图片放置到幻灯的一侧,默认占据50%宽度:

可以用类似right:30%left:20%这样的设定来设置背景图所占区域大小。

另外还可以单独设定一个背景图片的缩放百分比:

多背景并列

可以看到在一侧的并列背景,共同占有页面右侧40%的空间。

目前版本好像不支持同时存在左右背景设置。

如果不设定rightleft,则并列背景图会共同占据整个页面:

背景图用于模拟插入图片

默认的图片插入效果,有时候可能并不能让人满意,可以使用背景图片形式进行普通图片的模拟。

导出

幻灯做好之后,可以点击,marp的按钮,选择第一项“导出幻灯”:

点击后会弹出对话框,你可以选择导出4种格式,分别是:

  • PDF幻灯片(.pdf):导出一个可以放映的PDF幻灯
  • 网页幻灯片(.html):导出一个可以全屏放映的网页版幻灯
  • PowerPoint幻灯片(.pptx):导出为.pptx文档,但是全部是图片,可以放映但不可编辑
  • PNG或JPG图片:可以将幻灯按顺序导出为png或jpg序列

总结

本文介绍Marp的基础使用,包括使用环境、创建项目,开启marp模式,幻灯片的基础设定、图片和背景图片的使用等等基础内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2169283.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言进阶之泛型列表(Generic List)

1.前言 数据结构是需要泛型的,而在C语言中实现泛型就只能去用指针魔法了,来跟我一起实现吧!所有代码经测试未发现明显bug,可放心食用. 2.代码截图展示 1.list.h 2.main.c 3.list.c 3.结语 这次分享的列表采用动态数组的方式实现,下次我会去用链表实现,两种实现方式各有优劣,希…

通信工程学习:什么是VIM虚拟化基础设施管理器

VIM:虚拟化基础设施管理器 VIM(Virtualized Infrastructure Manager)虚拟化基础设施管理器,是一种负责管理和控制虚拟化环境中所有虚拟资源的工具和系统。以下是关于VIM虚拟化基础设施管理器的详细解释: 一、定义与功能 VIM是网络功能虚拟化(NFV)架构中…

DVWA-File Inclusion(文件包含)渗透测试

概念&#xff1a; 漏洞产生原因&#xff1a; 主要是由于开发人员没有对用户输入的文件路径进行严格的过滤和验证。例如&#xff0c;如果一个 Web 应用程序接受用户输入的文件路径&#xff0c;然后使用这个路径进行文件包含&#xff0c;而没有对用户输入进行任何检查&#xff0c…

dll 研究 1

起因&#xff0c; 目的: 就是想看看 dll 里面有什么。 过程: 找到&#xff0c;打开 dumpbin 在开始菜单中搜索 “Developer Command Prompt for VS”打开&#xff0c; 然后输入 dumpbin 查看 a.dll 中 dumpbin /headers a.dll 查看头部信息dumpbin /EXPORTS a.dlldumpbin /a…

基于SSM+小程序的在线课堂微信管理系统(在线课堂1)(源码+sql脚本+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 &emsp1、管理员实现了首页、个人中心、用户管理、课程分类管理、课程信息管理、课程订阅管理、课程视频管理、公告栏管理、留言板管理、系统管理。 2、用户实现了首页、课程信息、公…

Web3Auth 如何工作?

Web3Auth 用作钱包基础设施&#xff0c;为去中心化应用程序 (dApp) 和区块链钱包提供增强的灵活性和安全性。在本文档中&#xff0c;我们将探索 Web3Auth 的功能&#xff0c;展示它如何为每个用户和应用程序生成唯一的加密密钥提供程序。 高级架构 Web3Auth SDK 完全存在于用…

消息号 FS215 对科目 2221010200 7333允许销项税, J1 不允许

业务场景&#xff1a; 在做发票校验时&#xff0c;报错“消息号 FS215 对科目 2221010200 7333允许销项税, J1 不允许”而且计算税额失效&#xff0c;红灯报错。 初步怀疑是税码配置问题 FTXP J1是进项税&#xff0c;但是这里维护了销项税和均一税&#xff0c;在这里删除是需…

【Python开发环境搭建】在pycharm中使用虚拟环境进行开发

每个虚拟环境都是独立的&#xff0c;打包生成的exe文件更加小巧&#xff0c;不会因为兼容性问题出现干扰 1、打开项目后&#xff0c;在右下角点击Python解释器&#xff0c;选择添加新的解释器&#xff0c;添加本地解释器 2、选择新建&#xff0c;选择合适的路径&#xff0c;取…

商业终端数据打包-android-鸿蒙——国产系统-———未来之窗行业应用跨平台架构

一、未来之窗星辰传送阵炼化炉横空出世 以下是为您编写的引言&#xff1a; 在当今的网络世界中&#xff0c;网页隔段时间就提示登录的现象令人困扰&#xff0c;严重影响了终端交互的流畅性。传统的设备 ID 识别方式存在无法动态变更数据的局限&#xff0c;轮询模式更是会使服务…

C# 利用simd比较两个文件是否相等(高性能)

主要用到两个指令集&#xff0c;CompareEqual指令与MoveMask指令&#xff0c;因为电脑cpu原因&#xff0c;我们采用Avx2。 Avx2.CompareEqual&#xff0c;比较两个Vector256<byte>向量&#xff0c;如果元素相同返回255&#xff0c;否则返回0。 Avx2.MoveMask如果Vector…

滚珠丝杠在人形机器人及线控制动和转向中大放异彩

直线驱动器用于对旋转角度不大、高负载的场景,在人形机器人中多用于四肢。直线驱动器多采取“电机+丝杠”,将旋转运动转为关节末端的直线运动,能够起到较好的支撑和承重效果,能够较好的适配应用场景的负载需求。 特斯拉人形机器人Optimus 双足、双臂采用连杆结构,连杆末端…

GS-SLAM论文阅读笔记--GEVO

前言 这篇文章看着就让人好奇。众所周知&#xff0c;高斯是一个很不错的建图方法&#xff0c;但是本文的题目居然是只用高斯进行单目VO&#xff0c;咱也不知道这是怎么个流程&#xff0c;看了一下作者来自于MIT&#xff0c;说不定是个不错的工作&#xff0c;那就具体看看吧&am…

IDEA服务启动时无法输出日志

起服务时&#xff0c;控制台啥日志也没有 解决方案&#xff1a;选择【启用调试输出】 SQL的日志无法打印 原来安装了一个Mybatis Log Free&#xff0c;用的好好的。 后来换了个项目&#xff0c;SQL执行日志就打印不出来了。 解决方案&#xff1a;换个插件&#xff0c;我换了…

Python语言把二进制转成十六进制

0 Preface/Foreword 0.1 10进制转其他进制 bin()oct()hex() 0.2 其他进制转10进制 int(, 2)int(, 8)int(, 16) 1 转换方法 1.1 方法1 先将二进制转成10进制&#xff0c;再将10进制转成16进制 decim int(00000101, 2) hexadecim hex(decim) print hexadecim 1.2 方法…

Snap AR眼镜Spectacles的技术揭秘:通往真正AR体验的道路

Snap公司自2010年成立以来&#xff0c;一直致力于探索增强现实&#xff08;AR&#xff09;技术的边界。经过多年的研发与迭代&#xff0c;Snap终于在最新一代Spectacles中实现了重大突破&#xff0c;为用户带来了前所未有的沉浸式AR体验。本文将深入探讨Spectacles的发展历程、…

【vue3】登录功能怎么实现?

无论是手机端还是pc端&#xff0c;几乎都包含登录注册方面功能&#xff0c;今天总结登录注册功能。 实现功能 注册 密码加密 登录 校验 token处理 1.环境搭建运行&#xff08;nodeexpressmongodb&#xff09; 在目录里安装express和mongoose&#xff0c;并在根目录创建server.j…

C语言编译和链接详解(通俗易懂,深入本质)

我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。在 Windows 下,可执行程序的后缀有.exe和.com(其中.exe比较常见);在类 UNIX 系统(Linux、Mac OS 等)下,可执行程序没有特定的后缀,系统根据文件的头部信息来判…

YOLOv8改进 - 注意力篇 - 引入SK网络注意力机制

一、本文介绍 作为入门性篇章&#xff0c;这里介绍了SK网络注意力在YOLOv8中的使用。包含SK原理分析&#xff0c;SK的代码、SK的使用方法、以及添加以后的yaml文件及运行记录。 二、SK原理分析 SK官方论文地址&#xff1a;SK注意力文章 SK注意力机制:SK网络中的神经元可以捕…

音视频通话 SDK

腾讯云视立方音视频通话 SDK 是音视频终端 SDK&#xff08;腾讯云视立方&#xff09;的子产品 SDK 之一&#xff0c;基于音视频通话场景&#xff0c;提供专属含 UI 快速接入方案&#xff0c;仅需三步即可快速集成上线&#xff0c;轻松实现1对1视频聊天、多人视频通话和聊天应用…

内网基础知识

内网基础知识 寄了&#xff0c;最后net time /domain命令还是运行不了 内网也指局域网(Local Area Network&#xff0c;LAN)&#xff0c;是指在某一区域内由多台计算机互连而成的计算机组&#xff0c;组网范围通常在数千米以内。 工作组 work group 一种资源管理模式&#…