无需插件为 Jekyll 创建 RSS feed
本文最近更新于 2017 年 10 月 09 日
本文方法源自 jekyll-rss-feeds
2015/04/07 - 更新 feed.xml(详情见 这里);修正 feedburner 超过 1024K 问题。#Moscow
在 _config.yml
中添加站点信息
name: Your Blog's Name
description: A description for your blog
url: https://your-blog-url.example.com
这些值将会作为网站信息用于你的 feed 中,作为“奖赏”,以后你也可以在你的 Jekyll 模板
中使用 site.name
, site.description
和 site.url
来调用这些变量值。
为你的网站添加 feed.xml
jekyll-rss-feeds 提供了几种 feeds 可供使用,详见 https://github.com/snaptortoise/jekyll-rss-feeds
这里我们使用一种常用形式,即调用最新的 20 篇文章。所使用的 feed.xml 代码如下(feed.xml 放置在网站根目录下):
{% raw %}
---
---
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ site.name | xml_escape }}</title>
<description>{% if site.description %}{{ site.description | xml_escape }}{% endif %}</description>
<link>{{ site.url }}</link>
<atom:link href="{{ site.url }}/feed.xml" rel="self" type="application/rss+xml" />
{% for post in site.posts limit:20 %}
<item>
<title>{{ post.title }}</title>
{% if post.excerpt %}
<description>{{ post.excerpt | xml_escape }}</description>
{% elsif post.description %}
<description>{{ post.description | xml_escape }}</description>
{% else %}
<description>{{ site.description | xml_escape }}</description>
{% endif %}
<pubDate>{{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }}</pubDate>
<link>{{ site.url }}{{ post.url }}</link>
<guid isPermaLink="true">{{ site.url }}{{ post.url }}</guid>
</item>
{% endfor %}
</channel>
</rss>
{% endraw %}
当然,你也可以自定义最新文章的数量,只需更改 for post in site.posts limit:20
中的 20 为你想要的数字即可。
创建,提交!
执行 jekyll serve
生成你的站点然后 push 到你的服务器!如果你在使用 GitHub Pages,那就直接 git push
吧!
最后,顺手在网站的 <head>
中添加上 feed 的 <link>
吧!
<link href='https://jsntn.com/feed.xml' rel='alternate' type='application/atom+xml'>
DONE!
https://joelglovier.com/writing/rss-for-jekyll/
https://kmikael.com/2013/05/23/adding-an-rss-feed-to-a-jekyll-site/
最近更新: