Gemini and Gopher
These platforms are easy for publishing content structuraly.
I have planned to publish only a dozen of posts for the next three years, yet I can not stop because it is so simple to create content which is nicely structured
- gemini://woodpeckersnest.space/~schapps/journal.gmi
- gemini://woodpeckersnest.space/~schapps/projects.gmi
solderpunk, one of the founders of Gemini has created two software for both protocols.
Gopher
- https://git.sr.ht/~solderpunk/VF-1
Gemini
- https://tildegit.org/solderpunk/AV-98
Both are written in the Python computer language.
Fun! Gemini and Gopher are both great. They're document-oriented, though, while granary focuses on structured content. Do you have a sense for how you'd convert Gemini pages or Gopher text files (I assume?) to AS1 objects? I see that I could get title and content from Gemini, and content from Gopher, but that doesn't seem like enough to be worthwhile.
to AS1 objects?
Do you mean to Atom Syndication Format 1.0?
Do you have a sense for how you'd convert Gemini pages or Gopher text files (I assume?)
No. Not yet.
I have started by drafting a couple of posts in order to understand Gemini and to decide whether to utilize "offpunk" or "AV-98" for my XMPP news bot, and eventually I have been keeping on published articles by the day, instead of adding Gemini support.
References
- https://tildegit.org/solderpunk/AV-98
- https://sr.ht/~lioploum/offpunk/
Resources
- https://ploum.net/2023-11-25-offpunk2.html (this article might be helpful)
- https://schapps.woodpeckersnest.eu/journal/2024-05-23-slixfeed-news-bot/ (about my news bot)
- gemini://woodpeckersnest.space/~schapps/journal.gmi (30 more articles than of the HTML counterpart)
Conclusion
I will draft code to read Gemini data with Slixfeed and I will inform you of my findings.
Do you mean to Atom Syndication Format 1.0?
No, I meant ActivityStreams 1, it's the common format that granary uses internally. No matter though, the more important question is if there's any meaningful way to convert Gemini or Gopher content to granary's other output formats, eg AS2, RSS, JSON Feed, etc.
Again, I like Gemini and Gopher! I'm just not sure they'd make sense in granary specifically.
The more important question is if there's any meaningful way to convert Gemini or Gopher content to granary's other output formats, eg AS2, RSS, JSON Feed, etc.
I was also wondering about it.
I do not know, yet.
Once I have observations, I will report to you.
For the moment, I would assume that first level headers could be translated into a start of an entry, yet the link would aways be to the subject page.
Example text
News about community activity
Title
Content
Updates about organizational decisions
Title
Content
Example output
{'entries' : ["""
News about community activity
Title
Content """], ["""
Updates about organizational decisions
Title
Content """] }
I appologies.
There is a structural format which is referred to as Gemini Feed.
Lagrange supports it.
I have a realization of Gemini Feed.
Install Lagrange and subscribe to this page gemini://woodpeckersnest.space/~schapps/journal.gmi
Example:
=> 2025-01-11-farms-and-gardens-instead-of-gym-and-weights.gmi 2025-01-11 Farms And Gardens Instead Of Gym And Weights => 2025-01-10-formal-organized-crime.gmi 2025-01-10 Formal Organized Crime => 2025-01-09-xbel-the-xml-bookmark-exchange-language.gmi 2025-01-09 XBEL: The XML Bookmark Exchange Language => 2025-01-08-deprecate-netscape-bookmarks.gmi 2025-01-08 Deprecate Netscape Bookmarks => 2025-01-07-extracting-netscape-bookmarks.gmi 2025-01-07 Extracting Netscape Bookmarks => 2025-01-06-blasta-libervia-and-movim.gmi 2025-01-06 Blasta, Libervia, and Movim => 2025-01-04-happy-birthday-jabber.gmi 2025-01-04 Happy Birthday Jabber! => 2024-12-26-marhaban-magnetico.gmi 2024-12-26 Marhaban Magnetico => 2024-12-25-merry-christmas.gmi 2024-12-25 Merry Christmas! => 2024-12-24-move-your-activity-to-p2p.gmi 2024-12-24 Move Your Activity To P2P => 2024-12-23-observing-p2p-after-twenty-years.gmi 2024-12-23 Observing P2P After Twenty Years => 2024-12-22-metalink-as-a-companion-of-p2p-networks.gmi 2024-12-22 Metalink As A Companion Of P2P Networks => 2024-12-21-sharing-offline-html-over-p2p-networks.gmi 2024-12-21 Sharing Offline HTML Over P2P Networks => 2024-12-20-stop-html-http-browsers.gmi 2024-12-20 Stop HTML/HTTP Browsers => 2024-12-19-p2p-protocols.gmi 2024-12-19 P2P Protocols => 2024-12-18-one-of-the-most-valuable-people-to-free-software-for-mobile-devices.gmi 2024-12-18 One Of The Most Valuable People To Free Software For Mobile Devices => 2024-12-17-algorithm-or-propaganda.gmi 2024-12-17 Algorithm Or Propaganda => 2024-12-16-further-ideas-and-potential-of-gemin.gmi 2024-12-16 Further Ideas And Potential Of Gemini => 2024-12-15-information-archives.gmi 2024-12-15 Information Archives => 2024-12-14-xmpp-as-the-internet.gmi 2024-12-14 XMPP As The Internet => 2024-12-13-fix-postmarketos-sxmo-sound.gmi 2024-12-13 Fix postmarketOS SXMO Sound => 2024-12-12-mobile-computer-industry-and-open-source.gmi 2024-12-12 Mobile Computer Industry And Open Source
I have removed "Gopher" from the title, as I do not yet to know what syndication format it has, though it is feasible to publish twtxt over Gopher. #908
This is the latest code.
https://git.xmpp-it.net/sch/Slixfeed/src/branch/master/slixfeed/retriever/gemini.py https://git.xmpp-it.net/sch/Slixfeed/src/branch/master/slixfeed/parser/gmi.py
- The URL joiner does not work with Gemini schems, so I will convert it to Gopher, join it, and the convert it back to Gemini.
Module urljoin does not appear to work with scheme Gemini
https://mail.python.org/pipermail/python-list/2025-April/913250.html
- I will further add code to retrieve summary and content of entries.
- Apparently, there are two type of Gemini feed, one by links with titles, as it is here, and another one by headlines.