当前位置:首页 > 科技  > 软件

分享一款基于Web的PPT制作框架——Reveal.js

来源: 责编: 时间:2024-03-18 09:42:32 256观看
导读前言最近在做产品复盘和技术分享,所以需要做个PPT, 来回顾这半年来的技术贡献. 但苦于mac上运行PPT那感人的流畅度, 成功的激起了我的强迫症, 所以索性想办法通过技术的手段来做个网页版PPT, 这个时候我发现了reveal.

goe28资讯网——每日最新资讯28at.com

前言

最近在做产品复盘和技术分享,所以需要做个PPT, 来回顾这半年来的技术贡献. 但苦于mac上运行PPT那感人的流畅度, 成功的激起了我的强迫症, 所以索性想办法通过技术的手段来做个网页版PPT, 这个时候我发现了reveal.js: 一个使用 HTML 语言制作演示文稿的 Web 框架,支持插入多种格式的内容,并以类似 PPT 的形式呈现. 花了15分钟系统的调研了一下, 觉得基本满足技术分享类PPT的要求, 所以决定采用该方案来实现我的网页版PPT. 这里列一下我用的技术调研:goe28资讯网——每日最新资讯28at.com

goe28资讯网——每日最新资讯28at.com

所以我接下来大致按照以上几个衡量标准, 来带大家一起感受一下如何快速通过reveal.js实现一个极具动感的PPT.goe28资讯网——每日最新资讯28at.com

goe28资讯网——每日最新资讯28at.com

正文

首先我先来谈谈PPT的不足(非专业角度, 技术视角):goe28资讯网——每日最新资讯28at.com

  • PPT虽然强大,但占据了磁盘的大量空间,运行时内存占用也不小;而且在 mac上跑 PPT 来就像乘上了印度的绿皮小火车。随着 mac 的普及和动画技术的发展,诸如Keynote、Prezi 等新秀陆续出现,它们不仅轻量且可以实现各种炫目的动画效果.
  • 制作需要花费大量时间, 受平台限制

所以对于不熟悉PPT套路的技术工作者来说, 往往很难快速制作出精美的PPT.goe28资讯网——每日最新资讯28at.com

接下来我们再看看reveal.js的优势.goe28资讯网——每日最新资讯28at.com

goe28资讯网——每日最新资讯28at.com

  • reveal.js可以把 Markdown 文件转为类似 PPT 的演示文稿,轻快省力,减少排版上的时间,让演讲者更专于文字内容;同时,也获得 PPT 所不具有的灵活性
  • 制作发布灵活、不限应用,不限平台, 只需修改或打开 HTML 文件
  • 丰富的特性,支持过渡动画、代码高亮、视频背景、Markdown 语法、导出 PDF 等
  • 极度轻量,占用空间和内存少

说了这么多revealjs的优点,接下来我们就来学习如何使用它吧.goe28资讯网——每日最新资讯28at.com

reveal.js使介绍以及核心api

goe28资讯网——每日最新资讯28at.com

作为一名前端工程师, 我们很容易把 reveal.js 集成到我们的vue或者react项目中, 但是作为演讲类型的项目,我们直接用最原始的方式实现即可,首先我们需要引入相关的文件,具体可参考官网所说的步骤去做: revealjs.com/. 最简单的使用方式如下:goe28资讯网——每日最新资讯28at.com

<html>  <head>    <link rel="stylesheet" href="dist/reveal.css">    <link rel="stylesheet" href="dist/theme/white.css">  </head>  <body>    <div class="reveal">      <div class="slides">        <section>Slide 1</section>        <section>Slide 2</section>      </div>    </div>    <script src="dist/reveal.js"></script>    <script>      Reveal.initialize();    </script>  </body></html>复制代码

这样通过短短几行代码, 我们就能实现一个两页的PPT.goe28资讯网——每日最新资讯28at.com

goe28资讯网——每日最新资讯28at.com

当然我们还能实现更加自由的演示动画, 父子嵌套结构, 专场动画等. 接下来我们介绍几个核心API.goe28资讯网——每日最新资讯28at.com

父子嵌套

父子嵌套主要是一个PPT主题可能包含很多子主题, 要想实现父子主题分明的演示文档, 在reveal.js也很好实现, 只需要在section内部再包裹section标签即可. 代码如下:goe28资讯网——每日最新资讯28at.com

<div class="reveal">	<div class="slides">		<section>Slide 1</section>		<section>           <section>            Slide 2-1          </section>          <section>            Slide 2-2          </section>        </section>        <section>Slide 3</section>	</div></div>复制代码

效果如下图所示:goe28资讯网——每日最新资讯28at.com

goe28资讯网——每日最新资讯28at.com

嵌入脚本

我们都知道技术类PPT肯定离不开代码, 我们在reveal.js中可以很容易的展示我们的代码,并且支持多种语言, 其框架底层集成了 业界比较有名的highlight.js. 使用方式如下:goe28资讯网——每日最新资讯28at.com

goe28资讯网——每日最新资讯28at.com

使用Markdown

Markdown是技术工作者常用的编写文档的工具, revealjs同样也支持使用Markdown的方式来编写PPT, 是不是很贴切? 具体方式如下:goe28资讯网——每日最新资讯28at.com

goe28资讯网——每日最新资讯28at.com

动态背景Backgrounnds

revealjs支持对每一页幻灯片使用自定义背景(包括视频).我们只需要在section标签中使用data-background即可, 并且支持背景透明. 具体demo如下:goe28资讯网——每日最新资讯28at.com

