OPML: Difference between revisions
No edit summary |
|||
Line 21: | Line 21: | ||
* [[dobrado]] allows import of subscriptions through OPML | * [[dobrado]] allows import of subscriptions through OPML | ||
* [[TinyTinyRSS]] supports OPML import and export via Settings -> Feeds -> OPML | * [[TinyTinyRSS]] supports OPML import and export via Settings -> Feeds -> OPML | ||
* {{petermolnar}} has a handcrafted [https://petermolnar.net/ | * {{petermolnar}} has a handcrafted [https://petermolnar.net/links.opml subscriptions] OPML, along with an [https://petermolnar.net/opml.xsl XSL stylesheet] to make it human readable in the browser | ||
* {{maya.land}} has a [https://maya.land/blogroll.opml blogroll] as a human-readable OPML file | * {{maya.land}} has a [https://maya.land/blogroll.opml blogroll] as a human-readable OPML file | ||
* {{tonz}} also has a [https://zylstra.org/opml/tonzylstra.opml human and machine readable OPML file] as blogroll, with details at [https://www.zylstra.org/blog/2019/06/my-human-readable-opml-blogroll/] | * {{tonz}} also has a [https://zylstra.org/opml/tonzylstra.opml human and machine readable OPML file] as blogroll, with details at [https://www.zylstra.org/blog/2019/06/my-human-readable-opml-blogroll/] |
Revision as of 23:00, 7 January 2022
This article is a stub. You can help the IndieWeb wiki by expanding it.
OPML stands for Outline Processor Markup Language, an XML-based format and defacto standard used for feed lists interchange.
Silo Examples
Examples of silos that allow importing and exporting OPML files.
YouTube
YouTube allows people to export their subscriptions as an OPML file, which can then be used to subscribe any news reader to the channels they are subscribed to.
Feed Readers
Many silo-based feed readers support OPML import/export as well as OPML subscription.
IndieWeb Examples
If you want to show to the world who you follow, you can share an opml file on your website.
- dobrado allows import of subscriptions through OPML
- TinyTinyRSS supports OPML import and export via Settings -> Feeds -> OPML
- Peter Molnar has a handcrafted subscriptions OPML, along with an XSL stylesheet to make it human readable in the browser
- Maya has a blogroll as a human-readable OPML file
- Ton Zijlstra also has a human and machine readable OPML file as blogroll, with details at [1]
- Chris Aldrich has [2] with details at [3]
- Template:pierre-o has [4]
Tools
- OPML Generator input a list of RSS feeds and generate an OPML file
- OPML viewer
- https://opml.glitch.me/ Generate a OPML file of the websites of the people you follow on Twitter.
- Microsub OPML Import and Export Utilities by capjamesg
XSL (making an OPML file look like HTML)
XSL is an XML extension that allows on the fly transformation of an XML document. It can be used to present an XML file - on this case, an OPML file - it a human readable, HTML-looking format.
Example:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/opml"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title><xsl:value-of select="head/title"/></title> <style type="text/css"> </style> </head> <body> <h1><xsl:value-of select="head/title"/></h1> <p><time><xsl:value-of select="head/dateCreated"/></time></p> <xsl:apply-templates select="body/outline"/> </body> </html> </xsl:template> <xsl:template match="outline" xmlns="http://www.w3.org/1999/xhtml"> <xsl:choose> <xsl:when test="@type"> <xsl:choose> <xsl:when test="@xmlUrl"> <li> <a href="{@htmlUrl}"><xsl:value-of select="@text"/></a> </li> </xsl:when> <xsl:otherwise> <li> <a href="{@url}"><xsl:value-of select="@text"/></a> </li> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <details open="open"> <summary> <xsl:value-of select="@text"/> </summary> <ul> <xsl:apply-templates select="outline"/> </ul> </details> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>
It needs to be inserted in the OPML as:
<?xml-stylesheet type="text/xsl" href="https://example.com/following.xsl"?>
following the `<?xml` definition, and can be styles with ordinary CSS within the `<style></style>` block.
Examples
- Hsiaoming Yang has used XSL to format a human-readable RSS feed on his website
- Details: How to style RSS feed
- https://github.com/genmon/aboutfeeds/blob/main/tools/pretty-feed-v3.xsl
Brainstorming
In the context of IndieWeb, the idea of OPML could be interesting as a representation of whom you follow. Since it is supported by a variety of sources, It could be a good candidate to solve the "how do you discover people" question.
The advantage of using OPML is its support, however, like RSS, the standard has some limitations.
Some feed readers also support OPML subscriptions which allow users to subscribe to hosted copies of OPML files. Any changes to the OPML file are synced with the reader as new sources are added. (Compare this with importing a static OPML file that will never change.) Examples:
Alternative: publish a visible blogroll on the home page or somewhere on your site and mark it up with XFN.