背景:由于本人是一名前端开发工程师,而且平时喜欢把收获到的开发知识和经验进行技术分享,于是就产生了直接使用前端技术进行在线PPT制作的想法。就这样、我发现了两个非常优秀的制作在线PPT的JS库——reveal.js和impress.js。 接下来我会分别以系列文章的形式进行reveal.js和impress.js的基础与应用分享,希望能帮到有同样需求的朋友。 本系列文章主要是介绍reveal.js的基础和应用。
《使用前端技术制作在线PPT:reveal.js基础与应用》会以系列文章的形式,有步骤、有重点地分享我使用reveal.js实现在线PPT相关的知识和经验,目前该系列文章有如下3篇:
- 使用前端技术制作在线PPT:reveal.js基础与应用 01-快速上手篇
- 使用前端技术制作在线PPT:reveal.js基础与应用 02-定制样式篇
- 使用前端技术制作在线PPT:reveal.js基础与应用 03-插件应用篇
以下是《使用前端技术制作在线PPT:reveal.js基础与应用 03-应用扩展篇》的文章正文。
1、插件用法
reveal.js提供了一些插件,实现了代码高亮、Markdown和数学公式等等作为开发常用的实用功能。
1.1 代码高亮
reveal.js集成了highlight.js进行代码高亮——RevealHighligh插件支持多种编程语言,允许我们可以很容易地展示我们的代码——代码高亮插件的使用方式如下:
import 'reveal.js@4.1.3/plugin/highlight/monokai.css'
import RevealHighlight from 'reveal.js@4.1.3/plugin/highlight/highlight.esm.js';
const deck = new Reveal();
deck.initialize({
hash: true,
slideNumber: true,
plugins: [ RevealHighlight ]
});
引入highlight插件的代码相关说明如下:
- 首先,我们引入了
highlight插件的主题样式plugin/highlight/monokai.css; - 然后,我们引入了
highlight插件的ESM实现plugin/highlight/highlight.esm.js; - 最后,我们通过在
Reveal.initialize初始化方法中,通过plugins配置项加入highlight插件的实现。
下面是使用了highlight插件的演示效果:
在码上掘金上的实现代码如下所示:
<section>
<pre><code data-trim data-noescape>
(def lazy-fib
(concat
[0 1]
((fn rfib [a b]
(lazy-cons (+ a b) (rfib b (+ a b)))) 0 1)))
</code></pre>
</section>
1.2 使用Markdown
reveal.js可以通过加入RevealMarkdown插件,让我们可以使用markdown来写演示文稿,RevealMarkdown插件使用方式如下:
import RevealMarkdown from 'reveal.js@4.1.3/plugin/markdown/markdown.esm.js'
const deck = new Reveal();
deck.initialize({
hash: true,
slideNumber: true,
plugins: [ RevealMarkdown ]
});
引入markdown插件的代码相关说明如下:
- 首先,我们引入了
markdown插件的ESM实现plugin/markdown/markdown.esm.js; - 然后,我们通过在
Reveal.initialize初始化方法中,通过plugins配置项加入markdown插件的实现。
下面是使用了markdown插件的演示效果:
在码上掘金上的实现代码如下所示:
<section data-markdown>
<textarea data-template>
## Slide 1
A paragraph with some text and a [link](https://hakim.se).
---
## Slide 2
---
## Slide 3
</textarea>
</section>
1.3 使用数学公式
reveal.js可以通过加入RevealMath插件,让我们可以向PPT演示文稿中添加数学公式,RevealMath插件使用方式如下:
import RevealMath from 'reveal.js@4.1.3/plugin/math/math.esm.js'
const deck = new Reveal();
deck.initialize({
hash: true,
slideNumber: true,
plugins: [ RevealMath ]
});
引入math插件的代码相关说明如下:
- 首先,我们引入了
math插件的ESM实现plugin/math/math.esm.js; - 然后,我们通过在
Reveal.initialize初始化方法中,通过plugins配置项加入math插件的实现。
下面是使用了math插件的演示效果:
在码上掘金上的实现代码如下所示:
<section>
<h2>The Lorenz Equations</h2>
\[\begin{aligned}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\beta z + xy
\end{aligned} \]
</section>
2、总结
通过以上步骤,我们能够实现快速上手reveal.js提供的代码高亮、Markdown和数学公式等等作技术分享时会用到的各种插件:
- 通过引入
RevealHighlight插件,我们能够实现代码高亮; - 通过引入
RevealMarkdown插件,我们能够实现使用Markdown制作PPT; - 通过引入
RevealMath插件,我们能够实现插入数学公式。
以上是我们使用reveal.js进行技术分享PPT制作时可能用到的实用插件,以下是本系列的相关文章,希望能帮到有同样需求的朋友:
- 使用前端技术制作在线PPT:reveal.js基础与应用 01-快速上手篇
- 使用前端技术制作在线PPT:reveal.js基础与应用 02-定制样式篇
- 使用前端技术制作在线PPT:reveal.js基础与应用 03-插件应用篇
以上文章是我平时制作技术分享PPT时常用到的功能,对于更多详细的API等内容,大家可以访问reveal.js的官方网站进行查漏补缺。