守望的麦子

无需插件为 Jekyll 创建 RSS feed

2014-3-30    曼谷 /others/2014/03/30/rss.html others

本文最近更新于 2017 年 10 月 9 日

本文方法源自 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.descriptionsite.url 来调用这些变量值。

为你的网站添加 feed.xml

jekyll-rss-feeds 提供了几种 feeds 可供使用,详见 https://github.com/snaptortoise/jekyll-rss-feeds

这里我们使用一种常用形式,即调用最新的 20 篇文章。所使用的 feed.xml 代码如下(feed.xml 放置在网站根目录下):

 1 ---
 2 ---
 3 <?xml version="1.0" encoding="UTF-8"?>
 4 <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
 5 	<channel>
 6 		<title>{{ site.name | xml_escape }}</title>
 7 		<description>{% if site.description %}{{ site.description | xml_escape }}{% endif %}</description>		
 8 		<link>{{ site.url }}</link>
 9 		<atom:link href="{{ site.url }}/feed.xml" rel="self" type="application/rss+xml" />
10 		{% for post in site.posts limit:20 %}
11 			<item>
12 				<title>{{ post.title }}</title>
13 				{% if post.excerpt %}
14 					<description>{{ post.excerpt | xml_escape }}</description>
15 				{% elsif post.description %}
16 					<description>{{ post.description | xml_escape }}</description>
17 				{% else %}
18 					<description>{{ site.description | xml_escape }}</description>
19 				{% endif %}				
20 				<pubDate>{{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }}</pubDate>
21 				<link>{{ site.url }}{{ post.url }}</link>
22 				<guid isPermaLink="true">{{ site.url }}{{ post.url }}</guid>
23 			</item>
24 		{% endfor %}
25 	</channel>
26 </rss>

当然,你也可以自定义最新文章的数量,只需更改 for post in site.posts limit:20 中的 20 为你想要的数字即可。

创建,提交!

执行 jekyll serve 生成你的站点然后 push 到你的服务器!如果你在使用 GitHub Pages,那就直接 git push 吧!

最后,顺手在网站的 <head> 中添加上 feed 的 <link> 吧!

<link href='https://wheat.at/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/

关于作者
麦子,80 后,现从事通信行业。安卓玩家一个人的书房朗读者。
MRJENGLISH
jsntn
jasonwtien
jasonwtien
更多…… /about.html

最近更新: