A moku-pona-like blogroll for the gemini protocol
Go to file
sloum cf8da7439e Switches to using the url package for url handling 2020-11-25 04:54:02 +00:00
.gitignore Adding gitignore 2020-03-20 22:56:36 -07:00
Makefile Adds readme, makefile, manpage, and completes the rest of the commands 2020-03-22 21:49:41 -07:00
README.md Adds readme, makefile, manpage, and completes the rest of the commands 2020-03-22 21:49:41 -07:00
main.go Switches to using the url package for url handling 2020-11-25 04:54:02 +00:00
spacewalk.1 Adds help to the cli 2020-05-14 21:43:23 -07:00
spacewalk.md Basic steps working 2020-03-21 23:07:28 -07:00



spacewalk is a site aggregation tool for the gemini protocol. It is inspired by moku-pona, which provides a similar service for gopher users.


The Go toolchain is required to build spacewalk. spacewalk was developed with Go version 1.12.4 and has not been tested with any earlier versions.


A Makefile is included and installing for the system should be as simple as:

sudo make install

* sudo may or may not be encessary depending on your system setup

To just take it for a spin by installing locally just run make from within the repo. This will generate a local file that can be run with ./spacewalk [command] [options...].



spacewalk uses the concept of flights. Each flight represents a text/gemini formatted page that will be generated. Each of these pages can have as many gemini URLs associated with it as is desired.

Having the ability to have multiple flights all managed by the same system allows for the powerful ability to create oldschool web-index style pages where you set up different themes or categories and have individual feeds underneath them. This allows for an organized system of curated links that, when spacewalk is set to run as a cron job or the like, get updated automatically.

For example: one might have the following flights registered with their system:

  • music
  • blogs
  • news
  • cycling

They could create an index page that links to each flight's output file and they now have a really nice way to share the links they want in organized categories and have all of the content get put in order of newest to oldest.

Flights are flexible though and you certainly do not need to use more than one if one does the job ;)


Generating the output is called a launch in spacewalk parlance. You can launch all of your flights at once with one command, or launch them individually. This allows for flexibility if you want to have your flights update at different times.


spacewalk outputs a flight as a text/gemini formatted document with a link to each page contained in the flight log. The links are titled with a title chosen at the time the url was added to the flight log. The links are listed in order of newest to oldest.

In addition, spacewalk allows for optionally adding in a header and/or footer. These are statically linked files and are concatenated together with the link listing at launch time.

Thats all folks...

That is the basic information. A manpage is included and will be installed when the make install option is used (it can also be read directly out of the repo folder if you prefer).

I developed this for fun and do not know how much maintenance I will be doing... but if you encounter something that doesn't seem right, please let me know by opening an issue for sending me an e-mail (can be found in the man page).