Initial checkin
[mharc.git] / lib / common.mrc
1 <!-- $Id: common.mrc.in.dist,v 1.17 2002/07/23 05:51:46 ehood Exp $  -->
2 <!-- ================================================================== -->
3 <!--    MHonArc Resource File for Mail Archives                         -->
4 <!--    Description:
5           This is the main resource file for the mail archives.
6           it contains all the common formatting characteristics
7           used across archives.  Archive specific settings can
8           be set via command-line options the bin/web-archive
9           program.
10   -->
11 <!-- ================================================================== -->
12
13 <!-- CONLEN should only be set of Content-Length is accurate for the
14      system.  Mail delivery under Solaris sets it properly.
15      XXX: Should probably move this to command-line invocation.
16   -->
17 <ConLen>
18
19 <!-- Added POSIXSTRFTIME so that we can print out timezone specs for
20      archive generation (RT #244804) - baughj, 2005.06.16
21   -->
22 <POSIXSTRFTIME>
23
24 <!-- Added for rt#106039 -- bernie -->
25 <TextEncode>
26 utf-8; MHonArc::UTF8::to_utf8; MHonArc/UTF8.pm
27 </TextEncode>
28
29 <-- With data translated to UTF-8, it simplifies CHARSETCONVERTERS -->
30 <CharsetConverters override>
31 default; mhonarc::htmlize
32 </CharsetConverters>
33
34 <-- Need to also register UTF-8-aware text clipping function -->
35 <TextClipFunc>
36 MHonArc::UTF8::clip; MHonArc/UTF8.pm
37 </TextClipFunc>
38
39 <!-- ================================================================== -->
40 <!--    Custom Variable Defintions                                      -->
41 <!-- ================================================================== -->
42 <!--
43         The following variables defined by the web-archive program
44         and not here:
45           $ALL-LISTS-URL$       URL to all archive listing.
46           $CUR-PERIOD$          Current period in YYYY or YYYY-MM format.
47           $LIST-NAME$           Archive/list name and search index name.
48           $LIST-TITLE$          Archive/list title: generally equals
49                                 $LIST-NAME$, but can be different like for
50                                 CVS commit archives.
51           $PNAV-CGI$            URL to period navigation cgi program.
52           $SEARCH-CGI$          URL to search cgi program.
53   -->
54
55 <SPAMMODE>
56
57 <AddressModifyCode>
58 $_ = 'address@hidden';
59 </AddressModifyCode>
60
61 <!-- Variables representing period links for index pages.
62   -->
63 <DefineVar chop>
64 PREV-PERIOD-LABEL
65 Prev&nbsp;Period
66 </DefineVar>
67
68 <DefineVar chop>
69 NEXT-PERIOD-LABEL
70 Next&nbsp;Period
71 </DefineVar>
72
73 <DefineVar chop>
74 PREV-PERIOD-LINK
75 [<a href="$PNAV-CGI$?a=$LIST-NAME$&amp;m=$CUR-PERIOD$&amp;d=prev">$PREV-PERIOD-LABEL$</a>]
76 </DefineVar>
77
78 <DefineVar chop>
79 NEXT-PERIOD-LINK
80 [<a href="$PNAV-CGI$?a=$LIST-NAME$&amp;m=$CUR-PERIOD$&amp;d=next">$NEXT-PERIOD-LABEL$</a>]
81 </DefineVar>
82
83 <DefineVar chop>
84 TPREV-PERIOD-LINK
85 [<a href="$PNAV-CGI$?a=$LIST-NAME$&amp;m=$CUR-PERIOD$&amp;d=prev&amp;t=t">$PREV-PERIOD-LABEL$</a>]
86 </DefineVar>
87
88 <DefineVar chop>
89 TNEXT-PERIOD-LINK
90 [<a href="$PNAV-CGI$?a=$LIST-NAME$&amp;m=$CUR-PERIOD$&amp;d=next&amp;t=t">$NEXT-PERIOD-LABEL$</a>]
91 </DefineVar>
92
93 <!-- Variable representing markup of search form.
94   -->
95 <DefineVar>
96 SEARCH-FORM
97 <form method="get" action="$SEARCH-CGI$">
98 <input type="text" name="query" size="30">
99 <input type="submit" name="submit" value="Search">
100 <input type="hidden" name="idxname" value="$LIST-NAME$">
101 <a href="$SEARCH-CGI$?idxname=$LIST-NAME$">Advanced</a>
102 </form>
103 </DefineVar>
104
105 <DefineVar chop>
106 THREAD-IDX-LINK
107 [<b><a href="$TIDXFNAME$">Thread&nbsp;Index</a></b>]
108 </DefineVar>
109
110 <DefineVar chop>
111 DATE-IDX-LINK
112 [<b><a href="$IDXFNAME$">Date&nbsp;Index</a></b>]
113 </DefineVar>
114
115 <!-- Main index page nav links if MULTIPG is ever used.
116      This variable could be reference by list-specific resource files
117      if MULTIPG is activated.
118   -->
119 <DefineVar>
120 MAIN-PAGE-LINKS
121 <hr size=1 noshade>
122 <table width="100%" border=0 cellpadding=0 cellspacing=0>
123 <tr align="center">
124 <th colspan=4><small>Page $PAGENUM$ of $NUMOFPAGES$</small></th>
125 <tr>
126 <td align="left"
127 ><small>[<a href="$PG(FIRST)$">First&nbsp;Page</a>]</small></td>
128 <td align="right"><small>$PGLINK(PREV)$</small></td>
129 <td align="left"><small>$PGLINK(NEXT)$</small></td>
130 <td align="right"><small>[<a href="$PG(LAST)$">Last&nbsp;Page</a>]</small></td>
131 </tr>
132 </table>
133 <hr size=1 noshade>
134 </DefineVar>
135
136 <!-- Thread index page nav links if MULTIPG ever used.
137      This variable could be reference by list-specific resource files
138      if MULTIPG is activated.
139   -->
140 <DefineVar>
141 THREAD-PAGE-LINKS
142 <hr size=1 noshade>
143 <table width="100%" border=0 cellpadding=0 cellspacing=0>
144 <tr align="center">
145 <th colspan=4><small>Page $PAGENUM$ of $NUMOFPAGES$</small></th>
146 <tr>
147 <td align="left"
148 ><small>[<a href="$PG(TFIRST)$">First&nbsp;Page</a>]</small></td>
149 <td align="right"><small>$PGLINK(TPREV)$</small></td>
150 <td align="left"><small>$PGLINK(TNEXT)$</small></td>
151 <td align="right"><small>[<a href="$PG(TLAST)$">Last&nbsp;Page</a>]</small></td>
152 </tr>
153 </table>
154 <hr size=1 noshade>
155 </DefineVar>
156
157 <!-- ================================================================== -->
158 <!--    General Resources                                               -->
159 <!-- ================================================================== -->
160
161 <!-- Since we specify resource settings everytime, no need to save
162      them in archive database.
163   -->
164 <NoSaveResources>
165
166 <!-- Arguments to content filters.
167      CAUTION: Verify options against security concerns and make
168               any changes accordingly.
169   -->
170 <MIMEArgs override>
171 m2h_external::filter;   inline useicon
172 m2h_text_plain::filter; attachcheck quote maxwidth=80
173 m2h_text_html::filter;  notitle
174 </MIMEArgs>
175
176 <!-- Stricter MSGSEP.  Not important if CONLEN active.
177      XXX: Should this strict setting exist or should we just use
178           MHonArc's default value for MSGSEP as the default?
179   -->
180 <MsgSep>
181 ^From \S+\s+\S+\s+\S+\s+\d+\s+\d+:\d+:\d+\s+\d+
182 </MsgSep>
183
184 <!-- Icons settings copied from documentation.  Works with
185      Apache server.  Icons not used in index, but attachment
186      filter is given useicon argument.  If Apache is not used,
187      or the icon URLs are different, this resource needs to
188      be changed or the useicon argument removed from
189      m2h_external::filter.
190   -->
191 <Icons>
192 application/*;[20x22]/icons/generic.png
193 application/msword;[20x22]/icons/layout.png
194 application/postscript;[20x22]/icons/ps.png
195 application/rtf;[20x22]/icons/layout.png
196 application/x-csh;[20x22]/icons/script.png
197 application/x-dvi;[20x22]/icons/dvi.png
198 application/x-gtar;[20x22]/icons/tar.png
199 application/x-gzip;[20x22]/icons/compressed.png
200 application/x-ksh;[20x22]/icons/script.png
201 application/x-latex;[20x22]/icons/tex.png
202 application/octet-stream;[20x22]/icons/binary.png
203 application/x-patch;[20x22]/icons/patch.png
204 application/pdf;[20x22]/icons/pdf.png
205 application/x-script;[20x22]/icons/script.png
206 application/x-sh;[20x22]/icons/script.png
207 application/x-tar;[20x22]/icons/tar.png
208 application/x-tex;[20x22]/icons/tex.png
209 application/x-zip-compressed;[20x22]/icons/compressed.png
210 application/zip;[20x22]/icons/compressed.png
211 audio/*;[20x22]/icons/sound1.png
212 chemical/*;[20x22]/icons/sphere2.png
213 image/*;[20x22]/icons/image2.png
214 message/external-body;[20x22]/icons/link.png
215 multipart/*;[20x22]/icons/layout.png
216 text/*;[20x22]/icons/text.png
217 video/*;[20x22]/icons/movie.png
218 */*;[20x22]/icons/generic.png
219 </Icons>
220
221 <!-- ================================================================== -->
222 <!--    Main Index                                                      -->
223 <!-- ================================================================== -->
224
225 <!-- Set sorting order of main index pages: Reverse chronological.  -->
226 <Sort>
227 <Reverse>
228
229 <!-- Show dates in local time. -->
230 <UseLocalTime>
231
232 <!-- Make date index the default page for the archive. -->
233 <IdxFName>
234 index.html
235 </IdxFName>
236
237 <MsgLocalDateFmt>
238 %B %d, %Y
239 </MsgLocalDateFmt>
240
241 <IdxPgBegin>
242 <!doctype html public "-//W3C//DTD HTML//EN">
243 <html>
244 <head>
245 <title>$IDXTITLE$</title>
246 </head>
247 <body>
248 <center>
249 <em>Archives are refreshed every 30 minutes - for details, please visit
250 <a href="http://lists.gnu.org/archive/html/">the main index</a>.</em>
251 <br>
252 You can also <a href="ftp://lists.gnu.org/$LIST-NAME$/">download the archives in mbox format</a>.</em>
253 <p>
254 <table border=0 cellspacing=2 cellpadding=0 bgcolor="#000000">
255 <tr><td><table border=0 bgcolor="#FFFFCC">
256 <tr><td><big><big><b>$IDXTITLE$</b></big></big></td></tr></table></tr></table>
257 <small><nobr>$THREAD-IDX-LINK$[<a href="../"
258 >Top</a>][<a href="$ALL-LISTS-URL$">All Lists</a>]</nobr
259 ></small>
260 $SEARCH-FORM$
261 </center>
262 </IdxPgBegin>
263
264 <ListBegin>
265 <table width="100%">
266 <tr valign="bottom">
267 <td align="left"><nobr>$PREV-PERIOD-LINK$</nobr></td>
268 <td align="center"><small
269 >Last Modified: $MSGLOCALDATE(LAST;%a %b %d %Y %H:%M:%S %z)$<br>
270 Messages in reverse chronological order</small></td>
271 <td align="right"><nobr>$NEXT-PERIOD-LINK$</nobr></td>
272 </tr>
273 </table>
274 <hr size="1" noshade>
275 <ul>
276 </ListBegin>
277
278 <!-- Date listing is done in day groups with the each day listed in bold
279      and messages for that date listed under it.
280   -->
281 <DayBegin>
282 <li><strong>$MSGLOCALDATE$</strong>
283 <ul>
284 </DayBegin>
285
286 <DayEnd>
287 </li></ul>
288 </DayEnd>
289
290 <LITemplate>
291 <li>$SUBJECT$, <i>$FROMNAME$</i>, <tt>$MSGLOCALDATE(CUR;%H:%M)$</tt></li>
292 </LITemplate>
293
294 <ListEnd>
295 </ul>
296 <hr size="1" noshade>
297 <table width="100%">
298 <tr valign="bottom">
299 <td align="left"><nobr>$PREV-PERIOD-LINK$</nobr></td>
300 <td align="right"><nobr>$NEXT-PERIOD-LINK$</nobr></td>
301 </tr>
302 </table>
303 </ListEnd>
304
305 <!-- ================================================================== -->
306 <!--    Thread Index                                                    -->
307 <!-- ================================================================== -->
308
309 <!-- Reverse thread order. -->
310 <TReverse>
311
312 <!-- Show no indicator of subject-based thread detection since most
313      people do not care.
314      NOTE: The blank line is important!
315   -->
316 <TSubjectBeg>
317
318 </TSubjectBeg>
319
320 <TIdxPgBegin>
321 <!doctype html public "-//W3C//DTD HTML//EN">
322 <html>
323 <head>
324 <title>$TIDXTITLE$</title>
325 </head>
326 <body>
327 <center>
328 <em>Archives are refreshed every 30 minutes - for details, please visit <a
329 href="http://lists.gnu.org/archive/html/">the main index</a>.</em>
330 <br>
331 You can also <a href="ftp://lists.gnu.org/$LIST-NAME$/">download the archives in mbox format</a>.</em>
332 <p>
333 <table border=0 cellspacing=2 cellpadding=0 bgcolor="#000000">
334 <tr><td><table border=0 bgcolor="#FFFFCC">
335 <tr><td><big><big><b>$TIDXTITLE$</b></big></big></td></tr></table></tr></table>
336 <small><nobr
337 >$DATE-IDX-LINK$[<a href="../"
338 >Top</a>][<a href="$ALL-LISTS-URL$">All Lists</a>]</nobr
339 ></small>
340 $SEARCH-FORM$
341 </center>
342 </TIdxPgBegin>
343
344 <THead>
345 <table width="100%">
346 <tr valign="bottom">
347 <td align="left"><nobr>$TPREV-PERIOD-LINK$</nobr></td>
348 <td align="center"><small
349 >Last Modified: $MSGLOCALDATE(LAST;%a %b %d %Y %H:%M:%S %z)$<br>
350 Threads in reverse chronological order</small></td>
351 <td align="right"><nobr>$TNEXT-PERIOD-LINK$</nobr></td>
352 </tr>
353 </table>
354 <hr size="1" noshade>
355 <ul>
356 </THead>
357
358 <TTopBegin>
359 <li><b>$SUBJECT$</b>, <i>$FROMNAME$</i>, <tt>$MSGLOCALDATE(CUR;%Y/%m/%d)$</tt>
360 </TTopBegin>
361
362 <TLiTxt>
363 <li><b>$SUBJECT$</b>, <i>$FROMNAME$</i>, <tt>$MSGLOCALDATE(CUR;%Y/%m/%d)$</tt>
364 </TLiTxt>
365
366 <TSingleTxt>
367 <li><b>$SUBJECT$</b>, <i>$FROMNAME$</i>, <tt>$MSGLOCALDATE(CUR;%Y/%m/%d)$</tt>
368 </TSingleTxt>
369
370 <TFoot>
371 </ul>
372 <hr size="1" noshade>
373 <table width="100%">
374 <tr valign="bottom">
375 <td align="left"><nobr>$TPREV-PERIOD-LINK$</nobr></td>
376 <td align="right"><nobr>$TNEXT-PERIOD-LINK$</nobr></td>
377 </tr>
378 </table>
379 </TFoot>
380
381 <!-- ================================================================== -->
382 <!--    Message Pages                                                   -->
383 <!-- ================================================================== -->
384
385 <ModTime>
386
387 <!-- We clip the subject title to 72 characters to prevent ugly pages
388      due to very long subject lines.  The full subject text will still
389      be shown in the formatted message header.
390   -->
391 <MsgPgBegin>
392 <!doctype html public "-//W3C//DTD HTML//EN">
393 <html>
394 <head>
395 <title>$SUBJECTNA:72$</title>
396 </head>
397 <body>
398 <center>
399 <table border=0 cellspacing=2 cellpadding=0 bgcolor="#000000">
400 <tr><td><table border=0 bgcolor="#FFFFCC">
401 <tr><td><big><b>$LIST-TITLE$</b></big></td></tr></table></tr></table>
402 <small><nobr>[<a href="../"
403 >Top</a>][<a href="$ALL-LISTS-URL$">All Lists</a>]</small></nobr>
404 $SEARCH-FORM$
405 </center>
406 </MsgPgBegin>
407
408 <TopLinks>
409 <hr>
410 $BUTTON(PREV)$$BUTTON(NEXT)$$BUTTON(TPREV)$$BUTTON(TNEXT)$[<a
411 href="$IDXFNAME$#$MSGNUM$">Date Index</a>][<a
412 href="$TIDXFNAME$#$MSGNUM$">Thread Index</a>]
413 </TopLinks>
414
415 <SubjectHeader>
416 <h2>$SUBJECTNA:72$</h2>
417 <hr>
418 <table border=0>
419 <tbody>
420 <tr>
421 <td align="right" valign="top">
422 <b>From</b>: </td>
423 <td align="left">
424 $FROMNAME$</td>
425 </tr>
426 </SubjectHeader>
427
428 <!-- Format message header in a table. -->
429
430 <FieldOrder>
431 subject
432 date
433 user-agent
434 </FieldOrder>
435
436 <Fieldsbeg>
437
438 </FieldsBeg>
439
440 <LabelBeg>
441 <tr>
442 <td align="right" valign="top">
443 </LabelBeg>
444
445 <LabelEnd>
446 : </td>
447 </LabelEnd>
448
449 <FldBeg>
450 <td align="left">
451 </FldBeg>
452
453 <FldEnd>
454 </td>
455 </tr>
456 </FldEnd>
457
458 <FieldsEnd>
459 </tbody>
460 </table>
461 </FieldsEnd>
462
463 <LabelStyles>
464 -default-:b
465 </LabelStyles>
466
467 <!-- Disable explicit follow-up/references section and use $TSLICE$ instead.
468   -->
469 <NoFolRefs>
470
471 <!-- Set TSLICE resource to represent default $TSLICE$ behavior and
472      mainly to set the maximum message page update ranges when messages
473      are added to the archive.  I.e.  The before and after values
474      should represent the largest before and after values we will use
475      with $TSLICE$.
476   -->
477 <TSlice>
478 10:10:1
479 </TSlice>
480
481 <!-- We set up slice formatting so current message in thread is not
482      hyperlinked and "greyed out".  We could probably use CSS to
483      do this, but <font> seems to still work with most popular
484      graphical browsers.
485   -->
486 <TSliceBeg>
487 <ul>
488 </TSliceBeg>
489
490 <TSliceTopBeginCur>
491 <li><font color="#666666"><strong>$SUBJECTNA$</strong>,
492 <em>$FROMNAME$</em></font>&nbsp;<b>&lt;=</b>
493 </TSliceTopBeginCur>
494
495 <TSliceLiTxtCur>
496 <li><font color="#666666"><strong>$SUBJECTNA$</strong>,
497 <em>$FROMNAME$</em></font>&nbsp;<b>&lt;=</b>
498 </TSliceLiTxtCur>
499
500 <TSliceSingleTxtCur>
501 <li><font color="#666666"><strong>$SUBJECTNA$</strong>,
502 <em>$FROMNAME$</em></font>&nbsp;<b>&lt;=</b>
503 </TSliceSingleTxtCur>
504
505 <TSliceEnd>
506 </ul>
507 </TSliceEnd>
508
509 <!-- Modify end of message body to include thread slice.  We also
510      include convenient next/prev-in-thread links since scanning
511      slice can be inconvenient for simple thread reading.
512   -->
513 <MsgBodyEnd>
514 <hr>
515 <form method="post" action="/mp/yyz.py" enctype="multipart/form-data">
516 <input type="hidden" name="a" value="$FROMADDRNAME$">
517 <input type="hidden" name="b" value="$SUBJECTNA$">
518 <input type="hidden" name="d" value="$MSGID$">
519 <input type="hidden" name="c" value="$FROMADDRDOMAIN$">
520 <center>reply via email to<br><input type="submit" value=" $FROMNAME$ "></center>
521 </form>
522 <hr>
523 <table width="100%">
524 <tr><td align="left">$BUTTON(TPREVIN)$</td>
525 <td align="center"><b>Current Thread</b></td>
526 <td align="right">$BUTTON(TNEXTIN)$</td></tr></table>
527 $TSLICE$
528 <hr>
529 </MsgBodyEnd>