RSS语法简介
在搭建个人博客时,RSS是一种值得一试的为读者提供信息聚合的方式。RSS也被各类博客框架(如Hugo,Hexo,Jekyll等)所支持。在各类博客框架中,RSS文件一般可自动生成。然而仍有一些特定情况下我们需要对生成的RSS进行定制化,这时我们就需要对RSS的语法有一个简单的了解。
因此本篇文章的主要内容就是对RSS及其语法的简要介绍及使用中的注意事项。
RSS简介
RSS全称为Really Simple Syndication,是一种简单易用的为用户提供信息聚合方式的规范。RSS可以使用户通过RSS客户端接收文章更新等内容,用户可以在不打开网页的情况下收到文章推送,给用户带来更好的用户体验。
RSS语法简介
RSS的语法较为简单,基于XML 1.0
,且应以.xml结尾。因为其基于XML的特点,RSS的语法要求也较为严格,需要较为严谨地遵守。
RSS语法示例
接下来以一个非常简单的RSS文件作为示例来进行分析。
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>技术公馆</title>
<link>https://wangchucheng.com</link>
<description>技术公馆</description>
<item>
<title>Hello, World!</title>
<link>https://www.wangchucheng.com/zh/post/hello-world/</link>
<description>Hello, World!</description>
</item>
<item>
<title>RSS语法简介</title>
<link>https://www.wangchucheng.com/zh/rss-syntax</link>
<description>本文的主要内容是对RSS及其语法的简要介绍及使用中的注意事项。</description>
</item>
</channel>
</rss>
对熟悉XML语法规则的使用者来说,RSS的语法非常的简洁易懂。示例代码中的第一行是对XML的声明,声明其版本和编码方式。第二行则是对RSS的声明,声明其版本。
在<channel>...</channel>
中的是RSS具体的内容,可将该部分的示例代码分为三大部分。
<title>技术公馆</title>
<link>https://wangchucheng.com</link>
<description>技术公馆</description>
如上所示的第一部分为该RSS站点的基本信息,除此之外还有版权信息等内容也可添加到此部分,具体内容将会在后文中讲到。需要注意的是<title>
,<link>
,<description>
三部分均为必须的。
<item>
<title>RSS语法简介</title>
<link>https://www.wangchucheng.com/zh/rss-syntax</link>
<description>本文的主要内容是对RSS及其语法的简要介绍及使用中的注意事项。</description>
</item>
除RSS站点的基本信息之外,以上的即为RSS中的一篇文章的基本格式。每一个<item>
中为一篇文章的内容,一般包含标题,链接,描述等部分。除<item>
外,还有<image>
等,具体内容也将在后文中提到。
RSS语法列举
除上述示例中的基本语法外,RSS还支持许多其他的语法,以下为部分常见语法的列举。
RSS站点信息
除<title>
,<link>
,<description>
三部分必须的站点信息外,RSS文件中还有以下属性。
<language>...</language>
<rating>...</rating>
<copyright>...</copyright>
<pubDate>...</pubDate>
<lastBuildDate>...</lastBuildDate>
<generator>....</generator>
<docs>...</docs>
<cloud>...</cloud>
<ttl>...</ttl>
<managingEditor>...</managingEditor>
<webMaster>...</webMaster>
由于此部分较于简单,因此采取表格的方式对其进行解释。
代码块 | 含义 |
---|---|
<language>...</language> | 网站语言 |
<rating>...</rating> | PICS评级 |
<copyright>...</copyright> | 版权声明 |
<pubDate>...</pubDate> | 发布日期 |
<lastBuildDate>...</lastBuildDate> | 最后修改日期 |
<generator>....</generator> | 生成者 |
<docs>...</docs> | RSS文档地址 |
<cloud>...</cloud> | 订阅服务器地址 |
<ttl>...</ttl> | 存活时间 |
<managingEditor>...</managingEditor> | 作者联系方式 |
<webMaster>...</webMaster> | 管理员联系方式 |
RSS忽略更新设置
<skipHours>
<hour>...</hour>
</skipHours>
<skipDays>
<day>...</day>
</skipDays>
以上为表示为网站在那一个时间段不会进行更新,<skipHours>
中应使用GMT时间。<skipDays>
中应为周一至周日中的一个或多个值。
RSS图片内容
<image>
<title>...</title>
<url>...</url>
<link>...</link>
<width>...</width>
<height>...</height>
<description>...</description>
</image>
以上代码为内容是图片时的相关设置。需要注意的是,<title>
和<url>
的值是必须的,其余为可选的。
RSS文章内容
<item>
<title>...</title>
<link>...</link>
<description>...</description>
<author>....</author>
<category>....</category>
<comments>....</comments>
<enclosure ..../>
<guid>....</guid>
<pubDate>....</pubDate>
<source>....</source>
</item>
以上代码为内容是文章时的相关设置。<item>
中的值均为可选的。
RSS文本框
<textInput>
<title>...</title>
<description>...</description>
<name>...</name>
<link>...</link>
</textInput>
以上代码为文本框的相关设置。需要注意的是,<textInput>
中的所有值都是必须的。
RSS使用中的注意事项
RSS有着可以为用户提供一种简单便捷的信息聚合方式的优点,因此在很多以内容为基础的平台(博客,新闻等)得到了广泛的应用。但同时需要注意的是,由于其形式上的特点,RSS的内容也很容易被爬虫所爬取,进而产生文章被盗用等版权上的问题。
因此在使用中,用户需要综合考量RSS的使用方式,选择最适合自己的方式加以利用。
本文首发于我的个人博客wangchucheng.com。
原文链接:https://wangchucheng.com/zh/posts/rss-syntax/
本博客文章除特别声明外均为原创,采用CC BY-NC-SA 4.0 许可协议进行许可。超出CC BY-NC-SA 4.0 许可协议的使用请联系作者获得授权。