goe28资讯网——每日最新资讯28at.com

Backgrounnds一共有如下属性可以使用:goe28资讯网——每日最新资讯28at.com

  • data-background-image 当前页的背景图片地址
  • data-background-size 背景的大小
  • data-background-position 背景位置
  • data-background-repeat 背景的重复方式
  • data-background-opacity 背景透明度
  • data-background-video 视频背景的地址
  • data-background-video-loop 视频背景的循环模式
  • data-background-iframe 背景为iframe的url地址
  • data-background-interactive 是否能与iframe的内容交互

Fragments

Fragments用来高亮或者渐进式的展现元素.每一个包含fragment类名的元素都被视为渐进的元素, 它们会通过点击下一步来依次呈现在幻灯片中.goe28资讯网——每日最新资讯28at.com

goe28资讯网——每日最新资讯28at.com

定制主题Theme

reveal.js提供了很多种不同风格的主题, 我们只需要引入不同的css即可. 包括黑色(black), 白色(white), league, beige, 天空(sky), 夜晚(night)等主题.大家可以自行感受一下.goe28资讯网——每日最新资讯28at.com

Transitions转场动画

不同幻灯片进入页面的动画方式我们可以使用Transitions来设定. 以下是提供的几种默认转场动画:goe28资讯网——每日最新资讯28at.com

  • fade 淡出
  • slide 滑出
  • convex 凸面旋转
  • concave 凹面旋转
  • zoom 放大

具体demo实现如下:goe28资讯网——每日最新资讯28at.com

<div class="reveal">	<div class="slides">		<section>Slide 1</section>		<section>          <section data-transition="fade">            Slide 2-1          </section>          <section data-transition="convex">            Slide 2-2          </section>          <section data-transition="concave">            Slide 2-3          </section>          <section data-transition="zoom">            Slide 2-4          </section>        </section>        <section>Slide 3</section>	</div></div>复制代码

导出PDF

导出PDF作为一个附加功能也算是比较贴心了,如果想了解使用方式可以参考https://revealjs.com/pdf-export/. 接下来我们就来实现一个动态的PPT demo, 供大家学习参考.goe28资讯网——每日最新资讯28at.com

reveal.js制作一个一个动感PPT的demo

效果演示请访问地址: https://user-gold-cdn.xitu.io/2020/7/13/173473da6ed62d8a?imageslimgoe28资讯网——每日最新资讯28at.com

代码如下:goe28资讯网——每日最新资讯28at.com

<body>	<div class="reveal">		<div class="slides">			<section data-background-image="./img/z1.png" data-background-opacity=".4">      <h1>趣谈前端</h1>      <p>徐小夕</p>    </section>	<section>      <section data-transition="fade" data-background-color="orange">        <h1>趣谈前端 Javascript</h1>      </section>      <section data-transition="convex" data-background-color="green">        <h1>趣谈前端 Vue</h1>       </section>      <section data-transition="concave" data-background-color="#61dafb">        <h1>趣谈前端 React</h1>       </section>      <section data-transition="zoom" data-background-color="#b32535">        <h1>趣谈前端 Angular</h1>      </section>    </section>    <section>      <h1>NodeJS</h1>      <pre><code data-trim data-noescape>          const fs = require('fs')          const Koa = require('koa')          const app = new Koa()          </code></pre>    </section>    <section>      <h3>设计模式</h3>      <p class="fragment">观察者模式</p>      <p class="fragment">工厂模式</p>      <p class="fragment">迭代器模式</p>    </section>    <section>      <h4>数据结构与算法</h4>    </section>		</div>	</div>	<script src="dist/reveal.js"></script>	<script src="plugin/notes/notes.js"></script>	<script src="plugin/markdown/markdown.js"></script>	<script src="plugin/highlight/highlight.js"></script>	<script>		// More info about initialization & config:		// - https://revealjs.com/initialization/		// - https://revealjs.com/config/		Reveal.initialize({			hash: true,			// Learn about plugins: https://revealjs.com/plugins/			plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]		});	</script></body>复制代码

本文链接:http://www.28at.com/showinfo-26-76547-0.html分享一款基于Web的PPT制作框架——Reveal.js

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 2024年最具潜力的十大编程语言:引领未来技术潮流

下一篇: 通过实例详细讲解Quartz.NET的一些高级功能的应用,你用到了多少

标签:
  • 热门焦点
  • K60至尊版刚预热 一加Ace2 Pro正面硬刚

    Redmi这边刚如火如荼的宣传了K60 Ultra的各种技术和硬件配置,作为竞品的一加也坐不住了。一加中国区总裁李杰发布了两条微博,表示在自家的一加Ace2上早就已经采用了和PixelWo
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • 摸鱼心法第一章——和配置文件说拜拜

    为了能摸鱼我们团队做了容器化,但是带来的问题是服务配置文件很麻烦,然后大家在群里进行了“亲切友好”的沟通图片图片图片图片对比就对比,简单对比下独立配置中心和k8s作为配
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • Flowable工作流引擎的科普与实践

    一.引言当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这
  • 如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • 在线图片编辑器,支持PSD解析、AI抠图等

    自从我上次分享一个人开发仿造稿定设计的图片编辑器到现在,不知不觉已过去一年时间了,期间我经历了裁员失业、面试找工作碰壁,寒冬下一直没有很好地履行计划.....这些就放在日
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
Top