Blame


1 b2508be5 2022-08-24 op GOTMARC -- because $POPULAR_ARCHIVE hates us!
2 b2508be5 2022-08-24 op =============================================
3 b2508be5 2022-08-24 op
4 b2508be5 2022-08-24 op A collection of scripts to generate a static mail archive from a
5 b2508be5 2022-08-24 op Maildir; intended to provide a public web interface for the Game of
6 b2508be5 2022-08-24 op Trees mailing list.
7 b2508be5 2022-08-24 op
8 b2508be5 2022-08-24 op The dependencies are:
9 b2508be5 2022-08-24 op
10 b2508be5 2022-08-24 op - mblaze
11 b2508be5 2022-08-24 op - imagemagick (to resize the got logo)
12 b2508be5 2022-08-24 op
13 b2508be5 2022-08-24 op
14 b2508be5 2022-08-24 op How it works
15 b2508be5 2022-08-24 op ------------
16 b2508be5 2022-08-24 op
17 b2508be5 2022-08-24 op The makefile use mlist(1) to gather all the mail of the mailing list,
18 b2508be5 2022-08-24 op mthread(1) to arrange them in threads and mscan(1) to parse them.
19 b2508be5 2022-08-24 op
20 b2508be5 2022-08-24 op Then, two custom scripts are called in the same pipeline:
21 b2508be5 2022-08-24 op
22 b2508be5 2022-08-24 op - mexp: creates a separate HTML page for each mail, as well as the
23 b2508be5 2022-08-24 op raw message/body parts and the attachments. it's the heaviest part
24 b2508be5 2022-08-24 op of the pipeline.
25 b2508be5 2022-08-24 op
26 b2508be5 2022-08-24 op - mkindex: generates the index and threads page.
27 b2508be5 2022-08-24 op
28 b2508be5 2022-08-24 op
29 b2508be5 2022-08-24 op Usage
30 b2508be5 2022-08-24 op -----
31 b2508be5 2022-08-24 op
32 b2508be5 2022-08-24 op $ make MDIR=/path/to/got/maildir
33 b2508be5 2022-08-24 op
34 b2508be5 2022-08-24 op will create and populate a `www' directory with the HTML files. Pass
35 b2508be5 2022-08-24 op OUTDIR to override the destination directory.
36 b2508be5 2022-08-24 op
37 5f54ec1a 2022-08-24 op Every once in a while, the maildir should be synced (with mbsync for
38 5f54ec1a 2022-08-24 op example) and `make' re-run to update the archive. gotmarc does
39 5f54ec1a 2022-08-24 op incremental updates to some extent so except for the first run, which
40 5f54ec1a 2022-08-24 op will take a while, updating the archive should be fast.
41 5f54ec1a 2022-08-24 op
42 b2508be5 2022-08-24 op For use with httpd' `gzip-static' (or similar)
43 b2508be5 2022-08-24 op
44 b2508be5 2022-08-24 op $ make gzip
45 b2508be5 2022-08-24 op
46 b2508be5 2022-08-24 op will recursively compress every file in OUTDIR, leaving the original
47 b2508be5 2022-08-24 op file intact.
48 2215cb0b 2022-08-24 op
49 2215cb0b 2022-08-24 op
50 2215cb0b 2022-08-24 op License
51 2215cb0b 2022-08-24 op -------
52 2215cb0b 2022-08-24 op
53 2215cb0b 2022-08-24 op As far as I'm concerned, gotmarc (i.e. all the code in this
54 2215cb0b 2022-08-24 op repository) is in the public domain.