The New Gemtext Parser (part 2)

In my last post I described the reasons behind and implementation of the new Gemtext parser for GemView. In the summary, I pointed out a few areas of "low hanging fruit" which might make for some nice improvements over both the old parser and the new in it's then state. Since this is a personal project, and thus not subject to deadlines or reviews of any sort, I decided to go for it. This in turn wound up being a more significant refactor than one might expect, but I think the result is well worth the effort....


Rewriting GemView's Gemtext Parser

When I first began the GemView project, I had chosen to use an external crate to handle most gemini related tasks, such as connecting to the server, retreiving documents, and parsing gemtext....


April Update

I've been quite busy code wise lately but haven't made time to post anything. Almost all of the recent work has been on Rust projects, and while I haven't abandoned Zterm, I'm becoming more and more drawn to the Rust ecosystem. It's just that good....


Our new friend, the data url


In this post Skyjake, the author of Lagrange described some ideas for the usage of the data url scheme. This has caused some controversy (and more) among geminauts. ...


Handling unsupported protocols in GemView

The Backend

GemView is meant to be a generic and reusable Gemini browser widget, while Eva is the browser built to leverage it. GemView can already handle surfing around geminispace using the gemini protocol, but you never really know what types of links are going to be found in Geminispace. There's gemini:// links, gopher://, finger://, http:// and the occasional data: url. Handling all of those different protocols in Gemview is out of scope, but we need to account for them somehow....