【Marp】基于Markdown-Marp快速制作PPT

【Marp】基于Markdown-Marp快速制作PPT

文章目录

  • 【Marp】基于Markdown-Marp快速制作PPT
    • 零、参考资料
    • 一、Marp基本语法(创建分页,排版图片,更换主题,Marp扩展指令修改样式)
      • 1、创建新的PPT页面
      • 2、插入图片 & 排版图片
      • 3、更改全局主题(default,uncover,gaia)
      • 4、更换单个幻灯片的背景和文字颜色(Marp扩展指令(Directives))
      • 5、将幻灯片导出为 PDF/PPT
    • 二、Marp高阶(Marp扩展指令,CSS全局样式,CSS局部样式,自定义CSS样式)
      • 1、通过Marp扩展指令设置相应样式(全局指令,局部指令)
      • 2、CSS全局样式修改/局部样式修改(CSS与MD的映射,CSS与Marp扩展指令的映射)
        • 1)全局样式修改
        • 2)局部样式修改
      • 3、自定义CSS主题文件(路径配置,声明主题并在MD中引用)
    • 三、Marp实战
      • 1、关于组会PPT的Demo
      • 2、在PPT中快速插入代码和表格

零、参考资料

  • Marp官网
  • Marp Github
  • MyMd2PPT
  • Markdown转组会模板ppt
  • Marp for VS Code v1: IntelliSense for Marp directives
  • 又一款VSCode神级插件Marp,用Markdown来做PPT
  • Markdown PPT | 如何自定义Marp主题
  • 用Markdown制作幻灯片-五分钟学会Marp(上篇)-M110a
  • 用Markdown制作幻灯片-五分钟学会Marp(下篇)-M110b
  • Awesome Marp:我开发了一整套 Marp 主题,Markdown 转换的 PPT 也可以很好看!

除了Marp,Slidev也可以将md转成PPT

  • Slidev 官网(生态比Marp好)
  • Slidev-更适合程序员使用的PPT制作工具

一、Marp基本语法(创建分页,排版图片,更换主题,Marp扩展指令修改样式)

参考

  • 又一款VSCode神级插件Marp,用Markdown来做PPT

  • 用Markdown制作幻灯片-五分钟学会Marp(上篇)-M110a

  • 用Markdown制作幻灯片-五分钟学会Marp(下篇)-M110b

    点击 VS Code「文件」选项卡,选择「新建文件」,在弹出的面板,文件类型选择 Marp Markdown。选择 Marp Markdown 文件后,会新建一个下图的文件,开头有一个配置选项 marp: true,表示使用 Marp 来创建 PPT。点击文件右上角的「预览」按钮,就可以在右侧看到第一个幻灯片页面。

1、创建新的PPT页面

末尾添加 3 个短横线 -,下方就会多出一张新的幻灯片。

2、插入图片 & 排版图片

如果我们想要在幻灯片中插入图片,就会略微麻烦一些。直接插入的本地图片,渲染后会显示为丢失,解决的方法是先将本地图片上传到网上(图床),再粘贴图片链接 ,图片才能正常显示。关于图片的语法如下:

  • 图片缩放
    在这里插入图片描述

  • 图片处理

    在这里插入图片描述

  • 背景图片排版

    • 水平排版:
      在这里插入图片描述

    • 垂直排版:

    在这里插入图片描述

    关于图片的更多排版参数,参考 Image syntax

    在这里插入图片描述

3、更改全局主题(default,uncover,gaia)

Marp 渲染得到的幻灯片默认为白底蓝/黑字,如果你不喜欢默认的样式,可以在 Markdown 文件的开头,更改 theme 字段的值,来更改幻灯片的全局主题。

theme 字段有 3 个值:

  • default(默认值,左对齐排版)
    在这里插入图片描述

  • uncover:所有内容都居中显示,引用内容的样式从竖线变为双引号

    在这里插入图片描述

  • gaia:白色背景更改为浅黄色,有点像一些阅读类 App 的暖光/护眼模式,但我不确定这种颜色是否真的护眼……;如果又想像 uncover 主题那样,让内容居中显示,则再添加一个 class 字段,值设置为 lead 即可;

    在这里插入图片描述

4、更换单个幻灯片的背景和文字颜色(Marp扩展指令(Directives))

参考 Directives

如果想自定义其中一个或多个页面的颜色,则在想要更改幻灯片背景色的页面开头,加上 <!-- _backgroundColor: 颜色--> 字段,就可以更改页面的背景色。

在这里插入图片描述

这里的颜色可以是颜色的英文,例如上面的蓝色 blue,也可以是 rgb 值,这有点像是在写 CSS 样式了;更改文本内容的颜色,需要在下面多配置一个选项 <!-- _color: 颜色-->,就能自定义文本的颜色
在这里插入图片描述

