adapter | ||
cmd | ||
config | ||
page | ||
static | ||
templates | ||
.gitignore | ||
go.mod | ||
go.sum | ||
nirvash.go | ||
README.md |
NIRVASH
about
nirvash
is a content management system (CMS) written in Go using the quartzgun library, designed to be efficient, modular, and easy to use. It uses an Adapter
system that in theory allows almost any backend SSG to be used for actual page generation and backend storage. It's inspired by Joost Van Der Schee's Usecue CMS.
installation and configuration
Clone this repository and run go build
to build nirvash
. Just running ./nirvash
from there, if you haven't run it before, should run the configuration wizard (it runs if the config file found in your user's config directory is missing or incomplete). The configuration file looks like:
adapter=eureka // one of the supported adapters, currently just eureka
root=/path/to/ssg/root // path to where your SSG content root is
assetRoot=/path/to/asset/root // path to the Nirvash static assets (eg static/ directory in this repo)
staticRoot=/path/to/static/root // path to static file storage on your webserver
plugins=none // list of plugins to use, currently none are implemented
You can also set the configuration options by running eg nirvash configure adapter=eureka root=/var/www
. Key-value pairs given on the command line are written to the configuration file, and pairs not listed are unmodified.
User management is done from the command line as well:
nirvash adduser username password
nirvash rmuser username
nirvash passwd username oldpass newpass
usage
Running nirvash
without any arguments starts the webserver on port 8080.
MORE TO COME