已经成功合并Babel+Picky,但暂时不清楚冲突或者可能产生的影响,这里只说下我的做法,如果需要,你也可以自己动手折腾一下,难度几乎是没有的。
使用方式和普通安装的Babel/Picky完全一样;但是,Picky在/blog下,也可以随意设置。
Babel演示:
http://babel-picky.appspot.com/
Picky演示:
http://babel-picky.appspot.com/blog
下面是合并方法,整个过程需要10分钟到半小时。
==准备==
获得Babel和Picky源码:
git clone
http://github.com/livid/v2ex.git project-babel
hg clone
https://project-picky.googlecode.com/hg/ project-picky
新建一个V2EX文件夹,将project-babel和project-picky复制到到V2EX/下面,再新建一个文件夹babel-picky,用来放置合并后的源码,将用来上传使用。
现在可以正式合并了,分别将project-babel和project-picky下面的文件复制到babel-picky下,遇到合并文件夹/覆盖替换对话框时,文件夹选择合并:
但文件=不替换=,应该选择跳过:
有几个文件夹是需要合并的,还有几个文件是不能替换的,均按照以上方式处理。
接下来是重点,需要细心处理了,但也不能,基本就是鼠标点点,复制粘贴而已了。
打开Diff工具,复制文件的时候,Babel是完整的,Picky部分文件没有覆盖Babel已经存在的相同文件名文件,现在就要将Picky里面响应的文件内容合并到Babel里面了:
需要合并的内容只有main.py和app.yaml/index.yaml三个文件,其中__init__.py这个文件的内容是相同的,无须更改:
修改文件需要细心一些,第一步是检查引入Babel还没有的库;第二步是合并函数类,把Picky的函数全部复制到Babel即可;最后将两个文件最底部的main()中URL对应函数部分合并,其中Picky的MainHandler修改为/blog,这一Picky首页就可以通过/blog访问了。app.yaml/index.yaml修改很简单,就是复制粘贴。
最后,上传部署babel-picky(当然,上传之前还需要按照安装Babel和Picky的配置方法修改相应文件,这里不说了):
稍等片刻,访问你的appspot,应该就可以看到Babel和Picky的合体了~
(这里只是我花几分钟时候弄好的,具体我也不清楚会有什么问题,暂时没有下载)
Babel+Picky下载地址:
http://v2ex.appspot.com/t/2658