Markdown还能这么玩?这款开源神器绝了!

news2025/7/18 8:19:18

Markdown是一款轻量级标记语言,由于它易读易写的特性,很多程序员用它来写项目文档。其实Markdown的功能不止于此,结合一些工具使用还可以用来做PPT,今天带大家使用Markdown来做一个PPT,看看到底有多炫酷!

Slidev简介

Slidev是一款专门为开发者打造的演示文稿工具,目前在Github上已有23K+Star。通过Slidev,我们只要使用熟悉的Markdown就可以做出炫酷的PPT来,同时拥有支持HTML和Vue组件的能力,并且能够呈现像素级完美的布局。

它的主要功能如下:

下面是我用Slidev制作的mall项目介绍PPT的效果图,还是挺炫酷的大家可以看下!

安装

在使用Slidev制作PPT之前,我们需要先安装下它的环境。

  • 确保电脑上已经安装了NodeJS 14以上版本,然后使用如下命令初始化项目:
npm init slidev
复制代码
  • 安装过程中我们需要输入项目名称mall-intro-sldev,安装完成后会自行启动;

  • 如果项目被关闭了,也可以使用如下命令运行;
npm run dev
复制代码
  • 当然你也可以安装Slidev的CLI工具后使用slidev命令来运行;
npm i -g @slidev/cli
复制代码
  • 安装完成后项目默认运行在3030端口,访问地址:http://localhost:3030/

  • 由于是使用Markdown来编写PPT,你可以使用任意的Markdown编辑器,比如Typora或者MarkText,这里使用的是VSCode,因为它有Slidev专属的插件可以使用;

  • VSCode的使用这里就不再赘述了,具体可以参考之前的文章VSCode使用教程

  • 安装完成后直接用VSCode打开Slidev初始化好的文件夹即可,打开默认的PPT文件slides.md,然后打开插件视图即可开始编辑。

使用

环境搭建完毕,下面我们就可以开始制作PPT了,这里以mall项目的介绍PPT为例。

使用主题

  • 在使用Slidev之前,我们最好选择一个炫酷的主题,Slidev提供的主题还是挺多的,选择一个自己喜欢的就好;

  • 这里我们使用Penguin这个主题,使用如下命令安装主题;
npm i slidev-theme-penguin
复制代码
  • 如果遇到如下提示,需要安装sass
# 提示信息:Preprocessor dependency "sass" not found. Did you install it?
npm i sass
复制代码
  • 安装完成后,我们在Markdown文档顶部修改theme属性即可使用主题。
---
theme: penguin
---
复制代码

使用布局

通过布局我们可以很好地控制PPT中的内容,不同的主题也拥有不同的布局,这里以penguin主题为例。

  • 我们先来编写一个PPT的封面页,使用的是intro布局,---符号之间的是页面配置,---之后的是PPT中的内容;
---
# 配置主题
theme: penguin
# 幻灯片的配色方案,可以使用 'auto','light' 或者 'dark'
colorSchema: 'auto'
layout: intro
# 代码语法高亮设置,可以使用 'prism' 或 'shiki' 方案
highlighter: shiki
# 用于主题定制
themeConfig:
# 配置封面页左上角Logo
logoHeader: '/logo_round.png'
# 配置全局左下角Logo
eventLogo: '/github.png'
# 配置全局左下角Logo跳转路径
eventUrl: 'https://github.com/macrozheng'  
css: unocss
---

# Mall开源电商项目

`mall`项目致力于打造一个完整的电商系统,采用现阶段流行技术实现。

<div class="pt-12">
  <span @click="next" class="px-2 p-1 rounded cursor-pointer hover:bg-white hover:bg-opacity-10">
    快速开始 <carbon:arrow-right class="inline"/>
  </span>
</div>
复制代码
  • 由于我们将新的PPT内容放到了mall-slidev.md文件中,因此启动时需要使用slidev mall-slidev.md命令,展示效果如下;

  • 我们再来编写一个presenter布局,可用于展示PPT作者的信息;
---
layout: presenter
# 配置作者头像
presenterImage: '/logo.png'
---

# macrozheng的个人介绍

SpringBoot实战电商项目mall(50K+Star)的作者。

- Github:https://github.com/macrozheng
- Gitee:https://gitee.com/macrozheng
- 掘金:https://juejin.cn/user/958429871749192
- 知乎:https://www.zhihu.com/people/macrozheng
复制代码
  • 演示者布局展示如下;

  • 如果没有特殊需求的话,可以使用默认布局;
