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. 几天没来 网站大改版啊“

    16F
  2. 好像我前年架过,主要因为gae被墙木有用

    18F
  3. 没用过啊。看看。

    19F
  4. 技术上的问题,当然要靠技术来解决,嘿嘿!不过,要想删除已上传的文件是不是也要写文件呀!

    20F
  5. 我还是在用wp

    21F
  6. sae可以绑米的,只不过要 bei an

    24F
  7. 哦,有没有演示地址看下!

    25F
  8. 怎么没有演示?咱改天也试试!

    26F
  9. 第一次知道这个东西

    27F
  10. 我觉得这个说是WP的灵魂是不是有点过了?

    28F
  11. 对这些太复杂的东西不感冒。
    我给你提个建议啊,你如果申请到百度联盟,可以在右边的“提交评论”上面的GG广告换成百度的。那样能增加误点率。百度的只要进入广告的页面,就可以点击进入

    29F
  12. 财富第六波—在家创业明天,您想成为百万、千万、甚至亿万富翁吗?在家创业是您明智的选择!21世纪,无边界创业将成为人类文明 个性化时代的主流,除了掌握趋势,你将别无选择,事业咨询QQ:2447851467(了解不会有损失,拒绝了解将会终身遗憾!)详情网址:http://nicek3.blog.163.com/

    30F

怎么样?你也说一句吧!

gravatar

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