A moku-pona-like blogroll for the gemini protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sloum cf8da7439e
Switches to using the url package for url handling
2 years ago
.gitignore Adding gitignore 3 years ago
Makefile Adds readme, makefile, manpage, and completes the rest of the commands 3 years ago
README.md Adds readme, makefile, manpage, and completes the rest of the commands 3 years ago
main.go Switches to using the url package for url handling 2 years ago
spacewalk.1 Adds help to the cli 3 years ago
spacewalk.md Basic steps working 3 years ago



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).