layout: default
---

# 项目介绍

`mall`项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

- 文档地址:[https://www.macrozheng.com](https://www.macrozheng.com)
- 备用地址:[https://macrozheng.github.io/mall-learning](https://macrozheng.github.io/mall-learning)
复制代码
  • 默认布局展示如下;

  • 如果我们想在PPT中同时展示文本和图片,可以使用text-image布局,通过reverse属性我们可以控制图片在左还是在右;
---
layout: text-image
media: 'http://img.macrozheng.com/mall/project/mall_admin_show.png'
reverse: false
---

# 项目演示

### 后台管理系统

mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。 主要包括商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等功能。

- 前端项目mall-admin-web地址:https://github.com/macrozheng/mall-admin-web

- 项目演示地址: [https://www.macrozheng.com/admin/index.html](https://www.macrozheng.com/admin/index.html) 
复制代码
  • 文本图片布局展示如下;

  • 对于默认布局我们如果不需要配置的话,可以简写成功---
---

# 技术选型-后端

| 技术                 | 说明                | 官网                                           |
| -------------------- | ------------------- | ---------------------------------------------- |
| SpringBoot           | 容器+MVC框架        | https://spring.io/projects/spring-boot         |
| SpringSecurity       | 认证和授权框架      | https://spring.io/projects/spring-security     |
| MyBatis              | ORM框架             | http://www.mybatis.org/mybatis-3/zh/index.html |
| MyBatisGenerator     | 数据层代码生成      | http://www.mybatis.org/generator/index.html    |
| Elasticsearch        | 搜索引擎            | https://github.com/elastic/elasticsearch       |
| RabbitMQ             | 消息队列            | https://www.rabbitmq.com/                      |
| Redis                | 分布式缓存          | https://redis.io/                              |
| MongoDB              | NoSql数据库         | https://www.mongodb.com                        |
| LogStash             | 日志收集工具        | https://github.com/elastic/logstash            |
| Kibana               | 日志可视化查看工具  | https://github.com/elastic/kibana              |
| Nginx                | 静态资源服务器      | https://www.nginx.com/                         |
| Docker               | 应用容器引擎        | https://www.docker.com                         |
| Jenkins              | 自动化部署工具      | https://github.com/jenkinsci/jenkins           |
| Druid                | 数据库连接池        | https://github.com/alibaba/druid               |
| OSS                  | 对象存储            | https://github.com/aliyun/aliyun-oss-java-sdk  |
| MinIO                | 对象存储            | https://github.com/minio/minio                 |
| JWT                  | JWT登录支持         | https://github.com/jwtk/jjwt                   |
| Lombok               | 简化对象封装工具    | https://github.com/rzwitserloot/lombok         |
| Hutool               | Java工具类库        | https://github.com/looly/hutool                |
| PageHelper           | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper |
| Swagger-UI           | 文档生成工具        | https://github.com/swagger-api/swagger-ui      |
| Hibernator-Validator | 验证框架            | http://hibernate.org/validator                 |
复制代码
  • 有时候我们需要PPT内容全部居中,可以使用new-section布局;
---
layout: new-section
---

# 系统架构

![系统架构图](http://img.macrozheng.com/mall/project/mall_micro_service_arch.jpg)
复制代码
  • 居中布局展示如下;

  • 如果你想将某些内容显示在窗口中的话,还可以使用text-window布局,使用::window::来分割在窗口中的内容;
---
layout: text-window
---

# 业务架构

- 商品管理:[功能结构图-商品.jpg](document/resource/mind_product.jpg)
- 订单管理:[功能结构图-订单.jpg](document/resource/mind_order.jpg)
- 促销管理:[功能结构图-促销.jpg](document/resource/mind_sale.jpg)
- 内容管理:[功能结构图-内容.jpg](document/resource/mind_content.jpg)
- 用户管理:[功能结构图-用户.jpg](document/resource/mind_member.jpg)

::window::

![业务架构图](http://img.macrozheng.com/mall/project/mall_business_arch.png)
复制代码
  • 文本窗口布局展示如下;

  • 如果你想实现双列布局的话,可以使用two-cols布局,使用::right::来分割左右列;
---
layout: two-cols
---
复制代码
  • 双列布局展示如下:

演示功能

  • 如果你把鼠标放到PPT的左下角的话,你还会发现Slidev提供了一排功能按钮,可以实现全屏、前进、后退、录制、在线编辑等功能;

  • 通过概览功能,我们可以查看所有PPT的概览;

  • 通过切换主题功能,我们可以进行主题切换,比如切换到暗色主题;

  • 通过画图功能,我们可以对PPT上的重点内容进行标注;

  • 通过在线编辑功能,我们可以实现PPT内容的在线修改。

部署

  • Slidev实现静态部署也很简单,直接使用如下命令进行打包,可以通过--base指定访问的子路径,在有多个PPT项目需要部署时,使用子路径比较好;
slidev build mall-slidev.md --base /mall-slidev/
复制代码
  • 打包过程中输出日志如下,注意图片资源最好使用文件存储,不要放在项目目录下;

  • 打包完成后,所有静态资源都会输出到dist目录下;

  • 然后把dist目录放入Nginx的html目录下,并改名为mall-slidev,访问以下路径即可查看PPT。

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

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

相关文章

《springboot那些事》

注&#xff1a;static目录、主要用于存放非模板引擎渲染的资源。 ​ template目录&#xff0c;存放渲染引擎页面的资源。 一句话&#xff1a;用模板引擎的话&#xff0c;就放template目录、否则static目录。 一、使用thymeleaf 引入thymealeaf坐标 <dependency><…

22.11.15打卡 mysql学习笔记

学了DDL和DQL, 今天课太多, 没怎么学啊, 很烦躁, 还有3周要考试了 空格可以有一个或者多个 if not exists表示不存在则执行, 存在则不执行 方括号当中的都可 create database itcase; show databases;查看数据库 再次创建itcase数据库 加上if not exists就不会报错 字符集演示 …

DPDK LPM库(学习笔记)

1 LPM库 DPDK LPM库组件为32位的key实现了最长前缀匹配&#xff08;LPM&#xff09;表查找方法&#xff0c;该方法通常用于在IP转发应用程序中找到最佳路由匹配。 2 LPM API概述 LPM组件实例的主要配置参数是要支持的最大规则数。 LPM前缀由一对参数&#xff08;32位Key&…

React源码分析3-render阶段(穿插scheduler和reconciler)

本章将讲解 react 的核心阶段之一 —— render阶段&#xff0c;我们将探究以下部分内容的源码&#xff1a; 更新任务的触发更新任务的创建reconciler 过程同步和异步遍历及执行任务scheduler 是如何实现帧空闲时间调度任务以及中断任务的 触发更新 触发更新的方式主要有以下几…

Leetcode第21题:合并两个有序链表

生命无罪&#xff0c;健康万岁&#xff0c;我是laity。 我曾七次鄙视自己的灵魂&#xff1a; 第一次&#xff0c;当它本可进取时&#xff0c;却故作谦卑&#xff1b; 第二次&#xff0c;当它在空虚时&#xff0c;用爱欲来填充&#xff1b; 第三次&#xff0c;在困难和容易之…

面试官:你说说 Mysql 索引失效有哪些场景?

前言 SQL 写不好 加班少不了 日常工作中SQL 是必不可少的一项技术 但是很多人不会过多的去关注SQL问题。 一是数据量小&#xff0c;二是没有意识到索引的重要性。本文主要是整理 SQL失效场景&#xff0c;如果里面的细节你都知道&#xff0c;那你一定是学习能力比较好的人&am…

基于Docker的网络安全靶场搭建

背景介绍 在学习网络安全技术过程中,我们往往需要有一个自己的操作机与多个用来搭建环境的靶机,使用VM虚拟机模拟资源占用较大,成本高、局限性大且使用十分不便。 这时我们可以使用一台安装好Docker环境的linux虚拟机来完成桌面版操作机与WEB靶机的搭建与实验操作。 Docker…

Linux操作系统~进程替换,exec系列函数的使用

目录 1.概念/原理 &#xff08;1&#xff09;.替换原理 &#xff08;2&#xff09;.子进程调用execl执行程序替换&#xff0c;为什么父进程不受影响&#xff1f; &#xff08;3&#xff09;.exec*返回值 2.替换函数exec execl execv execlp execvp的&#xff08;execv…

Android Studio App开发之网络通信中使用POST方式调用HTTP接口实现应用更新功能(附源码 超详细必看)

运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、POST方式调用HTTP接口 POST方式把接口地址与请求报文分开&#xff0c;允许使用自定义的报文格式&#xff0c;由此扩大了该方式的应用场景。POST请求与GET请求主要有三处编码差异 1&#xff1a;在调用setRequestMethod方…

Kafka 消息队列 ( 一 ) 基本概念

0.MQ(message queue) 消息中间件 生活中的问题 : 快递员 给 你 送东西, 你必须 在家等着, (效率低) 可以 把东西 放 指定 的 地方(菜鸟驿站) , 你自己去取 , 指定 的地点(菜鸟驿站) 就是 MQ 消息队列中间件 0.1.开发中的问题 0.1.1.异步问题 0.1.2.业务解耦 0.1.3.流量削…

2. 信息在计算机中存储的格式

目录 一、信息存储&#xff1a; 1. 空间大小定义 2. 不同进制的转换方法 3. 各种数据类型所占字节数 4. 字节顺序 5. 字符串存储 6. 代码的二进制表示 7. 布尔代数运算 8. 逻辑运算 9. 移位运算 二、 整数表示 1. 有符号与无符号表示 1.1 表示范围 1.2 补码编码的…

C语言日记 35 拷贝构造函数

书P132&#xff1a; 拷贝构造函数的作用是 用已存在的对象初始化另一对象&#xff0c;两对象类类型应一样 在这里我们可以看到&#xff0c; 他对被拷贝的对象的要求只有“已存在的对象&#xff0c;两对象类类型一样”&#xff0c;也就是说他这里也没有说我们不能跨区域&…

使用 Spring Cloud Loadbalancer 实现客户端负载均衡

使用 Spring Cloud Loadbalancer 实现客户端负载均衡 作者&#xff1a;Grey 原文地址&#xff1a; 博客园&#xff1a;使用 Spring Cloud Loadbalancer 实现客户端负载均衡 CSDN&#xff1a;使用 Spring Cloud Loadbalancer 实现客户端负载均衡 背景 在Spring Cloud G 版…

为什么 think-cell 图表中的标签显示为白色矩形?

有些标签的背景错误地变成白色&#xff0c;或显示幻灯片背景。当前版本的 PowerPoint 不会出现此问题。 •使用 PowerPoint 2007 打开 .ppt 文件并单击标签内部时&#xff0c;将显示正确的标签背景&#xff0c;但是在保存后重新打开该文件时&#xff0c;会返回不正确…

分布式系统的 38 个知识点

天天说分布式分布式&#xff0c;那么我们是否知道什么是分布式&#xff0c;分布式会遇到什么问题&#xff0c;有哪些理论支撑&#xff0c;有哪些经典的应对方案&#xff0c;业界是如何设计并保证分布式系统的高可用呢&#xff1f; 1. 架构设计 这一节将从一些经典的开源系统架…

5G无线技术基础自学系列 | 物理随机接入信道

素材来源&#xff1a;《5G无线网络优化实践》 一边学习一边整理内容&#xff0c;并与大家分享&#xff0c;侵权即删&#xff0c;谢谢支持&#xff01; 附上汇总贴&#xff1a;5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 PRACH信道用于传输前导Preamble序列。gNB…

逆向-破零64位版本

// 排版有点乱&#xff0c;没有图片直观。 #include <stdio.h> #include <stdlib.h> #include <string.h> int f_14a2(int *va, int vb) { /*14a2: f3 0f 1e fa endbr64 14a6: 55 push %rbp 14a7:…

[附源码]java毕业设计基于Web的美食网站的设计与实现

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【背景渐变】 —— 就算没接触过也能 一遍学会哦

前期回顾 ​回顾 前期 把你喜欢css动画嵌入到浏览器中 —— css动画 项目_0.活在风浪里的博客-CSDN博客常用酷炫动画999合集&#xff0c;代码直接复制可用&#xff0c;总用你想找的&#xff0c;快来抱走吧&#xff0c;三连&#xff0c;停&#xff01;听鹅说&#xff0c;下…

2009年408大题总结

2009年408大题第41题第42题第43题第44题第45题第46题第47题第41题 这个最容易想到的方法就是举反例&#xff0c;但是我们可以分析一下&#xff0c;每一次都取最短的路径&#xff0c;实际上就是贪心策略的应用——每次都是最优&#xff0c;但是最终的结果却一般不是最优&#xf…