OPML Feed Subscription Parser
Outline Processor Markup Language (OPML) is a format commonly used by feed aggregators and feed readers to export and import subscriptions to Atom and RSS feeds.
It has a permissive specification, and each feed aggregator or reader may:
- specify extra attributes;
- use non-standard attributes or attribute formats (e.g. to format dates and time);
- use a nested structure to represent subscriptions, categories and directories.
Specifications
- OPML 2.0 Specification
- OPML on Wikipedia
- OPML 2.0 Format Description by the Library of Congress
- scripting/opml.org - Issue 3 - Questions about grey-areas in the specification
- Mozilla - How to Subscribe to News Feeds and Blogs
Example OPML Document
<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
<head>
<title>My subscriptions in feedly Cloud</title>
</head>
<body>
<outline text="Programming" title="Programming">
<outline type="rss" text="Elixir Lang" title="Elixir Lang" xmlUrl="https://feeds.feedburner.com/ElixirLang" htmlUrl="https://elixir-lang.org"/>
<outline type="rss" text="Python Insider" title="Python Insider" xmlUrl="https://feeds.feedburner.com/PythonInsider" htmlUrl="https://pythoninsider.blogspot.com/"/>
</outline>
<outline text="Games" title="Games">
<outline type="rss" text="Vintage Story" title="Vintage Story" xmlUrl="https://www.vintagestory.at/blog.html/?rss=1" htmlUrl="https://www.vintagestory.at/blog.html/"/>
</outline>
</body>
</opml>
Go Parser
SparkleMuffin uses virtualtam/opml-go to parse (unmarshal) and export (marshal) feed subscriptions using the OPML file format.
Users can import or sync their existing subscriptions into SparkleMuffin. They can also export subscriptions for use with another feed aggregator or feed reader.
virtualtam/opml-go is also available as a standalone library for other projects to use.