2018-11-30 Moku Pona and Gopher Feeds

I’m adding Gopher feed support to Moku Pona. In this context, a Gopher feed is a Gopher resource that returns a RSS 2.0 or Atom feed with gopher URLs as their links.

Moku Pona

The URL could be in the text content of the *link* element like they do in RSS 2.0, or it could be in the href attribute like they do in Atom.

So with all of that out of the way, here are two Gopher feed URLs to look at:

gopher://alexschroeder.ch:70/0do/rss

gopher://gopher.leveck.us/0/phlog.atom

This should work:

alex@melanobombus:~$ **moku-pona add gopher://alexschroeder.ch:70/0do/rss "Alex RSS"**
alex@melanobombus:~$ **moku-pona add gopher://gopher.leveck.us/0/phlog.atom "Jynx Atom"**
alex@melanobombus:~$ **moku-pona update**
Fetching Alex RSS...updated
Fetching Jynx Atom...updated
alex@melanobombus:~$ **vf1 ~/.moku-pona/updates.txt**
Welcome to VF-1!
Enjoy your flight through Gopherspace...
[1] 2018-11-30 Jynx Atom/
[2] 2018-11-30 Alex RSS/
VF-1> **2**
[1] Ship «Hoffnung»
[2] Comments on I don't like Bennies
[3] Influental Games
[4] Comments on Cosmic Voyage
[5] Cosmic Voyage
[6] Comments on What is Sandbox?
[7] Comments on Laptop Fan
[8] Gopher Module
[9] What is Sandbox?
[10] List of Open Books
[11] Fennel and Bussard
[12] Old Dwarf Drawings
[13] Petition
[14] Past and Current Reading
[15] 2019-02 Book Club

Now, it’s important to note that this is different from how Moku Pona worked before. Previously, it simply took the line from `sites.txt` and rearranged them in `updates.txt`. Thus, if you subscribed to `alexschroeder.ch` 😎 then the list of updates would also link to the same site. But this doesn’t work for feeds. If Moku Pona watches a feed, and it updates, you don’t want to get linked to the feed. You want to see a Gopher map of the links in that feed, right? So this is what Moku Pona does: it translates the feed into a Gopher Map and saves that into its cache. And when you look for the update, then it links you to the local cache.

This is what it looks like:

alex@melanobombus:~$ **ls .moku-pona/**
alexschroeder.ch-70-do-rss.txt       sites.txt
gopher.leveck.us-70--phlog.atom.txt  updates.txt
alex@melanobombus:~$ **cat .moku-pona/sites.txt**
0Alex RSS	do/rss	alexschroeder.ch	70
0Jynx Atom	/phlog.atom	gopher.leveck.us	70
alex@melanobombus:~$ **cat .moku-pona/updates.txt**
12018-11-30 Jynx Atom	/home/alex/.moku-pona/gopher.leveck.us-70--phlog.atom.txt
12018-11-30 Alex RSS	/home/alex/.moku-pona/alexschroeder.ch-70-do-rss.txt

This works well, locally. But if you’re *sharing* the `updates.txt` file, then people won’t be able to follow the link as the link to the updates leads to your local cache, on your local disk (in this case: `/home/alex/.moku-pona`). 😢

​#Gopher ​#Moku Pona

Comments

(Please contact me if you want to remove your comment.)

The page used to say that I was using the *Gopher Module 1.0* but Tomasino convinced me that it wasn’t necessary. If you get the feed via Gopher protocol, provide a feed containing gopher links. If you get the feed via the web, provide web links. And never the twain shall meet, I guess. 😄

– Alex Schroeder 2018-11-30 21:07 UTC