Eleventy RSS

本文内容学自《Lesson 17: Meta info, RSS feeds and module recap | Learn Eleventy From Scratch》。

首先创建 src/_data/site.json,存储站点及作者信息:

"authorName": "Issue 33",
"authorEmail": "hi@piccalil.li"

之后需要安装插件:

npm install @11ty/eleventy-plugin-rss

.eleventy.js 中启用插件:

const rssPlugin = require('@11ty/eleventy-plugin-rss');

// ...

config.addPlugin(rssPlugin);

之后,在 rss 下添加一个 rss.html

---
title: 'Issue 33 Blog'
summary: 'A feed of the latest posts from our blog.'
permalink: '/feed.xml'
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>{{ title }}</title>
	<subtitle>{{ summary }}</subtitle>
	<link href="{{ site.url }}{{ permalink }}" rel="self"/>
	<link href="{{ site.url }}/"/>
	<updated>{{ collections.blog | rssLastUpdatedDate }}</updated>
	<id>{{ site.url }}</id>
	<author>
    <name>{{ site.authorName }}</name>
    <email>{{ site.authorEmail }}</email>
	</author>
	{% for post in collections.blog %}
    {% set absolutePostUrl %}{{ site.url }}{{ post.url | url }}{% endset %}
    <entry>
      <title>{{ post.data.title }}</title>
      <link href="{{ absolutePostUrl }}"/>
      <updated>{{ post.date | rssDate }}</updated>
      <id>{{ absolutePostUrl }}</id>
      <content type="html"><![CDATA[
        {{ post.templateContent | safe }}
      ]]></content>
    </entry>
	{% endfor %}
</feed>

网页添加 RSS 元标记

在无奈工业 <head> 中添加下面代码,表示页面包含 RSS:

<link rel="alternate" type="application/rss+xml" href="{{ site.url }}/feed.xml" />

本文作者:Maeiee

本文链接:Eleventy RSS

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!