all repos — nirvash @ b7e2dc3ab7463cc239093623befde3901dcacec7

modular CMS using the quartzgun library

README.md (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# NIRVASH

![view within the cockpit of Nirvash](./static/bg.png)

## about

`nirvash` is a content management system (CMS) written in Go using the [quartzgun](https://nilfm.cc/git/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](https://usecue.com)'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