一月 06

Blogger 自定义域名

昨天 Blogger Buzz 放出消息,声称 Blogger 现在可以支持自定义域名。对于自己喜欢的 *.blogspot.com 域名已经被注册,或者难以使用 FTP 发布的国内 Blogger 用户来讲,这是个好消息。根据这篇帮助的提示,只需注册一个域名,简单的设置一个 CNAME 记录,就可以用 BlogSpot 托管空间而使用自己的域名。

我新建了一个域名来发布上次测试用的 Blog,地址是:http://blogtest.windia.net

Blogger 提供的新的模版编辑体系还是很实用的,关键是相对传统的模版,新模版加入了很多新的功能和特性,这些对于 FTP 发布使用传统模版的用户是无法使用的。

不过,值得担心的是,如果 Blogger 和其托管站点 *.blogspot.com 一旦再被封,自定义的域名是否也会同样失效?目前 Blogger 要求自定域名的 CNAME 记录指向 ghs.google.com,这个域名和 *.blogspot.com 的 IP 地址是不相同的,希望能够在 *.blogspot.com 万一再次遭殃的时候能够幸免于难。

十二月 21

Blogger 不再 Beta

昨天 Blogger Buzz 更新消息说 Blogger 推出了正式版本,不再是 beta 状态了。

看了下更新列表,没什么特别的新东西。都是最近长期 beta 以来一步步更新的内容。只是发现新版本 Blogger 的域名从 beta.blogger.com 变成了 www2.blogger.com,不过这个并不影响原来 blog 的网页。访问任何 beta.blogger.com 下的页面,会直接跳转到 www2.blogger.com。

趁着这次更新发布,又修改了一下我的模版。主要是把 Calendar 部分换成了可以在一个页面上来回翻月份,而不会在翻动的时候跳动到对应的存档页,这样可以提高 Calendar 导航的效率。

另外,把树状 Archive 目录提前了一些,并在存档页和帖子页会自动展开对应的月份,这同样也是为了加强导航的作用。

之前发现在页内的评论表单上提交评论后,HTML 页面不会被 Blogger 重建,现在欣喜的发现,这个问题 Blogger 似乎已经在最近的某次更新中修正过了。目前直接在页内提交评论,页面会马上开始重建了。只不过由于新 Blogger 每次要更新的页面比较多(包含所有的 Label 页面),因此和以往老的 Blogger 页面重建相比,速度还是要稍慢点,通常 5 分钟之内应该是可以完成的。

接下来打算在有时间的时候把页面左栏的最新评论改成用 JSON 实现,这样就成了真正意义上的“最新评论列表”,而不是目前的“出现在引导页上的帖子相关评论列表”。本来是想把页面上所有可以由 Bogger 的 Feed 实现的数据都用 JSON 来提供,但是每次请求返回的内容多的时候高达 60 多 K,可能会导致页面变慢,而访问上,不会感觉到太大的改变,因此决定先放一放再说。目前还是通过一个 JS 文件来静态存储所有帖子的时间和标题等信息。只不过这个文件仍然可以写服务端程序通过调用 Blogger 的 GData API 来自动更新。

十二月 05

用微软雅黑代替宋体开启 ClearType UI

用 Microsoft Update 升级到了 Internet Exloporer 7,发现它默认开启了 ClearType,一时之间,觉得两眼昏花,半天才适应。不过由于中文的默认字体仍然是宋体/新宋体,而这个字条不支持 ClearType,因此会发现网页中西文部分是 Anti-Aliasing 的,但是中文部分仍然是默认状态。

其实很早之前就很羡慕 Mac 系统下简明漂亮的细黑中文字体,Windows 系统下的默认宋体的中文字体还算过得去,但是它的西文实在是无法入眼,因此通常我安装了中文版的 Windows 的第一件事情就是把系统界面的字体换成 Tahoma。

现在微软在新的 Windows Vista 中用“微软雅黑”字体代替了原来的宋体/新宋体,以便更好的支持中文的 ClearType 显示。将这个字体安装到 Windows XP 上,也就可以同样利用它实现中文的 ClearType 了。以下是应用前后的对比:


未使用 ClearType

使用 ClearType
继续阅读 »
十一月 17

通过 GData API 提交评论

前两天有提到升级到 Blogger Beta 后发布评论的问题。今天从 Google Groups 上的 Google Data API 讨论组上看到一个新的发布评论的办法,就是用 GData API 通过单贴评论的 Feed 地址

http://beta.blogger.com/feeds/blogID/postID/comments/default

发布。

