Skip to content

voxpelli/webring-opml

Repository files navigation

Webri.ng OPML generator

Module type: ESM Types in JS js-semistandard-style Follow @voxpelli@mastodon.social

Generates and publishes OPML feeds for webrings on webri.ng

Current webrings

How to use an OPML file

Manually import it into your feed reader

This is supported by pretty much every feed reader out there. You typically download the OPML file to your computer and then uploads it to the feed reader. See eg. Feedbin's documentation.

This means that its a one time import and you have to yourself download a new OPML file and import it if you want to get access to any new feeds that has been added.

Subscribe to it in your feed reader

Supported by very few feed readers, but at least supported by one: Inoreader (see announcement post)

Inoreader supports two modes:

  • Subscribe only mode
  • Full syncronisation mode (that unsubscribes from feeds that are no longer part of the OPML file)

You give it a specific folder in your Inoreader and it will target that one with the OPML and add or sync feeds it finds in the OPML file to that one.

Skärmavbild 2023-06-24 kl  15 44 03

Technical details

Generation

The script pulls the webri.ng:s JSON list of sites for the specific webring: https://webri.ng/webring/cssjoy/sites

It then loops through them all, fetched their respective URL:s and looks for a <link rel="alternate" href="..." /> within the returned HTML (as specified in eg. RSS Autodiscovery and documented in posts across the web).

If any such links are found, the first one is deemed to represent the page and included in the OPML file. If no such link is found, the site will be excluded from the OPML.

GitHub Actions workflow

Uses a GitHub Actions workflow that's runs daily (+ whenever I push to main or trigger it manually).

That workflow does two things:

  • It calls cli.js with the output folder and desired OPML files to build (eg. node cli.js opmls cssjoy)
  • It has a GitHub Pages setup that publishes the generated OPML files to GitHub pages

Things that it doesn't do but technically could do:

  • Be published as a CLI tool on npm
  • Be published as a reusable library on npm

About

Generates and publishes OPML feeds for webrings on webri.ng

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published