5、将幻灯片导出为 PDF/PPT

点击 Marp Markdown 文件右上角的 Marp 图标(三角形图标),在弹出的面板,选择「Export Slide Deck」,就可以将 PPT 导出为 PDF 啦~

二、Marp高阶(Marp扩展指令,CSS全局样式,CSS局部样式,自定义CSS样式)

参考 Markdown PPT | 如何自定义Marp主题

1、通过Marp扩展指令设置相应样式(全局指令,局部指令)

参考Directives

常用的Marp扩展指令包括

  • 全局指令(指令前不加_)和局部指令(指令前加_)的用法

    # Global directives
    <!-- backgroundColor: aqua -->
    This page has aqua background.# Local directives
    <!-- _backgroundColor: aqua -->
    Add underscore prefix `_` to the name of local directives.
    
  • 全局指令

    在这里插入图片描述

  • 局部指令

    在这里插入图片描述

2、CSS全局样式修改/局部样式修改(CSS与MD的映射,CSS与Marp扩展指令的映射)

CSS与MD的映射:section - ‘画布‘,h1 - ‘#‘,blockquote - ‘>‘… ;

CSS与Marp扩展指令的映射:footer - footer,header - header, …

命令只能对Slide的小部分内容进行调整,如果想要对Slide的文字样式做出调整,那么就需要对全局样式和局部样式做出修改,支持CSS语法。

1)全局样式修改
  • 1)直接在markdown顶部设置style样式

    --
    marp: true
    theme: gaia
    style: | section { background-color: #ccc; } h1 { text-align:left; }
    ---
    

    全局样式的修改是以 style 命令进行的,如上面展示的那样,我们可以在style命令中对样式进行相关修改。

  • 2)自定义CSS样式文件,修改全局样式主题

    ---
    marp: true
    theme: myThemes
    paginate: false
    ---# 基于大数据技术的农业产业园智能化管理与优化研究
    
    /* @theme myThemes */@charset "UTF-8";
    @import 'uncover';/* @import-theme 'default'; */h1 {text-align:left;color: #D32E33;margin-top: 20px;margin-bottom: 20px;font-size:40px;line-height: 25px;
    }
    

    其中myThemes.css为自定义的CSS样式文件,其中的<h1>标签对应MD中的#,会影响MD对应内容的显示效果

2)局部样式修改

在MD中添加CSS样式(加上scoped

参考 Scoped style

如果只想修改本页PPT的样式,可以通过<style scoped>...</style>来添加当前页指定标签的样式,如果不带上scoped,该样式默认会作为下一个分页的样式。

---
marp: true
theme: myThemes
paginate: false
---
<!-- backgroundImage: url("./images/homePage.png") -->
<style scoped>
h1 {text-align:center;color: #D32E33;margin-top: 20px;margin-bottom: 20px;font-size:60px;line-height: 70px;
}
</style># 基于大数据技术的农业产业园智能化管理与优化研究---
<!-- backgroundImage: url("./images/header.png") -->
<!-- _header: 经验分享 --># markdown笔记转为带模板的组会ppt

比如上面展示了首页大标题且居中的效果,但不会影响到下一个分页的样式

在这里插入图片描述

3、自定义CSS主题文件(路径配置,声明主题并在MD中引用)

1)关于CSS文件的路径配置

如果想要使用自己的CSS主题文件,你首先需要在当前md文件夹下新建.vscode 文件夹,在该文件夹下新建settings.json文件,添加如下内容。

{"markdown.marp.themes": ["https://example.com/foo/bar/custom-theme.css","custom theme.css path",]}

custom theme.css path 要添加自定义主题文件的路径,例如 ./themes/UCASSimple.css

2)关于CSS文件中的主题别名设置

除去上面的文件,在CSS 文件头部需要添加 /* @theme <custom theme name>*/ 来声明是这是一个Marp主题,这样在编写.md 文件时就可以借助 theme: <custom theme name> 使用自定义的主题了。

随后CSS文件中需要利用@import 导入已有的主题文件,目前Marp官方有default gaia uncover 三款主题。

接着就可以编写CSS文件自定义主题了。

3)CSS文件示例

/* @theme UCASSce */@charset "UTF-8";
@import 'uncover';section {font-size: 25px;padding: 50px;text-align: left;font-family:Arial, Helvetica, sans-serif;background:whitesmoke;}h1 {text-align:left;color: rgb(60, 112, 198);margin-top: 150px;margin-bottom: 0px;font-size:72px;}header {left: 50px;right: 50px;top: 10px;height: 50px;background-image: url("./images/logo.png"); background-position: right top;background-repeat: no-repeat;background-size: 200px;text-align:left;color: rgb(60, 112, 198);font-weight: bold;font-size:36px;}

