2008年12月29日星期一

DCG v3.3.100 Released

v3.3.100是一个bug fix release,即,没有功能的添加而是修复了一些bug。修复的bug如下:

  1. 在有缩进的block中控制行结束与否的"@"不能正确工作,虽然不会输出新行,但是会追加block的缩进,这是一个错误的行为。
  2. 模板输出中的换行符在Windows下永远都是"\r\n",在Linux下永远都是"\n",这是不正确的。正确的做法是根据模板文件的换行符来决定输出的换行符。

建议所有使用v3.3.90的人都更新到v3.3.100。

http://code.google.com/p/dcg/downloads/list

2008年12月25日星期四

DCG v3.3.90 Released

在计划了三个月后,DCG v3.3.90终于被我完成并发布了,今天正好是12月25号,作为圣诞礼物送给大家吧。

改动如下:

  • 内部Parsing的方式进行了重构,终于采用了AST。这样模板语法的扩展能力就更强了,否则不好扩展。
  • 终于实现了一个我称之为Private Section的功能,可以将其想象成模板中的模板,支持Recursive调用。
  • 支持.NET Framework 3.5和C# 3.0了,受其影响,构造函数多了几个Overload。
  • Bug fixes,一些不怎么鲜为人知的bug被fix掉了。

秀一个Recursive Private Section调用的代码片段:

介于DCG的用户也有一定规模了(两个团队,Orz),我争取在接下来的一段日子里从头到尾在Blog中仔细描述DCG的各种使用方法、它的语法等,并同时会给出相关内容的示例模板,敬请期待。:)

这里有两个关于DCG的连接:

Dcg项目首页及下载:http://code.google.com/p/dcg/

Dcg讨论组,可用来沟通:http://groups.google.com/group/dynamic-code-generator,这个在项目首页也有链接。

2008年12月17日星期三

Google帐号自动登录脚本

近日发现自己用的Google服务是越来越多了。有些服务例如Google SearchWiki需要先登录才能够使用,日常使用又嫌登录比较麻烦,所以听从了同事的意见做了一个GreaseMonkey脚本,可以在访问任一Google页面时登录,如果还没有登录过的话。

我写了两个脚本来满足这个需求,两个脚本要合起来用。一个是负责将页面转到登录页面的,另一个是负责自动填充表单并提交的。脚本已上传到了userscripts.org上了,链接如下:

Google Redirect to Login

Google Auto Login

安装好后需要改一下帐号信息,将YOUR_ACCOUNT_NAME改为你自己的Google帐号名,将YOUR_PASSWORD改为你自己的Google帐号密码。

这套脚本的优势就在于无论你有没有保存Cookie或者登录过Google没有都可以保证你在访问任一Google页面时是登录的。而缺点就是一旦启用了脚本后就无法登出了,因为登出后会再次登录。如果你实在想登出的话,那么你只需要点一下Firefox中的小猴子暂时禁止GreaseMonkey,然后再登出就可以了。