I am LAZY bones ? all linux

终于修复了feed输出在GR中的换行问题

最近很多人给我留言,说我的feed输出在Google Reader里不正常,所有格式都没了,换行也不见了。
但是我用thunderbird订阅自己的blog却是很正常的,为此特意用GR订阅了自己的blog看了下,确实是所有文字都成了一陀,惨不忍睹。
为此,近几天找了好久的原因,到现在,虽然根本原因还是没找到,不过换行问题算是暂时解决了。
我对比了自己的feed输出和其他WP的blog的输出,其实格式上都是一样的,都是xml里没个item都有description和content:encoded两块内容,其中description里是没有任何换行标记的摘要,一般长度不会很长,也就是说会截断文章;而content:encoded里才是真正的HTML化的全文内容,一般在WP的后台选择了feed输出全文以后,这段才会有。
但是我一直是选择输出全文的,为什么还是会乱掉呢?莫非GR只认我的description那段了?而thunderbird等却可以显示真正的全文,这样的解释倒是可以说明为什么在不同的阅读器里会有不同的表现。
意识到这一点后,我就想干脆把feed里的description那段去掉得了,于是看下了WP的代码,找到了 wp-includes/feed-rss2.php 的47行,

<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>

然后把这行给删掉了。终于实现了在GR里断行,哈哈。
剩下的问题是,为什么大家都有description,但是只有我的显示有问题?难道xml里有指定用不用description的字段么?
哦,还得记得下次升级了WP以后,都得再改一次这个文件。。。

======== 20090902 16:52 update ========
原来还有一个文件没有改过来,导致刚才订阅 http://li2z.cn/feed/atom/ 的同学还是乱的,但是订阅 http://li2z.cn/feed/ 的同学就是正常的。。。
于是再删掉 wp-includes/feed-atom.php 的第44行:

<summary type="<?php html_type_rss(); ?>"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary>

这回,应该都好了吧。。。

最后修改时间: 2009年09月02日 17:01

本文章发表于: 2009年09月02日 12:18 | 所属分类:流水帐. | 您可以在此订阅本文章的所有评论. | 您也可以发表评论, 或从您的网站trackback.

10 个评论 关于: “终于修复了feed输出在GR中的换行问题”

  1. ttplay 在 2009年09月02日 13:43 说:回复

    还是老样了了,你确定你用的是GR?

  2. chi 在 2009年09月02日 13:51 说:回复

    的确,我的GR里,这篇还是混成一团

  3. Yousri 在 2009年09月02日 14:18 说:回复

    还有待修正咯 哈哈~

  4. 打酱油 在 2009年09月02日 16:07 说:回复

    同是一团

  5. icuy 在 2009年09月02日 16:45 说:回复

    我可以证实..现在还是一团

  6. shellex 在 2009年09月02日 17:05 说:回复

    我这里正常。
    我觉得不正常的同学使用的feed源不对吧
    都怪骨头没有烧录一个统一的

  7. ray 在 2009年09月02日 17:25 说:回复

    这回真的正常了

  8. johnthu 在 2009年09月02日 21:52 说:回复

    这篇在GR里是好的。

  9. bread 在 2009年09月05日 22:43 说:回复

    啊。。为啥我现在啥也看不到了

发表评论