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:
M | README.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.