存档

文章标签 ‘Micolog’

GAE被墙了,我的博客光荣的成为墙外一员(附用反向代理解决micolog/GAE解决被墙方法)

2010年12月9日 sigma 5 条评论 19,444 views

今天,我试着上了下我的在GAE上micolog的搭建的博客,发现貌似无法上了(显示time out),还以为是偶然现象。

到了晚上,在solidot看到说GAE被盾了,原来如此,看来不是偶然现象,是赤裸裸的阴谋!

GAE(Google App Engine)是Google于2008年提供的知名的云计算服务,用户可以上传Python程序和Java程序,免费使用谷歌的存储空间、带宽或CPU进行应用的开发等。现在GAE的域名 www.appspot.com 被关键字封锁,目前所有托管的项目程序均无法从中国访问。目前还不清楚这是否与个人利用GAE搭建私人代理服务器有关。

看来我GAE上搭建的博客终于也光荣的成为墙外一员了!!

但是我发现,倘若通过我的另外一个域名:www.debuglife.tk,却还可以访问,分析了下原因,感觉是因为我的域名用了反向代理的原因,因此再次说下如何使用反向代理解决基于反向代理的过程:

  1. 首先,需要注册一个域名,这大家都懂得,不像花钱的话,可以去dot.tk注册免费域名。
  2. 找一个反向代理服务,个人推荐www.you8g.com,注册并将你第一步的域名提交上去。
  3. 在google上注册企业套件,地址http://www.google.com/apps/intl/en/business/index.html,可以注册教育机构的,那是免费的,不过那需要国外的ip进行注册。
  4. 在企业套件管理面板或者GAE管理面板找到添加域名(add domain)选项,添加域名,可以参见http://donauya.spaces.live.com/blog/cns!F53B4DB2F7D1A8A1!131.entry?wa=wsignin1.0&sa=315075441
  5. 在你所申请的域名的域名管理(如dot.tk)中添加一个CNAME记录,指向你申请的代理服务器如:ghs.you8g.com

update 13/12/2010:

    貌似今天GAE又恢复了,看来真和颁奖日有关!

update 17/2/2011

发现现在you8g挂了,各位可以换到另外一个叫Chinasb的,地址是app.chinasb.org,具体方法类似,只是第五步要提前到第二步之前,因为chinasb会先验证dns记录。

update 17/2/2011

另外,可以使用一个免费的CDN Cloudflare实现反向代理,具体步骤:

1. 注册Cloudflare。

2. 将你需要CDN推送的域名添加到CloudFlare,然后将域名的dns服务器修改为CloudFlare指定的两组即可。

3. 在你的CloudFlare账户中,可以针对域名每一条A记录或者cname记录设置是否启用云CDN服务,如果不启用,也可以仅仅将CloudFlare当做免费域名dns服务器来使用。

Micolog添加自定义模块

2010年10月23日 sigma 14 条评论 36,683 views

有时,我们的博客需要经常更新一些模块的内容,如广告栏,以及一些其他不同的人设置不一样的工具。为了方便管理,这些模块最好都要移到后台,这样就可以经常更改模块内容而不用更改博客源码重新上传。之前,我在colin-young的博客上看到了一篇如何后台管理侧边栏模块的文章,受此启发,我想也可以把任何位置的模块都实现后台管理,经过尝试发现可行,具体效果直接看本文的中间和下面,左边的广告条以及aboutme就行了。在此简述一下实现方法(和colin-young的方法几乎一样,只是将其推广了)。

  • 在“\micolog\model.py”搜索“blognotice=db.TextProperty(default=”)”,在其后加入:
     YouModelName=db.TextProperty(default='') 
  • 在“\micolog\views\admin\setup.html”搜索“blog.blognotice”,在30行处关于设置blognotice的代码,仿照其语法,添加如下代码:
    <tr valign="top">
    <th scope="row">{% trans "YouModelName:"%}</th>
    <td><textarea id="YouModelName" style="width:95%" cols="45" rows="2" name="YouModelName">{{blog.YouModelName|escape}}</textarea>
    </td>
    </tr> 

    继续搜索blognotice,大概170行有如下代码

    <input value="title,subtitle,...,default_link_format,blognotice" type="hidden" name="str_options" />

    在blognotice附近添加你的模块名

  • 在需要调用该模块的地方,如sidebar.html,single.html等模板文件中,加入调用代码:
    <div id="YouModelName" class="widget widget_YouModelName">
    <h3>YouModelName</h3>
    <ul>
    {{blog.YouModelName}}
    </ul>
    </div>
  • 上传部署,在后台即可以看到模块设置了,支持任何html标签(注意,不能够转义,默认的blognotice转义了,即上面那步为{{blog.YouModelName}}而不是{{blog.YouModelName|escape}})

