May 31, 2007

修正 Blogger feed: 基于 Yahoo Pipes 的 hack

原文:Blogger feed corrector: Yahoo Pipes based hack
更新:现在可以试试这个 hack 了。Yahoo 修复了日期问题。在此感谢所有在反馈中支持我的人。
  就像大多数人都知道的,Blogger 的 feed 按照更新日期而不是发布日期来排序。这让你在编辑旧文章时很不方便,因为这会文章重新出现在 feed 中。最近,Yahoo 发布了一个让人激动的 feed 服务── 管道(Pipes),Aditya 有了一个好点子──使用管道 Blogger feed 按发布日期重新排序。我想我会在它的基础上 hack,让大家都能轻松使用。
  这个 hack 是给那些不使用 Feedburner,而是使用 Blogger 自身提供的 feed 的用户(页面底部的“Subscribe to:”链接)。我根据 Aditya 的 hack 作了一些修改,使得它适用于所有的 feed。对模板作一些小修改,就能使用重新排序的 feed 来替代 Blogger 的 feed。如果你希望这样,首先到 pipe's page 中填上你博客的地址,检查一下管道(pipe)是否按照发布日期对文章排序,而不是更新日期。
  如果你对要使用它,下面我将告诉你如何在模板中使用。在模板中找到这个 includable。

<b:includable id='feedLinksBody' var='links'>
<div class='feed-links'>
<data:feedLinksMsg/>
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url'
expr:type='data:f.mimeType'
target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
</b:includable>

  替换红色部分的代码:
<a class='feed-link'
expr:href='"http://pipes.yahoo.com/pipes/KEflSli82xGIHxezIBeTaQ/run?feed="
+ data:f.url + "&amp;_render=rss"' expr:type='data:f.mimeType'
target='_blank'><data:f.name/> (RSS)</a>

  保存模板后再查看博客时,你会发现“Subscribe to”链接已经指向了重新排序的 feed。你可以发布文章请求你订阅者重新订阅新的 feed,这样旧文章的更新将不会再打扰他们。

  声明:
  1.由于新的 feed 由管道创建,所以 feed 标题显示为管道的名称“Blogger feed corrector”。在你的文章中,可以在阅读器中重命名 feed,或者自行修改管道名称。
  2.Yahoo 对通过管道的 feed 只提供 RSS 和 JSON 格式(很自然,由于 Google 的原因,他们不是很支持 Atom)。所以,重新排序的 feed 只支持 RSS 格式。不过这不适什么问题,因为几乎所有的阅读器都支持 RSS。
  如果在使用过程中发现还有其他需要告诉大家的,请一定让我知道。

0 comments:

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger