2014年10月28日 星期二 晴

就云而言,我个人比较喜欢用sae,PAAS的,虽然有时候有点不稳定,但不会被墙。 就数据库而言,我比较喜欢kvdb这种key-value的数据库,简单方便。 就后台编程语言来说,python是我的最爱。 就Python的web服务器框架而言,我习惯用tornado。

根据上述个人喜好,我今晚学习了一下Pabo这个开源项目。

    这个项目完成度90%,还有一些评论留言的功能没完成,可能还有一些小bug,作者没有继续维护了。
    项目后台很漂亮,我设计和前端都做得比较烂,我是做不出来这样的效果的。
    写作支持markdown,虽然markdown2.py不是很完美,但足够用了
    博客页面比较简洁,是很不错,可惜作为爱写博客的我不太喜欢这种风格。
    template引擎用的是jinja2,我以前都习惯用的是tenjin,这回感受一下jinja2,学习不同的东西有好处。

项目的代码结构大概如下:

index.wsgi:入口
start_debug_server.sh:本地调试脚本
config.yaml:sae cron配置,实际上还没完成

pabo:
pabo\libs:
__init__.py
kvdb.py: 本地调试kvdb用的
markdown2.py: Python implementation of Markdown
PyRSS2Gen.py: Python implementation of RSS
pabo\main:
__init__.py
ctrl.py: 辅助函数、分类管理、图片管理、文章管理、kvdb、友情链接、后台管理
g.py:一些全局变量,比如网站信息、模版路径配置
handlers.py:主要的操作
settings.py:一些设置,文章的索引原理,这里要细看一下
urls.py
setup.py:后台配置初始化的数据
static:
sae的静态数据
templates:
admin:
normal:
utils:
__init__.py:一些基础函数
crypto.py:加解密封装
kv.py:sae kvdb封装
template.py:模版处理
tinyurl.py:顾名思义