01
2022-08-29
op
GOTMARC -- A web archive for the Game of Trees mailing list
02
2022-08-29
op
===========================================================
04
2022-08-24
op
A collection of scripts to generate a static mail archive from a
05
2022-08-24
op
Maildir; intended to provide a public web interface for the Game of
06
2022-08-24
op
Trees mailing list.
08
2022-08-29
op
The only dependency outside base is mblaze.
11
2022-08-24
op
How it works
12
2022-08-24
op
------------
14
2022-08-24
op
The makefile uses mlist(1) to gather all the mail of the mailing list,
15
2022-08-24
op
mthread(1) for threading and mscan(1) for parsing.
17
2022-08-26
op
Then, three custom scripts are called:
19
2022-08-24
op
- mexp: creates a separate HTML page for each mail, as well as the
20
2022-08-24
op
raw message/body parts and the attachments. It's the heaviest part
21
2022-08-24
op
of the pipeline. If a message appears to have already been exported,
22
2022-08-24
op
it will be skipped to save some time.
24
2022-08-25
op
- pe: (parallelized export) since mexp is slow, attemps to run N mexp
25
2022-08-25
op
processes in parallel and dispatch threads to them.
27
2022-08-24
op
- mkindex: generates the index and threads page.
33
2022-08-24
op
$ make MDIR=/path/to/got/maildir
35
2022-08-26
op
will create and populate a `/var/www/marc' directory with the HTML
36
2022-08-26
op
files. Pass OUTDIR to override the destination directory. MDIR
37
2022-08-26
op
defaults to ~/Mail/gameoftrees.
39
2022-08-26
op
There's some basic support for parallelizing the export, although it's
40
2022-08-26
op
disabled by default. Tweak MAKE_JOBS for `pe' to use multiple jobs.
42
2022-08-24
op
Every once in a while, the maildir should be synced (with mbsync for
43
2022-08-24
op
example) and `make' re-run to update the archive. gotmarc does
44
2022-08-24
op
incremental updates to some extent so except for the first run, which
45
2022-08-24
op
will take a while, updating the archive should be fast.
47
2022-08-24
op
For use with httpd' `gzip-static' (or similar)
49
2022-08-24
op
$ make gzip
51
2022-08-24
op
will recursively compress every file in OUTDIR, leaving the original
52
2022-08-24
op
file intact.
58
2022-08-24
op
As far as I'm concerned, gotmarc (i.e. all the code in this
59
2022-08-24
op
repository) is in the public domain.