Done & enjoy~

feed终于正常工作了

2010年10月16日 sigma 2 条评论 18,616 views

之前,我的博客的feed在google reader能够正常显示,但是,我尝试在校内和live space导入时却总是失败。

仔细对比了我的feed页和一些其他网站的feed页,发现我的feed页有一个标签和其他feed页不同,其他的都是<item>,而我的却是<entry>,感觉应该是我的网站的生成feed页面的python程序有问题。

今天又是周末,有点空,于是想把这问题解决一下,于是去看了micolog官网看了一下,发现micolog竟然release了,于是想更新下我的micolog主程序。

下完release版的micolog,才想到,为了定制我自己的页面,我的micolog程序已被我改的面目全非了,因此,为了让更新后的页面效果和原来一样,必须将官方版的micolog和我自己的修改版进行merge。

本来想用svn进行merge的,但感觉没那个必要,只需要有文件夹比较以及文件比较的编辑器即可以用来merge,于是在放搜狗文件夹比较工具,发现下面一个叫Beyond Compare的工具比较好,于是下了下来并花了大约半个小时进行merge。

merge完后,用GAE进行上传,但发现貌似micolog工具不正常,表现为有的页面打不开,寻思再三,感觉是有的文件没有上传的原因。于是想,为什么会出现目录下的文件没上传,最后猜测应该是GAE可能是根据修改日期判断文件的新旧的,于是,我把merge后的文件夹所有文件的修改日期都进行了批量修改,改到最新,改完后,再上传,发现,It works!

测试feed,出现了&lt item &gt,并尝试日志的导入导出,发现这次正常了,哈~

最后,顺便测试下一个别人刚发给我的windows live writer的插件-InsertPhotsoFromAlbum(下面图片是从SkyDrive相册插入的,测试用)

分类: micolog 标签: , ,

博客搬家:导出live space 到micolog或者wordpress

2010年10月7日 sigma 没有评论 11,793 views

前段时间,微软宣布将停止live space 的服务,建议用户转移到wordpress,但是对于有些用户,比如说向我们这些用GAE+micolog搭建独立博客的用户,并不像直接搬到wordpress,或者由于各种原因,不想把live space的数据马上删除(默认转到wordpress,live space数据会删除)。因此,找一个能够把live space数据导出到micolog格式或者wordpress格式就很有必要。

我在网上找了下,终于找到了一个叫Live-space-mover的工具,并且成功的将live space 导出到micolog和wordpress,在此简要的记录一下过程。

准备工作:

1.设置live space日期格式:

重要的是让WindowsLiveSpace和Wordpress的日期格式一致,这里我两个设置的是2010/10/7。在WindowsLiveSpace中,我的时间格式是10:43,设置的路径是“选项”->“常规”->“日期和时间格式”:

image

另外,在“选项”->“日志”->“显示日志日期”选项中,勾选“在页首出显示日志发布日期”。

2.安装python:

我使用的是python2.5.2+Beautiful Soup 3.0.6,Python 2.5.2的官方下载地址在:

http://www.python.org/download/releases/2.5.2/

下载后若在命令行敲python说命令没找到,则要手动将python路径添加到环境变量,或者后续命令时把python路径敲全。

3.下载Beautiful Soup 3.0.6:

