~shunter/retrorocket

A Gemini procotol browser to demonstrate McCLIM.

767265e Remove github mirror buildscript

6 months ago

1a9f0e2 Remove github mirror buildscript

6 months ago

#Retrorocket

A Gemini browser to demonstrate McCLIM.

NOTE: retrorocket has been defunct since November 29, 2020 (Gemini v0.14.3). This project was not meant to be a serious, maintained browser, but rather to see if the UI toolkit McCLIM is a good match for me. I will be making a post-mortem for retrorocket eventually.

Retrorocket during very early development


Project Gemini is a semi-recent internet protocol project that describes itself as somewhere between Gopher and the conventional Web. Instead of being the simplest protocol, Gemini intends to have the highest "oomph" for its weight. If you're unfamiliar with Project Gemini and want to learn more, I recommend reading the de-facto homepage in HTTP or in Gemini (Mozz.us Proxy).

Retrorocket was made in part because some hackers in the lisp community I'm in thought McCLIM could improve by actually using it. Meanwhile, I was also looking at the Gemini protocol, and thought it was neat. Put together, I thought I could use Gemini as an excuse to learn how McCLIM works and how to best use it.

#Expectations & Contributing

While I want Retrorocket to be mostly comfortable to use, the main purpose of this project is to demonstrate to myself how McCLIM works. Not only that, it's still in its pre-embryonic stage -- it's not even up to Gemini spec! Expect lots of bugs, and lots of unsightly little UI brothers.

Even then, if you have any suggestions, or you're invested enough to report a bug, submit a ticket!

#Quick Usage

This project depends on two libraries that I developed as separate, self-containing modules for others to use -- cl-gemtext and gemini-request. Download these two libraries alongside retrorocket in a place that ASDF can see it - I persnally put them in ~/quicklisp/local-projects/ so that quicklisp can pull all of its dependencies.

Then, in a lisp process (I use SBCL here):

* (require :retrorocket)
* (retrorocket:run-retrorocket)

And that's it!