Mon Aug 29 20:50:59 2022 UTC
tweak the readme the subtitle was meant to be more of a joke, but as it can be misinterpreted let's change it.
GOTMARC -- A web archive for the Game of Trees mailing list
A collection of scripts to generate a static mail archive from a
Maildir; intended to provide a public web interface for the Game of
Trees mailing list.
The only dependency outside base is mblaze.
How it works
The makefile uses mlist(1) to gather all the mail of the mailing list,
mthread(1) for threading and mscan(1) for parsing.
Then, three custom scripts are called:
- mexp: creates a separate HTML page for each mail, as well as the
raw message/body parts and the attachments. It's the heaviest part
of the pipeline. If a message appears to have already been exported,
it will be skipped to save some time.
- pe: (parallelized export) since mexp is slow, attemps to run N mexp
processes in parallel and dispatch threads to them.
- mkindex: generates the index and threads page.
$ make MDIR=/path/to/got/maildir
will create and populate a `/var/www/marc' directory with the HTML
files. Pass OUTDIR to override the destination directory. MDIR
defaults to ~/Mail/gameoftrees.
There's some basic support for parallelizing the export, although it's
disabled by default. Tweak MAKE_JOBS for `pe' to use multiple jobs.
Every once in a while, the maildir should be synced (with mbsync for
example) and `make' re-run to update the archive. gotmarc does
incremental updates to some extent so except for the first run, which
will take a while, updating the archive should be fast.
For use with httpd' `gzip-static' (or similar)
$ make gzip
will recursively compress every file in OUTDIR, leaving the original
file intact.
As far as I'm concerned, gotmarc (i.e. all the code in this
repository) is in the public domain.
Omar Polo