Rudimentary static page generator and server.
A Golang compiler >= 1.15 is required, go build cmd/goRepoblog/main.go
will do.
The image is built on golangs official alpine image with the target architecture as build argument and linked statically, the product is provided without an base image from scratch. For debug purposes busybox is installed from it's stable musl image, too.
Copy and edit the example config to your needs, save your entries inside the data dir, initialize everything via goRepoblog -init
and you are good to go!
To start serving, just run goRepoblog -serve
.
Every time a new entry is saved, you need to run goRepoblog -update
(which can be done while serving).
These Updates are processed incremental, a whole rebuild can be triggered with goRepoblog -rebuild
.
To remove every temporary and processed file, goRepoblog -clean
is provided.
Arguments can be chained, so goRepoblog -clean -init -serve
can be used for a clean start.
An (blog) entry should start with some metadata, at least title and date are required:
---
title: Hello World
date: 2020-08-17
author: jlkDE
columns: false
---
Optional fields like author
, lang
und config
have a configured default value.
To change the stylesheet or favicon, they must be replaced inside the include dir. For everything else consult the config.
Currently, Initialization in terms of general config options and included files like the stylesheet is done while building the image so a rebuild is required to change them.
To use this software with Docker, configure the application, then build your image. It is recommended to mount the entries dir as a volume as specified.
Simply run docker exec <CONTAINER> /app/main [OPTION]
to update.
Please write your commit messages as Conventional Commits. To simplify versioning, a small script version.sh asking for semantic level change, increasing version strings automatically, is provided.
This project is licensed under the European Union Public License v1.2. Please see License for more information.