1.6 KiB


A little command-line helper for publishing Gemini sites or "capsules".


config                    Generate a config directory
page [capsule] [title]    Add a new page with the given title
post [capsule] [title]    Add a new gemlog post with the given title
index                     Generate an index page and feed of posts
publish                   Index and copy posts remotely using scp
help                      Show this help message
version                   Print version info


  • Linux or Unix-based OS
  • Lua 5.4 (other versions >= 5.1 will probably be fine but are untested)
  • scp or rsync, to transfer files remotely


  • Install Lua and luastatic.

  • Clone this repository and change into the directory. Run:

    luastatic gemwriter.lua env.lua util.lua lang/en.lua \
      /usr/lib/ -I/usr/include -o gemwriter

    The paths to and the development headers (i.e. /usr/include/lua.h) may need to be adjusted for your distribution.

  • Move the gemwriter executable to a location in your $PATH.

Quick start

  1. Generate a new config: gemwriter config

  2. Edit ~/.config/gemwriter/config.toml with the correct details about your capsule and gemlog.

  3. Create a new gemlog post: gemwriter post "Hello World!"

  4. Publish your capsule: gemwriter publish