đŸ Archived View for nytpu.com âș gemlog âș 2021-01-05.gmi captured on 2021-12-03 at 14:04:38. Gemini links have been rewritten to link to archived content
âŹ ïž Previous capture (2021-11-30)
âĄïž Next capture (2022-03-01)
-=-=-=-=-=-=-
At some point I merged GMI Feed Aggregatorá” and gmisubá” in my head (I guess because they both aggregate feeds and they both use the abbreviation âgmiâ?). I've rectified this in paragraphs 2 and 3 in âfeeds.â
I want to share my current setup (that I've totally been using for a long time and didnât just get set up a few days ago) for browsing geminispace. Hopefully itâll be helpful for people looking to enhance their experience or aggregate their own customized feeds.
Getting my feeds setup was a lot of experimentation with various pieces of software and hoping I donât end up having to roll my own. The main thing I was looking for was to be able to aggregate atom, RSS, and gemini feedsá”, to ensure that I can subscribe to the maximum number of sites without workarounds or having to manually visit all of the sites I canât subscribe too. Luckily, the gemini feed format seems to be followed on almost all gemlogs and a very surprising number of phlogs, since gemini feeds were designed to match the most common format for gemlog indexes. All of the remainder that Iâve encountered had atom or RSS feeds, so having a setup that does everything I want should have near-100% coverage.
I first decided to look at GMI Feed Aggregatorá” because I liked the ease of use of just running make, mirroring the same workflow that my gemlog toolᶠhas, and is easy to fire in a cron job or something. It can only subscribe to gemini feeds though, and isnât easily extensible to something as complicated as XML since itâs a raw makefile with simple awk scripts.
I then decided to look at gmisubá” because I remember seeing it announced on the mailing list. It can only subscribe to gemini feeds though, and I decided to not use it for similar reasons for GMI Feed Aggregator. Implementing atom feeds for it would be a hack job, so it would probably be easier to just start from scratch myself.
I saw Alex Schroederâs postá” on his feed aggregator Moku Ponaá” which intrigued me. It can subscribe to page changess, gemini feeds, atom feeds, and rss feeds, on both gopher and gemini, supporting seemingly everything! The thing is, I just donât like page change detection, it makes it really annoying to browse because every entry requires two clicks and just ugh, I donât like it. Just doesnât gel with how I wanted my setup to work, but I left it on the docket in case I couldnât find anything else.
I decided to look at Lagrangeâsᶠbuilt-in feeds, even though I had dismissed it when it was first introduced because it only supports gemini feeds. However, after some experimentation, I discovered that it can subscribe to pages preprocessed with its MIME hooks, so I just write a hook to convert atom/rss to a gemini feed and I can subscribe to anything! This is what Iâm currently using, and itâs been working great so far.
It turns out I didnât even need to write my own atom parser, I just ripped off the atom to gemini script provided in Lagrangeâs helpá”, I didnât bother updating it to be more robust, I look at all the feeds and test the script before subscribing anyways, itâs not like Iâm dealing with truly arbitrary inputs. View it broken out into its own script here: [h]. It turns out thereâs a few subtle differences between atom and RSS feeds (which makes sense) so I had to modify it a bit for rss feeds: [i]. I finally had to get Lagrange to actually process feeds using these scripts, which was more challenging than I thought it would be. It turns out that seemingly no one provides the correct mime types of âapplication/atom+xmlâÊČ and âapplication/rss+xmlâá” (including me apparently!ËĄ) and instead use everything from just âapplication/xmlâ to âtext/rssâ so I had to write some weird regular expressions to properly match everything. See my mimehooks.txt configuration in [m].
[α]: Wow this is a lot of links, isn't it!
[a]: gemini subscription format companion specification
[b]: a very simple feed aggregator, i think the first tool to support gemini feeds.
[ÎČ]: gmisub was the second tool to subscribe to gemini feeds
[c]: gemlog.sh â utility for managing gemlogs and atom feeds without needing a cgi script.
[d]: alex schroederâs diary â my feed aggregators
[e]: moku pona was very promising, but just didnât quite fit into what i was looking for
[g]: atom to gemini feed script provided in lagrangeâs help page
[j]: wikipedia â atom mime type: application/atom+xml
[k]: wikipedia â rss mime type: application/rss+xml (registration not finished)
Now that I have a feed aggregator set up, now I have to actually find content to aggregate! I started by going and just subscribing to all the most recently active logs on CAPCOMá” that I knew I liked. I then went through my existing bookmarks and some of my browsing history to find posts and capsules I've read before, subscribing happily along the way. A lot of people were nice enough to post stuff they like on their capsule's homepage, so I gathered more from there. I went through LEOÊł, but it's been so long since GUS has been updated that there's lots of pages (including mine) that aren't detected as being part of it yet. I'm planning on going through all of the feeds known by CAPCOM & Spacewalk and the listings on dctrud's gemini directoryá” and subscribing to more that I like, but I have to find the time.
As help for others looking to create their own personal feed, I'm maintaining a semiâup-to-dateËą list of my bookmarks on my homepage here: [t]. If your gemlog isn't listed there, it's no fault of yours, I probably just missed it! I guess you could email meá” if you think I'd be /really/ interested, but otherwise I'll probably end up stumbling across it as long as you update it semi-regularly. If everyone would post their favorite authors like I do, then it would be really helpful for growing and making it easier to explore the gemini community, wouldn't it :)
[p]: random road gemini directory
[s]: they're up-to-date as of posting this at least
[t]: my bookmarks and subscriptions, exported from lagrange
â