n

强大实用的micolog博客系统

这两天一直在玩弄google app engine和sina app engine,可以说是爱不释手,可却又不能用来做些什么,真是可惜至极,两个app都非常优秀,sae的wp程序更新到3.12版本,还支持一键安装,这正是弥补我之前无法运行sdk的问题,gae虽然还没有人移植wordpress,不过其中的micolog博客程序跟不弱于wordpress,还支持导入wordpress导出的数据库文件,无缝连接,micolog程序是我这两天停留最长的时间,真的很不错,说实话,要不是gae被墙,我真的有转移micolog的冲动,相信许多童鞋都有这个想法,sae还没出绑米服务,gae又被墙,看来它们只能当大家的玩物和试验品。

虽然gae被墙,但是对我这个在墙外生活的人来说,gae的免费始终有帮助于我,之前我帮华人做了不少商业公司网站,这回又多了一个免费稳定的空间,在国外可真是好啊,micolog和wordpress一样灵活,主题可以自己设计,不管是商业网站还是公司网站以及网店,都可以实现,而且可以绑米。除此之外,我倒有兴趣说说我对micolog和wordpress之间的看法:
wordpress可以说是专业博客程序,而micolog可以说是wordpress的灵魂,该有的都有,不该有的也都去掉,简单而实用,可以说更容易上手,比起wordpress复杂的功能选项,micolog更人性化。

micolog

图文详解如何为Micolog配置windows live writer

这两天看到一个童鞋的micolog博客,这款主题真是太合我意了,目前我还没有看到一款wordpress类似这样的主题,micolog的大多数主题都是从wordpress的主题移植而来,都是相当不错的主题,我钟意的那款主题也是被修改而成的样式,这两天逛着逛着把自己的博客都给忽略了,这两天忘了更新,还请大家原谅。

gae和sae我更喜欢gae,google的产品功能比较强大,程序也比较多,但就是有一点很有问题,那就是无法备份代码文件,只能上传不能下载,如果丢失本地文件,那不是无法更新了嘛,还好有人编写了一个工具:

用于将GAE站点的代码打包成zip格式并下载

步骤如下:

1.在根目录下根据manatlan的代码建立zipme.py

2.在app.yaml中加入

- url: /zipme
  script: zipme.py

3.访问youapp.appspot.com/zipme

zipme.py脚本

#!/usr/bin/env python # -*- coding: UTF-8 -*- """ ########################################################################## ZipMe : GAE Content Downloader ########################################################################## Just add this lines in your app.yaml : - url: /zipme script: zipme.py ########################################################################## """ # manatlan from google.appengine.ext import webapp from google.appengine.api import users import wsgiref.handlers import zipfile import os,re,sys,stat from cStringIO import StringIO def createZip(path): def walktree (top = ".", depthfirst = True): names = os.listdir(top) if not depthfirst: yield top, names for name in names: try: st = os.lstat(os.path.join(top, name)) except os.error: continue if stat.S_ISDIR(st.st_mode): for (newtop, children) in walktree (os.path.join(top, name), depthfirst): yield newtop, children if depthfirst: yield top, names list=[] for (basepath, children) in walktree(path,False): for child in children: f=os.path.join(basepath,child) if os.path.isfile(f): f = f.encode(sys.getfilesystemencoding()) list.append( f ) f=StringIO() file = zipfile.ZipFile(f, "w") for fname in list: nfname=os.path.join(os.path.basename(path),fname[len(path)+1:]) file.write(fname, nfname , zipfile.ZIP_DEFLATED) file.close() f.seek(0) return f class ZipMaker(webapp.RequestHandler): def get(self): if users.is_current_user_admin(): folder = os.path.dirname(__file__) self.response.headers['Content-Type'] = 'application/zip' self.response.headers['Content-Disposition'] = \ 'attachment; filename="%s.zip"' % os.path.basename(folder) fid=createZip(folder) while True: buf=fid.read(2048) if buf=="": break self.response.out.write(buf) fid.close() else: self.response.headers['Content-Type'] = 'text/html' self.response.out.write("<a href=\"%s\">You must be admin</a>." % users.create_login_url("/zipme")) def main(): application = webapp.WSGIApplication( [('/zipme', ZipMaker)], debug=False) wsgiref.handlers.CGIHandler().run(application) if __name__ == "__main__": main()

这段代码会通过google的身份认证来判断访问者是否可以下载代码,所以不用担心代码泄漏。

最后献上我的镜像站点:zhengyong100.appspot.com 大家翻墙看看,主要考验你的翻墙能力,呵呵。

分类:网络博客 标签:,,,

上一篇:QQ比电话好用你信不信,反正我信了

下一篇:令人蛋疼的西游记点解

已经有49条评论!

Loading...
  1. yyh

    呵呵,这个代码貌似还不错

    沙发!
  2. 转走了哦。。。告知一声

    板凳!
  3. 不敢接受,可真的是沙发,哈哈~

    地板!
  4. google现在都上不了~~~ 哎,烦

    4F
  5. 好东西啊。。可惜google的服务现在是越来越不好访问了,伟大的祖国啊。。

    5F
  6. micolog是微博类型吧~

    6F
  7. 转走了,不错,告知下。

    7F
  8. 不管你们学不学,反正我是不学铁道体…

    8F
  9. 好长时间没有上网了,围观一下

    9F
  10. 写的很不错啊,支持一下博主。

    10F
  11. 又在玩新的,支持。

    12F
  12. GAE和SAE都可以通过反向代理的方式绑米。

    13F
  13. APP,新浪也有APP!

    14F
  14. 很受用,支持一下…

    15F

怎么样?你也说一句吧!

gravatar

冷笑 忧伤 恶魔 笑脸 红脸 咧嘴笑 吃惊 惊讶 困惑 耍酷
大笑 抓狂 痛苦 转眼珠 眨眼 好主意 囧 无表情 哭泣 坏笑