网站内容更新的通知(简易信息聚合一下如何给静态博客增加RSS订阅(组图))

优采云 发布时间: 2021-09-12 17:02

  网站内容更新的通知(简易信息聚合一下如何给静态博客增加RSS订阅(组图))

  矩阵精选

  Matrix 是一个少数民族写作社区。我们提倡分享真实的产品体验、实践经验和思考。我们会不定期从Matrix中挑选最优质的文章,展现用户最真实的体验和意见。

  文章代表作者个人观点,少数只对标题和版式稍作修改。

  最近看同样的科技新闻,感觉有点腻了。因此,我想找一些有趣的灵魂或独立思考的博客文章来打发平时无聊的钓鱼时间。但是,当我在网上探索有趣的博客时,我发现他们中的大多数都没有提供相关的订阅链接,这使得跟踪新博客的发布变得困难。其中,不少博客以静态方式发布博客。

  所以,本文的内容就是通过我的实践来展示如何为静态博客添加RSS订阅。

  什么是 RSS

  首先我们来看看维基百科上RSS的定义:

  RSS(全称:RDF Site Summary;Really Simple Syndication),中文译为“简单信息聚合”,也称“聚合内容”,是一种新闻源的格式规范,用于聚合频繁的网站发布更新信息,例如博客文章、新闻、音频或视频片段。 RSS 文件(也称为摘要、网络摘要或频率更新,提供给频道)收录全文或摘录,以及发布者订阅的网络摘要和授权元数据。简单来说,RSS 允许用户订阅个人网站personal 博客。订阅网站有新文章可以通知。

  仔细阅读第二个英文全名。它表示:RSS是一种非常简单的聚合技术。主要目的是为个人网站和博客提供信息聚合,并通知所有订阅的读者,使信息可以更有效地传播。这正是我们想要的。

  RSS 格式

  RSS 的本质其实很简单。它只是一个定制的 XML 文件。我们先来看看文件的基本定义。这个定义是指RSSBoard网站提供的最简单版本的RSS2.0的定义。

  

blog_title

blog_link

xxx

article_link

article_id

article_date

  如您所见,这个 XML 文件非常简单。它只收录需要阅读的内容的基本信息,不添加其他复杂的信息。其中比较特殊的一个可能是标签guid,它为文章提供了一个唯一的标识符,但由于文章的超链接也是唯一的,所以超链接可以作为GUID标识符。

  如何生成 RSS

  由于XML文件需要根据文章内容动态生成,普通静态博客不具备动态处理的能力,所以无法提供该功能。但是,现代静态服务平台都提供持续集成 (CI) 功能,我们可以使用该功能为博客自动化提供 XML 文件。

  实现思路一般为4步:根据内容获取最新的文章-拼接字符串-将生成的内容输出到XML文件-发布RSS。

  接下来以我自己为例,说明在Github平台上通过Travis CI服务自动生成RSS文件需要注意的几点。

  获取最新的文章

  首先,我们会遇到第一个问题。需要在 XML 文件中收录多少个 文章 才能被视为最新的 文章。在这里,我的建议是 10 篇文章。考虑到个人博客的性质,我们的更新频率不会特别高,10个文章就足以达到人们平时阅读的频率。使用Git协议管理的时间作为文章的发布时间是一个不错的选择。

  第二个问题是,RSS 如何知道我的文章 中的哪个是新的?这里需要严格控制文章生成的pubDate标签。在RSS2.0的协议规范中,规定了时间的时间戳使用RFC 822规范。否则,阅读器中的提要会乱序,要特别注意。 Git命令中提供了格式选项“%aD”,用于获取本规范下的时间戳。

  根据内容连接字符串

  有两个标签需要特别注意。

  一个是链接标签。因为有些人的文件是用中文命名的,所以无法直接访问RSS中的正确内容。正确的方法是手动将 URL 编码为标准的 Unicode 编码。您只能处理中文部分或对整个 URL 进行编码。一般来说,只处理中文部分,最终生成的网址会比较好看。

  另一个是描述标签。由于现在大部分人都是用Markdown语言写博客,而Markdown的纯文本不适合直接阅读,而且目前的RSS阅读器不支持渲染Markdown语言。我们希望将其解析为 HTML 语言,以便日后更好地呈现为优秀的排版。在这里,我们可以使用万能的瑞士*敏*感*词*Pandoc软件进行分析。

  然而,由于 HTML 和 XML 都是标记语言,将它们混合在一起很容易产生歧义分析。因此,需要使用转义字符来控制 HTML 内容不是 XML 的一部分。

  将生成的内容输出到 XML 文件

  通过不同的编程语言控制文件输出到 XML 并不难。它可以根据您选择的编程语言生成。

  这里,我建议你检查一下生成的XML,确保生成的RSS是正确的,可以解析的。 W3C联盟提供标准的RSS文件验证服务:在线输入和链接验证。

  发布 RSS

  对于静态博客,最直接的方法是将XML文件推送到静态服务平台,然后以RAW格式访问,这是一个合格的RSS订阅链接。

  对于更高级的方法,可以使用前端框架中的静态路由方法,将通用的/feed路由解析为生成的RSS文件。使用标准图标,您可以清晰直观地发现该博客提供了RSS订阅链接。

  

  后记

  上面的描述只描述了我认为在这个项目中需要注意的地方,并隐藏了每个步骤的操作细节。想抄作业的同学,可以移步看看具体的实现方法,直接抄到自己的仓库中使用。

  具体展示请查看我的博客看具体效果:,也欢迎订阅。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线