why nodePPT?
Maybe the best PPT webapp ever
- markdown based on GFM;
- mix-code with html and markdown
- export your work with html and pdf format;
- 18 different transition animations, and you can choose single page animation well;
- Setting one page background image different than others;
- overview mode, multiscreen mode, remote control with socket, shark to page-flipping with ipad/iphone;
- canvas is also supported, with socket, we sync your multiscreen in real time, and you can type some notes;
- syntax highlighting of course, and you may want to customize your syntax highlighting style, it’s supported well;
- Animation in single page, one-step animation;
- forward and backward callback function
install
npm install -g nodeppt
shell 使用
启动
nodeppt start -p port -d path/for/ppts
创建
支持 markdown 语法快速创建网页幻灯片。
nodeppt create ppt-name
按照提示输入基本信息后就可以创建,默认创建是 markdown 版本,如果需要创建 html 版本,可以使用:
nodeppt create ppt-name.html
# or
nodeppt create ppt-name.htm
markdown语法
nodeppt 是支持 markdown 语法的,但是为了制作出来更加完美的 ppt,扩展了下面的语法
配置
基本配置如下:
title: 这是演讲的题目
speaker: 演讲者名字
url: 可以设置链接
transition: 转场效果,例如:zoomin/cards/slide
files: 引入js和css的地址,如果有的话~自动放在页面底部
目录关系:可以在 md 同级目录下创建 img、js、css 等文件夹,然后在 markdown 里面引用,nodeppt 默认会先查找 md 文件同级目录下面的静态资源,没有再找默认的 assets 文件夹下静态内容
支持的转场动画包括:
- kontext
- vkontext
- circle
- earthquake
- cards
- glue
- stick
- move
- newspaper
- slide
- slide2
- slide3
- horizontal3d
- horizontal
- vertical3d
- zoomin
- zoomout
- pulse
分页
通过 [slide]
作为每页 ppt 的间隔,如果需要添加单页背景,使用下面的语法:
[slide style="background-image:url('/img/bg1.png')"]
# 这是个有背景的家伙
## 我是副标题
单页ppt上下布局
[slide]
## 主页面样式
### ----是上下分界线
----
nodeppt是基于nodejs写的支持 **Markdown!** 语法的网页PPT
nodeppt:https://github.com/ksky521/nodePPT
代码格式化
语法跟 Github Flavored Markdown 一样
单条动画
使用方法:列表第一条加上 {:&.动画类型}
(注意空格)
* 上下左右方向键翻页
* 列表支持渐显动画 {:&.moveIn}
* 支持多级列表
* 这个动画是moveIn
目前支持的单条动画效果包括:
- moveIn
- fadeIn
- bounceIn
- rollIn
- zoomIn
单页动画设置
在 md 文件,顶部配置可以设置全局转场动画,如果要设置单页的转场动画,可以通过下面的语法
[slide data-transition="vertical3d"]
## 这是一个vertical3d的动画
插入 html 代码
如果需要完全 diy 自己的 ppt 内容,可以直接使用 html 标签,支持 markdown 和 html 混编。例如:
<div class="file-setting">
<p>这是html</p>
</div>
<p id="css-demo">这是css样式</p>
<p>具体看下项目中 ppts/demo.md 代码</p>
<script>
function testScriptTag(){
}
console.log(typeof testScriptTag);
</script>
<style>
#css-demo{
color: red;
}
</style>
转场回调
前端的 ppt,难免会在页面中演示一些 demo,除了上面的插入 html 语法外,还提供了 incallback 和 outcallback,分别用于:切入(切走)到当前 ppt,执行的 js 函数名。例如:
[slide data-outcallback="outcallback" data-incallback="incallback"]
## 当进入此页,就执行incallback函数
## 当离开此页面,就执行outcallback函数
表格实例
### 市面上主要的css预处理器:less\sass\stylus
---
|less| sass | stylus
:-------|:------:|-------:|--------
环境 |js/nodejs | Ruby | nodejs
扩展名 | .less | .sass/.scss | .styl
特点 | 老牌,用户多,支持js解析 | 功能全,有成型框架,发展快 | 语法多样,小众
案例/框架 | [Bootstrap](http://getbootstrap.com/) | [compass](http://compass-style.org) [bourbon](http://bourbon.io) |
插入 iframe
使用 data-src 作为 iframe 的 url,这样只有切换到当前页才会加载 url 内容
<iframe data-src="http://www.baidu.com" src="about:blank;"></iframe>
查看帮助
nodeppt -h
# 任何命令都可以输入-h查看帮助
nodeppt start -h
demo演示 & 使用方法
- 执行
nodeppt start
- 访问 http://127.0.0.1:8080/
- 在线demo: http://qdemo.sinaapp.com/