这个方法与向 http://beta.blogger.com/comment.do 直接 POST 数据的方法比起来,要科学得多。经过测试,这个方法确实可行,评论发布后,页面会被正常地重建。然而,仍然有问题:评论对应的发布者被设置成了 Blogger 的主人,也就是在向 feed POST 数据之前提供给 Google 的身份验证信息对应的用户。

据讨论组上 Blogger 的研发人员回复说,官方并不支持这种方法提交评论,尽管它确实是可行的。我想之所以会有上面的问题,大概是因为这个方法原本是用来发布帖子用的,在这种情况下,作者信息自然就应该从通过身份验证的 Blogger 账户中取得。

已经在这个有关 GData API 提交评论的讨论串中提出建议修正这个问题,不过不知道 Blogger 会不会理我。在这个问题被修正之前,这个方法实际仍然无法投入实用,毕竟不会有人会让所有评论的作者信息丢失掉。

十一月 15

Feeds of Blogger Beta

今天爬 Blogger Beta 的资料,发现 Blogger Beta 除了可以提供整站帖子、整站评论以及分帖子评论的 feed 以外,甚至可以按照单个的 label 来提供 feed,格式如下:

http://beta.blogger.com/feeds/blogID/posts/default/-/labelname

URL 中的 labelname 就是要订阅的 label,注意中间的“-”符号不能少!

另外,把其它的订阅地址的格式也一并写在这里:

订阅整站帖子全文:

http://beta.blogger.com/feeds/blogID/posts/full

订阅整站帖子默认,即按照 Blogger 的 Site Feed 设置选项:

http://beta.blogger.com/feeds/blogID/posts/default

订阅整站评论:

http://beta.blogger.com/feeds/blogID/comments/default

订阅单贴评论:

http://beta.blogger.com/feeds/blogID/postID/comments/default

Update on 2006/11/17:
对于 label 的 Feed,发现如果 labelname 中含有空格,则无法正确获取 Feed 内容,会出现 Blogger 的“We’re sorry, but we were unable to complete your request.”报错页面,例如:

http://beta.blogger.com/feeds/blogID/posts/default/-/Knowledge Base

无论中间的空格是否被 urlencode 成 %20,都会出现这个情况。已经向 Blogger GData API 讨论组 提交了这个问题,不过至今仍未有任何回复。

Update on 2007/01/12:
这个问题在 Blogger GData API 的另一个讨论串中被再次提到,并被认定为一个 bug,可以通过这里来追踪。希望这个问题能够早日得到解决。

十一月 13

升级后如何才能方便的发布评论?

升级到 Blogger Beta后,由于大家无法访问 beta.blogger.com 域名,因此出现了无法发布评论的问题,在上次的帖子中有所讨论。

为了解决这个问题,我自己写了个简单的 Servlet,来接受来自页面上的评论发布,并将这个请求转到 Blogger Beta 上处理评论发布的地址 https://beta.blogger.com/comment.do,因为我可以修改服务器上的 host 文件使其可以访问 beta.blogger.com,这样可以起到一个类似代理的作用,代替需要发布评论的朋友们访问这个不能直接访问的域名。

理论上是没有问题的,实践上我也几乎取得了成功。出现的问题是:评论被正常发布后,和评论相关的帖子页面没有重建!

我们知道,用 FTP 的方式发布 Blogger,任何对帖子的更改,都会导致 Blogger 自动重建页面并自动发布到 FTP 相关的目录下,以使得 blog 网站上的页面能够反应出最近的信息,这些操作包括新增/修改/删除帖子,以及添加/删除评论。正常情况下,一旦有评论发布,这个重建的过程就会发生,这样评论能够在最多几分钟的时间内出现在页面上。

可是现在,评论的内容都出现在 Blogger Beta 自己的评论页面上了,但是却没有触发页面重建。不过,如果直接把页面上评论表单的内容提交到 https://beta.blogger.com/comment.do,则一切正确;但是当然这样做没有意义,因为这要求发布评论的朋友能够直接访问 beta.blogger.com 域名。

现在出现的现象会是,大家发布的评论不会立即显示在帖子页面上,但是实际上是已经被正确的保存了。我看到电子邮件的提示后,就会尽快重建页面使得这些评论能够被显示出来。相信这个问题只是暂时的,总归是应该得到解决的。

这个问题琢磨了一晚上也没有得到结果,Google 上也搜不出什么有用的东西来。已经把这个问题发布到了 Google 上的 Blogger Data API 讨论组求助,希望有人遇到过类似的问题从而给我一些提示。

Updated on 2006/11/17:
有一个更科学的方法来提交评论,那就是用 GData API 向单贴评论的 Feed 地址提交,不过仍然有些问题。详见“通过 GData API 提交评论”。

