gitout

A static git page generator
git clone https://git.bracken.jp/gitout.git
Log | Files | Refs | Submodules | README | LICENSE

commit e76cddbbded4ce6cb5e6a6cc3f6ae1d59a5b09ab
parent c0e0ccdb636d9962622841f48a3e84c52dbbc67a
Author: Chris Bracken <chris@bracken.jp>
Date:   Thu,  9 May 2024 21:51:19 +0900

Add background to README.md

Diffstat:
MREADME.md | 34+++++++++++++++++++++++++++++++---
1 file changed, 31 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md @@ -1,9 +1,11 @@ gitout ====== -Gitout is a static git repository builder designed to be compatible with the -excellent `stagit` tool, but adds support for multiple output formats: html, -gopher, and gemini. +Gitout is a static git repository builder designed to be output-compatible with +the excellent `stagit` tool, but adds support for multiple output formats in the +same binary: html (-H) and gopher (-G). + +Early support for Gemini is available on the `gemini` branch. Prerequisites ------------- @@ -76,3 +78,29 @@ or make release ./out/release/gitout ./out/release/gitout_index + + +Background +---------- + +Gitout started as a set of small refactorings of stagit written primarily to +separate git logic from formatting logic in order to experiment with merging +gopher support into the same tool, and eventually add gemini support. Things got +a bit out of hand and I'm embarrassed to say the code now reads a bit more like +Enterprise Stagit. + +In my defence, the final compiled binary size is still small; under 60 kB on +FreeBSD. It would be worthwhile trying to simplify the code a bit, now that +things are separated out and the formatters are now effectively pluggable. + + +Patches welcome +--------------- + +Patches are more than welcome via [`git send-email`](https://git-send-email.io): +``` + $ git config sendemail.to "Chris Bracken <chris@bracken.jp>" + $ git send-email ... +``` +or alternatively, generate the patches via `git format-patch` and email them +manually.