Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

为我的 Blogroll 创建 OPML 文件

Posted on 2024-01-21

昨晚,我更新了我的blogroll和podroll ,添加了有关网站的描述,而不仅仅是显示最新的帖子;这对于登陆该页面的人来说更有用。然后我意识到我可以添加一个 OPML 文件,这样任何人都可以一次性订阅该卷中的所有提要。

OPML 代表“大纲处理器标记语言”,它对于解释它在这种情况下的作用没有用。它的核心是一个 XML 文档,其中包含可以导入到提要阅读器或播客应用程序中的 RSS 提要列表。它看起来像这样:

 <?xml version="1.0" encoding="UTF-8"?>
< opml version = " 1.0 " >
< head >
< title > A title </ title >
< dateCreated > Sun, 21 Jan 2024 08:13:40 +0000 </ dateCreated >
</ head >
< body >
< outline text = " A Cool Blog " title = " A Cool Blog " type = " rss " xmlUrl = " https://example.com/rss " htmlUrl = " https://example.com/ " />
</ body >
</ opml >

每个outline元素都是一个提要,具有一些描述它的属性:

  • title – 提要/网站的标题
  • text – 这是导入 OPML 时提要阅读器将显示的内容。这可能与title不同,但我保持不变
  • type – 饲料的类型。我不确定是否将 Atom feed 的类型设置为rss是否重要,大多数 feed 阅读器无论如何都会处理这个问题
  • xmlUrl – 提要的链接
  • htmlUrl – 网站的链接

我的卷配置有数据文件:

 // src/_data/blogroll.js
module . exports = ( ) => {
return [
{
name : 'A Blog' ,
url : 'https://example.com' ,
feed : 'https://example.com/rss' ,
description : 'A cool blog about things' ,
} ,
// the rest of the sites
]
}

为了从 Eleventy 中的卷生成 OPML 文件,我添加了一个opml.njk文件并按如下方式配置:

 ---
permalink : / blog / roll / opml . xml
eleventyExcludeFromCollections : true
---
< ?xml version = "1.0" encoding = "UTF-8" ? >
< opml version = "1.0" >
< head >
< title > RSS Feeds for all Robb Knight ' s Blogroll < / title >
< dateCreated > { { page . date | dateToRfc822 } } < / dateCreated >
< / head >
< body >
{ % - for site in blogroll - % }
< outline text = "" title = "" type = "rss" xmlUrl = "" htmlUrl = "" />
{ % endfor % }
< / body >
< / opml >

dateCreated中使用的dateToRfc822过滤器是Eleventy RSS 插件提供的过滤器。然后,我循环浏览博客卷中的所有站点,并为每个站点输出一个outline元素。

最后,我在每个卷页上添加了一个指向该文件的链接。请注意,我包含了一个download属性,因此浏览器将(希望)下载该文件,而不是直接显示 XML 文件:

 < a href = " opml.xml " download = " download " > Download the OPML file </ a >

您可以在这里查看我的“卷”:

  • 博客卷
  • 波德罗尔

原文: https://rknight.me/blog/creating-an-opml-file-for-my-blogroll/

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme