从零开始的网页PPT展示

小黑AWM

2019-08-17 10:39:42

Tech. & Eng.

“你在干嘛?”

“写ppt”

"你这叫写ppt?"

[白眼]

开始之前先看看这个demo

太酷炫了有没有,讲课不用随身带U盘,到地方打开网站就可以开始展示,发课件回去不用发一大堆文件,只要发一个link过去就可以了,并且网页同步跳转无障碍。做ppt再也不用整晚整晚的纠结公式排版,Nodeppt 解决您所遇到的一切问题。

累死累活干不过ppt writer

Nodeppt 是基于 Node.js 由三水清开发的一款网页展示库,其具有简单易用,所思即所得,支持KaTeX,Echart,Mermaid的特点,作者不用纠结于排版,只需专注于内容,便可得到排版美观展示好看的网页ppt。

Why nodeppt?

就像 yfz 说的“都写这样的code了,为啥不用LaTeX?”没错,Beamer非常好用,而且写起来也和markdown一样顺手,那为啥还要费劲去学nodeppt呢?

Disadvantage?

How to get it?

Some diffculties I had faced

Now I have got nodeppt, how to use it?

nodeppt 的编写是完全按照 markdown 语法的,所以能写洛谷博客就可以写 nodeppt!同时官方文档里给出了多种不同的布局格式,和一些容器用法。

基本语法

整个 markdown 文件分为两部分,第一部分是写在最前面的配置,然后是使用<slide>隔开的每页幻灯片内容。其支持katex,echarts,mermaid等多个插件!

演讲者模式

nodeppt 有演讲者模式,在页面 url 后面增加?mode=speaker 既可以打开演讲者模式,双屏同步

键盘操作

<slide> 语法

nodeppt 会根据<slide>对整个 markdown 文件进行拆分,拆成单页的幻灯片内容。<slide> 标签支持下面标签:

背景:图片

<slide>image 会被解析成背景大图,常见的支持方式有:

<slide image="https://source.unsplash.com/UJbHNoVPZW0/">

# 这是一个普通的背景图

<slide image="https://source.unsplash.com/UJbHNoVPZW0/ .dark">

# 这张背景图会在图片上面蒙一层偏黑色的透明层

<slide image="https://source.unsplash.com/UJbHNoVPZW0/ .light">

# 这张背景图会在图片上面蒙一层偏白色的透明层

<slide class="bg-black aligncenter" image="https://source.unsplash.com/n9WPPWiPPJw/ .anim">

# 这张背景图会缓慢动

样式

样式太多,详见 demo 和 source

布局

nodeppt 这次使用webslides的布局,支持丰富的布局,实在太多了,直接看文档和在线演示

button

nodeppt 的 button 是类似link语法的,支持蓝色、圆角、空心和 icon 版本的 button:

[普通按钮](){.button} [圆角普通按钮](){.button.radius}

[空心](){.button.ghost} [:fa-github: 前面带 icon](){.button}

FontAwesome

nodeppt 的 icon 支持 FontAwesome 语法:

Animation

nodeppt 一如既往的支持动效,2.0 版本支持动效主要是页面内的动效。

支持动效包括:

在需要支持的动效父节点添加.build或者在具体的某个元素上添加.tobuild+动效 class即可。

按照惯例,nodeppt 还支持animate.css的动效哦~

详细查看文件:site/animation.md和在线演示

使用强大的:::完成复杂布局

:::语法是扩展了 markdown-it-container 语法,默认是任意 tag,例如

:::div {.content-left}

How to build a website?

我们可以灵活运用 github 的 pages 功能,把 build 好的 html包直接 push 上去就可以了!

更多更骚的玩法请看官方demo和官方文档