gorepoblog

module
v0.0.0-...-cf4002c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 5, 2023 License: EUPL-1.2

README

goRepoblog

Go Report Card 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.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL