RSS語法簡介

前言

在搭建我的博客時,RSS是一種值得一試的爲讀者提供信息聚合的方式。RSS也被各種博客框架(如Hugo,Hexo,Jekyll等)所支持。在各種博客框架中,RSS文件通常可自動生成。然而仍有一些特定狀況下咱們須要對生成的RSS進行定製化,這時咱們就須要對RSS的語法有一個簡單的瞭解。web

所以本篇文章的主要內容就是對RSS及其語法的簡要介紹及使用中的注意事項。segmentfault

本文首發於個人我的博客 技術公館(wcc.im)RSS語法簡介

目錄

RSS簡介

RSS全稱爲Really Simple Syndication,是一種簡單易用的爲用戶提供信息聚合方式的規範。RSS能夠使用戶經過RSS客戶端接收文章更新等內容,用戶能夠在不打開網頁的狀況下收到文章推送,給用戶帶來更好的用戶體驗。post

RSS語法簡介

RSS的語法較爲簡單,基於XML 1.0,且應以.xml結尾。由於其基於XML的特色,RSS的語法要求也較爲嚴格,須要較爲嚴謹地遵照。網站

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語法列舉

除上述示例中的基本語法外,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的使用方式,選擇最適合本身的方式加以利用。

本文首發於個人我的博客 技術公館(wcc.im)
原文連接: https://wcc.im/zh/post/rss-syntax/
本博客內文章除特別聲明外均爲原創,採用 CC BY-NC-SA 4.0 許可協議進行許可。超出 CC BY-NC-SA 4.0 許可協議的使用請聯繫做者得到受權。
相關文章
相關標籤/搜索