~jlkde/goRepoblog

static, markdown-powered blogging platform

b9cdc17 fix: only copy existing files to Docker image

~jlkde pushed to ~jlkde/goRepoblog git

a month ago

1a18eeb chore: update dependencies

~jlkde pushed to ~jlkde/goRepoblog git

a month ago

#goRepoblog

License: EUPL v1.2 version

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.