Updated on 2006/12/21:
Blogger 的某次更新似乎已经解决了评论提交后页面不会重建的问题。现在在页内的评论表单中提交评论,页面会被立即重建,只是由于需要重建的页面和以往的老 Blogger 比起来要多一些,因此会慢一点。一般 5 分钟之内评论就会出现在页面上了。

十一月 11

Firefox 的 JavaScript 问题两则

今天发现页面上新加上的左列 Tag 在 Firefox 上显示不正确,在细察之下,发现 Firefox 在 JavaScript / CSS 上和 IE 不同之处:

问题 1. 类似 obj.style.height = imgObj.height 的语句无效。

即将一个 image 对象的高度值赋给另一个对象,用来修改其样式高度,这样做无效。

分析

要理解这个问题,首先要纠正思想上的一个误区。以上这个操作,其实并非是通常编程概念上的将一个 int 值赋给另一个 int 变量。这个语句的操作,实际上是把 imageObj.height 当作一个字符串,作为 obj 这个对象 CSS 中 height 的属性。

之前的一篇帖子说过,Firefox 对 CSS 的理解非常严格,任何表示大小的值,数字后面必须跟上单位,除非是 0。也就是说,height: 20 对于 Firefox 来讲不具有任何意义,必须写成 height: 20px 才会被接受。所以,在 JavaScript 中,为了让对 CSS 的 height 值的设置有效,所赋给的字符串也同样必须是数量加上单位。

解决

以上语句,应该写成:

obj.style.height = imgObj.height + 'px';

继续阅读 »

十一月 10

升级到 Blogger Beta 后的问题

昨天收到 Blogger 的升级邀请,将我的 Blogger 帐号升级为了新推出的 Blogger Beta。由于升级的过程中,没有对原有模版中的内容进行更新,也没有自动重新重建页面,因此今天在重新修正了模版文件并将整个站点重建。在这个过程中还是发现了一些问题:

十一月 09

转到 Blogger Beta

前几天 Blogger Beta 终于支持了发布到 S/FTP,今天我的帐号终于收到了转到 Blogger Beta 的邀请,这一历史性的时刻终于来到了。这里是 Blogger Buzz 上的公示消息

兴冲冲的赶快按下了“Switch to the new version”,才发现后面的过程需要输入 Google Account 并且到 beta.blogger.com 验证。由于目前公司的网络访问不了 www.google.com,而 beta.blogger.com 目前也无法访问,因此第一次失败……
继续阅读 »

十一月 03

Blogger Beta 终于完工了

今天 BloggerBlogger Buzz 上公布:Blogger Beta: Feature Complete! 文中声称现在 Blogger Beta 可以支持通过 S/FTP 发布了,相比 Classic 的 FTP 发布,保留了 Label 的功能!这是之前我一直对 Blogger 感到不爽而且想自己增加的功能,后来 Blogger Beta 自己增加了 label 功能后,我自己的开发也就停止了,不过由于是通过动态网页技术实现的,当时只限使用 blogspot 的 Blogger 用户使用。现在终于也支持 FTP 发布的用户了,对于我来说,对 Google Blogger 服务的支持无疑又进了一步。

只不过,美中不足的是,通过 FTP 发布的 Blogger,不支持新的 Layout 模版编辑和拖拽功能。不过对于喜欢自己编写模版定制 Blogger 的人(比如我)来讲,这个是无关紧要的。页面上编辑 Layout 再智能再强大,也比不过我自己写 HTML 和 CSS 吧! :-P

这里是原先通过 blogspot 发布的一个测试用 Beta-Blogger,现在移到用 FTP 发布,基本上没有任何问题。观察其发布的文件,会发现它为每个 label 建立了一个 HTML 文件,只是不知道当某个 label 下帖子多了以后会怎么办。

顺带想提一下的是 *.blogspot.com 域名现在又无法访问了,看来上次的解封也是空欢喜一场。目前更让人郁闷的是在公司无法访问 www.google.com (公司 IT 部门解释说是 ISP 的问题,貌似是网通,在家里的时候用电信 ADSL 拨号可以正常访问),beta.blogger.com 域名也无法访问。由于上面提到的测试用的 Beta Blogger 页面中需要调用 beta.blogger.com 下的一些资源,因此在打开页面的时候会比较慢,因为要等请求超时。好在缺少这些资源并不影响访问者观看 Blogger Beta 的网页。

什么时候才能自由访问 Google 的各项服务呢?抑或什么时候才能自由的访问互联网的公众信息?

正在加载在更多文章…