我通过RSS Feed从博客帖子中生成每周电子简报。我用javascript数组生成每周生日列表。文本显示对帖子很好,但在Feed中忽略了它。同样,如果我尝试通过Jekyll / Liquid包含它。
有没有办法解决这个问题,或者xml只会读取javascript以外生成的html?
使用相关的html和javascript修改:Here's a CodePen。您可以通过yaml前端材料看到它非常简单的Jekyll博客。 javascript从数组中读取,将其与发布日期进行比较,并在下一周返回带有生日的人员列表。
所以这是xml:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ site.title | xml_escape }}</title>
<description>{{ site.description | xml_escape }}</description>
<link>{{ site.url }}{{ site.baseurl }}/</link>
<atom:link href="http://stpaulsmalone.org/feed.xml" rel="self" type="application/rss+xml"/>
<pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
<generator>Jekyll v{{ jekyll.version }}</generator>
{% for post in site.posts limit:10 %}
{% if post.categories contains 'news' %}
<item>
<title>{{ post.title | xml_escape }}</title>
<description>
{{ post.teaser | xml_escape }}
<![CDATA[ <img src="http://stpaulsmalone.org/img/news/{{ post.img }}"> ]]>
{{ post.content | xml_escape }}
</description>
<pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
<link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link>
<guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid>
{% for tag in post.tags %}
<category>{{ tag | xml_escape }}</category>
{% endfor %}
{% for cat in post.categories %}
<category>{{ cat | xml_escape }}</category>
{% endfor %}
</item>
{% endif %}
{% endfor %}
</channel>
</rss>
使用Liquid变量构建xml文件可以正常工作。可以通过RSS提要分发可以放在前面材料中的任何内容。 Feed 不会做的是获取生日列表,或通过Liquid包含的任何内容。所以问题是:有没有办法让它做到这一点,或者我只是被卡住了?