自定义CSS样式文件没有起效果的主要原因

  • .vscode文件夹不是项目文件夹下的一级文件夹

    在这里插入图片描述

  • .vscode/setting.json中引用的css文件相对路径有误,此时md文件会报错:

    The specified theme "myThemes" is not recognized by Marp for VS Code.marp-vscode(unknown-theme)
    

    在这里插入图片描述

三、Marp实战

1、关于组会PPT的Demo

参考MyMd2PPT

---
marp: true
theme: TsinghuaPPT
paginate: false
---
<!-- backgroundImage: url("./images/title.png") --><!-- _header: 经验分享 --># markdown笔记转为带模板的组会ppt## 动机
个人习惯用markdown来记录笔记,但是组会汇报又需要固定的模板,一遍遍复制过去太耗时间,于是需要寻找一个高效的md转换为组会ppt的方法## 步骤1. 安装Marp for VSCode
2. 看其他教程学习Marp基础用法
3. 在.vscode中注册自定义主题
4. 编写自定义theme的.css文件
5. 享受效率吧!---<!-- headingDivider:  -->
<!-- prerender: true -->
<!-- _header: 工作汇报 --># 一级标题
一级内容
> “How well does simulation match the real world? What is the value of simulation vis-a-vis testing in a physical environment that includes other vehicles, pedestrians, and other road users?  
> 模拟与真实世界的匹配程度如何?在包含其他车辆、行人和其他道路使用者的物理环境中,仿真对测试的价值是什么?” ([pdf](zotero://open-pdf/library/items/9AULW8RM?page=1))
## 二级标题
二级内容<!-- _footer:  ■ 总结框模板  -->---![bg](./images/thanks.png)

其中PPT主题用到的CSS样式如下:

/* @theme TsinghuaPPT */@charset "UTF-8";
@import 'uncover';/* @import-theme 'default'; */section {font-size: 25px;padding-left: 50px;padding-right: 45px;text-align: left;letter-spacing: 2px;font-family:Arial, Helvetica, sans-serif;background-image: url('./title2.jpg') ;/* background-repeat:no-repeat; *//* background-attachment:fixed; *//* background-position:center; *//* margin-top: 40px; */padding-top: 75px;}h1 {
text-align:left;
color: rgb(146, 46, 142);
margin-top: 20px;
margin-bottom: 20px;
font-size:40px;
line-height: 25px;
}h2 {
text-align:left;
margin-top: 12px;
font-size: 30px;
line-height: 25px;
margin-bottom: 15px;
}h3 {text-align:left;margin-top: 10px;margin-bottom: 12px;font-size: 27px;line-height: 25px;}p {text-align:left;font-size: 22px;margin-top: 7px;margin-bottom: 10px;letter-spacing: 1px;/* text-indent: 50px; */
}header {left: 57px;right: 50px;top: 15px;height: 50px;/* background-image: url("./header.png"); background-position: center;background-repeat: no-repeat; *//* background-size: 200px; */text-align:left;color: rgb(146, 46, 142);font-weight: bold;font-size:40px;
}footer {height: auto;font-size:28px;border-color: rgb(146, 46, 142);/* border: 10px; */border-width: 4px;border-style: solid;font-weight: bold;list-style-type: square;content: 'shsh';padding-left: 20px;padding-top: 12px;padding-bottom: 12px;color: rgb(37, 64, 97);/* display:inline-block; */
}/* blockquote {background-color: rgba(231,247,239,1.0);padding: 10px;padding-inline-start: 20px;border-radius: 10px;
} */blockquote {background: rgba(173, 216, 230, 0.15);border-left: 10px solid rgb(173, 216, 230);/* margin: 1.5em 10px; */padding: 0.5em 10px;border-top-right-radius: 3px;border-bottom-right-radius: 3px;/* quotes: "\201C""\201D""\2018""\2019"; */
}
blockquote:before {color: #ccc;content: none;/* font-size: 4em;line-height: 0.1em;margin-right: 0.25em;vertical-align: -0.4em; */
}
blockquote:after {color: #ccc;content: none;/* font-size: 4em;line-height: 0.1em;margin-right: 0.25em;vertical-align: -0.4em; */
}
blockquote p {display: inline;
}

效果如下:

在这里插入图片描述

在这里插入图片描述

2、在PPT中快速插入代码和表格

这里可以结合Markdown语法优势,在PPT中快速插入代码、公式和表格

在这里插入图片描述
在这里插入图片描述

但是存在的问题是markdown的表格和代码不太好水平排版

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

架构设计系列之基础:软件架构设计演化史(一)

在软件架构演化历程中&#xff0c;每一种风格的架构诞生并非一蹴而就&#xff0c;而是经历了持续的演变和优化。本部分内容主要探讨软件架构设计的演化史以及不同时代的演化过程。 一、原始分布式时代的 Unix 设计哲学下的服务探索 1 、Unix 的分布式设计哲学 Simplicity of…

AI智能雷达名片平台版小程序源码系统 附带完整的搭建教程

随着人工智能技术的快速发展&#xff0c;名片交往在商务社交中变得越来越重要。然而&#xff0c;传统的名片管理系统存在许多问题&#xff0c;如信息不准确、更新不及时、无法快速筛选等。为了解决这些问题&#xff0c;我们开发了AI智能雷达名片平台版小程序源码系统。该系统基…

初学vue3与ts:vue3选项式api获取当前路由地址

vue2的获取方法 this.$route.pathvue3选项式api获取方法 import { useRouter } from vue-router; const router useRouter(); console.log(router) console.log(router.currentRoute.value.path)

Java 基础学习(七)final、static、抽象

1 final 关键字 1.1 final修饰变量 1.1.1 final概述 final单词直译为“最终的“&#xff0c;在Java中可以用来修饰变量、方法和类&#xff1a; final修饰的变量&#xff1a;可以初始化&#xff0c;不能再更改final修饰的方法&#xff1a;不能在子类中重写final修饰的类&…

C - 语言->内存函数

目录 系列文章目录 前言 1. memcpy使⽤和模拟实现 1.2 memcpy函数的模拟实现: 2. memmove 使⽤和模拟实现 2.1memmove的模拟实现&#xff1a; 3. memset 函数的使⽤ 4. memcmp 函数的使⽤ 系列文章目录 ✅作者简介&#xff1a;大家好&#xff0c;我是橘橙黄又青&#xff…

C++[面向对象的程序设计]_基础入门(中)(万字总结)(建议收藏!!!)

目录 2. C 核心编程 2.1 程序的内存模型 2.1.1 内存四区 - 代码区 2.1.2 内存四区 - 全局区 2.1.3 内存四区 - 栈区 2.1.4 内存四区 - 堆区 2.1.5 new 运算符 2.2 C 中的引用 2.2.1 引用的基本语法 2.2.2 引用的注意事项 2.2.3 引用做函数参数 2.2.4 引用做函数返回…

VMALL 商城系统

SpringBoot MySQL Vue等技术实现 技术栈 核心框架&#xff1a;SpringBoot 持久层框架&#xff1a;MyBatis 模板框架&#xff1a;Vue 数据库&#xff1a;MySQL 阿里云短信&#xff0c;对象存储OSS 项目包含源码和数据库文件。 效果图如下&#xff1a;

双十二哪款超声波清洗机性价比高?性价比高超声波清洗机推荐

距离双十二还有一天时间了&#xff0c;有没有眼镜党朋友还没有选购好超声波清洗机。眼镜清洗用超声波清洗机清洗可以非常省事&#xff0c;不仅能清洗眼镜还可以清洗日常生活中的一些小物件&#xff0c;可以说是非常方便的一个智能清洁工具&#xff0c;非常适合上班族以及眼镜党…

SpringDataJPA基础

简介 Spring Data为数据访问层提供了熟悉且一致的Spring编程模版&#xff0c;对于每种持久性存储&#xff0c;业务代码通常需要提供不同存储库提供对不同CURD持久化操作。Spring Data为这些持久性存储以及特定实现提供了通用的接口和模版。其目的是统一简化对不同类型持久性存储…

静态SOCKS5的未来发展趋势和新兴应用场景

随着网络技术的不断发展和进步&#xff0c;静态SOCKS5代理也在不断地完善和发展。未来&#xff0c;静态SOCKS5代理将会呈现以下发展趋势和新兴应用场景。 一、发展趋势 安全性更高&#xff1a;随着网络安全问题的日益突出&#xff0c;用户对代理服务器的安全性要求也越来越高…

Java项目-瑞吉外卖Day2

完善登录功能&#xff1a; 完善未登录不能访问/backend/index.html。使用拦截器或过滤器。 创建过滤器。 重写doFilter方法。 查看是否过滤成功。 处理流程如下&#xff1a; 添加员工功能&#xff1a; 点击保存&#xff0c;可以看到请求信息。 再看前端代码&a…

「大模型摇摇乐」硬核教程:零基础搞定文案生成应用!

大模型趣味赛「大模型摇摇乐」活动火热进行中。想要更加了解本次活动的规则并拿到更丰富的奖励吗&#xff1f;快来看本教程吧&#xff01;本文将以“AI 一键生成文案”为例进行教程讲解&#xff5e; 项目简介 设计背景 为什么做这个项目 在社交媒体日益流行的时代&#xff…