A little command-line helper for publishing Gemini capsules
Go to file
mio 3e3c8feef2 Fix truncated character in titles on index page 2023-07-16 00:03:38 +00:00
lang Add Esperanto translation (thanks wsinatra) 2022-08-09 04:13:37 +00:00
.gitignore Change config format 2022-08-05 05:09:47 +00:00
env.lua Update lang files and readme 2022-08-07 00:14:10 +00:00
gemwriter.lua Update lang files and readme 2022-08-07 00:14:10 +00:00
readme.md Add Esperanto translation (thanks wsinatra) 2022-08-09 04:13:37 +00:00
util.lua Fix truncated character in titles on index page 2023-07-16 00:03:38 +00:00

readme.md

Gemwriter

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

Options:

config [lang]             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

Requirements

  • 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

Build

  • Install Lua (including development libraries and headers) and luastatic.

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

    luastatic gemwriter.lua env.lua util.lua lang/*.lua \
      /usr/lib/[arch]/liblua[5.x].a -I/usr/include/lua[5.x] -static \
      -o gemwriter
    

    Replace [arch] with the OS architecture, e.g. x86_64-linux-gnu, and [5.x] with the Lua version. The paths to liblua.a and the development headers (i.e. /usr/include/lua[5.x]/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

Credits

Special thanks to the following contributors:

License

BSD-3-Clause