Blob


1 GOTMARC -- because $POPULAR_ARCHIVE hates us!
2 =============================================
4 A collection of scripts to generate a static mail archive from a
5 Maildir; intended to provide a public web interface for the Game of
6 Trees mailing list.
8 The dependencies are:
10 - mblaze
12 Optionally, ImageMagick is used to regen the various sizes of the got
13 logo in images/.
16 How it works
17 ------------
19 The makefile uses mlist(1) to gather all the mail of the mailing list,
20 mthread(1) for threading and mscan(1) for parsing.
22 Then, three custom scripts are called:
24 - mexp: creates a separate HTML page for each mail, as well as the
25 raw message/body parts and the attachments. It's the heaviest part
26 of the pipeline. If a message appears to have already been exported,
27 it will be skipped to save some time.
29 - pe: (parallelized export) since mexp is slow, attemps to run N mexp
30 processes in parallel and dispatch threads to them.
32 - mkindex: generates the index and threads page.
35 Usage
36 -----
38 $ make MDIR=/path/to/got/maildir
40 will create and populate a `/var/www/marc' directory with the HTML
41 files. Pass OUTDIR to override the destination directory. MDIR
42 defaults to ~/Mail/gameoftrees.
44 There's some basic support for parallelizing the export, although it's
45 disabled by default. Tweak MAKE_JOBS for `pe' to use multiple jobs.
47 Every once in a while, the maildir should be synced (with mbsync for
48 example) and `make' re-run to update the archive. gotmarc does
49 incremental updates to some extent so except for the first run, which
50 will take a while, updating the archive should be fast.
52 For use with httpd' `gzip-static' (or similar)
54 $ make gzip
56 will recursively compress every file in OUTDIR, leaving the original
57 file intact.
60 License
61 -------
63 As far as I'm concerned, gotmarc (i.e. all the code in this
64 repository) is in the public domain.