Hacker News

imadj
Show HN: Online OPML editor to manage subscription lists github.com

I made a small online editor to manage OPML[1] files easily. There are a lot of smart online editors for formats like JSON, but while OPML is supported by most subscriptions services, the experience of editing/managing it is poor outside of what each platform support. The pain of managing the file independently increases as the size of the OPML file grow larger.

It's rather simple at the moment but the goal is to provide shortcuts for common desired tasks to make the experience of editing OPML much smoother and streamlined.

The editor is a static website that runs locally in your browser, it doesn't require an account, nor do any tracking.

Let me know your feedback or if you've any pain points around OPML

GitHub repo: https://github.com/imdj/opml-editor

Website: https://opml.imadij.com/

[1] - https://en.wikipedia.org/wiki/OPML


pelagicAustral3 months ago

Tangent: Large HN user blogroll in OPML: https://dm.hn/index.opml

8organicbits3 months ago

Further tangent: OPML blogroll crawler I'm working on: https://alexsci.com/rss-blogroll-network/

NoboruWataya3 months ago

Looks cool, I have often thought that this was something that is lacking. Not sure if I've missed it but I think there should be a way to add a outlines while in outliner mode. Like, you can click to add a category or feed and you get a simple dialog asking you for the key information (like title, URL, category name).

imadjop3 months ago

> a way to add a outlines while in outliner mode

I'm already working on it. This, along with ability to re-arrange outlines are the next step.

I love this comment. Please let me know if you find more missing features.

jellyfish243 months ago

wish the website had a placeholder example :-)

imadjop3 months ago

Similar to the minimal new file but populated with couple feeds inside to play around and test?

Currently there's an example in the /about page. But I like your suggestion, will try to add it as an option in the editor.

13173 months ago

It just looks like a text editor with syntax highlighting, am I missing something?

I was expecting some interface that abstracted it all into buttons and fields to fill in, etc

imadjop3 months ago

> looks like a text editor with syntax highlighting, am I missing something?

The text editor is just a view, you can completely ignore it if you don't need it. The action is actually in the toolbar, where you have stuff like:

- Remove any duplicate feeds

- Merge multiple files together

These two use cases were the motivation behind making the website.

And like I mentioned in the post, there are more features planned particularly to the outliner view to add and rearrange feeds(outlines) more easily.

If you have a use case or a desired functionality that's missing beyond the above I'd love to hear more about it

cxr3 months ago

Basic OPML is pretty well-supported, but text/uri-list is a better format for the most common use of OPML (a collection of RSS/Atom feeds). It's a little funny seeing projects pull in full-blown XML parsers just to not really handle anything besides URL/name pairs. (E.g [1].)

If you have a project where the ability to import/export OPML is on the roadmap but you haven't added it yet, consider taking a few minutes to implement text/uri-list first.

1. <https://github.com/Automattic/pocket-casts-android/blob/864d...>

imadjop3 months ago

> but text/uri-list is a better format for the most common use of OPML (a collection of RSS/Atom feeds)

text/uri-list seems like joy to use technically, but in practice simple formats have tendency to evolve into frankenstein monster with a mess of extensions and variations (see markdown for example) where every vendor will extend the format to support something for their platform.

Users expect to maintain their feed structure for example when moving to a new platform just like a file system hierarchy, which text/uri-list doesn't seem to support right off the bat

cxr3 months ago

> in practice simple formats have tendency to evolve into frankenstein monster with a mess of extensions and variations (see markdown for example)

Compare to OPML, which is supposed to support other things—exactly the type of things you describe—but it requires special handling in the implementation to actually do it, so you get implementations that don't, which isn't far off from the exact situation of variants that you describe. See the previous OPML importer that I linked to for an example.

hn-front (c) 2024 voximity
source