onacms (aka: "Oh No! Another Content Management System!") is not really a content management system, but a content management engine. It makes use of the following three concepts:
- Nodes (aka: pages) (/nodes): this is where your content goes. Content can be plain html or Markdown.
- Templates (/templates): templates generate the actual output, e.g. html pages for a website, sitemap.txt, etc. Templates can use mustache or the built in Golang html templating engine.
- Static / public files (/public): these files are handled by ONACMS in the same way that you would expect from any other webserver. Use it e.g. for media files or for static files like robots.txt.
Building and dependencies
gb is required to build onacms.
gb build all to build.
The following dependencies need to be met,
gb vendor fetch <repository>:
./onacms [-dir=<directory>] [-port=<TCP port>] [-logpattern=<pattern>]
directory the directory containing nodes (/nodes), templates (/templates), and public / static files (/public)
TCP port is the TCP port the daemon listens on. It defaults to 12000.
pattern contains of one or more items from the following list:
- %T - Time (e. g.15:04:05 MST)
- %t - Time (e. g. 15:04)
- %D - Date (e. g 2006/01/02)
- %d - Date (e. g 01/02/06)
- %L - Level (FNST, FINE, DEBG, TRAC, WARN, EROR or CRIT)
- %M - message to be logged
If you run onacms using Systemd, there is no need to log time and date for this
is already done by Systemd. In this case
-logpattern="%L %M" would be a