仿slid.es的在线PPT编辑网站
/ / / 阅读数:3985前言
slid.es 是我最喜欢的前端之一 hakimel 的作品,前身叫做 rvl.io, 网站已经改版。源于去年年底在上家公司做年终总结 PPT,对我这种不搞 office,没有美感的小程序员太痛苦了,然后就找到了 reveal.js , 后来萌发做个基于它的网站,其实也是为了练手学习 mongoengine 和 oauth
项目地址 flask_reveal
它能做什么
- 保存漂亮的在线 PPT (我认为的)
- 记录浏览次数
- 多种主题和字体
- 可以把 PPT 私有化 (默认是公开的)
- 自动保存修改
- 支持 Bitbucket/Google/Github/Instagram/Linkdln/Trello/Tumblr/Stackoverflow oauth/oauth2 登陆
- PPT 预览
使用了什么
- flask
- mongoengine (忍不了非 orm)
- flask-script (像 django 那样的命令行启动)
- 前端 js 借用我做喜欢的原作者的 90%,然后根据我的需要改动,css 基本没动
- python-social-auth 的 oauth 后端,但是它使用的是 flask+sqlalchemy,不支持 flask+mongoengine,我改写了这部分
Usage
设置 hosts 文件
唉,本来申请了很多 oauth 想放在 sae 上面,但是遗憾的是新浪不支持,所以只能本地加 hosts,让验证后的回调正确返回 linux 在你的 /etc/hosts 文件里面添加一行
YOURIP YOURDOMAIN
复制配置文件然后把你注册的 ouauth 放进去
cp settings.py.example settings.py
象 django 那样启动
python manage.py runserver -t 0.0.0.0 -p 80
And 访问主页http://revealcn.sinaapp.com
使用 nginx+uwsgi
这里是我的配置 nginx 的这段(假设你 git clone 后在 /home/dongwm/flask_reveal)
server {
listen 80;
server_name revealcn.sinaapp.com;
access_log /var/log/nginx/revealcn.access_log main;
error_log /var/log/nginx/revealcn.error_log info;
location / {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi.sock;
}
location /zongjie {
root /home/dongwm/flask_reveal;
index index.html;
}
}
uwsgi 的 xml 配置
<uwsgi>
<pythonpath>/home/dongwm/flask_reveal</pythonpath>
<module>manage</module>
<socket>/tmp/uwsgi.sock</socket>
<callable>manager</callable>
<master/>
<processes>4</processes>
<memory-report/>
</uwsgi>
这里有个坑,我的 gentoo 的 uwsgi 安装后是有插件的,你需要这样启动
uwsgi_python27 -x uwsgi.xml