小黑AWM
2019-08-17 10:39:42
“你在干嘛?”
“写ppt”
"你这叫写ppt?"
[白眼]
太酷炫了有没有,讲课不用随身带U盘,到地方打开网站就可以开始展示,发课件回去不用发一大堆文件,只要发一个link过去就可以了,并且网页同步跳转无障碍。做ppt再也不用整晚整晚的纠结公式排版,Nodeppt 解决您所遇到的一切问题。
累死累活干不过ppt writer
Nodeppt 是基于 Node.js 由三水清开发的一款网页展示库,其具有简单易用,所思即所得,支持KaTeX,Echart,Mermaid的特点,作者不用纠结于排版,只需专注于内容,便可得到排版美观展示好看的网页ppt。
就像 yfz 说的“都写这样的code了,为啥不用LaTeX?”没错,Beamer非常好用,而且写起来也和markdown一样顺手,那为啥还要费劲去学nodeppt呢?
颜值决定一切 用 beamer 写出的 pdf,有一个通病,修改太烦,展示太单调。有时为了一些特殊场合,因为有对于课件美观的要求,不得不使用 ppt/WPS 来代替 LaTeX 做一些讲稿。然而用过的人都知道,这两个东西插入公式简直丧**狂。
兼顾二者优点,合二为一。 既有 ppt 一样好看的展示效果,又有 LaTeX 一样方便插入公式,便于排版的特性。
安慰健忘党 ,不知你可曾遇到过这种情况,老师叫你提前准备好讲课,你辛辛苦苦准备好了课件,到了上课之时却忘了带U盘,使用 Nodeppt 告别健忘!不慌不忙的走上讲台打开浏览器输入你的github部署地址吧!
自由的写作空间 写 ppt 或者 LaTeX 经常会遇到这种情况,因为最终生成的页面大小是固定的,所以每一页能装的东西有限,经常需要一页分两页写,或者是把字体缩得很小,明明只是多了一点点内容,却要排版半天,这是件很烦人的事。而 Nodeppt 每一页的版面可以说是无限的,你既可以像网页一样向下滚动,也可以像 ppt 一样左右翻页!
简单易用 对于对于大部分的OIer来说,其实是可以很熟练的编写Markdown文档的,但是对于LaTeX的演示文稿,未免就需要模板来助一臂之力了,而使用Nodeppt就几乎不需要学习额外知识!
体量较轻 比 LaTeX 轻挺多的,至少我装CTeX有好几个G。
演讲者模式,和 ppt 一样的功能,比 LaTeX 多一点优势。
sudo npm install -g nodeppt
nodeppt new xxx.md
nodeppt build xxx.md
nodeppt serve xxx.md
sudo npm install -g n
n stable
npm rebuild node-sass
nodeppt 的编写是完全按照 markdown 语法的,所以能写洛谷博客就可以写 nodeppt!同时官方文档里给出了多种不同的布局格式,和一些容器用法。
整个 markdown 文件分为两部分,第一部分是写在最前面的配置,然后是使用<slide>
隔开的每页幻灯片内容。其支持katex,echarts,mermaid等多个插件!
nodeppt 有演讲者模式,在页面 url 后面增加?mode=speaker
既可以打开演讲者模式,双屏同步
<slide>
语法nodeppt 会根据<slide>
对整个 markdown 文件进行拆分,拆成单页的幻灯片内容。<slide>
标签支持下面标签:
<slide image="img_url">
<slide video="video_src1,video_src2">
<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
的布局,支持丰富的布局,实在太多了,直接看文档和在线演示
nodeppt 的 button 是类似link
语法的,支持蓝色、圆角、空心和 icon 版本的 button:
[普通按钮](){.button} [圆角普通按钮](){.button.radius}
[空心](){.button.ghost} [:fa-github: 前面带 icon](){.button}
nodeppt 的 icon 支持 FontAwesome 语法:
:fa-xxx:
→ <i class="fa fa-xxx"></i>
:~fa-xxx:~
→ <span><i class="fa fa-xxx"></i></span>
::fa-xxx::
→ 块级<i class="fa fa-xxx"></i>
,即不会被p
包裹nodeppt 一如既往的支持动效,2.0 版本支持动效主要是页面内的动效。
支持动效包括:
在需要支持的动效父节点添加.build
或者在具体的某个元素上添加.tobuild+动效 class
即可。
按照惯例,nodeppt 还支持animate.css
的动效哦~
详细查看文件:site/animation.md和在线演示
:::
完成复杂布局:::
语法是扩展了 markdown-it-container 语法,默认是任意 tag,例如
:::div {.content-left}
我们可以灵活运用 github 的 pages 功能,把 build 好的 html包直接 push 上去就可以了!