# spacewalk

This is intended to be a golang based moku-pona-_like_ program for gemini.


## commands

### create

Adds a new flight to the system's spacewalk flight list.

- spacewalk create _flight_

### update

Updates the settings for a flight

- spacewalk update _flight_

### remove

Removes an existing flight. 

- spacewalk remove _flight_

### add

Adds a capsule to the a flight's feed. Requires the URL and a display name.

- spacewalk add flight _url_ _title_

### delete

Removes a capsule from the feed. Pass either a url or a display name.

- spacewalk delete flight _url|title_

### show

When called without further arguments, will list the available flights. When called with a flight as an argument will list the capsules for that flight.

- spacewalk show [flight]

### launch

Checks for updates and builds the directory capsule. Takes a flight name to launch just that flight or will launch all flights when not passed a flight name.

- spacewalk launch [flight]


## files

### flight config

Paths: $XDG\_DATA\_HOME/spacewalk/flight-config || ~/.local/share/spacewalk/flight-config
Format: csv
Structure: flight-name, flight-slug, launch-path, header-path, footer-path

### flight data

Paths: $XDG\_DATA\_HOME/spacewalk/flights/{flight-slug} || ~/.local/share/spacewalk/flights/{flight-slug}
Format: csv
Structure: capsule-name, capsule-url, checksum, timestamp


## glossary

capsule : a gemini site/page (a gemini URL)
flight  : a collection of capsules for which spacewalk can generate directory capsules.



