Neocities automation
Working with geocities is nice enough, but after a while the drag-and-dropping gets old,so, time to automate it.
There are several command-line tools to work with the neocities api (there might be more…):
- peterhellberg/neocities: A Neocities client written in Go
- neocities/python-neocities: Python API for neocities.org
- Neocities - Command Line Interface
The python one is too much work, the official one wants me to install ruby which always makes a mess, so the easiest one is the go client, on Ubuntu / Debian, if needed, install go:
sudo apt install golang-go
Then the neocities client:
go get -u github.com/peterhellberg/neocities
Set go path
Next make sure the tool is in your path, add the following lines to ~/.bashrc or ~/.zshrc:
export GOROOT=/usr/lib/go 
export GOPATH=$HOME/go 
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Check if it works:
NEOCITIES_USER=“dbob” NEOCITIES_PASS=“haha-no” neocities info
which should answer with something like:
{
  "result": "success",
  "info": {
    "sitename": "dbob",
    "views": 3,
    "hits": 9,
    "created_at": "Sun, 03 Nov 2019 08:32:28 -0000",
    "last_updated": null,
    "domain": null,
    "tags": [
      "fiction",
      "twine"
    ],
    "latest_ipfs_hash": null
  }
}
Use the api token instead of login/password
NEOCITIES_USER=“dbob” NEOCITIES_PASS=“haha-yeah-right” neocities key
Should return an API key that you then can use like this:
NEOCITIES_KEY=“1234567890supersecret” neocities info
Now you no longer need to use your password in scripts. +1 For security!