仿slid.es的在线PPT编辑网站

####前言
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 文件里面添加一行
1
2

YOURIP YOURDOMAIN

复制配置文件然后把你注册的ouauth放进去

1
2

cp settings.py.example settings.py

象django那样启动

1
2

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)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

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配置

1
2
3
4
5
6
7
8
9
10

<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安装后是有插件的,你需要这样启动

1
2

uwsgi_python27 -x uwsgi.xml

版权声明:本文由 董伟明 原创,未经作者授权禁止任何微信公众号和向掘金(juejin.im)转载,技术博客转载采用 保留署名-非商业性使用-禁止演绎 4.0-国际许可协议
python