终于修复了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> |
这回,应该都好了吧。。。
ttplay 在 2009年09月02日 13:43 说:【 】
还是老样了了,你确定你用的是GR?
bones7456 在 2009年09月02日 15:10 说:【 】
汗。。。这个应该不会是别的啥了吧,看我截图: http://paste.ubuntu.org.cn/i44555
chi 在 2009年09月02日 13:51 说:【 】
的确,我的GR里,这篇还是混成一团
Yousri 在 2009年09月02日 14:18 说:【 】
还有待修正咯 哈哈~
打酱油 在 2009年09月02日 16:07 说:【 】
同是一团
icuy 在 2009年09月02日 16:45 说:【 】
我可以证实..现在还是一团
shellex 在 2009年09月02日 17:05 说:【 】
我这里正常。
我觉得不正常的同学使用的feed源不对吧
都怪骨头没有烧录一个统一的
ray 在 2009年09月02日 17:25 说:【 】
这回真的正常了
johnthu 在 2009年09月02日 21:52 说:【 】
这篇在GR里是好的。
bread 在 2009年09月05日 22:43 说:【 】
啊。。为啥我现在啥也看不到了