Beautiful Soup 3.0.6是一个解析HTML页面的类库,接下来那个下载博客文章的脚本需要用它。下载地址:

http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.6.tar.gz

解压到一个文件夹,比如D:downloadBeautifulSoup-3.0.6。你将看到BeautifulSoup.py等几个脚本。

4.下载Live-space-mover:

Live-space-mover这个脚本,能够把WindowsLiveSpace中的所有文章和评论等,生成一个Wordpress能够识别的XML文件,以实现博客搬家的目的。下载地址:

http://code.google.com/p/live-space-mover/downloads/list

现在的最新版本是live-space-mover.1.8.zip。解压到Beautiful Soup 3.0.6的目录。在BeautifulSoup-3.0.6目录下,你应该看到脚本live-space-mover.py。


上述3,4两部,大家若嫌麻烦可以直接下载我打好包的Beautiful Soup 3.0.6+Live-space-mover,下载地址:

 

搬到micolog或者wordpress:

1.导出live space:

在cmd下,cd到BeautifulSoup-3.0.6目录,若时间格式和我的一样,直接运行:

python live-space-mover.py -s http://yourSpaceName.spaces.live.com/

若时间格式后面还有秒,运行:

python live-space-mover.py -s http://yourSpaceName.spaces.live.com/ -t “%m/%d/%Y %I:%M:%S %p”

其中youSpaceName是你的博客名。倘若环境变量中没有python,则把python的路径输全即可,如:

D:\Program Files\Python25\python.exe live-space-mover.py -s http://yourSpaceName.spaces.live.com/ -t “%m/%d/%Y %I:%M:%S %p”

2.导入到micolog或者wordpress:

倘若是导入到wordpress,可以直接导入(tools->import->wordpress格式),只需设置一下作者即可。

倘若导入到micolog,则需要手动把一些中文post_name改成拼音或英文,如:

 <wp:post_name>中文</wp:post_name>
 

改成:

 <wp:post_name>english</wp:post_name>
 

否则或出现对应item没导入进去,有些文章会缺失。

wordpress评论也能够完美导入,但micolog貌似不能,我从wordpress导入到micolog也不能导入评论,所以这应该是micolog导入功能不够完善所致。

done & enjoy~

适用于micolog的windows live writer语法高亮插件

2010年10月6日 sigma 1 条评论 12,418 views

对于我等码农来说,在博客上贴代码是家常便饭,为了让代码更好看,代码高亮是必须的,作为离线博客最常用工具,windows live writer这方面的插件有不少,但很遗憾的是,我在网上花了九牛二虎之力,也没搜到适合我的博客平台micolog的语法高亮插件。

既然放搜狗不行,那只好自己动手,丰衣足食。于是我找了个适用于wordpress的语法高亮插件,将其更改了下,貌似原来的名字叫做HiLi,现在已经既不清了,原网址也记不清了,貌似是下网址的主人写的:

http://www.badder.cn/

我主要对代码进行了如下改动:

1. 对micolog和wordpress的高亮插件的语法进行了比较分析,从而对高亮语法的头的生成代码进行了更改,从而使值适用于micolog。

2. 对html一些特殊字符进行了自动替换,如”>”替换成”&gt”,使高亮后的代码末尾不会出现类似”<stdio.h>”的多余代码。

3. 增加了对某些行进行高亮的功能,这个功能对于比较长的代码中需要强调某行代码是很有用的。

完成后的软件界面如下:

image

下面是上面这段代码的高亮结果:

  using namespace std;

int main()
{
  cout << "test"<<endl;
}
 

下载地址:

编译好的dll:
源码:

使用方法:把dll考入windows live writer 插件目录(默认是C:\Program Files\Windows Live\Writer\Plugins)即可.

enjoy~

btw:问一个在windows live writer上发micolog日志的问题

我用wlw发日志的时候,发现其slug无效,感觉是slug没被传输,有人碰到类似问题并且找到了解决方案吗?有的话在留言里告诉我,谢谢~

无觅相关文章插件,快速提升流量