goRepoblog
Rudimentary static page generator and server.
Build
Direct
A Golang compiler >= 1.15 is required, go build cmd/goRepoblog/main.go
will do.
Docker Image
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.
Usage
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.
Entry files
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.
Further Configuration
To change the stylesheet or favicon, they must be replaced inside the include dir.
For everything else consult the config.
Regarding Docker
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.
Info
Contributing
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.
Attributions
- markdown by Russ Ross, Krzysztof Kowalczyk and various under BSD-2-Clause
- go-toml by Thomas Pelletier, Eric Anderton under MIT
- tufte.css by Dave Liepmann under MIT
- Icon made from Icon Fonts is licensed by CC BY 3.0
License
This project is licensed under the European Union Public License v1.2. Please see License for more information.