在搭建我的博客时,RSS是一种值得一试的为读者提供信息聚合的方式。RSS也被各种博客框架(如Hugo,Hexo,Jekyll等)所支持。在各种博客框架中,RSS文件通常可自动生成。然而仍有一些特定状况下咱们须要对生成的RSS进行定制化,这时咱们就须要对RSS的语法有一个简单的了解。web
所以本篇文章的主要内容就是对RSS及其语法的简要介绍及使用中的注意事项。segmentfault
本文首发于个人我的博客 技术公馆(wcc.im): RSS语法简介
RSS全称为Really Simple Syndication,是一种简单易用的为用户提供信息聚合方式的规范。RSS能够使用户经过RSS客户端接收文章更新等内容,用户能够在不打开网页的状况下收到文章推送,给用户带来更好的用户体验。post
RSS的语法较为简单,基于XML 1.0
,且应以.xml结尾。由于其基于XML的特色,RSS的语法要求也较为严格,须要较为严谨地遵照。网站
接下来以一个很是简单的RSS文件做为示例来进行分析。ui
<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <title>技术公馆</title> <link>https://wcc.im</link> <description>技术公馆</description> <item> <title>Hello, World!</title> <link>https://www.wcc.im/zh/post/hello-world/</link> <description>Hello, World!</description> </item> <item> <title>RSS语法简介</title> <link>https://www.wcc.im/zh/rss-syntax</link> <description>本文的主要内容是对RSS及其语法的简要介绍及使用中的注意事项。</description> </item> </channel> </rss>
对熟悉XML语法规则的使用者来讲,RSS的语法很是的简洁易懂。示例代码中的第一行是对XML的声明,声明其版本和编码方式。第二行则是对RSS的声明,声明其版本。编码
在<channel>...</channel>
中的是RSS具体的内容,可将该部分的示例代码分为三大部分。url
<title>技术公馆</title> <link>https://wcc.im</link> <description>技术公馆</description>
如上所示的第一部分为该RSS站点的基本信息,除此以外还有版权信息等内容也可添加到此部分,具体内容将会在后文中讲到。须要注意的是<title>
,<link>
,<description>
三部分均为必须的。code
<item> <title>RSS语法简介</title> <link>https://www.wcc.im/zh/rss-syntax</link> <description>本文的主要内容是对RSS及其语法的简要介绍及使用中的注意事项。</description> </item>
除RSS站点的基本信息以外,以上的即为RSS中的一篇文章的基本格式。每个<item>
中为一篇文章的内容,通常包含标题,连接,描述等部分。除<item>
外,还有<image>
等,具体内容也将在后文中提到。
除上述示例中的基本语法外,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> |
管理员联系方式 |
<skipHours> <hour>...</hour> </skipHours> <skipDays> <day>...</day> </skipDays>
以上为表示为网站在那一个时间段不会进行更新,<skipHours>
中应使用GMT时间。<skipDays>
中应为周一至周日中的一个或多个值。
<image> <title>...</title> <url>...</url> <link>...</link> <width>...</width> <height>...</height> <description>...</description> </image>
以上代码为内容是图片时的相关设置。须要注意的是,<title>
和<url>
的值是必须的,其他为可选的。
<item> <title>...</title> <link>...</link> <description>...</description> <author>....</author> <category>....</category> <comments>....</comments> <enclosure ..../> <guid>....</guid> <pubDate>....</pubDate> <source>....</source> </item>
以上代码为内容是文章时的相关设置。<item>
中的值均为可选的。
<textInput> <title>...</title> <description>...</description> <name>...</name> <link>...</link> </textInput>
以上代码为文本框的相关设置。须要注意的是,<textInput>
中的全部值都是必须的。
RSS有着能够为用户提供一种简单便捷的信息聚合方式的优势,所以在不少之内容为基础的平台(博客,新闻等)获得了普遍的应用。但同时须要注意的是,因为其形式上的特色,RSS的内容也很容易被爬虫所爬取,进而产生文章被盗用等版权上的问题。
所以在使用中,用户须要综合考量RSS的使用方式,选择最适合本身的方式加以利用。
本文首发于个人我的博客 技术公馆(wcc.im)。
原文连接: https://wcc.im/zh/post/rss-syntax/
本博客内文章除特别声明外均为原创,采用 CC BY-NC-SA 4.0 许可协议进行许可。超出 CC BY-NC-SA 4.0 许可协议的使用请联系做者得到受权。