【Hexo博客】配置RSS插件,生成 Atom1.0 或 RSS2.0 摘要文件
最近又有几个哥们找我的博客交换友链,问我要 RSS 订阅地址,之前一直没想着整,今天动手吧。
何为 RSS?
RSS,中文名是简易信息聚合(也叫聚合内容)是一种基于XML的标准,在互联网上被广泛采用的内容包装和投递协议。
RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的 XML 应用。RSS 搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个 RSS 文件后,这个 RSS Feed 中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的 XML 格式,所以也能在其他的终端和服务中使用,是一种描述和同步网站内容的格式。[2]
RSS 广泛用于网上新闻频道,blog 和 wiki,主要的版本有 0.91, 1.0, 2.0。使用 RSS 订阅能更快地获取信息,网站提供 RSS 输出,有利于让用户获取网站内容的最新更新。网络用户可以在客户端借助于支持 RSS 的聚合工具软件,在不打开网站内容页面的情况下阅读支持 RSS 输出的网站内容。
就本质而言,RSS 和 Atom 是一种信息聚合的技术,都是为了提供一种更为方便、高效的互联网信息的发布和共享,用更少的时间分享更多的信息。同时 RSS 和 Atom 又是实现信息聚合的两种不同规范。1997 年 Netscape(网景)公司开发了 RSS,“推”技术的概念随之诞生。然而 RSS 的风行却是近两年的事,由于 Blog 技术的迅速普及和 Useland、Yahoo 等大牌公司的支持,2003 年 RSS 曾被吹捧成可以免除垃圾邮件干扰的替代产品,一时形成了新技术的某种垄断。这时 Google 为了打破这种垄断,支持了IBM软件工程师 SamRuby 2003 年研发的 Atom 技术,由于 Google 的加入,Atom 迅速窜红。Useland 公司的戴夫·温那(Dave Winner)也迅速将 RSS 升级到2.0版本,形成了两大阵营的对峙。但为了方便用户使用和市场实际的双重压力,两种标准有统一的可能,温那在(2010)3月表示 RSS 将与 Atom 合并。多数版本的阅读器都可以同时支持这两种标准。
插件安装与配置
在 Hexo 官网插件 页面中搜索 rss,经过简单筛选,最多人用的是 hexo-generator-feed 插件。
该插件的作用和使用效果:
Generate Atom 1.0 or RSS 2.0 feed.
In the front-matter of your post, you can optionally add a
description
,intro
orexcerpt
setting to write a summary for the post. Otherwise the summary will default to the excerpt or the first 140 characters of the post.
通过 npm依赖包文档 可知,安装命令:
1 | npm install hexo-generator-feed |
你可以在项目根目录的 _config.yml
添加如下配置:
1 | feed: |
其中配置项:
type - Feed type.
atom
或rss2
. 指定['atom', 'rss2']
可以输出两种类型。 默认atom
,用例:
1
2
3
4 feed:
# 生成 atom feed
type: atom
path: atom.xml
1
2
3
4
5
6
7
8 feed:
# 生成 atom 和 rss2 两种 feeds
type:
- atom
- rss2
path:
- atom.xml
- rss2.xmlpath - Feed path. 当指定了这两种类型时,路径必须遵循类型值的顺序。(默认
atom.xml
/rss2.xml
)limit - Feed 中的最大帖子数量 (使用
0
或false
可以展示所有帖子)hub - URL of the PubSubHubbub hubs (如果不使用,请留空)
content - (可选) 设置为
true
可以将整个帖子的内容包括在提要中content_limit - (可选) 摘要中使用的帖子内容的默认长度。仅在 content 设置为
false
且不存在自定义帖子描述的情况下使用content_limit_delim - (可选) 如果 content_limit 用于缩短发布内容,则仅在达到字符限制之前的最后一个分隔符处剪切。默认情况下不使用
order_by - Feed 排序规则 (默认
-date
)icon - (可选) 自定义 Feed 图标。默认为在主配置中指定的电子邮件 Gravatar
autodiscovery - Add feed autodiscovery. (默认
true
) 许多主题已经提供了这一功能,因此如果您希望禁用它,可能还需要调整主题的配置template - 自定义模板路径,该文件将用于生成 Feed XML 文件,请参阅默认模板: atom.xml 和 rss2.xml
即使该插件被配置为输出两种提要类型,也可以只指定一个自定义模板,
1
2
3
4
5
6
7
8
9
10
11
12
13 # [可选]禁止将自定义模板复制到 public/ 文件夹
# 或者,您也可以在文件名前加下划线,例如 _custom.xml
# https://hexo.io/docs/configuration#Include-Exclude-Files-or-Folders
exclude:
- 'custom.xml'
feed:
type:
- atom
- rss2
template:
- ./source/custom.xml
# atom 将使用 custom.xml 生成 Feed 文件
# rss2 将使用 默认模板 生成 Feed 文件
除了上方给出的官方示例,你也可以直接参考我的配置:
1 | # hexo-generator-feed |
生成并部署
通过执行生成命令:
1 | hexo s |
即可在 /public
目录下发现,成功新增了 atom.xml
和 rss2.xml
两个 Feed 文件。
然后执行部署命令:
1 | hexo d |
即可获得在线订阅地址,如本站的:
【参考内容】