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
11 - imagemagick (to resize the got logo)
14 How it works
15 ------------
17 The makefile uses mlist(1) to gather all the mail of the mailing list,
18 mthread(1) for threading and mscan(1) for parsing.
20 Then, three custom scripts are called:
22 - mexp: creates a separate HTML page for each mail, as well as the
23 raw message/body parts and the attachments. It's the heaviest part
24 of the pipeline. If a message appears to have already been exported,
25 it will be skipped to save some time.
27 - pe: (parallelized export) since mexp is slow, attemps to run N mexp
28 processes in parallel and dispatch threads to them.
30 - mkindex: generates the index and threads page.
33 Usage
34 -----
36 $ make MDIR=/path/to/got/maildir
38 will create and populate a `/var/www/marc' directory with the HTML
39 files. Pass OUTDIR to override the destination directory. MDIR
40 defaults to ~/Mail/gameoftrees.
42 There's some basic support for parallelizing the export, although it's
43 disabled by default. Tweak MAKE_JOBS for `pe' to use multiple jobs.
45 Every once in a while, the maildir should be synced (with mbsync for
46 example) and `make' re-run to update the archive. gotmarc does
47 incremental updates to some extent so except for the first run, which
48 will take a while, updating the archive should be fast.
50 For use with httpd' `gzip-static' (or similar)
52 $ make gzip
54 will recursively compress every file in OUTDIR, leaving the original
55 file intact.
58 License
59 -------
61 As far as I'm concerned, gotmarc (i.e. all the code in this
62 repository) is in the public domain.