From eae19be42b1cf983dccf9995a2a89066658068fb Mon Sep 17 00:00:00 2001 From: Earl Hood Date: Sun, 28 Jul 2002 17:46:28 -0500 Subject: [PATCH] MHonArc 2.5.10: (https://ftp.gnome.org/mirror/archive/ftp.sunet.se/pub/mac/fink/MHonArc2.5.10.tar.gz) * Bug Fixes: See * Added TEXTCLIPFUNC resource: Defines the text clipping function that should be used by MHonArc. This function is mainly used in resource variable expansion where clipping has been specified, for example, "$SUBJECT:72$". * Added clip() function in MHonArc::UTF8 that can be registed via TEXTCLIPFUNC resource to handling clipping of UTF-8 text. * Example utf-8.mrc updated to include some corrections and to define TEXTCLIPFUNC resource. * Improved navigation links to resource reference pages which should help their usability. --- ACKNOWLG | 87 +- BUGS | 816 +-------- CHANGES | 861 +++++++-- COPYING | 686 ++++---- FILELIST | 24 +- INSTALL | 373 ++-- Makefile.PL | 65 +- README | 62 +- RELNOTES | 263 ++- TODO | 86 +- VERSIONS | 85 - admin/images/mhaicon.gif | Bin 452 -> 0 bytes admin/images/mhaicon.png | Bin 0 -> 493 bytes admin/images/mhanote_s.gif | Bin 1049 -> 0 bytes admin/images/mhanote_s.png | Bin 0 -> 721 bytes admin/mhaadmin.cgi | 6 +- contrib/README | 17 + {extras => contrib}/prsfrom.pl | 0 dev.mk | 65 + doc/COPYING | 340 ++++ doc/Makefile | 81 + doc/_helper/Makefile | 21 + doc/_helper/addbuglist.pl | 78 + doc/_helper/addbuttons.pl | 54 + doc/_helper/addctypetbl.pl | 42 + doc/_helper/addrcindex.pl | 142 ++ doc/_helper/addrcnav.pl | 83 + doc/_helper/addtoc-i.pl | 62 + doc/_helper/addtoc.pl | 43 + doc/_helper/addvartbls.pl | 123 ++ doc/_helper/addvimtags.pl | 48 + doc/_helper/dumpctypes.pl | 5 + doc/_helper/mkctypetbl.pl | 20 + doc/_helper/mkrestmpl.pl | 113 ++ doc/_helper/ppeg.pl | 90 + doc/_helper/rcvars.lst | 57 + doc/_helper/resource.lst | 236 +++ doc/app-api.html | 663 +++++++ doc/app-bugs.html | 2338 +------------------------ doc/app-diagnos.html | 21 +- doc/app-mimeconf.html | 69 +- doc/app-rcfileexs.html | 45 +- doc/app-rcidx.html | 83 +- doc/app-utilsprg.html | 120 +- doc/blank.gif | Bin 77 -> 0 bytes doc/blank.png | Bin 0 -> 97 bytes doc/bug.gif | Bin 1442 -> 0 bytes doc/bug.png | Bin 0 -> 1230 bytes doc/commontasks.html | 100 +- doc/contacts.html | 204 ++- doc/faq.gif | Bin 1331 -> 0 bytes doc/faq.png | Bin 0 -> 702 bytes doc/faq/Makefile | 29 + doc/faq/_helper/Makefile | 7 + doc/faq/_helper/addbuttons.pl | 39 + doc/faq/_helper/addtoc-i.pl | 44 + doc/faq/_helper/addtoc.pl | 48 + doc/faq/about.html | 22 +- doc/faq/archives.html | 206 ++- doc/faq/envs.html | 88 +- doc/faq/faq.html | 27 +- doc/faq/general.html | 64 +- doc/faq/indexpgs.html | 24 +- doc/faq/mime.html | 97 +- doc/faq/monicon.gif | Bin 452 -> 0 bytes doc/faq/monicon.png | Bin 0 -> 493 bytes doc/faq/monsmall_t.gif | Bin 7750 -> 0 bytes doc/faq/monsmall_t.png | Bin 0 -> 6797 bytes doc/faq/msgpgs.html | 26 +- doc/faq/security.html | 163 ++ doc/faq/threads.html | 18 +- doc/faq/usage.html | 125 +- doc/home.gif | Bin 1278 -> 0 bytes doc/home.png | Bin 0 -> 686 bytes doc/install.html | 134 +- doc/intro.html | 39 +- doc/layout.html | 131 +- doc/mhonarc.html | 34 +- doc/monicon.gif | Bin 452 -> 0 bytes doc/monicon.png | Bin 0 -> 493 bytes doc/next.gif | Bin 1606 -> 0 bytes doc/next.png | Bin 0 -> 828 bytes doc/prev.gif | Bin 1621 -> 0 bytes doc/prev.png | Bin 0 -> 825 bytes doc/quickstart.html | 21 +- doc/rcfileexs/blog.mrc.html | 163 ++ doc/rcfileexs/date.mrc.html | 4 +- doc/rcfileexs/def-mime.mrc.html | 44 +- doc/rcfileexs/frames.mrc.html | 6 +- doc/rcfileexs/icons.mrc.html | 109 +- doc/rcfileexs/subject.mrc.html | 13 +- doc/rcfileexs/utf-8.mrc.html | 108 ++ doc/rcvars.html | 272 ++- doc/relnotes.html | 319 ++++ doc/resources.html | 72 +- doc/resources/Makefile | 44 + doc/resources/add.html | 32 +- doc/resources/addressmodifycode.html | 36 +- doc/resources/afs.html | 32 +- doc/resources/annotate.html | 32 +- doc/resources/archive.html | 32 +- doc/resources/authorbegin.html | 46 +- doc/resources/authorend.html | 34 +- doc/resources/authsort.html | 36 +- doc/resources/botlinks.html | 60 +- doc/resources/charsetconverters.html | 86 +- doc/resources/checknoarchive.html | 37 +- doc/resources/conlen.html | 28 +- doc/resources/datefields.html | 41 +- doc/resources/daybegin.html | 40 +- doc/resources/dayend.html | 34 +- doc/resources/dbfile.html | 35 +- doc/resources/decodeheads.html | 40 +- doc/resources/definederived.html | 40 +- doc/resources/definevar.html | 30 +- doc/resources/defrcfile.html | 32 +- doc/resources/defrcname.html | 43 +- doc/resources/doc.html | 28 +- doc/resources/docurl.html | 34 +- doc/resources/editidx.html | 28 +- doc/resources/excs.html | 30 +- doc/resources/expireage.html | 36 +- doc/resources/expiredate.html | 36 +- doc/resources/fieldorder.html | 30 +- doc/resources/fieldsbeg.html | 32 +- doc/resources/fieldsend.html | 32 +- doc/resources/fieldstyles.html | 30 +- doc/resources/firstpglink.html | 202 +++ doc/resources/fldbeg.html | 30 +- doc/resources/fldend.html | 30 +- doc/resources/folrefs.html | 28 +- doc/resources/folupbegin.html | 49 +- doc/resources/folupend.html | 43 +- doc/resources/foluplitxt.html | 49 +- doc/resources/footer.html | 121 -- doc/resources/force.html | 32 +- doc/resources/fromfields.html | 36 +- doc/resources/genidx.html | 32 +- doc/resources/gmtdatefmt.html | 32 +- doc/resources/gzipexe.html | 43 +- doc/resources/gzipfiles.html | 39 +- doc/resources/gziplinks.html | 39 +- doc/resources/headbodysep.html | 42 +- doc/resources/header.html | 122 -- doc/resources/htmlext.html | 39 +- doc/resources/icons.html | 148 +- doc/resources/idxfname.html | 28 +- doc/resources/idxlabel.html | 32 +- doc/resources/idxpgbegin.html | 56 +- doc/resources/idxpgend.html | 32 +- doc/resources/idxpgssmarkup.html | 110 ++ doc/resources/idxprefix.html | 28 +- doc/resources/idxsize.html | 28 +- doc/resources/include.html | 28 +- doc/resources/keeponrmm.html | 36 +- doc/resources/labelbeg.html | 30 +- doc/resources/labelend.html | 28 +- doc/resources/labelstyles.html | 28 +- doc/resources/lastpglink.html | 202 +++ doc/resources/listbegin.html | 80 +- doc/resources/listend.html | 30 +- doc/resources/litemplate.html | 46 +- doc/resources/localdatefmt.html | 28 +- doc/resources/lock.html | 32 +- doc/resources/lockdelay.html | 32 +- doc/resources/lockfile.html | 32 +- doc/resources/lockmethod.html | 36 +- doc/resources/locktries.html | 32 +- doc/resources/mailto.html | 24 +- doc/resources/mailtourl.html | 28 +- doc/resources/main.html | 24 +- doc/resources/maxsize.html | 28 +- doc/resources/mhpattern.html | 28 +- doc/resources/mimealtprefs.html | 190 ++ doc/resources/mimeargs.html | 46 +- doc/resources/mimedecoders.html | 36 +- doc/resources/mimeexcs.html | 28 +- doc/resources/mimefilters.html | 346 ++-- doc/resources/modtime.html | 30 +- doc/resources/months.html | 28 +- doc/resources/monthsabr.html | 28 +- doc/resources/msgbodyend.html | 41 +- doc/resources/msgexcfilter.html | 40 +- doc/resources/msgfoot.html | 34 +- doc/resources/msggmtdatefmt.html | 28 +- doc/resources/msghead.html | 36 +- doc/resources/msgidlink.html | 55 +- doc/resources/msglocaldatefmt.html | 28 +- doc/resources/msgpgbegin.html | 50 +- doc/resources/msgpgend.html | 40 +- doc/resources/msgpgs.html | 43 +- doc/resources/msgpgssmarkup.html | 293 ++++ doc/resources/msgprefix.html | 39 +- doc/resources/msgsep.html | 28 +- doc/resources/multipg.html | 24 +- doc/resources/news.html | 24 +- doc/resources/nextbutton.html | 42 +- doc/resources/nextbuttonia.html | 40 +- doc/resources/nextlink.html | 52 +- doc/resources/nextlinkia.html | 38 +- doc/resources/nextpglink.html | 32 +- doc/resources/nextpglinkia.html | 30 +- doc/resources/nosubjecttxt.html | 103 ++ doc/resources/note.html | 54 +- doc/resources/notedir.html | 44 +- doc/resources/noteia.html | 42 +- doc/resources/notetext.html | 40 +- doc/resources/otherindexes.html | 47 +- doc/resources/outdir.html | 26 +- doc/resources/perlinc.html | 32 +- doc/resources/posixstrftime.html | 36 +- doc/resources/prevbutton.html | 42 +- doc/resources/prevbuttonia.html | 40 +- doc/resources/prevlink.html | 52 +- doc/resources/prevlinkia.html | 36 +- doc/resources/prevpglink.html | 32 +- doc/resources/prevpglinkia.html | 30 +- doc/resources/quiet.html | 28 +- doc/resources/rcfile.html | 32 +- doc/resources/refsbegin.html | 53 +- doc/resources/refsend.html | 43 +- doc/resources/refslitxt.html | 49 +- doc/resources/reverse.html | 28 +- doc/resources/rmm.html | 30 +- doc/resources/saveresources.html | 36 +- doc/resources/scan.html | 28 +- doc/resources/single.html | 32 +- doc/resources/sort.html | 28 +- doc/resources/spammode.html | 72 +- doc/resources/ssmarkup.html | 50 +- doc/resources/stderr.html | 34 +- doc/resources/stdin.html | 34 +- doc/resources/stdout.html | 34 +- doc/resources/subjectarticlerxp.html | 43 +- doc/resources/subjectbegin.html | 46 +- doc/resources/subjectend.html | 34 +- doc/resources/subjectheader.html | 44 +- doc/resources/subjectreplyrxp.html | 41 +- doc/resources/subjectstripcode.html | 41 +- doc/resources/subjectthreads.html | 36 +- doc/resources/subsort.html | 28 +- doc/resources/tcontbegin.html | 51 +- doc/resources/tcontend.html | 43 +- doc/resources/textclipfunc.html | 95 + doc/resources/tfirstpglink.html | 186 ++ doc/resources/tfoot.html | 58 +- doc/resources/thead.html | 84 +- doc/resources/thread.html | 28 +- doc/resources/tidxfname.html | 30 +- doc/resources/tidxlabel.html | 34 +- doc/resources/tidxpgbegin.html | 58 +- doc/resources/tidxpgend.html | 34 +- doc/resources/tidxpgssmarkup.html | 109 ++ doc/resources/tidxprefix.html | 30 +- doc/resources/timezones.html | 30 +- doc/resources/tindentbegin.html | 47 +- doc/resources/tindentend.html | 43 +- doc/resources/title.html | 30 +- doc/resources/tlastpglink.html | 186 ++ doc/resources/tlevels.html | 34 +- doc/resources/tliend.html | 32 +- doc/resources/tlinone.html | 32 +- doc/resources/tlinoneend.html | 32 +- doc/resources/tlitxt.html | 42 +- doc/resources/tnextbutton.html | 42 +- doc/resources/tnextbuttonia.html | 40 +- doc/resources/tnextinbutton.html | 302 ++++ doc/resources/tnextinbuttonia.html | 289 +++ doc/resources/tnextinlink.html | 302 ++++ doc/resources/tnextinlinkia.html | 288 +++ doc/resources/tnextlink.html | 52 +- doc/resources/tnextlinkia.html | 36 +- doc/resources/tnextpglink.html | 32 +- doc/resources/tnextpglinkia.html | 30 +- doc/resources/tnexttopbutton.html | 294 ++++ doc/resources/tnexttopbuttonia.html | 288 +++ doc/resources/tnexttoplink.html | 294 ++++ doc/resources/tnexttoplinkia.html | 288 +++ doc/resources/toplinks.html | 56 +- doc/resources/tprevbutton.html | 42 +- doc/resources/tprevbuttonia.html | 38 +- doc/resources/tprevinbutton.html | 300 ++++ doc/resources/tprevinbuttonia.html | 289 +++ doc/resources/tprevinlink.html | 302 ++++ doc/resources/tprevinlinkia.html | 288 +++ doc/resources/tprevlink.html | 50 +- doc/resources/tprevlinkia.html | 38 +- doc/resources/tprevpglink.html | 32 +- doc/resources/tprevpglinkia.html | 30 +- doc/resources/tprevtopbutton.html | 296 ++++ doc/resources/tprevtopbuttonia.html | 288 +++ doc/resources/tprevtoplink.html | 297 ++++ doc/resources/tprevtoplinkia.html | 288 +++ doc/resources/treverse.html | 30 +- doc/resources/tsingletxt.html | 43 +- doc/resources/tslice.html | 118 +- doc/resources/tslicebeg.html | 83 +- doc/resources/tslicecontbeg.html | 309 ++++ doc/resources/tslicecontend.html | 308 ++++ doc/resources/tsliceend.html | 87 +- doc/resources/tsliceindentbeg.html | 308 ++++ doc/resources/tsliceindentend.html | 308 ++++ doc/resources/tslicelevels.html | 105 ++ doc/resources/tsliceliend.html | 308 ++++ doc/resources/tsliceliendcur.html | 307 ++++ doc/resources/tslicelinone.html | 308 ++++ doc/resources/tslicelinoneend.html | 308 ++++ doc/resources/tslicelitxt.html | 308 ++++ doc/resources/tslicelitxtcur.html | 309 ++++ doc/resources/tslicesingletxt.html | 308 ++++ doc/resources/tslicesingletxtcur.html | 309 ++++ doc/resources/tslicesubjectbeg.html | 308 ++++ doc/resources/tslicesubjectend.html | 308 ++++ doc/resources/tslicesublistbeg.html | 308 ++++ doc/resources/tslicesublistend.html | 308 ++++ doc/resources/tslicetopbeg.html | 308 ++++ doc/resources/tslicetopbegcur.html | 329 ++++ doc/resources/tslicetopend.html | 308 ++++ doc/resources/tslicetopendcur.html | 308 ++++ doc/resources/tsort.html | 41 +- doc/resources/tsubjectbeg.html | 33 +- doc/resources/tsubjectend.html | 31 +- doc/resources/tsublistbeg.html | 33 +- doc/resources/tsublistend.html | 33 +- doc/resources/tsubsort.html | 34 +- doc/resources/ttitle.html | 34 +- doc/resources/ttopbegin.html | 75 +- doc/resources/ttopend.html | 33 +- doc/resources/umask.html | 36 +- doc/resources/uselocaltime.html | 38 +- doc/resources/usinglastpg.html | 41 +- doc/resources/varregex.html | 55 +- doc/resources/weekdays.html | 37 +- doc/resources/weekdaysabr.html | 39 +- doc/stampwb2.gif | Bin 29570 -> 0 bytes doc/stampwb2.png | Bin 0 -> 21351 bytes doc/up.gif | Bin 8838 -> 0 bytes doc/up.png | Bin 0 -> 799 bytes doc/utils/mha-dbedit.html | 76 + doc/utils/mha-dbrecover.html | 104 ++ doc/utils/mha-decode.html | 107 ++ etc/rules.mk | 37 + etc/variables.mk | 61 + examples/blog.mrc | 157 ++ examples/date.mrc | 4 +- examples/def-mime.mrc | 44 +- examples/frames.mrc | 6 +- examples/icons.mrc | 109 +- examples/mha-preview | 266 +++ examples/mhasiteinit.pl | 174 +- examples/mhonarc.vim | 86 +- examples/subject.mrc | 13 +- examples/utf-8.mrc | 102 ++ extras/README | 24 - install.me | 41 +- lib/MHonArc/CharEnt.pm | 222 +++ lib/MHonArc/CharEnt/CP1250.pm | 178 ++ lib/MHonArc/CharEnt/CP1252.pm | 178 ++ lib/MHonArc/CharEnt/ISO8859_1.pm | 151 ++ lib/MHonArc/CharEnt/ISO8859_10.pm | 148 ++ lib/MHonArc/CharEnt/ISO8859_10R.pm | 144 ++ lib/MHonArc/CharEnt/ISO8859_15.pm | 152 ++ lib/MHonArc/CharEnt/ISO8859_15R.pm | 148 ++ lib/MHonArc/CharEnt/ISO8859_1R.pm | 148 ++ lib/MHonArc/CharEnt/ISO8859_2.pm | 149 ++ lib/MHonArc/CharEnt/ISO8859_3.pm | 155 ++ lib/MHonArc/CharEnt/ISO8859_3R.pm | 152 ++ lib/MHonArc/CharEnt/ISO8859_4.pm | 147 ++ lib/MHonArc/CharEnt/ISO8859_5.pm | 152 ++ lib/MHonArc/CharEnt/ISO8859_6.pm | 94 + lib/MHonArc/CharEnt/ISO8859_7.pm | 148 ++ lib/MHonArc/CharEnt/ISO8859_7R.pm | 145 ++ lib/MHonArc/CharEnt/ISO8859_8.pm | 104 ++ lib/MHonArc/CharEnt/ISO8859_8R.pm | 97 + lib/MHonArc/CharEnt/ISO8859_9.pm | 150 ++ lib/MHonArc/CharEnt/ISO8859_9R.pm | 147 ++ lib/MHonArc/CharEnt/Makefile | 15 + lib/MHonArc/Makefile | 20 + lib/MHonArc/UTF8.pm | 144 ++ lib/Makefile | 16 + lib/base64.pl | 31 +- lib/ewhutil.pl | 15 +- lib/iso2022jp.pl | 128 +- lib/iso8859.pl | 6 +- lib/mhamain.pl | 550 +++--- lib/mhdb.pl | 209 ++- lib/mhdysub.pl | 9 +- lib/mhexternal.pl | 94 +- lib/mhfile.pl | 44 +- lib/mhidxrc.pl | 193 +- lib/mhindex.pl | 131 +- lib/mhinit.pl | 418 +++-- lib/mhlock.pl | 6 +- lib/mhmimetypes.pl | 11 +- lib/mhmsgextbody.pl | 33 +- lib/mhmsgfile.pl | 12 +- lib/mhnote.pl | 6 +- lib/mhnull.pl | 12 +- lib/mhopt.pl | 146 +- lib/mhrcfile.pl | 658 ++++--- lib/mhrcvars.pl | 288 ++- lib/mhrmm.pl | 14 +- lib/mhscan.pl | 6 +- lib/mhsingle.pl | 24 +- lib/mhthread.pl | 210 ++- lib/mhtime.pl | 24 +- lib/mhtxtenrich.pl | 90 +- lib/mhtxthtml.pl | 178 +- lib/mhtxtplain.pl | 202 ++- lib/mhtxtsetext.pl | 8 +- lib/mhtxttsv.pl | 24 +- lib/mhusage.pl | 20 +- lib/mhutil.pl | 225 ++- lib/osinit.pl | 11 +- lib/qprint.pl | 6 +- lib/readmail.pl | 493 ++++-- lib/rfc822.pl | 2 +- logo/mhastampw_t.gif | Bin 29570 -> 0 bytes logo/mhastampw_t.png | Bin 0 -> 21351 bytes logo/mhatitle.gif | Bin 4634 -> 0 bytes logo/mhatitle.png | Bin 0 -> 4161 bytes logo/mhonarc.gif | Bin 6696 -> 0 bytes logo/mhonarc.png | Bin 0 -> 6742 bytes logo/mhonarc_t.gif | Bin 6773 -> 0 bytes logo/mhonarc_t.png | Bin 0 -> 6699 bytes logo/monicon.gif | Bin 452 -> 0 bytes logo/monicon.png | Bin 0 -> 493 bytes logo/monsmall.gif | Bin 7939 -> 0 bytes logo/monsmall.png | Bin 0 -> 6987 bytes logo/monsmall_t.gif | Bin 7750 -> 0 bytes logo/monsmall_t.png | Bin 0 -> 6797 bytes logo/monstamp.gif | Bin 8817 -> 0 bytes logo/monstamp.png | Bin 0 -> 7613 bytes logo/monstamp_t.gif | Bin 8825 -> 0 bytes logo/monstamp_t.png | Bin 0 -> 7639 bytes logo/pbmhonarc.gif | Bin 3382 -> 0 bytes logo/pbmhonarc.png | Bin 0 -> 2687 bytes man/mha-dbedit.1 | 263 ++- man/mha-dbrecover.1 | 281 ++- man/mha-decode.1 | 294 ++-- man/mhonarc.1 | 278 ++- mha-dbedit | 14 +- mha-dbrecover | 102 +- mha-decode | 44 +- mhonarc | 8 +- 445 files changed, 32023 insertions(+), 10424 deletions(-) delete mode 100644 VERSIONS delete mode 100644 admin/images/mhaicon.gif create mode 100644 admin/images/mhaicon.png delete mode 100644 admin/images/mhanote_s.gif create mode 100644 admin/images/mhanote_s.png create mode 100644 contrib/README rename {extras => contrib}/prsfrom.pl (100%) create mode 100644 dev.mk create mode 100644 doc/COPYING create mode 100644 doc/Makefile create mode 100644 doc/_helper/Makefile create mode 100755 doc/_helper/addbuglist.pl create mode 100755 doc/_helper/addbuttons.pl create mode 100755 doc/_helper/addctypetbl.pl create mode 100755 doc/_helper/addrcindex.pl create mode 100755 doc/_helper/addrcnav.pl create mode 100755 doc/_helper/addtoc-i.pl create mode 100755 doc/_helper/addtoc.pl create mode 100755 doc/_helper/addvartbls.pl create mode 100755 doc/_helper/addvimtags.pl create mode 100755 doc/_helper/dumpctypes.pl create mode 100755 doc/_helper/mkctypetbl.pl create mode 100755 doc/_helper/mkrestmpl.pl create mode 100755 doc/_helper/ppeg.pl create mode 100644 doc/_helper/rcvars.lst create mode 100644 doc/_helper/resource.lst create mode 100644 doc/app-api.html delete mode 100644 doc/blank.gif create mode 100644 doc/blank.png delete mode 100644 doc/bug.gif create mode 100644 doc/bug.png delete mode 100644 doc/faq.gif create mode 100644 doc/faq.png create mode 100644 doc/faq/Makefile create mode 100644 doc/faq/_helper/Makefile create mode 100644 doc/faq/_helper/addbuttons.pl create mode 100644 doc/faq/_helper/addtoc-i.pl create mode 100644 doc/faq/_helper/addtoc.pl delete mode 100644 doc/faq/monicon.gif create mode 100644 doc/faq/monicon.png delete mode 100644 doc/faq/monsmall_t.gif create mode 100644 doc/faq/monsmall_t.png create mode 100644 doc/faq/security.html delete mode 100644 doc/home.gif create mode 100644 doc/home.png delete mode 100644 doc/monicon.gif create mode 100644 doc/monicon.png delete mode 100644 doc/next.gif create mode 100644 doc/next.png delete mode 100644 doc/prev.gif create mode 100644 doc/prev.png create mode 100644 doc/rcfileexs/blog.mrc.html create mode 100644 doc/rcfileexs/utf-8.mrc.html create mode 100644 doc/relnotes.html create mode 100644 doc/resources/Makefile create mode 100644 doc/resources/firstpglink.html delete mode 100644 doc/resources/footer.html delete mode 100644 doc/resources/header.html create mode 100644 doc/resources/idxpgssmarkup.html create mode 100644 doc/resources/lastpglink.html create mode 100644 doc/resources/mimealtprefs.html create mode 100644 doc/resources/msgpgssmarkup.html create mode 100644 doc/resources/nosubjecttxt.html create mode 100644 doc/resources/textclipfunc.html create mode 100644 doc/resources/tfirstpglink.html create mode 100644 doc/resources/tidxpgssmarkup.html create mode 100644 doc/resources/tlastpglink.html create mode 100644 doc/resources/tnextinbutton.html create mode 100644 doc/resources/tnextinbuttonia.html create mode 100644 doc/resources/tnextinlink.html create mode 100644 doc/resources/tnextinlinkia.html create mode 100644 doc/resources/tnexttopbutton.html create mode 100644 doc/resources/tnexttopbuttonia.html create mode 100644 doc/resources/tnexttoplink.html create mode 100644 doc/resources/tnexttoplinkia.html create mode 100644 doc/resources/tprevinbutton.html create mode 100644 doc/resources/tprevinbuttonia.html create mode 100644 doc/resources/tprevinlink.html create mode 100644 doc/resources/tprevinlinkia.html create mode 100644 doc/resources/tprevtopbutton.html create mode 100644 doc/resources/tprevtopbuttonia.html create mode 100644 doc/resources/tprevtoplink.html create mode 100644 doc/resources/tprevtoplinkia.html create mode 100644 doc/resources/tslicecontbeg.html create mode 100644 doc/resources/tslicecontend.html create mode 100644 doc/resources/tsliceindentbeg.html create mode 100644 doc/resources/tsliceindentend.html create mode 100644 doc/resources/tslicelevels.html create mode 100644 doc/resources/tsliceliend.html create mode 100644 doc/resources/tsliceliendcur.html create mode 100644 doc/resources/tslicelinone.html create mode 100644 doc/resources/tslicelinoneend.html create mode 100644 doc/resources/tslicelitxt.html create mode 100644 doc/resources/tslicelitxtcur.html create mode 100644 doc/resources/tslicesingletxt.html create mode 100644 doc/resources/tslicesingletxtcur.html create mode 100644 doc/resources/tslicesubjectbeg.html create mode 100644 doc/resources/tslicesubjectend.html create mode 100644 doc/resources/tslicesublistbeg.html create mode 100644 doc/resources/tslicesublistend.html create mode 100644 doc/resources/tslicetopbeg.html create mode 100644 doc/resources/tslicetopbegcur.html create mode 100644 doc/resources/tslicetopend.html create mode 100644 doc/resources/tslicetopendcur.html delete mode 100644 doc/stampwb2.gif create mode 100644 doc/stampwb2.png delete mode 100644 doc/up.gif create mode 100644 doc/up.png create mode 100644 doc/utils/mha-dbedit.html create mode 100644 doc/utils/mha-dbrecover.html create mode 100644 doc/utils/mha-decode.html create mode 100644 etc/rules.mk create mode 100644 etc/variables.mk create mode 100644 examples/blog.mrc create mode 100755 examples/mha-preview create mode 100644 examples/utf-8.mrc delete mode 100644 extras/README create mode 100644 lib/MHonArc/CharEnt.pm create mode 100644 lib/MHonArc/CharEnt/CP1250.pm create mode 100644 lib/MHonArc/CharEnt/CP1252.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_1.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_10.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_10R.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_15.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_15R.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_1R.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_2.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_3.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_3R.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_4.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_5.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_6.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_7.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_7R.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_8.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_8R.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_9.pm create mode 100644 lib/MHonArc/CharEnt/ISO8859_9R.pm create mode 100644 lib/MHonArc/CharEnt/Makefile create mode 100644 lib/MHonArc/Makefile create mode 100644 lib/MHonArc/UTF8.pm create mode 100644 lib/Makefile delete mode 100644 logo/mhastampw_t.gif create mode 100644 logo/mhastampw_t.png delete mode 100644 logo/mhatitle.gif create mode 100644 logo/mhatitle.png delete mode 100644 logo/mhonarc.gif create mode 100644 logo/mhonarc.png delete mode 100644 logo/mhonarc_t.gif create mode 100644 logo/mhonarc_t.png delete mode 100644 logo/monicon.gif create mode 100644 logo/monicon.png delete mode 100644 logo/monsmall.gif create mode 100644 logo/monsmall.png delete mode 100644 logo/monsmall_t.gif create mode 100644 logo/monsmall_t.png delete mode 100644 logo/monstamp.gif create mode 100644 logo/monstamp.png delete mode 100644 logo/monstamp_t.gif create mode 100644 logo/monstamp_t.png delete mode 100644 logo/pbmhonarc.gif create mode 100644 logo/pbmhonarc.png diff --git a/ACKNOWLG b/ACKNOWLG index d173701..84dad98 100644 --- a/ACKNOWLG +++ b/ACKNOWLG @@ -1,54 +1,101 @@ -ACKNOWLEDGEMENTS for MHonArc ----------------------------- - + ACKNOWLEDGEMENTS for MHonArc + ---------------------------- + I would like to thank everyone who has given feedback on MHonArc. Sorry for not listing everyone, but it has become too hard to keep track of all the names. However, I'd like to give special thanks to the following: - A. P. Barrett - For developing a base64 library. The library has been adapted - to decode base64 messages by MHonArc. + [If you know of someone left out that deserves mentioning, + please send a message to mhonarc@mhonarc.org.] +--------------------------------------------------------------------------- + + A. P. Barrett + For developing a base64 library in pure Perl. The library + has been adapted to decode base64 messages by MHonArc. + + A.R. Burgers + For contributing the prsfrom.pl program (included in the + extras/ directory). - Susie Blackstock + Susie Blackstock For helping me with the documentation. Any problems with the documentation is purely my fault. And she's cute too. - Achim Bohnet + Achim Bohnet For his help in testing, and contributing to, mhonarc and for - setting up, and maintaining, the mhonarc mailing list. + setting up, and maintaining, the first mhonarc mailing list. + Even though list ownership has changed, he still maintains + a very useful archive of the list. - Roman Czyborra + Jeff Breidenbach + For his feedback and his usage of MHonArc at a scale that + it was really never designed for, + , to influence the development + MHonArc (which still has scalability problems :-) + + Roman Czyborra For his help with the MosaicMail script. - Timothy Finin + Brian Foster + For his useful, detailed, bug reports. + + Timothy Finin Whose initial feedback on mbox2html (my first mail->HTML program) caused the ball rolling on developing a more complete mail-to-HTML program. - Stephen Franlin - For providing the machine facilities for housing the MHonArc - home page. + Stephen Franklin + For providing the machine facilities for housing the first + MHonArc home page: + . Location + still functions a primary mirror/backup for MHonArc. - Ken Harward + Ken Harward For helping me tackle Perl problems and for bouncing ideas off. - Phyllis Imperatrice + Phyllis Imperatrice For the initial sketch of the MHonArc logo. - Steve Pacenka + Eddie Kohler + Provided useful set of patches and ideas to spark + improvements in index ordering, thread slice formatting, and + other features. + + Christoper Lindsey + For providing hosting services for mhonarc.org and for + taking over administration responsibilities of the mhonarc + mailing list. + + Frank J. Manion + For his contributions in improving date parsing. + + Steve Pacenka For his great help in getting MHonArc to run under MS-DOS, and for his help in trouble-shooting. - Achille Petrilli + Achille Petrilli For his initial patches for MacPerl support to get the ball rolling for MacPerl usage. - NIIBE Yutaka + John C. Ring, Jr. + For tipping me off on how can be used by spammers, + which lead me to update mhtxthtml.pl to address this abuse. + + Olivier Salaün + For providing test case that consistantly caused perl + to crash when MHonArc processes HTML messages. Crash due + to regex engine bug exposed by the HTML comment declaration + stripping expression. This problem could be culprit + to mysterious stale archive locks reported by some users + in the past. Code changed to avoid bug. + + NIIBE Yutaka For the contribution of a text/plain filter to process ISO-2022 encoded mail messages (ie. Japanese character set). --------------------------------------------------------------------------- -Earl Hood, mhonarc@pobox.com +$Date: 2001/11/23 21:08:29 $ +Earl Hood, mhonarc@mhonarc.org diff --git a/BUGS b/BUGS index 14411a5..9582fce 100644 --- a/BUGS +++ b/BUGS @@ -1,764 +1,58 @@ -Bug History for MHonArc -======================= - -@(#) BUGS 01/06/10 18:10:37 +[Prev] [TOC][FAQ][Bugs][Home] [Next] -Each bug listing has the following fields: +--------------------------------------------------------------------------- - Version: Lists the version of MHonArc that the bug was - reported against. It is possible a bug could - be applicable to earlier versions. Version listed - is when the bug was discovered. - Problem: A description of the bug. - Solution: A description of what was done to fix the bug. - Version Fixed: The version that the solution exists in, if - applicable. +Appendix: Bugs + + * Reporting Bugs + * Open Bugs + * Fixed Bugs + +--------------------------------------------------------------------------- + +Reporting Bugs + +Before reporting a bug, please do the following: + + * Make sure it is not a usage problem: check the documentation and FAQ. + * Check that you are running the latest version of MHonArc. If not, it is + likely the problem has been fixed in a newer version. + * If you are not sure if the problem is a bug or not, send a message to + the mailing list to get confirmation. + +The prefered way to report bugs is to use the bug submission form for +MHonArc located at . Please +check and search the existing bugs to verify that the bug has not already +been reported. + +If the potential bug you have discovered has not been reported, select the +Submit Bug link to get the bug submission form. Hopefully, the form fields +are self-explanatory, but if you are not sure what to select in some of the +option items, leave it with the default value or make a best guess. + +--------------------------------------------------------------------------- + +Open Bugs + +Goto , select "Open" for the +Status choice, and then activate the Go or Browse button to list all open +bugs. + +--------------------------------------------------------------------------- + +Fixed Bugs + +Goto , select "Closed" for the +Status choice, and then activate the Go or Browse button to list all closed +/fixed bugs. + +--------------------------------------------------------------------------- + +[Prev] [TOC][FAQ][Bugs][Home] [Next] + +--------------------------------------------------------------------------- + +$Date: 2002/05/14 01:53:35 $ +[monicon] MHonArc +Copyright © 1997-2002, Earl Hood, mhonarc@mhonarc.org -Bug List ------------------------------------------------------------------------- -Version: 2.4.8, and earlier -Problem: Default CHARSETCONVERTERS values for latin[1-6] charsets - causing require error. -Solution: This was supposedly fixed in 2.4.8 in mhinit.pl, but - apparently was not. The def-mime.mrc file in the - example directory did have the correct mappings. -Version Fixed: 2.4.9 ------------------------------------------------------------------------- -Version: 2.4.8 -Problem: MHonArc aborts with Perl syntax errors if mhnull.pl - filter is loaded. -Solution: Dump typo errors that should have been caught before - release. Syntax errors fixed in mhnull.pl. -Version Fixed: 2.4.9 ------------------------------------------------------------------------- -Version: 2.4.7, and earlier -Problem: Message with HTML content can cause perl to crash. - Other symptom would be that a stale .mhonarc.lck - directory would exist preventing further archive - updates. -Solution: There appears to be a bug in perl's regex engine. - The fix was to change mhtxthtml.pl comment declaration - removal expression into a simplier one that just - munges (removes parts) to avoid crashes. -Version Fixed: 2.4.8 ------------------------------------------------------------------------- -Version: 2.4.7, and earlier -Problem: Prefixing second argument to $PGLINKLIST()$ with - a 'T' cause no thread page links to be rendered after - current thread index page. -Solution: Fixed in mhrcvars.pl: Make sure to strip 'T' from - both arguments before evaluating numeric values. -Version Fixed: 2.4.8 ------------------------------------------------------------------------- -Version: 2.4.7, and earlier -Problem: Default CHARSETCONVERTERS values for latin[1-6] charsets - causing require error. -Solution: Fixed in mhinit.pl (typo in library filename). -Version Fixed: 2.4.8 ------------------------------------------------------------------------- -Version: 2.4.6, and earlier -Problem: ADDRESSMODIFYCODE not stored in database. -Solution: Fixed in mhdb.pl (a dumb typo) -Version Fixed: 2.4.7 ------------------------------------------------------------------------- -Version: 2.4.6, and earlier -Problem: TPARENT message specifier for applicable resource - variables will cause a resource variable to expand - to the empty string if there is no parent message - to the current message. -Solution: If there is no parent message, TPARENT resolves to - to the current message. -Version Fixed: 2.4.7 ------------------------------------------------------------------------- -Version: 2.4.5, maybe earlier -Problem: Using message-ids with -rmm does not remove messages. -Solution: Fixed in mhrmm.pl -Version Fixed: 2.4.6 ------------------------------------------------------------------------- -Version: 2.4.5 -Problem: Japanese text messages not wrapped in PRE element. -Solution: Fixed in mhtxtplain.pl -Version Fixed: 2.4.6 ------------------------------------------------------------------------- -Version: 2.4.4 -Problem: $PGLINKLIST$ for threads did not work. -Solution: Fixed in mhrcvars.pl. -Version Fixed: 2.4.5 ------------------------------------------------------------------------- -Version: 2.4.4, and earlier -Problem: -afs had no effect. -Solution: Fixed in mhopt.pl: Option was not checked. -Version Fixed: 2.4.5 ------------------------------------------------------------------------- -Version: 2.4.4, and earlier -Problem: %y print 3 digits in time format strings if year 2000 - or later. -Solution: Fixed in mhtime.pl -Version Fixed: 2.4.5 ------------------------------------------------------------------------- -Version: 2.4.0-4 -Problem:
 tags are printed when decoding ISO-2022-JP
-		encoded header text.
-Solution:	Fixed in iso2022jp.pl
-Version Fixed:	2.4.5
-------------------------------------------------------------------------
-Version:	2.4.3, and earlier
-Problem:   	Text/html filter died with a "Modification of
-		non-creatable array" error when a relative URL
-		exists in body data, but no base URL defined for
-		the html data.
-Solution:	Fixed in mhtxthtml.pl
-Version Fixed:	2.4.4
-------------------------------------------------------------------------
-Version:	2.4.0 - 2.4.3
-Problem:   	Error "Can't modify keys in scalar assignment" occurs
-		when using older version of Perl 5.
-Solution:	Later Perl 5 releases support keys operator as an
-		lvalue to preallocate a hash.  Assignment put in
-		an eval block to avoid program termination.
-Version Fixed:	2.4.4
-------------------------------------------------------------------------
-Version:	2.3.0 - 2.4.3
-Problem:   	Setting IDXSIZE < MAXSIZE for a single page index
-		causes the generation of incorrect list entries and
-		null list entries.
-Solution:	Fixed in mhindex.pl
-Version Fixed:	2.4.4
-------------------------------------------------------------------------
-Version:	2.4.3, and earlier
-Problem:   	Using entity references within MONTHS, WEEKDAYS, et al,
-		not supported and caused names to be incorrect.
-Solution:	The semi-colon, ';', was treated as an undocumented
-		list separator in resource files.  "Feature" removed.
-Version Fixed:	2.4.4
-------------------------------------------------------------------------
-Version:	2.4.2
-Problem:   	$*GMTDATE$ and $*LOCALDATE$ expand to the empty string
-		if using default time format string settings.
-Solution:	Fixed in mhtime.pl
-Version Fixed:	2.4.3
-------------------------------------------------------------------------
-Version:	2.4.2, and earlier
-Problem:   	Multipart processing is done inproperly if nested
-		multiparts exist and "outer" multipart entity has a
-		boundary which is a substring prefix of an "inner"
-		multipart entity.
-Solution:	Fixed in readmail.pl
-Version Fixed:	2.4.3
-------------------------------------------------------------------------
-Version:	2.4.2, and earlier
-Problem:   	Cid URL in multipart/related is not resolved if message
-		part being referenced is at a higher "level" (due to
-		nested multiparts) than the referrer.
-Solution:	Fixed in readmail.pl
-Version Fixed:	2.4.3
-------------------------------------------------------------------------
-Version:	2.4.2, and earlier
-Problem:   	-tnosort and -tnosubsort should be -notsort and
-		-notsubsort.  Also, bogus -tnoreverse and -notgziplinks
-		options listed in -help message.
-Solution:	Fixed.
-Version Fixed:	2.4.3
-------------------------------------------------------------------------
-Version:	2.4.2, and earlier
-Problem:   	Charset parameter value not properly extracted when
-		no space after value and next parameter
-		(Example: charset=us-ascii;name="file.txt").
-Solution:	Fixed in mhtxtplain.pl
-Version Fixed:	2.4.3
-------------------------------------------------------------------------
-Version:	2.4.1, and earlier
-Problem:   	M2H_URL envariable does not properly affect the URL
-		resource.  M2H_SORT does affect it.
-Solution:	Fixed (typo).
-Version Fixed:	2.4.2
-------------------------------------------------------------------------
-Version:	2.4.1, and earlier
-Problem:   	%c does not work in time format resources.
-Solution:	Fixed.
-Version Fixed:	2.4.2
-------------------------------------------------------------------------
-Version:	2.4.1
-Problem:   	When invoking mha-dbrecover, Perl errors occur for
-		mhmsgfile.pl.
-Solution:	Fixed.
-Version Fixed:	2.4.2
-------------------------------------------------------------------------
-Version:	2.4.0, and earlier
-Problem:   	DOC resource setting not stored in database.
-Solution:	Fixed.
-Version Fixed:	2.4.1
-------------------------------------------------------------------------
-Version:	2.4.0
-Problem:   	Default filehandle changed to STDERR after call to
-		get_resources().  Can cause problems for Perl apps
-		calling MHonArc via API.
-Solution:	Fixed.
-Version Fixed:	2.4.1
-------------------------------------------------------------------------
-Version:	2.4.0
-Problem:   	MHonArc under BSD OS would go into Win/MS-DOS mode.
-Solution:	Make check for "dos" platform stricter in osinit.pl.
-Version Fixed:	2.4.1
-------------------------------------------------------------------------
-Version:	2.3.3
-Problem:   	Duplicate message-ids in a message's reference list
-		were not removed.
-Solution:	Array changed to my() scope caused remove_dups()
-		to not do anything (it takes a typeglob).  Array
-		changed back to local().
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.0-3
-Problem:   	TFIRST, TLAST, and PARENT arguments to resource
-		variables always produced null values.
-Solution:	Fixed.  Note, PARENT is now TPARENT to be consistent
-		with other thread-related arguments.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.0-3
-Problem:   	SUBJECTHEADER resource not printed when -savemem is
-		used.
-Solution:	Problem is due to the new resource variable handling
-		in 2.3.  The solution is to support the editing of
-		SUBJECTHEADER (and HEADBODYSEP) in existing message
-		pages.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.3, and earlier versions
-Problem:   	Multipart processing not done properly if boundary
-		parameter not enclosed in quotes and is terminated
-		by a semi-colon.
-Solution:	Fixed in readmail.pl.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.3, and earlier versions
-Problem:   	%h not recognized in time format strings.
-Solution:	Fixed.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.3
-Problem:   	Use of $ICON$ will generate defective tag like
-		`ALT="[text/plain]">'.
-Solution:	Fixed typo in join() call in mhrcvars.pl.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.3, and earlier versions
-Problem:   	Some messages with specified inline images are not
-		having images inlined.
-Solution:	Content-Disposition parsing fixed.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.3, and earlier versions
-Problem:   	Clip length not handled properly in resource variables.
-		Ie.  Characters that are translated into entity
-		references are not handled properly when computing clip
-		adjustment.  Incorrect clipping can occur.
-Solution:	Fixed.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.3, and some possible earlier versions
-Problem:   	MHonArc checking for writable OUTDIR in SINGLE mode.
-Solution:	Fixed.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.3, and earlier
-Problem:   	Default resource file not read if located in MHonArc
-		lib directory.
-Solution:	Fixed improper assumption of @INC setting.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.3, and earlier
-Problem:   	TLIEND not generated at proper times when thread level
-		goes beyond TLEVELS.
-Solution:	A check is made in thread index printing to generate a
-		TLIEND properly for TLITXT when deeper than TLEVELS.
-Version Fixed:	2.4.0
-------------------------------------------------------------------------
-Version:	2.3.0-2.3.2
-Problem:   	-otherindex and -perlinc command-line options do not
-		work.  Using them has no affect.
-Solution:	Subtle precedence issue in Perl variable operations;
-		problem fixed.
-Version Fixed:	2.3.3
-------------------------------------------------------------------------
-Version:	2.3.0-2.3.2
-Problem:   	Resource variable expansion not working properly in
-		MAILTOURL resource.
-Solution:	Certain variables in read_mail_header() where put in
-		my() declarations when they should stay as local()'s.
-		Changed back.
-Version Fixed:	2.3.3
-------------------------------------------------------------------------
-Version:	2.3.0-2.3.2
-Problem:   	Next/previous message link resource variables are
-		reversed when REVERSE is on.
-Solution:	REVERSE check was left out in new v2.3 replace_li_var().
-		Check added in.
-Version Fixed:	2.3.3
-------------------------------------------------------------------------
-Version:	2.3.0, 2.3.1
-Problem:   	Some resource variables (eg $SUBJECTNA$) expand to
-		blank values when using -single.
-Solution:	SINGLE mode sets @MListOrder and %Index2MLoc to support
-		the new way in v2.3 replace_li_var() resolves resource
-		variables.
-Version Fixed:	2.3.2
-------------------------------------------------------------------------
-Version:	2.3.1 (maybe earlier versions also)
-Problem:   	MHonArc does not handle message range specification
-		with leading zeros in numbers in -rmm mode.
-Solution:	int() is used within Perl's range operator to force
-		the stripping of leading zeros.
-Version Fixed:	2.3.2
-------------------------------------------------------------------------
-Version:	2.3.0
-Problem:   	Attachments of the same type get written to the same
-		filename.
-Solution:	Another my/local gotcha.  Note, writing attachments
-		has been redone so other filters besided mhexternal.pl
-		can write data to files.
-Version Fixed:	2.3.1
-------------------------------------------------------------------------
-Version:	2.0.0 - 2.2.0
-Problem:   	A bogus TCONTBEGIN may get printed at the beginning
-		of a thread index page.  Most common when TREVERSE
-		specified.
-Solution:	@TListOrder now serves as the basis for list iteration
-		when printing a thread index page instead of the list
-		returned by t_sort_messages().  Note, old method may
-		cause other minor errors in thread index page
-		generation.
-Version Fixed:	2.3.0
-------------------------------------------------------------------------
-Version:	2.2.0, 2.3.0 beta
-Problem:   	Duplicate index list entries are generating for threads
-		indexes generated via OTHERINDEXES with TREVERSE active.
-Solution:	All key data structures are now reset when recomputing
-		threads.
-Version Fixed:	2.3.0
-------------------------------------------------------------------------
-Version:	2.2.0, 2.3.0 beta
-Problem:   	Threads are not listed in reverse order when THREAD
-		and TREVERSE are set for an OTHERINDEXES resource file.
-Solution:	Thread data structures are now reset before each
-		OTHERINDEXES index.  If an OTHERINDEXES resource file
-		specified THREAD, than threads will be recomputed
-		for the given index defined by resource file.
-Version Fixed:	2.3.0
-------------------------------------------------------------------------
-Version:	2.3.0 beta
-Problem:   	Mail addresses in message headers are not getting
-		converted to mailto links.
-Solution:	MHonArc still uses typeglobs for passing data around
-		by "reference" (left-over from Perl 4 days).  One
-		of the variables in the message header formatting
-		routine was changed back to a local() variable to
-		supporting passing it via a typeglob sub-routines.
-Version Fixed:	2.3.0
-------------------------------------------------------------------------
-Version:	2.3.0 beta
-Problem:   	Cannot copy file error occurs during installation when
-		copy documentation to destination location.
-Solution:	Updated install.cfg to reflect file changes to
-		documentation.
-Version Fixed:	2.3.0
-------------------------------------------------------------------------
-Version:	2.3.0 beta
-Problem:   	Author index generated via the OTHERINDEXES resource
-		does not list messages in proper order.  Other main
-		indexes generated via OTHERINDEXES may suffer the
-		same problem.
-Solution:	The write_main_index() did not reset %Index2MLoc
-		properly, affecting resource variable resolution.  If
-		@MListOrder is recomputed, %Index2MLoc will be
-		redefined.
-Version Fixed:	2.3.0
-------------------------------------------------------------------------
-Version:	2.3.0 beta
-Problem:   	PG(PREV) and PG(TPREV) did not resolve to IDXFNAME and
-		TIDXFNAME, respectively.  They resolved to (T)IDXPREFIX
-		with the page number 1.
-Solution:	Simple fix to page number check.
-Version Fixed:	2.3.0
-------------------------------------------------------------------------
-Version:	2.2.0, 2.3.0 beta
-Problem:   	Messages grouped under wrong date in date-based index.
-Solution:       The problem is related to a descrepency of GMT time
-		and local time, and what time format is being used
-		in the DAYBEGIN resource.  The resource USINGLOCALTIME
-		has been added to give the choice betweem GMT or
-		local time for determining day groups.
-Version Fixed:	2.3.0
-------------------------------------------------------------------------
-Version:	2.2.0
-Problem:   	Get "times not implemented at mhamain.pl line 74" error
-		on Win32 systems.
-Solution:	Call to times is put in an eval block.
-Version Fixed:	2.3.0 alpha
-------------------------------------------------------------------------
-Version:	2.2.0
-Problem:   	When a message that gets automatically deleted via
-		MAXSIZE or the message expiration, related message
-		sometimes do not get update -- causing messages to
-		have links to non-existent messages.  Problem manifiest
-		when main sort option is not by date.
-Solution:	Automatic message deletion now properly marks related
-		message by specified main sort option.
-Version Fixed:	2.3.0 alpha
-------------------------------------------------------------------------
-Version:	2.1.2
-Problem:   	The @TListOrder array is empty in .mhonarc.db when
-		MULTIPG is set.  This may cause some messages not
-		getting properly updated when new messages are added.
-Solution:	Removed use of splice on @TListOrder when MULTIPG.
-		Now, array slices are used so @TListOrder is preserved.
-Version Fixed:	2.2.0
-------------------------------------------------------------------------
-Version:	2.1.2
-Problem:   	Convert ISO-2022-JP messages can generate "Out of
-		Memory" errors.
-Solution:	The cleanup of mhtxtplain.pl's iso-2022-jp code
-		introduced a bug that caused an infinite loop and
-		to gobble memory until it ran out.  The fix was
-		straight-forward.
-Version Fixed:	2.2.0
-------------------------------------------------------------------------
-Version:	2.1.2
-Problem:   	Quoted text that is broken due to maxwidth setting of
-		the mhtxtplain.pl filter did not have the quote
-		character prepended to broken the text.
-Solution:	A regex updated to dealing with a leading space before
-		quote character.
-Version Fixed:	2.2.0
-------------------------------------------------------------------------
-Version:	2.1.1
-Problem:   	Documentation of MAILTOURL incorrectly states that
-		the $TO$ resource variable is the value of the
-		To: message header field.
-Solution:	Fixed documentation to state that $TO$ represents the
-		address being hyperlinked.
-Version Fixed:	2.1.2
-------------------------------------------------------------------------
-Version:	2.1.1
-Problem:   	Attachments saved to files with spaces in filename
-		(due to "usename" option set to m2h_external::filter),
-		will cause anchors to the attachments in the HTML
-		message contain spaces.
-Solution:	Fixed m2h_external::filter to escape special characters
-		in the URL linking to the external file.
-Version Fixed:	2.1.2
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	Message with dates after 2037, or before 1970, will hang
-		MHonArc, not get processed, or listed in wrong order.
-Solution:	The problem is that Perl's timelocal.pl library cannot
-		handle dates out of those ranges (same applies to
-		Time::Local).  Since get_time_from_date() is the only
-		routine require the services of timelocal.pl, the
-		routine will generate a warning of bad years and use
-		the current year.
-Version Fixed:	2.1.1 (Work-around)
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	Anchors to attachments in a message converted via
-		SINGLE do not contain OUTDIR if OUTDIR is specified.
-		OUTDIR may want to be set to all attachments to be
-		contained in a separate directory from the converted
-		message.
-Solution:	mhexternal.pl now checks $SINGLE variable set by the
-		main code during startup.  If set, the value of
-		$OUTDIR is prepending to any hrefs to external files.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	February is misspelled "Febuary" in mhtime.pl.
-Solution:	Change the spelling so its correct.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	Lowercase timezones in dates are not recognized.
-Solution:	Code modified to convert zones to uppercase when
-		performing hash lookups.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	Specified filenames of attachments sometimes have a
-		';' appended when utilizing the "usename" option is
-		set for mhexternal.pl.
-Solution:	Fixed MAILhead_get_disposition() in readmail.pl to
-		strip off ';' parameter separator.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	Specified filenames with spaces of attachments are not
-		recognized properly.  Filename gets truncated to first
-		occurance of a space.
-Solution:	Fixed MAILhead_get_disposition() in readmail.pl to
-		to handle filenames with spaces.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	The HTMLEXT resource does not affect the numbered index
-		page filenames of a MUTLIPG archive.
-Solution:	write_main_index() and write_thread_index() fixed.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	Anchor text of MAILTOURL links is translated to URL
-		escaped text.
-Solution:	mailUrl() routine fixed.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	Message 0 could not be deleted if specified with more
-		than one 0 (eg: 00000);
-Solution:	rmm() routine fixed.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	SUBJECTHEADER does not get stored in the db.
-Solution:	output_db() routine updated to save SUBJECTHEADER.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	Empty links can be created if there is no "From" defined
-		for a message and it is used as link text.
-Solution:	Use 'No Author' as "From" if not defined.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:	If a user defined resource variable is a string that
-		Perl interprets as a false value, it will not be used.
-Solution:	Changed code to used define() function in
-		replace_li_vars().
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.1.0
-Problem:   	Expired messages are not removed when a the main index
-		is not sorted by date.
-Solution:	Always sort message by date when doing expire check.
-Version Fixed:	2.1.1
-------------------------------------------------------------------------
-Version:	2.0.1
-Problem:   	An undefined subroutine error occured during an
-		RMM operation when there are messages with non-ASCII
-		encodings in message headers.
-Solution:  	Proper libraries are now loaded for RMM operations.
-Version Fixed:	2.1.0
-------------------------------------------------------------------------
-Version:	2.0.1
-Problem:   	Subjects using the "... -Reply" convention started
-		a new thread.
-Solution:  	Fixed typo in regexp.
-Version Fixed:	2.1.0
-------------------------------------------------------------------------
-Version:	2.0.1
-Problem:   	Nested anchor markup occurs on index pages when
-		a message's subject contains a URL and the subject
-		is used to link to the message page.
-Solution:  	Replaced default routine that converts subject text
-		to HTML to a routine that does not hyperlink URLs.
-Version Fixed:	2.1.0
-------------------------------------------------------------------------
-Version:	2.0.0
-Problem:   	Bogus empty entry shows up in the database.  Bogus
-		entry appears if a duplicate message is detected.
-		Potential visible problems of bogus entry are: mailto
-		links in headers corrupted; a blank listing in the
-		index.  Maybe other potential problems.
-Solution:  	There is a bug in some versions of Perl where a
-		hash key gets added invalidly.  The section of code that
-		this occurs has been modified to avoid the problem.
-		For existing databases with a bogus empty entry,
-		MHonArc now removes any empty key entries.
-		However, it is recommed to rebuild the archive.
-Version Fixed:	2.0.1
-------------------------------------------------------------------------
-Version:	2.0.0
-Problem:   	Index pages are not properly updated if zero messages
-		are in the archive (like through the -rmm option).
-		Even -editidx cannot cause a proper update.
-Solution:  	Page count was set to zero when no messages exist.  This
-		caused problems in conditional checks in the write index
-		routines.  To fix, page count is forced to 1 if their
-		are no messages.
-Version Fixed:	2.0.1
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:   	Index pages with last page links are not updated
-		when a new page is added.
-Solution:  	All index pages are regenerated if a new page
-		is added.
-Version Fixed:	2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:   	"-idxsize 0" does not give unlimited page size.
-Solution:  	Problem fixed and now works as documented.
-Version Fixed:	2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:   	"-maxsize 0" does not reset archive with
-		unlimited messages allowed.
-Solution:  	Problem fixed and now works as documented.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:   	Non-ASCII text encodings (=?ISO-..?...) are not
-		properly decoded when EDITIDX is set.
-Solution:  	The charset filter libraries are now loaded
-		for EDITIDX.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:   	MODTIME resource setting not remembered across
-		archive updates.
-Solution:  	MODTIME resource is now properly stored in the
-		database.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:   	Specifying -rmm and -single caused confusion on
-		what MHonArc does.
-Solution:  	The case is properly handled, with -rmm taking
-		precedence.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:	4 digit year not checked before 2 digit year
-		when parsing dates.
-Solution:	Fixed.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:	Some index pages in multipage indexes not
-		updated when messages expire.
-Solution:	Fixed; all pages are regenerated when a message
-		expires.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:	Setting MONTHS and MONTHSABR had no effect.
-Solution:	Fixed.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:	$TNEXTFROM$ actually gave the value of $NEXTFROM$.
-Solution:	Fixed.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:	Numerical timezone offsets not handled properly
-		when the offset contained non-zero minutes.  This
-		caused message to be sorted wrong by date.
-Solution:	Fixed.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:	Some characters were not properly escaped when
-		specifying the "in URL" modifier to a resource
-		variable.
-Solution:	Fixed.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:	Thread (formatting) information lost when a
-		thread is split across multiple pages.
-Solution:	Fixed.  New resources (TCONTBEGIN, TCONTEND,
-		TINDENTBEGIN, TINDENTEND) exist to preserve
-		formatting of threads across pages.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 3
-Problem:	If specifying the REVERSE resource, the next/prev
-		links in messages do not point to the proper
-		message as one may expect.
-Solution:	This should be fixed by the new behavior of
-		$NEXT...$ and $PREV...$ resource variables.
-Version Fixed:  2.0.0
-------------------------------------------------------------------------
-Version:	2.0.0 beta 2
-Problem:	Perl aborts with message "Undefined subroutine
-		&main::output_db called ..." when the GENIDX resource
-		is set.
-Solution:	Fixed.  The output_db function is not applicable when
-		GENIDX is active.
-Version Fixed:  2.0.0 beta 3
-------------------------------------------------------------------------
-Version:	2.0.0 beta 2
-Problem:	Duplicate resource filenames are not removed from the
-		OTHERINDEXES resource.  This caused duplicate work
-		to be performed.
-Solution:	Fixed.  Any duplicate filenames are removed before
-		applying the OTHERINDEXES resource.
-Version Fixed:	2.0.0 beta 3
-------------------------------------------------------------------------
-Version:	2.0.0 beta 2
-Problem:	Indexes created via the OTHERINDEXES resource contain
-		no messages.
-Solution:	Fixed.
-Version Fixed:	2.0.0 beta 3
-------------------------------------------------------------------------
-Version:	2.0.0 beta 2
-Problem:	The markup defined by TSUBLISTEND may appear when there
-		is no corresponding TSUBLISTBEG.
-Solution:	Fixed.
-Version Fixed:	2.0.0 beta 3
-------------------------------------------------------------------------
-Version:	2.0.0 beta 1
-Problem:	A multipart boundary specified with a capital boundary
-		parameter, and not in quotes, was not recognized.
-Solution:	Fixed
-Version Fixed:	2.0.0 beta 2
-------------------------------------------------------------------------
-Version:	1.2.3
-Problem:	Generation of links of message-ids when editting
-		messages w/o consideration that the message-ids
-		may already be linked.  This caused nested anchor
-		markup.
-Solution:	Fixed.  Only new message-ids are checked for.
-Version Fixed:	2.0.0 beta 1
-------------------------------------------------------------------------
-Version:	1.2.2
-Problem:	The ';' character may appear in derived files if the
-		"usename" option is set for the mhexternal.pl filter.
-Solution:	Fixed.
-Version Fixed:	1.2.3
-------------------------------------------------------------------------
-Version:	1.2.2
-Problem:	The '/' character is not properly recognized in e-mail
-		addresses when e-mail addressess are being converted
-		to mailto links in message headers.
-Solution:	Fixed.
-Version Fixed:	1.2.3
-------------------------------------------------------------------------
-Version:	1.2.2
-Problem:	Database read failures occur in add operations on
-		MS-DOS systems.
-Solution:	Fixed (?)
-Version Fixed:	1.2.3
-------------------------------------------------------------------------
-Version:	1.2.1
-Problem:	The TIDXPGEND resource actually sets the value of the
-		TIDXPGBEG resource.
-Solution:	Fixed.
-Version Fixed:	1.2.2
-------------------------------------------------------------------------
-Version:	1.2.0
-Problem:	MHonArc will abort execution under MS-DOS due to
-		regular expression error.
-Solution:	Fixed.
-Version Fixed:	1.2.1
-------------------------------------------------------------------------
-Version:	1.2.0
-Problem:	install.me will abort execution under MS-DOS due to
-		regular expression error.
-Solution:	Fixed.
-Version Fixed:	1.2.1
-------------------------------------------------------------------------
-Version:	1.2.0
-Problem:	A reverse index listing is incorrect if the index size
-		is less than the archive size.
-Solution:	Fixed.
-Version Fixed:	1.2.1
-------------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index ce601d6..92ce6a2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,16 +1,685 @@
-		     Change History for MHonArc
-		     ==========================
-		     
+		       Change History for MHonArc
+		       ==========================
+		       
+ ---------------------------------------------------------------------------
+|   PLEASE READ RELNOTES FOR CHANGES THAT CAN HAVE COMPATIBILITY IMPACTS    |
+|           FOR ARCHIVES CREATED FROM PAST RELEASES OF MHONARC.             |
+ ---------------------------------------------------------------------------
+
+    Some change notes are brief; consult the documentation for further
+    information/clarification.  It is possible that some changes to
+    MHonArc are not documented here, but every effort is made to list
+    all changes that will be visible to users of MHonArc.
+
+YYYY/MM/DD
+============================================================================
+2002/07/28	(2.5.10)
+
+* Bug Fixes: See
+    
+
+* Added TEXTCLIPFUNC resource: Defines the text clipping function
+  that should be used by MHonArc.  This function is mainly used
+  in resource variable expansion where clipping has been specified,
+  for example, "$SUBJECT:72$".
+
+* Added clip() function in MHonArc::UTF8 that can be registed via
+  TEXTCLIPFUNC resource to handling clipping of UTF-8 text.
+
+* Example utf-8.mrc updated to include some corrections and to
+  define TEXTCLIPFUNC resource.
+
+* Improved navigation links to resource reference pages which should
+  help their usability.
+
+============================================================================
+2002/07/19	(2.5.9)
+
+* Bug Fixes: See
+    
+
+* Added MHonArc::UTF8 CHARSETCONVERTER module as recommended at
+  .
+  However, module redone to use utf8 pragma in Perl where appropriate
+  and to remove unnecessary code.  Use of module does require that
+  the Unicode::MapUTF8 module is installed and the utf8 pragma is
+  supported in the version of Perl you are using.
+
+  A example resource file, "utf-8.mrc", has been added to the
+  resource file example appendix section on how UTF-8 output can
+  be done in MHonArc.
+
+  NOTE: The MHonArc core is still not UTF-8-aware, so some text
+	processing may not work as expected on UTF-8 data.
+	Possible problem points:
+
+	. Auto-URL hyperlinking in text/plain messages in
+	  mhtxtplain.pl.
+	. Auto-message-id detection in messages.
+	. Resource variable text clipping.
+
+	There may be others, but in general, if there is a problem,
+	it should be uncommon and should not affect the overall
+	functionality of MHonArc.  Problems can be avoided by
+	not using, or disabling, various resources.
+
+* mhtxtplain.pl:
+  . Removed exception case of iso-2022-jp character data since it
+    does not allow alternative iso-2022-jp character set conversion
+    functions via CHARSETCONVERTERS.
+
+    NOTE: This does eliminate the smart handling of URL detection
+	  for the variable-width character set.  Hence, the URL
+	  detection could technically match non-URLs, or munge
+	  a character at URL boundaries, but it is unknown on how
+	  likely this is.  If it is a problem, the "nourl" argument
+	  should be specified to this filter.
+
+    NOTE: The old-style "smart" URL functionality can be re-enabled by
+	  writing a custom CHARSETCONVERTER for iso-2022-jp that
+	  just calls iso_2022_jp::jp2022_to_html in iso2022jp.pl.
+
+  . Minor modification to flowed text/plain formatting that hopefully
+    makes quoted text look better than before.
+
+* FAQ changes:
+  + Added, "Does MHonArc support Unicode?"
+  * Changed, "Can MHonArc create non-English archives?"
+  + Added, "Can MHonArc process Evolution folders?"
+
+============================================================================
+2002/06/28	(2.5.8)
+
+* Added MIMEALTPREFS resource: Content-type preferences for
+  multipart/alternative data.  You can now tell MHonArc to use the
+  text/plain part over a text/html part in multipart/alternative
+  messages.
+
+* Added the following resources:
+
+    IDXPGSSMARKUP   Markup at the beginning of all index pages.
+    MSGPGSSMARKUP   Markup at the beginning of all message pages.
+    TIDXPGSSMARKUP  Markup at the beginning of all thread index pages.
+
+  Each resource will default to the value of the SSMARKUP resource
+  if not defined.
+
+* Removed  resource element since it useless since an archive
+  database is read before any resource files are parsed.  The proper
+  way to specify an alternative DBFILE is via the -dbfile command-line
+  option or the M2H_DBFILE envariable.
+
+* Release notes updated about upgrading from v2.1.x, or earlier archive.
+  Running a later version is safe, but all MIME-related resources will
+  be reset to default values.  For v2.5.8, and later, the MIMEARGS
+  setting will preserved.
+
+* Removed references to HEADER and FOOTER resources in the docs.
+  Resources removed in v2.5.0.
+
+* Updated default resource layout settings in docs to use lowercase
+  tag names since MHonArc changed to use lowercase in defaults
+  in v2.4.7.
 
-Change history for MHonArc.  Changes listed are brief.  Consult the
-documentation for further information/clarification.  It is possible
-that not all changes are documented here.
+* FAQ updates:
+    . Mention MIMEALTPREFS.
+    . Added MIMEARGS examples in MIME section.
+
+============================================================================
+2002/06/21	(2.5.7)
+
+* Bug Fixes: See
+    
+
+* Updated docs to reflect address change of users' mailing list:
+  mhonarc@ncsa.uiuc.edu -> mhonarc-users@mhonarc.org.
+
+* Some minor FAQ changes, mainly mentioning mharc as a possible
+  solution to some questions.
+
+============================================================================
+2002/06/18	(2.5.6)
+
+* Bug Fixes: See
+    
+
+* Added NOSUBJECTTXT resource: Defines raw subject text to use
+  for messages that do not have a subject.
+
+============================================================================
+2002/05/28	(2.5.5)
+
+* Bug Fixes: See
+    
+
+* Incorporated format=flowed support into mhtxtplain.pl contributed
+  by Ken Hirsch, with some minor improvements.
+
+* MODTIME resource is set to off if setting modification date on files
+  is not supported for given platform.  A warning message will be
+  generated.
+
+* Added mha-preview program in examples/: A front-end program to
+  MHonArc that provides support for the resource variable
+  $X-MSG-PREVIEW$ that expands to first part of a message body.
+  This program illustrated the usage of the callback API.
 
-MM/DD/YYYY
-=======================================================================
-#######################################################################
-=======================================================================
-06/10/2001	(2.4.9)
+  NOTE: It is probable that support for message preview text
+	may become a supported feature within the standard mhonarc
+	program.  There are no guarantees that when implemented,
+	it will be compatible with how mha-preview does it.
+
+* Added blog.mrc in examples/: A resource file that generates
+  a page containing the content of all messages.  This example
+  is also listed in the resource file examples appendix.
+
+* Some documentation updates and enhancements.
+
+============================================================================
+2002/05/03	(2.5.4)
+
+* Added more API callback functions:
+
+    $CBDbPreLoad
+	Right before database file is loaded.
+    $CBDbPreSave
+	Right before database file is written.
+    $CBDbSave
+	When data has been written.
+    $CBRawMessageBodyRead
+	After message body is read from input
+    $CBRcVarExpand
+	When a resource variable is being expanded.
+
+  See API appendix of the documentation for more information.
+
+* mha-decode now supports the following option: -dcd-digest.  This
+  tells mha-decode to not recursively process attached message/rfc822
+  and message/news entities.  This option is useful to extract
+  out all the individual messages of a message digest.
+
+* Added message/rfc822 and message/news to mhmimetypes.pl
+  content-type => extension/description hash.  The extension used
+  is ".822".
+
+* Added ISO-8859-15 to default value of CHARSETCONVERTERS.  This should
+  have been done in the previous release.
+
+* A readmail:: variable is not written to database file if it is
+  the default value.  The readmail:: variables that can be saved
+  are controled by the CHARSETCONVERTERS, MIMEFILTERS, and MIMEARGS
+  resources.
+
+============================================================================
+2002/04/18	(2.5.3)
+
+*   Added 'use locale' pragmas to be applied when sorting messages.
+    This is considered experimental, but it appears to give better
+    results when sorting text that contains 8-bit-non-English
+    characters.  This is far from any real locale support, but
+    hopefully it is better than nothing.
+
+*   Beefed up HTML filtering in mhtxthtml.pl to eliminate some
+    security exploits.
+
+    CAUTION: If you are worried about security, it is recommended
+	     that you disable support of text/html messages in
+	     your mail archives.  There is no guarantee that
+	     the mhtxthtml.pl library is robust enough to
+	     eliminate all possible exploits that can occur with
+	     HTML data.
+
+    Thanks goto Jason Molenda and Hiromitsu Takagi for spotting
+    more exploit cases.
+
+*   mhtxtplain.pl checks MIMEXCS if text/html data is excluded
+    when the htmlcheck option is specified.  Seems unnecessary
+    because someone use excludes HTML data will probably not use
+    the htmlcheck option to m2h_text_plain::filter.
+
+*   Modified mail address extraction for $FROMADDR$ resource
+    variable to help deal with malformed From: header fields.
+    Thanks to Eugene Eric Kim for the recommendation.
+
+*   Fixed uudecoding support in mhtxtplain.pl to handle spaces
+    in filenames and \r\n EOLs.  Thanks to Jordan Russell for
+    spotting this.
+
+*   Added ISO-8859-15 mappings.  Thanks goto Jan Kraeber for the
+    contribution.
+
+*   Removed GIF images from distribution.  All GIF images
+    have been converted to PNG format.  Transparency of PNG
+    images may only be supported in the latest versions of various
+    graphical web browsers.
+
+    See  for reasons
+    why GIF images should not be used.
+
+*   Source code imported into CVS.  CVS respository is currently
+    not available publicly.  Stilling wondering if a site like
+    savannah.gnu.org should be used or if the respository should
+    be hosted independently, like at www.mhonarc.org.
+
+*   Fixed regex patterns in readmail.pl to avoid Perl warning
+    messages.
+
+*   Created a contrib/ directory to contain any contributed
+    programs imported into the MHonArc distribution.  Moved
+    prsfrom.pl from extras/ to contrib/.
+
+*   Added Security section to FAQ.  Provided more information to
+    question, "Why does a message get split into mulitple messages
+    with no headers?", mainly information contributed by users.
+
+============================================================================
+2001/11/24	(2.5.2)
+
+    o	mha-dbrecover new options:
+
+	  -dbr-startnum # 
+	      The starting message number to recover data from. This
+	      option is useful if you have many message files in a
+	      directory, but you only want to recover a subset of the
+	      files. If this option is not specified, the starting
+	      number is 0.
+
+	  -dbr-endnum # 
+	      The ending message number to recover data from. This
+	      option is useful if you have many message files in a
+	      directory, but you only want to recover a subset of the
+	      files. If this option is not specified, all messages
+	      starting from -dbr-startnum will be recovered.
+
+    o	MSGPGBEGIN default value changed where $SUBJECTNA:72$ has
+	been replaced with $SUBJECTNA$.  This is so default values
+	do not have any possible conflicts with variable-width
+	character sets.
+
+============================================================================
+2001/11/13	(2.5.1)
+
+    o	Added special note within the release notes about
+	downgrading.
+
+    o	Some documentation corrections.
+
+============================================================================
+2001/10/14	(2.5.0)
+
+    [This is non-beta release of 2.5.0.  See the change notes
+     below and for the various beta release for a complete list of
+     changes from the last v2.4 release.]
+
+    o	The ICONS resource has been updated to support the association
+	of icons at the base type level (e.g. text/*) and to specify
+	width and height hints.  The example icon resource file
+	listed in an appendix of the documentation updated to
+	to use changes to ICONS resource.
+
+    o	Formatting of attachment links within the m2hexternal.pl
+	filter has been updated to provide more verbose information.
+	Description of the format provided in the MIMEFILTERS
+	documentation.	Also, a 'frame' filter argument is now
+	supported to instruct the filter to draw a frame around
+	the link.
+
+    o   Default value for MIMEArgs has been changed to the following:
+
+	  
+	  m2h_external::filter; inline
+	  
+
+	This is more concise then previous default value.
+
+	On a resource file maintenance standpoint, it is generally
+	best to specify filter arguments at the filter level and
+	not at the content-type level.
+
+    o   Value of Perl's $^O variable printed with version information
+	for -V, -v, -help command-line options.
+
+    o	The count of new messages added to archive are now printed
+	along with the total message count when QUIET is not active.
+
+============================================================================
+2001/09/05	(2.5.0b2)
+
+    o	Long overdue update of ACKNOWLG file.
+
+    o	New resources:
+
+	  TSLICELEVELS	-- Maximum depth for thread slices.
+
+    o	New resource variables:
+
+	  $TLEVEL$	-- Numeric level of message in thread.
+
+    o	Added recognition of windows-1250 and windows-1252 charsets
+	into MHonArc::CharEnt and to default value of CHARSETCONVERTERS
+	resource.  To apply to existing archives, use mha-dbedit
+	with examples/def-mime.mrc resource file.
+
+    o	SUBJECTREPLYRXP now used to determine if "Re: " is added
+	when $SUBJECT$ is used within MAILTOURL.
+
+    o	Code cleanup to eliminate perl -w warnings.  Cleanup not
+	required for running MHonArc, but convenient for those that
+	use MHonArc with perl's -w option.
+
+============================================================================
+2001/08/26	(2.5.0b)
+
+    o	API for MIMEFILTERS has been changed.  Content filters are
+	now called as follows:
+
+	  ($html, @files) =
+	      &filter($fields_hash_ref, $body_data_ref, $is_decoded,
+		      $filter_args);
+
+	Paramaters:
+	  $fields_hash_ref
+		      A reference to hash of message/part header
+		      fields.  Keys are field names in lowercase
+		      and values are array references containing the
+		      field values.  For example, to obtain the
+		      content-type, if defined, you would do:
+
+			$fields_hash_ref->{'content-type'}[0]
+
+		      Values for a fields are stored in arrays since
+		      duplication of fields are possible.  For example,
+		      the Received: header field is typically repeated
+		      multiple times.  For fields that only occur once,
+		      then array for the field will only contain one
+		      item.
+
+	  $body_data_ref
+		      Reference to body data.  It is okay for the
+		      filter to modify the text in-place.
+
+	  $is_decoded
+		      Boolean flag if body data has been decoded.
+		      This is normally true unless some non-standard
+		      content-transfer-encoding is used.
+
+	  $filter_args
+		      String containing filter args as defined by
+		      MIMEARGS resource.
+
+	Return:
+	  The return value is still treated in the same manner as
+	  previous releases.  The first item in the return list is
+	  the text that should printed to the message page.  Any
+	  other items in the return list are derived filenames created
+	  by the filter.  If undef, or the empty string, is returned,
+	  readmail.pl assumes the filter was unable to filter the
+	  data.
+
+	All the filters provided in the MHonArc distribution have
+	been modified to use the new calling convention.
+
+    o	The HEADER and FOOTER resources are no longer supported.
+
+    o	The default value of DEFRCNAME is now ".mhonarc.mrc"
+	("mhonarc.mrc" for Win/DOS).
+
+    o	ISO8859 character set data processing now defaults to using
+	the MHonArc::CharEnt module.  The old iso8859.pl library
+	is still provided for compatibility with older archives.
+	To update archives to use the new settings, you can run
+	the following command,
+
+	    mha-dbedit -rcfile examples/def-mime.mrc \
+		       -outdir /path/to/archive
+
+	where "examples/def-mime.mrc" represents the default MIME
+	processing resources for MHonArc provided within the MHonArc
+	distribution.
+
+	The new module is more efficient in memory usage by only
+	loading mappings for character sets actually processed.  The
+	old iso8859.pl library preloads all mappings.  Also, the
+	module is designed to be easily extensible for processing
+	any 8-bit-based character sets.
+
+    o	Reference, follow-up, and derived file information of a
+	message is now stored in a different format in the database
+	(and internally).  MHonArc will auto-update older archives
+	to the new format.  The newer format should provide some
+	performance improvement.
+
+    o	Messages with no subjects are now stored with no subjects.
+	In previous releases, the text "No Subject" was automatically
+	added as a message was parsed, hence there was no real
+	indicator that a message had no real subject.
+
+	A related change is that messages without subject text
+	are skipped in subject-based thread detection.  Therefore,
+	a no-subject message will never be a possible follow-up,
+	but it is still possible for it to be an explicit follow-up
+	if it includes reference message-ids.
+
+	NOTE: This functionality does not apply to messages
+	processed by earlier versions where the text "No Subject"
+	was auto-applied to messages when parsed.  A recreation
+	of an archive from the original message data would
+	have to be done to have new behavior applied to message
+	processed by earlier releases.
+
+	A messages with no subject will now have the string
+	"[no subject]" displayed any time the $SUBJECT$ resource
+	variable is used for the message.
+
+    o	New resources:
+
+	    FIRSTPGLINK 	Link markup for first page of main index.
+	    LASTPGLINK 		Link markup for last page of main index.
+	    TFIRSTPGLINK 	Link markup for first page of thread index.
+	    TLASTPGLINK 	Link markup for last page of thread index.
+	    TNEXTINBUTTON	Button markup for next message
+				within a thread.
+	    TNEXTINBUTTONIA	Inactive button markup for next
+				message within a thread.
+	    TNEXTINLINK 	Link markup for next message within
+				a thread.
+	    TNEXTINLINKIA	Inactive link markup for next
+				message within a thread.
+	    TNEXTTOPBUTTON	Button markup for first message in
+				the next thread.
+	    TNEXTTOPBUTTONIA	Inactive button markup for first
+				message in the next thread.
+	    TPREVINBUTTON	Button markup for previous message
+				within a thread.
+	    TPREVINBUTTONIA	Inactive button markup for previous
+				message within a thread.
+	    TPREVINLINK 	Link markup for previous message
+				within a thread.
+	    TPREVINLINKIA	Inactive link markup for previous
+				message within a thread.
+	    TPREVTOPBUTTON	Button markup for first message in the
+				previous thread.
+	    TPREVTOPBUTTONIA	Inactive button markup for first
+				message in the previous thread.
+	    TSLICECONTBEGIN	Thread slice markup before the
+				continuation of a broken thread.
+	    TSLICECONTEND	Thread slice markup after the
+				continuation of a broken thread.
+	    TSLICEINDENTBEGIN	Thread slice markup for opening a level
+				when continuing a broken thread.
+	    TSLICEINDENTEND	Thread slice markup for closing a level
+				when continuing a broken thread.
+	    TSLICELIEND 	Ending markup for a thread slice
+				message listing.
+	    TSLICELIENDCUR	Ending markup for a thread slice
+				message listing.
+	    TSLICELINONE	Thread slice markup for a missing
+				message in thread slice.
+	    TSLICELINONEEND	Ending markup for a missing message in
+				thread slice.
+	    TSLICELITXT 	Markup for a thread slice message
+				listing.
+	    TSLICELITXTCUR	Markup for a thread slice message
+				listing if current message.
+	    TSLICESINGLETXT	Markup for a thread slice listing with
+				no follow-ups.
+	    TSLICESINGLETXTCUR	Markup for a thread slice listing with
+				no follow-ups if current message.
+	    TSLICESUBJECTBEG	Markup before a subject based thread
+				slice listing.
+	    TSLICESUBJECTEND	Markup after a subject based thread
+				slice listing.
+	    TSLICESUBLISTBEG	Thread slice markup for starting a
+				sub-thread.
+	    TSLICESUBLISTEND	Thread slice markup for ending a
+				sub-thread.
+	    TSLICETOPBEGIN	Thread slice markup for the root/start
+				of a thread.
+	    TSLICETOPBEGINCUR	Thread slice markup for the root/start
+				of a thread.
+	    TSLICETOPEND	Thread slice markup for the end of a
+				thread.
+	    TSLICETOPENDCUR	Thread slice markup for the end of a
+				thread if current message.
+
+    o	$TSLICE$ resource variable can now take up to three arguments:
+
+	    $TSLICE(;;)$
+
+	where,
+
+	    	: Number indicated the maximum number of
+			  message to print before the current message.
+			  If empty, the before value specified in
+			  TSLICE resource will be used.
+	    	: Number indicated the maximum number of
+			  message to print after the current message.
+			  If empty, the after value specified in
+			  TSLICE resource will be used.
+	     : If `1', only messages within the current
+			  thread will be printed.  If `0', messages
+			  from the previous and next threads can
+			  be printed if the values for  and
+			   would go beyond the current thread.
+
+    o	TSLICE resource updated to allow specification of default
+	value of inclusive flag.
+
+    o	The following new message specifications can be used for
+	message data-related resource variables:
+
+	    TNEXTIN		Next message within current thread.
+	    TNEXTTOP		Start of next thread.
+	    TPREVIN		Next message within current thread.
+	    TPREVTOP		Start of previous thread.
+
+	When used as arguments to the the $BUTTON$ and $LINK$ resource
+	variables, the TNEXTINBUTTON(IA), TNEXTTOPBUTTON(IA),
+	TPREVINBUTTON(IA), TPREVTOPBUTTON(IA), TNEXTINLINK(IA),
+	TNEXTTOPLINK(IA), TPREVINLINK(IA), TPREVTOPLINK(IA) resources
+	are respectively applied.
+
+    o	The use of TNEXT, TPREV (and new TNEXTTOP and TPREVTOP)
+	message specifications in resource variables behave more
+	intuitively when TREVERSE is active.  If at the boundaries
+	of a thread, TNEXT and TPREV will reference the first
+	message of the next thread by date and the first message
+	of the previous thread by date, respectively.
+
+    o	Version of MHonArc and Perl are printed when MHonArc starts
+	unless QUIET is active.
+
+    o	mhtxtplain.pl (text/plain) filter changes:
+
+	.   If the htmlcheck option is set and it is detected that
+	    the data is HTML, an attempt is first made to use the
+	    registered text/html filter via MIMEFILTERS.  If none
+	    is defined, mhtxthtml.pl will be used.
+
+	.   When uudecode option is set, an attempt is to use
+	    the registered decoder for uuencode via MIMEDECODERS.
+	    If not defined, then base64::uudecode is used from
+	    base64.pl.
+
+    o	mhtxthtml.pl (text/html) filter changes:
+
+	.   Elements that have URL attributes that auto-load data --
+	    IMG, BODY, IFRAME, FRAME, OBJECT, SCRIPT, INPUT -- have the
+	    atributes converted to 'javascript:void(0);' URLs.	See new
+	    'allownoncidurls' filter argument below for more details.
+
+	.   The follow filter arguments have been added:
+
+	    allownoncidurls Preserve URL-based attributes that are not
+			    cid: URLs.	Normally, any URL-based
+			    attribute -- href, src, background,
+			    classid, data, longdesc -- will be
+			    converted to 'javascript:void(0);'
+			    if it is not a cid: URL.  This is to
+			    prevent malicious URLs that verify mail
+			    addresses for spam purposes, secretly set
+			    cookies, or gather some statistical data
+			    automatically with the use of elements
+			    that cause browsers to automatically
+			    fetch data: IMG, BODY, IFRAME, FRAME,
+			    OBJECT, SCRIPT, INPUT.
+
+	    notitle  	    Do not print title.
+
+    o	Searching for OTHERINDEXES resource files has been modified.
+	The following lists the search order for an OTHERINDEXES
+	resource file:
+
+	    1. Current working directory.
+	    2. Same directory that the first resource file was read as
+	       specified by the RCFILE resource.
+	    3. User's home directory.
+	    4. Archive directory.
+	    5. Perl's @INC.
+
+    o	FIRST, LAST, TFIRST, and TLAST idx_page_spec arguments to
+	$PGLINK$ are now supported via the FIRSTPGLINK, LASTPGLINK,
+	TFIRSTPGLINK, and TLASTPGLINK resources.
+
+    o	$PGLINKLIST$ resource variable changed to print entire
+	list of page links if no arguments are provided.  To get
+	the entire list for thread indexes, use: $PGLINKLIST(T)$.
+
+    o	Date parsing routine updated to recognize dates in the
+	following format: Weekday, Month DD, YYYY HH:MM Zone.
+	Apparently, this is useful if converting mail saved to
+	a file in text format from MS Outlook.
+
+    o	Support for defining Perl function callbacks when a
+	new message header is read and just after a message body
+	has been converted.  Documentation about the callbacks is
+	provided in a new API appendix section in the documentation
+	and is provided in comments in the example mhasiteinit.pl
+	provided in the examples/ directory.
+
+    o	Various internal changes have been made to try to eradicate
+	Perl 4-based conventions.  For example, the use of typeglobs to
+	pass by "reference" has been replaced by using real references.
+
+	Assuming nothing was screwed up, this change should be
+	transparent to most users (with the notable exception of the
+	API changes to MIMEFILTERS registered routines).  However,
+	if you have mucked with MHonArc internals, or created custom
+	modifications, you may need to be aware that changes have
+	been made.
+
+============================================================================
+2001/06/10	(2.4.9)
 
     o	Added the following resources:
 
@@ -37,12 +706,8 @@ MM/DD/YYYY
 
     o	TODO list added to distribution.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-04/13/2001	(2.4.8)
+2001/04/13	(2.4.8)
 
     o	Added the following resources:
 
@@ -91,13 +756,8 @@ MM/DD/YYYY
 	 declarations, so a simplier expression is now used to
 	 modify comment declarations to prevent possible attacks.)
 
-
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-10/28/2000	(2.4.7)
+2000/10/28	(2.4.7)
 
     o	Added the following options to m2h_text_plain::filter:
 
@@ -146,13 +806,8 @@ MM/DD/YYYY
 
     o	Bug fixes to the documentation.
 
-
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-04/24/2000	(2.4.6)
+2000/04/24	(2.4.6)
 
     o	Stricter check is made when decoded quoted-printable data.
 	An escape sequence is only converted to a raw character if
@@ -162,15 +817,9 @@ MM/DD/YYYY
     o	Call to Digest::MD5::md5_hex() wrapped in eval block in
 	case of bad installations of Digest::MD5 module.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-02/14/2000	(2.4.5)
+2000/02/14	(2.4.5)
 
-    Enhancements/Changes
-    --------------------
     o	Following changes to m2h_text_html::filter:
 	-   All comment declarations are removed.  This avoid
 	    potential SSI attacks and declarations that may conflict
@@ -195,15 +844,9 @@ MM/DD/YYYY
 	variable matching.  Mainly for use with resource files written
 	on multibyte charsets like SJIS.  Use with caution.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-10/01/1999	(2.4.4)
+1999/10/01	(2.4.4)
 
-    Enhancements/Changes
-    --------------------
     o	Added the following resources:
     
 	    MIMEDECODERS	Content-Transfer-Encoding decoding
@@ -224,15 +867,9 @@ MM/DD/YYYY
 	for RFC 2184 extensions.  Function added to provide
 	support for message/external-body filter.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-08/15/1999	(2.4.3)
+1999/08/15	(2.4.3)
 
-    Enhancements/Changes
-    --------------------
     o	Added the following resources:
 
 	    POSIXSTRFTIME	Use POSIX::strftime() or not for
@@ -255,15 +892,9 @@ MM/DD/YYYY
     o	If in a multipart/alternative entity, and no known media-types
 	exists, the last part is treated as application/octet-stream.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-08/11/1999	(2.4.2)
+1999/08/11	(2.4.2)
 
-    Enhancements/Changes
-    --------------------
     o	Added the following resources:
 
 	    STDIN		Source for standard input
@@ -285,15 +916,9 @@ MM/DD/YYYY
     o	Description section moved before Options section in -help
 	message.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-07/25/1999	(2.4.1)
+1999/07/25	(2.4.1)
 
-    Enhancements/Changes
-    --------------------
     o	Added the following resources:
 
 	    MSGEXCFILTER	Perl expressions for excluding
@@ -311,15 +936,9 @@ MM/DD/YYYY
 
     o	mhtime.pl explicitly defined in mhonarc package.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-06/25/1999	(2.4.0)
+1999/06/25	(2.4.0)
 
-    Enhancements/Changes
-    --------------------
     o	Added the following resources:
 
 	    ADDRESSMODIFYCODE	Perl expressions to apply to addresses
@@ -408,34 +1027,20 @@ MM/DD/YYYY
     o	URL matching expression in mhtxtplain.pl modified to handle
 	'&' characters.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-11/08/1998	(2.3.3)
+1998/11/08	(2.3.3)
 
     Bug Fixes
-    ---------
-    See BUGS.
 
 =======================================================================
-11/01/1998	(2.3.2)
+1998/11/01	(2.3.2)
 
-    Enhancements/Changes
-    --------------------
     o	A new (improved) install.me program to do the installation.
 	See INSTALL for more information.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-10/25/1998	(2.3.1)
+1998/10/25	(2.3.1)
 
-    Enhancements/Changes
-    --------------------
     Please read the RELNOTES file for important information regarding
     upgrading to v2.2.x, or later, from pre-v2.2 releases.
 
@@ -456,12 +1061,8 @@ MM/DD/YYYY
 	done should help the handling of other multipart/related
 	data types.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-10/10/1998	(2.3.0)
+1998/10/10	(2.3.0)
 
     o	Perl 5 is now required to run MHonArc.  Although the code
 	base is still "Perl 4-style", many changes made use of Perl 5
@@ -569,15 +1170,8 @@ MM/DD/YYYY
 
     o	Some other code cleanup in the hopes to improve performance.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-03/03/1998	(2.2.0)
-
-    Enhancements/Changes
-    --------------------
+1998/03/03	(2.2.0)
 
 	o  New resource
 
@@ -622,15 +1216,8 @@ MM/DD/YYYY
 	   related resource documentation now puts preference to
 	   Perl 5 notations (eg: MIMEFILTERS, CHARSETCONVERTERS).
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-02/23/1998	(2.1.2)
-
-    Enhancements/Changes
-    --------------------
+1998/02/23	(2.1.2)
 
 	o  Added the following resources:
 
@@ -657,15 +1244,8 @@ MM/DD/YYYY
 
 	o  Probably some other changes I forgot about.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-02/18/1998	(2.1.1)
-
-    Enhancements/Changes
-    --------------------
+1998/02/18	(2.1.1)
 
 	o  Added DATEFIELDS resource.  The resource allows the user to
 	   specify the fields (and order) that are checked when
@@ -680,15 +1260,8 @@ MM/DD/YYYY
 
 	o  'No Author' used if no message sender is not present.
 
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-06/09/97	(2.1.0)
-
-    Enhancements/Changes
-    --------------------
+1997/06/09	(2.1.0)
 
 	o  Added the following resources:
 
@@ -725,22 +1298,13 @@ MM/DD/YYYY
 	o  Some code moved to new library files (mhopt.pl,
 	   mhfile.pl).
 
-
-    Bug Fixes
-    ---------
-    See BUGS.
-
 =======================================================================
-05/23/97	(2.0.1)
+1997/05/23	(2.0.1)
 
     Bug Fixes
-    ---------
-    See BUGS.
 
 =======================================================================
-05/16/97	(2.0.0)
-
-    Enhancements:
+1997/05/16	(2.0.0)
 
 	o  Added TCONTBEGIN, TCONTEND, TINDENTBEGIN, TINDENTEND
 	   resources.  They are provided to support the formatting
@@ -785,11 +1349,8 @@ MM/DD/YYYY
 	   processing so the "-" is not interpreted as the start
 	   of an option.
 
-    Bug Fixes:
-    See BUGS.
-
 =======================================================================
-02/28/97	(2.0.0 beta 3)
+1997/02/28	(2.0.0 beta 3)
 
 	o  Removed bogus call to output_db() when GENIDX is active.
 	   The routine is not loaded when GENIDX is active and the
@@ -807,7 +1368,7 @@ MM/DD/YYYY
 	o  Fixed bug where an extra TSUBLISTEND could get generated.
 
 =======================================================================
-02/17/97	(2.0.0 beta 2)
+1997/02/17	(2.0.0 beta 2)
 
 	o  Added  element and -nosubsort option.
 
@@ -841,7 +1402,7 @@ MM/DD/YYYY
 	o  Some code changes.
 
 =======================================================================
-01/31/97	(2.0.0 beta 1)
+1997/01/31	(2.0.0 beta 1)
 
 	o  RFC 1522 support.  Charset filters can be plugged in to
 	   handle character sets not recognized by mhonarc.
@@ -1105,7 +1666,7 @@ MM/DD/YYYY
 	o  Source code has been put under SCCS revision control.
 
 =======================================================================
-07/12/96	(1.2.3)
+1996/07/12	(1.2.3)
 
 	o  Extracted initialization of data structures into mhinit.pl.
 	   The file is just required from the main source.
@@ -1125,7 +1686,7 @@ MM/DD/YYYY
 	o  Simple fix to mhtxt2022.pl for execution under Perl 5.
 
 =======================================================================
-04/18/96	(1.2.2)
+1996/04/18	(1.2.2)
 
 	o  Increased the speed performance of base64 decoding.  Speed
 	   increase is much greater under Perl 4 than Perl 5.
@@ -1159,7 +1720,7 @@ MM/DD/YYYY
 	   overall execution time.
 
 =======================================================================
-03/22/96	(1.2.1)
+1996/03/22	(1.2.1)
 
 	o  Added support for x-uuencode content-transfer-encoding.
 
@@ -1190,7 +1751,7 @@ MM/DD/YYYY
 	   current size of the archive.
 
 =======================================================================
-03/01/96	(1.2.0)
+1996/03/01	(1.2.0)
 
 	o  Rewrote message parser routine so it will work under Perl 5
 	   for multipart messages.  The rewrite also allows some
@@ -1416,13 +1977,13 @@ MM/DD/YYYY
 	   documentation.
 
 =======================================================================
-04/24/95	(1.1.1)
+1995/04/24	(1.1.1)
 
 	o  Fixed bug in -scan output where month in date was off by
 	   one.
 
 =======================================================================
-04/21/95	(1.1.0)
+1995/04/21	(1.1.0)
 
 	o  Made modifications to make MHonArc suitable to run
 	   under MS-DOS without modification.  MHonArc will
@@ -1558,13 +2119,11 @@ MM/DD/YYYY
 	o  There's probably other stuff, but I cannot remember.
 
 =======================================================================
-10/01/94	(1.0.0)
+1994/10/01	(1.0.0)
 
 	o  First release -- See RELNOTES about compatibility issues
 	   with mail2html.
 
-=======================================================================
-#######################################################################
 =======================================================================
 Earl Hood, mhonarc@mhonarc.org
-@(#) CHANGES 01/06/10 18:10:36
+$Id: CHANGES,v 1.80 2002/07/28 23:21:53 ehood Exp $
diff --git a/COPYING b/COPYING
index b9339b9..5b6e7c6 100644
--- a/COPYING
+++ b/COPYING
@@ -1,346 +1,340 @@
-GNU General Public License
-
-----------------------------------------------------------------------------
-
-Table of Contents
-
-   * GNU GENERAL PUBLIC LICENSE
-        o Preamble
-        o TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-        o How to Apply These Terms to Your New Programs
-
-----------------------------------------------------------------------------
-
-GNU GENERAL PUBLIC LICENSE
-
-Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-Preamble
-
-The licenses for most software are designed to take away your freedom to
-share and change it. By contrast, the GNU General Public License is intended
-to guarantee your freedom to share and change free software--to make sure
-the software is free for all its users. This General Public License applies
-to most of the Free Software Foundation's software and to any other program
-whose authors commit to using it. (Some other Free Software Foundation
-software is covered by the GNU Library General Public License instead.) You
-can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our
-General Public Licenses are designed to make sure that you have the freedom
-to distribute copies of free software (and charge for this service if you
-wish), that you receive source code or can get it if you want it, that you
-can change the software or use pieces of it in new free programs; and that
-you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to
-deny you these rights or to ask you to surrender the rights. These
-restrictions translate to certain responsibilities for you if you distribute
-copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or
-for a fee, you must give the recipients all the rights that you have. You
-must make sure that they, too, receive or can get the source code. And you
-must show them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2)
-offer you this license which gives you legal permission to copy, distribute
-and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that
-everyone understands that there is no warranty for this free software. If
-the software is modified by someone else and passed on, we want its
-recipients to know that what they have is not the original, so that any
-problems introduced by others will not reflect on the original authors'
-reputations.
-
-Finally, any free program is threatened constantly by software patents. We
-wish to avoid the danger that redistributors of a free program will
-individually obtain patent licenses, in effect making the program
-proprietary. To prevent this, we have made it clear that any patent must be
-licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification
-follow.
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-0. This License applies to any program or other work which contains a notice
-placed by the copyright holder saying it may be distributed under the terms
-of this General Public License. The "Program", below, refers to any such
-program or work, and a "work based on the Program" means either the Program
-or any derivative work under copyright law: that is to say, a work
-containing the Program or a portion of it, either verbatim or with
-modifications and/or translated into another language. (Hereinafter,
-translation is included without limitation in the term "modification".) Each
-licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not covered
-by this License; they are outside its scope. The act of running the Program
-is not restricted, and the output from the Program is covered only if its
-contents constitute a work based on the Program (independent of having been
-made by running the Program). Whether that is true depends on what the
-Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source code
-as you receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice and
-disclaimer of warranty; keep intact all the notices that refer to this
-License and to the absence of any warranty; and give any other recipients of
-the Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you
-may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it,
-thus forming a work based on the Program, and copy and distribute such
-modifications or work under the terms of Section 1 above, provided that you
-also meet all of these conditions:
-
-   * a) You must cause the modified files to carry prominent notices stating
-     that you changed the files and the date of any change.
-
-   * b) You must cause any work that you distribute or publish, that in
-     whole or in part contains or is derived from the Program or any part
-     thereof, to be licensed as a whole at no charge to all third parties
-     under the terms of this License.
-
-   * c) If the modified program normally reads commands interactively when
-     run, you must cause it, when started running for such interactive use
-     in the most ordinary way, to print or display an announcement including
-     an appropriate copyright notice and a notice that there is no warranty
-     (or else, saying that you provide a warranty) and that users may
-     redistribute the program under these conditions, and telling the user
-     how to view a copy of this License. (Exception: if the Program itself
-     is interactive but does not normally print such an announcement, your
-     work based on the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If identifiable
-sections of that work are not derived from the Program, and can be
-reasonably considered independent and separate works in themselves, then
-this License, and its terms, do not apply to those sections when you
-distribute them as separate works. But when you distribute the same sections
-as part of a whole which is a work based on the Program, the distribution of
-the whole must be on the terms of this License, whose permissions for other
-licensees extend to the entire whole, and thus to each and every part
-regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your
-rights to work written entirely by you; rather, the intent is to exercise
-the right to control the distribution of derivative or collective works
-based on the Program.
-
-In addition, mere aggregation of another work not based on the Program with
-the Program (or with a work based on the Program) on a volume of a storage
-or distribution medium does not bring the other work under the scope of this
-License.
-
-3. You may copy and distribute the Program (or a work based on it, under
-Section 2) in object code or executable form under the terms of Sections 1
-and 2 above provided that you also do one of the following:
-
-   * a) Accompany it with the complete corresponding machine-readable source
-     code, which must be distributed under the terms of Sections 1 and 2
-     above on a medium customarily used for software interchange; or,
-
-   * b) Accompany it with a written offer, valid for at least three years,
-     to give any third party, for a charge no more than your cost of
-     physically performing source distribution, a complete machine-readable
-     copy of the corresponding source code, to be distributed under the
-     terms of Sections 1 and 2 above on a medium customarily used for
-     software interchange; or,
-
-   * c) Accompany it with the information you received as to the offer to
-     distribute corresponding source code. (This alternative is allowed only
-     for noncommercial distribution and only if you received the program in
-     object code or executable form with such an offer, in accord with
-     Subsection b above.)
-
-The source code for a work means the preferred form of the work for making
-modifications to it. For an executable work, complete source code means all
-the source code for all modules it contains, plus any associated interface
-definition files, plus the scripts used to control compilation and
-installation of the executable. However, as a special exception, the source
-code distributed need not include anything that is normally distributed (in
-either source or binary form) with the major components (compiler, kernel,
-and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.
-
-If distribution of executable or object code is made by offering access to
-copy from a designated place, then offering equivalent access to copy the
-source code from the same place counts as distribution of the source code,
-even though third parties are not compelled to copy the source along with
-the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as
-expressly provided under this License. Any attempt otherwise to copy,
-modify, sublicense or distribute the Program is void, and will automatically
-terminate your rights under this License. However, parties who have received
-copies, or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed
-it. However, nothing else grants you permission to modify or distribute the
-Program or its derivative works. These actions are prohibited by law if you
-do not accept this License. Therefore, by modifying or distributing the
-Program (or any work based on the Program), you indicate your acceptance of
-this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the original
-licensor to copy, distribute or modify the Program subject to these terms
-and conditions. You may not impose any further restrictions on the
-recipients' exercise of the rights granted herein. You are not responsible
-for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot distribute so
-as to satisfy simultaneously your obligations under this License and any
-other pertinent obligations, then as a consequence you may not distribute
-the Program at all. For example, if a patent license would not permit
-royalty-free redistribution of the Program by all those who receive copies
-directly or indirectly through you, then the only way you could satisfy both
-it and this License would be to refrain entirely from distribution of the
-Program.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply and
-the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents
-or other property right claims or to contest validity of any such claims;
-this section has the sole purpose of protecting the integrity of the free
-software distribution system, which is implemented by public license
-practices. Many people have made generous contributions to the wide range of
-software distributed through that system in reliance on consistent
-application of that system; it is up to the author/donor to decide if he or
-she is willing to distribute software through any other system and a
-licensee cannot impose that choice.
-
-This section is intended to make thoroughly clear what is believed to be a
-consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain
-countries either by patents or by copyrighted interfaces, the original
-copyright holder who places the Program under this License may add an
-explicit geographical distribution limitation excluding those countries, so
-that distribution is permitted only in or among countries not thus excluded.
-In such case, this License incorporates the limitation as if written in the
-body of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions of
-the General Public License from time to time. Such new versions will be
-similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs
-whose distribution conditions are different, write to the author to ask for
-permission. For software which is copyrighted by the Free Software
-Foundation, write to the Free Software Foundation; we sometimes make
-exceptions for this. Our decision will be guided by the two goals of
-preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
-THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
-THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
-PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO
-LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
-THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-END OF TERMS AND CONDITIONS
-
-How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest possible
-use to the public, the best way to achieve this is to make it free software
-which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program. It is safest to
-attach them to the start of each source file to most effectively convey the
-exclusion of warranty; and each file should have at least the "copyright"
-line and a pointer to where the full notice is found.
-
-one line to give the program's name and an idea of what it does.
-Copyright (C) 19yy  name of author
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this when
-it starts in an interactive mode:
-
-Gnomovision version 69, Copyright (C) 19yy name of author
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
-type `show w'.  This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c'
-for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may be
-called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
-Yoyodyne, Inc., hereby disclaims all copyright
-interest in the program `Gnomovision'
-(which makes passes at compilers) written
-by James Hacker.
-
-signature of Ty Coon, 1 April 1989
-Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General Public
-License instead of this License.
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    
+    Copyright (C)   
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  , 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/FILELIST b/FILELIST
index 8708dec..650256d 100644
--- a/FILELIST
+++ b/FILELIST
@@ -1,4 +1,7 @@
 name:MHonArc
+dep:Getopt::Long
+dep:Time::Local
+dep:Symbol
 bin:mhonarc
 bin:mha-dbedit
 bin:mha-dbrecover
@@ -40,36 +43,39 @@ lib:lib/osinit.pl
 lib:lib/qprint.pl
 lib:lib/readmail.pl
 lib:lib/rfc822.pl
+lib:lib/MHonArc
 man:man/mhonarc.1
 man:man/mha-dbedit.1
 man:man/mha-dbrecover.1
 man:man/mha-decode.1
+doc:doc/app-api.html
 doc:doc/app-bugs.html
 doc:doc/app-diagnos.html
 doc:doc/app-mimeconf.html
 doc:doc/app-rcfileexs.html
 doc:doc/app-rcidx.html
 doc:doc/app-utilsprg.html
-doc:doc/blank.gif
-doc:doc/bug.gif
+doc:doc/blank.png
+doc:doc/bug.png
 doc:doc/commontasks.html
 doc:doc/contacts.html
 doc:doc/faq
-doc:doc/faq.gif
-doc:doc/home.gif
+doc:doc/faq.png
+doc:doc/home.png
 doc:doc/index.html
 doc:doc/install.html
 doc:doc/intro.html
 doc:doc/layout.html
 doc:doc/mhonarc.html
-doc:doc/monicon.gif
-doc:doc/next.gif
-doc:doc/prev.gif
+doc:doc/monicon.png
+doc:doc/next.png
+doc:doc/prev.png
 doc:doc/quickstart.html
 doc:doc/rcfileexs
 doc:doc/rcvars.html
+doc:doc/relnotes.html
 doc:doc/resources
 doc:doc/resources.html
 doc:doc/ssbg75.jpg
-doc:doc/stampwb2.gif
-doc:doc/up.gif
+doc:doc/stampwb2.png
+doc:doc/up.png
diff --git a/INSTALL b/INSTALL
index ee53f4e..348c7ea 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,126 +1,126 @@
-INSTALL for MHonArc
-===================
-
+[Prev]                    [TOC][FAQ][Bugs][Home]                     [Next]
 
 ---------------------------------------------------------------------------
 
-Using/Copying
+Installation
+
+The following section describes how to install MHonArc on your system.
+
+NOTE  Make sure to read the release notes before installing MHonArc,       
+      especially if you are upgrading from a previous release. If you are  
+      reading the text version of this installation document, a text       
+      version of the release notes is contained in the file RELNOTES       
+      contained within the root of the MHonArc distribution.               
+
+  * System Requirements
+  * Downloading MHonArc
+  * Extracting the MHonArc Distribution
+  * Installing with install.me
+      + install.me Notes
+  * The Perl 5 Way
+  * Win32 Notes
+  * Alternate Operating Systems
+  * Manual Installation
+  * Post Installation Configuration
+      + Default Resource File
+      + Site Initialization Library
+  * Resource File Editing
 
-    MHonArc is distributed under the GNU General Public License (GPL).
-    The rules for using and copying MHonArc are explained in the file
-    COPYING.  If you cannot agree to the conditions of the GPL but
-    still want to use/copy the program, you must contact the author of
-    MHonarc, mhonarc@pobox.com, about arranging an alternative license.
-
-----------------------------------------------------------------------------
-
-Table of Contents
-
-   * System Requirements
-   * Downloading MHonArc
-   * Extracting the MHonArc Distribution
-   * Installing with install.me
-        o install.me Notes
-   * The Perl 5 Way
-   * Win32 Notes
-   * Alternate Operating Systems
-   * Manual Installation
-   * Post Installation Configuration
-        o Default Resource File
-        o Site Initialization Library
-   * Resource File Editing
-
-----------------------------------------------------------------------------
+---------------------------------------------------------------------------
 
 System Requirements
 
 The following is required inorder to use MHonArc:
 
-   * Perl 5 is installed. If you do not have Perl 5, goto
-      for download information.
-
-   * Getopt::Long and Time::Local modules are installed. These modules are
-     part of the standard Perl distribution. The following command can be
-     used to verify that the modules are installed on your system:
+  * Perl 5 is installed. If you do not have Perl 5, goto  for download information.
+   
+  * Getopt::Long and Time::Local modules are installed. These modules are
+    part of the standard Perl distribution.
+   
+  * The following modules are optional:
+   
+      + Digest::MD5: Used for creating IDs for messages without
+        message-ids. This module helps MHonArc detect already archived
+        messages for messages without message-ids.
+       
+      + Fcntl, Symbol: Used for flock() based archive locking (if specified
+        by the user). See LOCKMETHOD resource for more information.
+       
+    MHonArc will still function if the above listed modules are not
+    available.
+   
+NOTE  The MHonArc installation program will check that required modules are
+      available before installing MHonArc on your system.                  
 
-     shell> perl -MGetopt::Long -MTime::Local -e ';'
-
-     If you get any error messages, you either have an incomplete
-     installation of Perl, or Perl is misconfigured.
-
-   * The following modules are optional:
-
-        o Digest::MD5: Used for creating IDs for messages without
-          message-ids. This module helps MHonArc detect already archived
-          messages for messages without message-ids.
-
-        o Fcntl, Symbol: Used for flock() based archive locking (if
-          specified by the user). See LOCKMETHOD resource for more
-          information.
+---------------------------------------------------------------------------
 
-     MHonArc will still function if the above listed modules are not
-     available.
+Downloading MHonArc
 
-----------------------------------------------------------------------------
+The homepage for MHonArc is . The homepage list
+various sites that you can download MHonArc. If you are familiar with 
+Comprehensive Perl Archive Network (CPAN), MHonArc can be downloaded from 
+.
 
-Downloading MHonArc
+MHonArc is distributed in the following formats:
 
-The homepage for MHonArc is . The
-homepage list various sites that you can download MHonArc. If you are
-familiar with Comprehensive Perl Archive Network (CPAN), MHonArc can be
-downloaded from .
+  * tar-bz2: MHonArcX.X.X.tar.bz2
+  * tar-gzip: MHonArcX.X.X.tar.gz
+  * zip: MHonArcX.X.X.zip
 
-MHonArc is distributed in either a tar/gzip file or a zip file. The tar/gzip
-file will have a name like MHonArcX.X.X.tar.gz, and the zip file have a name
-like MHonArcX.X.X.zip; where X.X.X represents the version number.
+where X.X.X represents the version number.
 
-Alternate distribution formats for MHonArc may be available, like Linux RPM.
-Alternate distribution formats are not covered in this document.
+Alternate distribution formats for MHonArc may be available, like Linux
+RPM. Alternate distribution formats are not covered in this document.
 
-----------------------------------------------------------------------------
+---------------------------------------------------------------------------
 
 Extracting the MHonArc Distribution
 
 After downloading MHonArc, it is best to move the file to a temporary
-location for extraction. To extract a tar/gzip distribution, use the
-following command:
-
-    shell> gzip -dc MHonArcX.X.X.tar.gz | tar xvf -
+location for extraction. To extract the distribution under Unix-like
+systems, use one of the following commands based upon the distribution
+format you downloaded:
 
-To extract the zip distribution, you can use a program like WinZip, or any
-other program that supports zip archives. When extracting, make sure to
-preserve the directory structure.
+tar-bz2
+        shell> bzip2 -dc MHonArcX.X.X.tar.bz2 | tar xvf -
+tar-gzip
+        shell> gzip -dc MHonArcX.X.X.tar.gz | tar xvf -
+zip
+        shell> unzip MHonArcX.X.X.zip
 
- NOTE WinZip does support tar/gzip files.
+For Win32 systems, you can use a program like WinZip to extract the
+tar-gzip or zip formats. If using Cygwin, you can use the Unix-based
+extraction methods.
 
 After extraction, the subdirectory MHonArcX.X.X will have been created
 containing all the files comprising MHonArc.
 
- IMPORTANT Please read the file RELNOTES included in the MHonArc
-           distribution before continuing for any news about compatibility
-           with previous versions and/or important usage information.
+IMPORTANT  Please read the release notes before continuing for any news    
+           about compatibility with previous versions and/or important     
+           usage information.                                              
 
-You will now want to change your current directory to MHonArcX.X.X for the
+You will now want to change your current directory to MHonArcX.X.X for the 
 next step.
 
-----------------------------------------------------------------------------
+---------------------------------------------------------------------------
 
 Installing with install.me
 
-Provided in the MHonArc distribution is a Perl program, install.me that will
-install MHonArc on your system. To run the program, type the following at
-your shell prompt:
+Provided in the MHonArc distribution is a Perl program, install.me that
+will install MHonArc on your system. To run the program, type the following
+at your shell prompt:
 
     shell> perl install.me
 
- IMPORTANT You must be in the same directory as the install.me program when
-           you run it.
+IMPORTANT  You must be in the same directory as the install.me program when
+           you run it.                                                     
 
 The installation program will ask you a series of questions on where the
 perl executable is and where to put MHonArc files. Just hit  to accept
 the default values listed in ()'s. Note, the default values are determined
-by the configuration of perl on your system. If you choose the defaults, you
-may need to possess root/admin privileges to have a successful install.
+by the configuration of perl on your system. If you choose the defaults,
+you may need to possess root/admin privileges to have a successful install.
 
 install.me can take several options on the command-line to affect what is
 done during installation. The following is the list of options available:
@@ -134,6 +134,7 @@ done during installation. The following is the list of options available:
   -filelist       : List of files to install (def="FILELIST")
   -manpath        : Directory path to manpages
   -nobin                : Do not install programs
+  -nodep                : Skip module dependency check
   -nodoc                : Do not install documentation
   -nolib                : Do not install library files
   -noman                : Do not install manpages
@@ -157,38 +158,38 @@ following:
 
 install.me Notes
 
-   * The "#!" line in the installed programs are set to point to the perl
-     executable specified in the installation process. This is convienence
-     for those using systems that support the "#!" notation.
-
-   * The installation lib directory is added to each program's search path
-     so each program can find the libaries needed for proper execution.
-     Therefore, you should NOT have to set your PERL5LIB environment
-     variable if you install the library files in a location not in the
-     default perl library search path.
-
-   * If you specify paths that do not exist, the install.me program will
-     create the paths for you. If running in interactive mode, you will be
-     prompted before each path is created.
-
-   * install.me supports environment variable interpolation in pathnames
-     specified during interactive installation. For example, if you want to
-     install the program files into your local bin directory, you can enter
-     the following when prompted for the location to install executables:
-     $HOME/bin. Also, if the '~' (tilde) character is the first character of
-     the pathname specified, it will be expanded to the value of the HOME
-     environment variable. Therefore, the following are equivalent:
-     $HOME/bin and ~/bin.
-
-   * The -afs option should only be needed if installing MHonArc onto AFS
-     and using an older version of Perl 5. It should not be needed for Perl
-     5.005 or later.
-
-   * If you want to abort the installation, just enter the termination
-     character. For Unix systems, it is normally Ctrl-C; for Win32 systems,
-     it is normally Ctrl-Z.
-
-----------------------------------------------------------------------------
+  * The "#!" line in the installed programs are set to point to the perl
+    executable specified in the installation process. This is convienence
+    for those using systems that support the "#!" notation.
+   
+  * The installation lib directory is added to each program's search path
+    so each program can find the libaries needed for proper execution.
+    Therefore, you should NOT have to set your PERL5LIB environment
+    variable if you install the library files in a location not in the
+    default perl library search path.
+   
+  * If you specify paths that do not exist, the install.me program will
+    create the paths for you. If running in interactive mode, you will be
+    prompted before each path is created.
+   
+  * install.me supports environment variable interpolation in pathnames
+    specified during interactive installation. For example, if you want to
+    install the program files into your local bin directory, you can enter
+    the following when prompted for the location to install executables:
+    $HOME/bin. Also, if the '~' (tilde) character is the first character of
+    the pathname specified, it will be expanded to the value of the HOME
+    environment variable. Therefore, the following are equivalent: $HOME/
+    bin and ~/bin.
+   
+  * The -afs option should only be needed if installing MHonArc onto AFS
+    and using an older version of Perl 5. It should not be needed for Perl
+    5.005 or later.
+   
+  * If you want to abort the installation, just enter the termination
+    character. For Unix systems, it is normally Ctrl-C; for Win32 systems,
+    it is normally Ctrl-Z.
+   
+---------------------------------------------------------------------------
 
 The Perl 5 Way
 
@@ -204,71 +205,75 @@ If you want to install in a specific directory, try:
     shell> make
     shell> make install
 
- NOTE install.me is actually called "behind the scenes" to install the
-      files.
-----------------------------------------------------------------------------
+NOTE  install.me is actually called "behind the scenes" in batch mode to   
+      install the files.                                                   
 
-Win32 Notes
-
-   * The main programs will automatically be converted to DOS batch files.
-     Hence, if the path location of the main programs is in your PATH, you
-     should be able to invoke them like any other program. Note, the path to
-     the perl executable must be in your PATH, also.
-
-   * The main programs will also be copied to ".pl" files. Therefore, if you
-     have .pl associated with Perl in the registry, you can invoke the
-     programs directly (if the path location of the main programs are in
-     your search path). For example:
-
-         shell> mhonarc.pl ...
-
-     This is known to work under WinNT and under the Cygwin bash shell.
+---------------------------------------------------------------------------
 
-     This is better than going though the batch file mechanism since I/O
-     redirection does not work when invoking a batch file.
+Win32 Notes
 
-   * In the logo directory of the distribution is a BMP file mhaicon.bmp.
-     You can copy the image into your Windows Icon directory. Then through
-     the file types editor of the file explorer, you can specify mhaicon.bmp
-     as the icon for MHonArc resource (.mrc) files.
+  * The main programs will automatically be converted to DOS batch files.
+    Hence, if the path location of the main programs is in your PATH, you
+    should be able to invoke them like any other program. Note, the path to
+    the perl executable must be in your PATH, also.
+   
+  * The main programs will also be copied to ".pl" files. Therefore, if you
+    have .pl associated with Perl in the registry, you can invoke the
+    programs directly (if the path location of the main programs are in
+    your search path). For example:
+   
+        shell> mhonarc.pl ...
+   
+    This is known to work under WinNT and under the Cygwin bash shell.
+   
+    This is better than going though the batch file mechanism since I/O
+    redirection does not work when invoking a batch file.
+   
+  * In the logo directory of the distribution is a BMP file mhaicon.bmp.
+    You can copy the image into your Windows Icon directory. Then through
+    the file types editor of the file explorer, you can specify mhaicon.bmp
+    as the icon for MHonArc resource (.mrc) files.
+   
+    This method of associating the icon to MHonArc resource files is known
+    to work with Win9x systems.
 
-----------------------------------------------------------------------------
+---------------------------------------------------------------------------
 
 Alternate Operating Systems
 
-In many cases, the install.me program will work for other operating systems.
-Please contact the author on any success stories for other operating
-systems, and please send any patches, if required.
+In many cases, the install.me program will work for other operating
+systems. Please contact the author on any success stories for other
+operating systems, and please send any patches, if required.
 
-----------------------------------------------------------------------------
+---------------------------------------------------------------------------
 
 Manual Installation
 
 If install.me will not work properly for your system, here are the steps to
 install MHonArc manually:
 
-   * Copy files in the lib directory to the library location you desire.
-
-   * Copy the program files to the location you want them installed. After
-     copying, you must edit the each file as follows:
-
-        o Edit the "#!/..." line (the first line of each file) to be the
-          complete pathname of your perl interpreter. Note, this step is
-          only required for systems (Unix) that support "#!".
-
-        o Add a new line right after the "#!/..." line to contain the
-          following:
-
-              use lib '/path/to/lib/files';
-
-          where "/path/to/lib/files/" is the path to where copied the
-          library files to.
-
-          Note, if the location you copied the libraries are already part of
-          Perl's standard library search path, you do not need to add the
-          "use lib" statement.
-
-----------------------------------------------------------------------------
+  * Copy files in the lib directory to the library location you desire.
+   
+  * Copy the program files to the location you want them installed. After
+    copying, you must edit the each file as follows:
+   
+      + Edit the "#!/..." line (the first line of each file) to be the
+        complete pathname of your perl interpreter. Note, this step is only
+        required for systems (Unix) that support "#!".
+       
+      + Add a new line right after the "#!/..." line to contain the
+        following:
+       
+            use lib '/path/to/lib/files';
+       
+        where "/path/to/lib/files/" is the path to where copied the library
+        files to.
+       
+        Note, if the location you copied the libraries are already part of
+        Perl's standard library search path, you do not need to add the
+        "use lib" statement.
+       
+---------------------------------------------------------------------------
 
 Post Installation Configuration
 
@@ -277,29 +282,29 @@ After installation, you may want to do some site-specific configuration.
 Default Resource File
 
 You have the ability to create a default resource file to make site-wide
-defaults for MHonArc. The name of the resource file should be mhonarc.rc and
-should be placed in the MHonArc library directory as specified during
-installation. For more information on what can be put in a resource file,
-see the Resources section.
+defaults for MHonArc. See the DEFRCFILE resource on valid pathname
+locations for the default resource file. For more information on what can
+be put in a resource file, see the Resources section.
 
- NOTE It is advisable to create some local documentation for users
-      describing any settings you place in the site-wide resource file.
+NOTE  It is advisable to create some local documentation for users         
+      describing any settings you place in the site-wide resource file.    
       This will avoid confusion if site settings vary from default settings
-      described in the documentation, and it will help avoid invalid bug
-      reports.
+      described in the documentation, and it will help avoid invalid bug   
+      reports.                                                             
 
 Site Initialization Library
 
 If you do not know Perl, ignore this section.
 
 When MHonArc opens an archive for processing, MHonArc will attempt to
-execute the instructions in the file mhasiteinit.pl. This file allows you to
-make site customizations not possible through a default resource file.
+execute the instructions in the file mhasiteinit.pl. This file allows you
+to make site customizations not possible through a default resource file. 
 mhasiteinit.pl should be placed in the MHonArc library directory as
 specified during installation. A sample mhasiteinit.pl file is provied in
-the examples directory of the distribution to get you started.
+the examples directory of the distribution to get you started, which
+includes comments on some of the things you can do with mhasiteinit.pl.
 
-----------------------------------------------------------------------------
+---------------------------------------------------------------------------
 
 Resource File Editing
 
@@ -317,5 +322,13 @@ Of course, change the pathname to mhonarc.vim to wherever you copied it to.
 Now, any file with .mrc extension will put Vim into MHonArc resource file
 highlighting mode. The mode is best used with color-capable terminals.
 
-----------------------------------------------------------------------------
-Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
+---------------------------------------------------------------------------
+
+[Prev]                    [TOC][FAQ][Bugs][Home]                     [Next]
+
+---------------------------------------------------------------------------
+
+$Date: 2002/05/27 20:07:10 $
+[monicon] MHonArc
+Copyright © 1997-2002, Earl Hood, mhonarc@mhonarc.org
+
diff --git a/Makefile.PL b/Makefile.PL
index 73f919e..efafd05 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,14 +1,24 @@
 #!/usr/bin/perl
-# @(#) Makefile.PL 1.4 00/10/28 11:26:52
+# $Id: Makefile.PL,v 1.12 2002/04/04 07:07:48 ehood Exp $
 # Pseudo Makefile.PL:  Since MHonArc's history goes back to Perl 4 days,
 # it has its own installation process.  This file generates a simple
 # Makefile to (paritally) satisfy the standard Perl 5 way to install
 # software.
 
+use Config;
+
 open(MAKEFILE, ">Makefile") ||
     die "Unable to create Makefile: $!\n";
 
-%vars = ( map { split(/=/, $_) } @ARGV );
+## Map variable settings to install.me options
+%vars = ( );
+foreach (@ARGV) {
+  # make sure to only process arguments that look like variables
+  if (/=/) {
+    ($var, $value) = split(/=/, $_, 2);
+    $vars{$var} = $value;
+  }
+}
 my $opt_prefix  = defined($vars{'PREFIX'}) ?
 			"-prefix $vars{'PREFIX'}" : "";
 my $opt_binpath = defined($vars{'INSTALLSCRIPT'}) ?
@@ -25,46 +35,67 @@ my $opt_manpath = defined($vars{'INSTALLMAN1DIR'}) ?
 
 my $instme_args = "$opt_prefix $opt_binpath $opt_libpath $opt_manpath";
 
-
+## Determine which perl should be used
+my $perl  = $Config{'perlpath'};
+unless (-x $perl) {
+  $perl = join('/', $Config{'installbin'}, $Config{'perl'});
+}
+unless (-x $perl) {
+  $perl = 'perl';
+}
+## Determine other commands that will be used
+my $chmod = $Config{'chmod'} || '/bin/chmod';
+my $mkdir = $Config{'mkdir'} || '/bin/mkdir';
+my $rm    = $Config{'rm'} || '/bin/rm';
+
+## Print Makefile
 print MAKEFILE < INSTALL
+
 pod2man:
+	-\@\$(MKDIR) man
 	\@for i in \$(PRGS) ; \\
 	    do( \\
 		echo "Manifying \$\$i ..."; \\
-		pod2man \$\$i > man/\$\$i.1; \\
+		pod2man --center="MHonArc Documentation" --release="MHonArc v2.5" \$\$i > man/\$\$i.1; \\
 	    ); \\
 	done
 
-versions:
-	\@echo "SCCS Version Numbers" > VERSIONS
-	\@echo "====================" >> VERSIONS
-	\@echo "Note: SCCS versions do not correspond to product version" \\
-	    >> VERSIONS
-	\@echo "--------------------------------------------------------" \\
-	    >> VERSIONS
-	\@what mhonarc mha-* lib/*.pl >> VERSIONS
-	\@echo "Created VERSIONS"
+relnotes:
+	w3m doc/relnotes.html -cols 76 > RELNOTES
+
+autodoc: pod2man
+	\$(MAKE) -C doc
+	\$(MAKE) -C doc/faq
+
+bugs:
+	w3m doc/app-bugs.html -cols 76 > BUGS
 
 test:
 	\@echo "No tests"
diff --git a/README b/README
index 7676ba8..53e4b54 100644
--- a/README
+++ b/README
@@ -24,11 +24,11 @@
 
 ---------------------------------------------------------------------------
                             README for MHonArc
-                                 v2.4.9
+                                   v2.5
 
 			
 
-			 Copyright (C) 1995-2001
+			 Copyright (C) 1995-2002
 		       Earl Hood, mhonarc@mhonarc.org
 
 ---------------------------------------------------------------------------
@@ -38,7 +38,7 @@ USING/COPYING
     The rules for using and copying MHonArc are explained in the file
     COPYING.  If you cannot agree to the conditions of the GPL but
     still want to use/copy the program, you must contact the author of
-    MHonarc, mhonarc@mhonarc.org, about arranging an alternative license.
+    MHonArc, mhonarc@mhonarc.org, about arranging an alternative license.
 
 ---------------------------------------------------------------------------
 SUMMARY
@@ -72,10 +72,10 @@ INSTALL         Instructions on how to install MHonArc
 README          The file you are reading
 RELNOTES        Release notes for MHonArc (PLEASE READ BEFORE INSTALL)
 TODO		TODO list for MHonArc development
-VERSIONS	List of SCCS versions of MHonArc source
-admin/		Experimental web-based archive administration tool.
+admin/		Experimental web-based archive administration tool
+contrib/	Contributed programs
 doc/            Documentation for MHonArc
-examples/       Example resource files for MHonArc
+examples/       Example files for use with MHonArc
 extras/         Extra programs for use with MHonArc (See extras/README)
 install.me      Installation program for MHonArc
 lib/            Libraries/MIME filters used by MHonArc
@@ -88,7 +88,8 @@ mhonarc*        The MHonArc program
 ---------------------------------------------------------------------------
 INSTALLATION
 
-    Please read RELNOTES before installing MHonArc for any news
+    Please read RELNOTES, or load doc/relnotes.html into your
+    favorite web client, before installing MHonArc for any news
     about compatibility with previous versions and/or important
     usage information.
 
@@ -119,11 +120,11 @@ MAILING LIST
     the latest news about MHonArc.
 
     To subscribe to the mailing list, send mail to
-    mhonarc-request@ncsa.uiuc.edu with the single word "subscribe"
+    majordomo@mhonarc.org with the text, "subscribe mhonarc-users"
     (without the quotes) as the message body.
 
-    Mail sent to mhonarc@ncsa.uiuc.edu will be distributed to all
-    subscribers.
+    Mail sent to mhonarc-users@mhonarc.org will be distributed to
+    all subscribers.
 
     The list is restricted to subscribers only.  Messages sent to the
     list by non-subscribers are manually screened before distribution;
@@ -134,33 +135,28 @@ MAILING LIST
     The WWW searchable archives of the mailing list are located at
     the following URLs:
       
-      
+      
+
+    For more information about the mailing list and contact
+    information, see doc/contacts.html.
 
 ---------------------------------------------------------------------------
 BUGS/COMMENTS/SUGGESTIONS?
 
-    If you have any bugs/comments/suggestions about MHonArc, you may
-    send mail to the MHonArc mailing list,
-    .
-
-    NOTE: The author of MHonArc *IS* subscribed to the list.
-
-    If it is a bug you are reporting, please include the following in
-    your message:
+    If you have any comments and suggestions about
+    MHonArc, you may send mail to the MHonArc mailing list,
+    , or to the author at
+     if you are not subscribed to the list.
 
-        o  Version of Perl (can be retrievied by "perl -v").
-        o  Version of the program (can be retrievied by "mhonarc -v").
-	o  The operating system you are using (on Unix the output
-	   of "uname -a" is useful).
-        o  The exact command-line used to invoke the program.
-        o  Error/diagnostic messages from the program.
-        o  Any other information that might prove useful (eg. input
-           files, resource files, environment settings, etc).
+    NOTE: The author of MHonArc *IS* subscribed to the list so there
+	  is no need to carbon-copy the author.
 
-    Before sending e-mail, make sure the documentation, or FAQ, does
-    not already have an answer to your question/problem.  Also, check
-    the MHonArc home page to see if you have the latest version of
-    MHonArc.
+    If it is a bug you want to report, please goto
+     to submit your
+    report.  Before submitting a report, make sure the documentation,
+    or FAQ, does not already have an answer to your question/problem.
+    Also, check the MHonArc home page to see if you have the latest
+    version of MHonArc.
 
 ---------------------------------------------------------------------------
 
@@ -173,5 +169,5 @@ BUGS/COMMENTS/SUGGESTIONS?
     development of the program.
 
 ---------------------------------------------------------------------------
-Copyright (C) 1995-2001,		Earl Hood, mhonarc@mhonarc.org
-@(#) README 01/06/10 18:10:37
+Earl Hood, mhonarc@mhonarc.org
+$Date: 2002/06/21 22:28:16 $
diff --git a/RELNOTES b/RELNOTES
index 55da9e8..b3c04d8 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,63 +1,200 @@
-Release Notes for MHonArc
-=========================
-
-
-Read the CHANGES document for changes that may affect you if you are
-a user of an earlier version of MHonArc.
-
-===========================================================================
-
-  ==>	IMPORTANT IF UPGRADING FROM v2.1.x OR EARLIER:
-    
-	If you have archives created with v2.1.x, or earlier, you
-	must update the archives before using versions v2.2, or
-	later.
-
-	To update your archives, you use the mha-dbedit program
-	using the def-mime.mrc in the examples directory.  For example:
-
-	    mha-dbedit -rcfile examples/def-mime.mrc \
-		       -outdir /path/to/archive
-
-	Make sure that the mhonarc you are using is v2.2, or later.
-	Change the -rcfile and -outdir pathnames to reflect where
-	you are running mhonarc and where your archive is located,
-	respectively.
-
-	Note, if your archives are using custom settings of
-	MIMEFILTERS, MIMEARGS, and/or CHARSETCONVERTERS resources,
-	you will need to create a variant version of def-mime.mrc
-	(included in the examples directory) to include your settings
-	and use the variant version when updating your archives.
-
-  ==>	If upgrading from v2.1.x, or earlier, any custom filters you
-	have developed may need to modified.  If your filter accessed
-	some main variables, your filter will not operate properly.
-	All variables that used to be in package "main" are no longer.
-	The major variables are now in package "mhonarc".  For example,
-	$::OUTDIR is now $mhonarc::OUTDIR.  See the MIMEFILTERS
-	resource page for more information.
-
-  ==>	See the Warnings in the documentation for the HTMLEXT and
-	MSGPREFIX resources before using them.
-
-  ==>	Occasionally, a new release of MHonArc may contain new
-	MIME filters.  See the CHANGES file to check if any new filters
-	have been added.
-
-	If you confirm that new filters have been added, and you want
-	to apply them to your archives, you use the mha-dbedit program
-	using the def-mime.mrc in the examples directory.  For example:
-
-	    mha-dbedit -rcfile examples/def-mime.mrc \
-		       -outdir /path/to/archive
-
-	Note, if your archives are using custom settings of
-	MIMEFILTERS, MIMEARGS, and/or CHARSETCONVERTERS resources,
-	you will need to create a variant version of def-mime.mrc
-	(included in the examples directory) to include your settings
-	and use the variant version when updating your archives.
-
-===========================================================================
-@(#) RELNOTES 00/04/24 00:20:38
-Earl Hood, mhonarc@pobox.com
+[Prev]                    [TOC][FAQ][Bugs][Home]                     [Next]
+
+---------------------------------------------------------------------------
+
+Release Notes
+
+Read the CHANGES document included in the distribution for a more complete
+summary of changes to MHonArc. This document highlights important changes
+that have occurred and important usage details which you should be aware of
+before using MHonArc. If you are upgrading from a previous release, make
+sure to check for the highlighted incompatibilites from earlier releases.
+
+  * Compatibility Notes
+      + UPGRADING FROM v2.4.x OR EARLIER: DEFRCNAME Change
+      + UPGRADING FROM v2.4.x OR EARLIER: HEADER and FOOTER Removed
+      + UPGRADING FROM v2.4.x OR EARLIER: MIMEFILTERS API Change
+      + UPGRADING FROM v2.1.x OR EARLIER: Database Format Change
+      + DOWNGRADING TO OLDER VERSIONS
+  * General Notes
+
+---------------------------------------------------------------------------
+
+Compatibility Notes
+
+This sections provides notes dealing with compatibility issues if upgrading
+from a previous release of MHonArc:
+
+UPGRADING FROM v2.4.x OR EARLIER: DEFRCNAME Change
+
+The default value for the DEFRCNAME is now called ".mhonarc.mrc", or
+"mhonarc.mrc" under Windows and VMS. The old value was ".mhonarc.rc", or
+"mhonarc.rc". If you use the default resource file, you will need to rename
+the file to match the filenames used for v2.5 and later.
+
+UPGRADING FROM v2.4.x OR EARLIER: HEADER and FOOTER Removed
+
+The HEADER and FOOTER resources are no longer supported. If you are using
+these resources, the HEADER content and FOOTER content will be lost once
+v2.5, or later, of MHonArc processes an archive containing these resources.
+
+The HEADER and FOOTER resources have been deprecated for a long time since
+they only applied to the main index; the thread index has no equivalent.
+The IDXPGBEGIN or LISTBEGIN resources can be used to achieve the same
+effect of HEADER. The IDXPGEND or LISTEND can be used to achieve the same
+effect of FOOTER.
+
+UPGRADING FROM v2.4.x OR EARLIER: MIMEFILTERS API Change
+
+The API for data filters registered via MIMEFILTERS is not capability with
+filters written for v2.4.x and earlier. See CHANGES and the documentation
+for the MIMEFILTERS resource for the API.
+
+If you use custom style filters written for v2.4.x, or earlier, you will
+need to update them for them to work properly under v2.5, and later.
+
+UPGRADING FROM v2.1.x OR EARLIER: Database Format Change
+
+If you have archives created with v2.1.x, or earlier, the format of
+mime-related resources is not compatible with v2.2, and later, versions.
+MHonArc will reset the mime-related resources CHARSETCONVERTERS and 
+MIMEFILTERS to their default values. MIMEARGS will also be reset to the
+default value unless you are upgrading to v2.5.8, or later, where the
+MIMEARGS settings will be preserved.
+
+To avoid the resetting of the mime-related resource if you are using
+customized settings, you will need to re-specify your settings the next
+time you update an archive. If you always specify your resource settings
+each time you invoke MHonArc, then your settings should to still take
+effect.
+
+You can also use the mha-dbedit program to apply your settings directly
+without processing the archive.
+
+DOWNGRADING TO OLDER VERSIONS
+
+Downgrading to an earlier version of MHonArc can be dangerous, especially
+if downgrading to an older version that used different storage formats in
+archive database files from the current version in use. If an older version
+of MHonArc is used to process an archive last updated by a new version,
+archive data can get lost and/or unexpected output can occur.
+
+Changes in archive format are not common, so downgrading can be okay
+depending on the versions involved. The key versions to watch out for are
+the ones noted in this section where database format changes have occured.
+The following lists release numbers where a format change occured:
+
+  * 2.0.0
+  * 2.2.0
+  * 2.5.0
+
+For example, if an archive was last updated with v2.5.0, processing the
+archive with a previous release will cause problems.
+
+A possible method for successfully downgrading to a release with
+differences in the database format, is to try to reconstruct the database
+file using the mha-dbrecover utility contained in the MHonArc version the
+archive is being downgraded to.
+
+Of course, the safest way to downgrade is to recreate an archive from the
+original raw mail data. It is good practice to preserve the raw mail data
+in some form for cases like these and for general archive recovering
+situations due to file corruption or other system failures.
+
+---------------------------------------------------------------------------
+
+General Notes
+
+  * For v2.5, the default text/html filter (mhtxthtml.pl) will now convert
+    auto-loaded URL attributes to 'javascript:void(0);' for some HTML
+    elements -- IMG, BODY, IFRAME, FRAME, OBJECT, SCRIPT, INPUT -- except
+    for cid: URLs. This behavior can be disabled if the 'allownoncidurls'
+    filter argument is specified.
+   
+    The new behavior is to prevent malicious URLs that verify mail
+    addresses for spam purposes, secretly set cookies, or gather some
+    statistical data automatically with the use of elements that cause
+    browsers to automatically fetch data.
+   
+  * ISO-8859 character set data processing now defaults to using the
+    MHonArc::CharEnt module in v2.5. The old iso8859.pl library is still
+    provided for compatibility with older archives. To update archives to
+    use the new settings, you can run the following command,
+   
+        mha-dbedit -rcfile examples/def-mime.mrc \
+               -outdir /path/to/archive 
+   
+    where "examples/def-mime.mrc" represents the default MIME processing
+    resources for MHonArc provided within the MHonArc distribution.
+   
+    NOTE  v2.5.4, and later, generated archives will automatically inherit 
+          new CHARSETCONVERTERS if the built-in defaults are being used.   
+          However, if you have defined CHARSETCONVERTERS for your archives,
+          you will need to explicitly update your archives if you want them
+          applied to your archives.                                        
+   
+  * The value of the TSLICE resource is used to determine the number of
+    messages to update, before and after by thread, of each new message
+    added. To insure that messages within a thread slice are updated when a
+    new message is added, make sure the before and after ranges specified
+    for TSLICE is equal to maximum before and the maximum after range
+    arguments specifed in the uses of the $TSLICE$ resource variable. For
+    example, if you have $TSLICE(0;4)$ and $TSLICE(3;3)$ in message layout
+    resources, you should set TSLICE to 3:4.
+   
+    If you only use $TSLICE$ once, it is best to set options for thread
+    slice formatting via the TSLICE resource so you will not have anything
+    to worry about.
+   
+  * If updgrading from v2.4.x, or earlier, reference and follow-up
+    information of a message is now stored in a different format in the
+    database (and internally). MHonArc will auto-update older archives to
+    the new format, so no action should be required on your part.
+   
+  * If upgrading from v2.1.x, or earlier, any custom filters you have
+    developed may need to modified. If your filter accessed some main
+    variables, your filter will not operate properly. All variables that
+    used to be in package "main" are no longer. The major variables are now
+    in package "mhonarc". For example, $::OUTDIR is now $mhonarc::OUTDIR.
+    See the MIMEFILTERS resource page for more information.
+   
+  * See the warnings in the documentation for the HTMLEXT and MSGPREFIX
+    resources before using them.
+   
+  * Occasionally, a new release of MHonArc may contain new MIME filters.
+    See the CHANGES file to check if any new filters have been added.
+   
+    If you confirm that new filters have been added, and you want to apply
+    them to your archives, you use the mha-dbedit program using the 
+    def-mime.mrc in the examples directory.
+   
+    NOTE  v2.5.4, and later, generated archives will automatically inherit 
+          new MIMEFILTERS if the built-in defaults are being used. However,
+          if you have defined MIMEFILTERS for your archives, you will need 
+          to explicitly update your archives if you want them applied to   
+          your archives.                                                   
+   
+    Example usage of mha-dbedit:
+   
+        mha-dbedit -rcfile examples/def-mime.mrc \
+               -outdir /path/to/archive 
+   
+    Change the -rcfile and -outdir pathnames to reflect where you are
+    running mhonarc and where your archive is located, respectively.
+   
+    Note, if your archives are using custom settings of MIMEFILTERS, 
+    MIMEARGS, and/or CHARSETCONVERTERS resources, you will need to create a
+    variant version of def-mime.mrc (included in the examples directory) to
+    include your settings and use the variant version when updating your
+    archives.
+   
+---------------------------------------------------------------------------
+
+[Prev]                    [TOC][FAQ][Bugs][Home]                     [Next]
+
+---------------------------------------------------------------------------
+
+$Date: 2002/06/27 05:00:01 $
+[monicon] MHonArc
+Copyright © 1997-2001, Earl Hood, mhonarc@mhonarc.org
+
diff --git a/TODO b/TODO
index 6a6eb38..fe294aa 100644
--- a/TODO
+++ b/TODO
@@ -3,50 +3,78 @@ TODO List for MHonArc
 
 Items are in no particular order:
 
-=> Remove all use of Perl 4 style of representing nested data structures.
-   Impact on existing archives (%Refs)?
+===========================================================================
+
+=> Fix all open bugs. :-)
+
+=> Enhance locale support, especially for message sorting.
+
+=> Add resource to disable use of MD5 if no message-id.
+
+=> Generalize message page layout so converted header and body can
+   be placed in any order.  XXX: Old versions did not delimit
+   converted head and body, so what should be done for this case
+   or should any kind of compatibility be dropped?
+
+=> Log-style output when showing progress.  I.e. Prefix text with
+   date/time stamp.
+
+=> "Global" filter options.  For example, have something like
+   "subdir" be applied to all filters that write files.
 
 => Fix unfolding problem where there is only a single space on
    the next line.  Can this be done w/o adding extra overhead in
-   parsing?
+   parsing?  XXX: Need to remember input case where the unfolding was
+   a problem.
 
 => Define $MhaStdout and $MhaStdin.  Should help in embedded usage.
 
-=> Subject detection case-sensitive: Should this behavior be conditional?
-   Should it even be implemented?
-
 => Support for text/uri-list.
 
-=> XHTML defaults for resources.
+=> XHTML defaults for resources (XXX: Browser impact?)
 
-=> TSLICE version of resources.  I.e. A separate set of layout resource
-   exist for formatting $TSLICE$ output instead of using same resource
-   set for thread index page.  Would have a separate set make things
-   too complicated for the user?  Could reasonable fallback logic to
-   index page-based resources be done?
+=> "00" year => 1900 (need test case that verifies this).
 
-=> Restructure head parsing to support "hooks".  Probably make DB
-   hooks easier.  A cleaning-up of data structures would make hook API
-   easier to add.
+=> Add resource to set initial message number.  XXX: Use of this?
 
-=> Add support for "format=flowed" for text/plain.
+=> Redo MHonArc using modules/class structure.  Basically a redesign
+   and implementation (MHonArc 3.x?).
 
-=> "00" year => 1900 (need test case that verifies this).
+=> Provide attachment listing at top of each messages page
+   (suggested by Lars Aronsson).  This can be tricky since filters
+   have ultimate control of how parts are treated, including overriding
+   attachment disposition.  Would also require changes to how base
+   parsing cooperates with content filters.
 
-=> Output number of messages added along with total message count.
+=> Unicode support (waiting for Perl to be mature enough).
+    (related to "UTF8 charsetconverter below").
 
-=> Exclude writing files based on size in bytes.  Is this really the
-   domain of MHonArc?
+=> Make Content-Disposition check at the readmail.pl level so
+   each filter does not have to handle it.
 
-=> Add resource to set initial message number.
+=> Subject-based threading enhancements:
+      . Messages with no "Re:" are in different threads.  Related to
+	this is grouping follow-ups under proper message based upon
+	date.
 
-=> Remove HEADER and FOOTER resources.  How many people use these
-   resources?  These resource exploit some bug in perl(!?) that
-   causes main index pages from getting screwed up.  Cannot see any
-   error in MHonArc code that can cause this.
+=> Use the link tag to specify the first, prev, next, and last
+   relationships among indices and messages.  These are specified in
+   the standard and supported by Mozilla's Site Navigation Toolbar.
+   (see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=115991)
 
-=> Get source moved to CVS.  Is preserving SCCS history files
-   important.
+=> Add a reasource (ICONURLPREFIX?) to prepend to icon url to support
+   relative-based archives (see message from Oliver Creighton).
 
-=> Redo MHonArc using modules/class structure.  Basically a redesign
-   and implementation (MHonArc 3.x?).
+=> Add ability to decode all non-ASCII encoded headers.  Maybe useful
+   for sites that want to force everything to be treated as a single
+   character set and not mess with multiple encoding headache.
+
+=> Support filter chains: pre- and port-filters to MIMEFILTERS.
+
+=> Hashify all resources.
+
+=> Use message-IDs as filenames: Internal impacts, OS support problems.
+   Should be configurable?
+
+===========================================================================
+$Id: TODO,v 1.22 2002/07/28 23:25:39 ehood Exp $
diff --git a/VERSIONS b/VERSIONS
deleted file mode 100644
index 7aa40e2..0000000
--- a/VERSIONS
+++ /dev/null
@@ -1,85 +0,0 @@
-SCCS Version Numbers
-====================
-Note: SCCS versions do not correspond to product version
---------------------------------------------------------
-mhonarc:
-	 mhonarc 2.5 00/04/24 00:13:37
-mha-dbedit:
-	 mha-dbedit 1.3 00/04/24 00:13:52
-mha-dbrecover:
-	 mha-dbrecover 1.3 00/04/24 00:13:55
-mha-decode:
-	 mha-decode 1.3 00/04/24 00:13:53
-lib/base64.pl:
-	 base64.pl 2.1 98/03/02 20:24:23
-lib/ewhutil.pl:
-	 ewhutil.pl 2.7 00/02/08 10:04:07
-lib/iso2022jp.pl:
-	 iso2022jp.pl 1.2 00/01/15 17:54:50
-lib/iso8859.pl:
-	 iso8859.pl 2.4 99/08/13 22:10:35
-lib/mhamain.pl:
-	 mhamain.pl 2.23 01/06/10 17:37:25
-lib/mhdb.pl:
-	 mhdb.pl 2.15 01/06/10 17:38:53
-lib/mhdysub.pl:
-	 mhdysub.pl 2.4 99/07/25 02:02:34
-lib/mhexternal.pl:
-	 mhexternal.pl 2.8 01/04/10 21:36:40
-lib/mhfile.pl:
-	 mhfile.pl 2.4 99/06/25 14:13:41
-lib/mhidxrc.pl:
-	 mhidxrc.pl 2.7 00/10/28 10:47:42
-lib/mhindex.pl:
-	 mhindex.pl 1.6 99/10/01 02:03:44
-lib/mhinit.pl:
-	 mhinit.pl 2.23 01/06/10 17:35:46
-lib/mhlock.pl:
-	 mhlock.pl 1.2 99/07/13 00:48:29
-lib/mhmimetypes.pl:
-	 mhmimetypes.pl 1.6 01/06/10 17:37:44
-lib/mhmsgextbody.pl:
-	 mhmsgextbody.pl 1.1 99/09/28 23:17:50
-lib/mhmsgfile.pl:
-	 mhmsgfile.pl 1.4 99/08/04 23:14:15
-lib/mhnote.pl:
-	 mhnote.pl 1.2 99/06/25 14:21:43
-lib/mhnull.pl:
-	 mhnull.pl 1.5 01/06/10 17:35:03
-lib/mhopt.pl:
-	 mhopt.pl 2.20 01/04/10 21:36:41
-lib/mhrcfile.pl:
-	 mhrcfile.pl 2.15 01/06/10 17:39:12
-lib/mhrcvars.pl:
-	 mhrcvars.pl 2.13 01/04/10 21:36:41
-lib/mhrmm.pl:
-	 mhrmm.pl 1.4 00/04/24 00:03:36
-lib/mhscan.pl:
-	 mhscan.pl 1.2 99/06/25 14:23:50
-lib/mhsingle.pl:
-	 mhsingle.pl 1.5 99/08/04 23:39:52
-lib/mhthread.pl:
-	 mhthread.pl 2.6 99/06/25 14:18:25
-lib/mhtime.pl:
-	 mhtime.pl 2.8 00/01/15 17:51:12
-lib/mhtxtenrich.pl:
-	 mhtxtenrich.pl 2.4 00/02/08 10:04:43
-lib/mhtxthtml.pl:
-	 mhtxthtml.pl 2.15 01/06/10 17:36:57
-lib/mhtxtplain.pl:
-	 mhtxtplain.pl 2.12 01/06/10 17:39:30
-lib/mhtxtsetext.pl:
-	 mhtxtsetext.pl 2.2 99/08/15 21:52:26
-lib/mhtxttsv.pl:
-	 mhtxttsv.pl 2.3 99/06/25 14:21:02
-lib/mhusage.pl:
-	 mhusage.pl 2.14 01/04/10 21:36:41
-lib/mhutil.pl:
-	 mhutil.pl 2.9 00/01/17 17:18:15
-lib/osinit.pl:
-	 osinit.pl 2.4 99/07/13 00:46:45
-lib/qprint.pl:
-	 qprint.pl 2.4 00/04/24 00:04:24
-lib/readmail.pl:
-	 readmail.pl 2.10 01/06/10 17:39:42
-lib/rfc822.pl:
diff --git a/admin/images/mhaicon.gif b/admin/images/mhaicon.gif
deleted file mode 100644
index a0a9161391e022a624a64264cf74261e453ac8cf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 452
zcmZ?wbhEHblw}ZM_#(-`%D`eGz^1FLCaD{)=b!H_!jNXf9q($WlD9-++9#EXHHhEE$9eq3Pq|AFDy{wYAk3>ZN1CkrP7
zgCv9EKQ#pf&)kCiqLS1Ug|wplTm^SeH-*gH#Pn1vh1`t%yu_kpz4Xj91|5(YAlEst
z{!>trX>u^}nx^QnO6$#SfrA-6AO
z0XwDs{3RE-4scB@u~0ga8_w$G`cK+NPsH-tT^A8;Q3*z2J|;cQb|yYyMu`U3sDh$m
zfh>k3fyveRmP~9SnSzxJm6;3JnCAE~3lxir^D^^_ujBVw6>TCA#pSp?-PWMg4qVOu!)(Hy5>+X^;@`JaPX
z8FxssGcq!CgfKBYWOQKo&-dZ9!h?e{2KEddD-u>QwS;iCYu6aZ#23tvSsByOY_mhvQ#*+`0}hg2u9Qvsx60NQB)xT6}ElU3T7
z0P?T^_|O3V@BqfYlm!3;Gz1n000001bW%=J06^y0W&i*H0b)x>L>CLzn2!Je0Srk*
zK~#9!Ws=)=gdhw>6NW^J0vbU6|4)0cU7gY9fkU#*1%!fIobziW3IPkn5U{MC5f9`=
zQ`(eQ5a0+#E9;h$il-n_>&eIFkO_*#Z3myVip+wdC#VRAiv|_}J(aIca8pUC6bX@I
zkW!|{GJ9NDtyTop53f*o$fREj0^c%n21?}V$R8wPX|4BeI@F-83BMtZh0vZ^hDhG=
zArA9l3-cI~%g6~E=H(NTQ=8M+FsK!Ecbck|)b_F0IdZ6AZBuJZ6HTUMj&Zz
jVP|DJAZ=)GZeem`E@x?GE;t1700000NkvXXu0mjf1FFa5

literal 0
HcmV?d00001

diff --git a/admin/images/mhanote_s.gif b/admin/images/mhanote_s.gif
deleted file mode 100644
index 5ff42510a8827106d170c145f2e41b2bd2207293..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1049
zcmeH`Yfq8^6vt0VC9d+4wc0En$~EUSD=bMvGD~0;J>{gKMm+@@G13`Hm=%JWm5MFw
zHiMdFb`=**+giqDt0#dc3u>*)nl=|(zOc)(H=W=E^bPv$ceb;$o&Sro9ih08w}y&`
zc=&Y{rp%lL@$rd?$*^h_aC3pr2Yy~g25`CIL1tFgTF4WDKm6cO;Ye}IVMFUtgUJN-^<1M-@ZeUm$&}xEX|u&5GnsUEJLL}@
zJMP@w-`A(|c(MZl$+vgALZPzpaViw5427!3#}7_U?m^r?F>wg-xS_GpU}!O$TiTnN
zE}AFIOhz7)ZL?faJu>r9Wu?g`6{%J-$iFgXJ6|oJm9q}xpPihE6c-XI4OOAcAvF7_1C?6kvI
zq(_n>-?J{-3kB>X(ef=ViKWpo4IE|cXdt3Wl
z)&iNOXGA!3CMAaT+1pI5Z=5c#PSAfF*%TKQyX0kmD1UgDsU*)4y)lY4ZyopMOJ`R_bc``=GkNp=Q^_KMX{w&L;`PSn*(*<_
Jkn`gp_b(jOX%YYc

diff --git a/admin/images/mhanote_s.png b/admin/images/mhanote_s.png
new file mode 100644
index 0000000000000000000000000000000000000000..bda893be8d595c495b7cd4cdee74afb9941b888f
GIT binary patch
literal 721
zcmWkrYe-W86h0bgiju=ekeD+J)bg!l*?ewpH*Kv=XLEBo-KKNQ>AW_bR@dETS~I0K
z&`>H&i_p?C)P7A;w5UIoqP-v`V}*o5pdp>EhwnVT556DgoDPwY@9%rS7XbVT0awg)
z)^6_I!&JX#6Y~Hbb)teop3CI|7Aq(y98yyuIUP70;AF(cLUJ-A#HXa3gbV>>3V_dt
z>@z?RAeVzo0i~s&RDwzc6&29Z5=#(KV)3z}Vs0jg(!z4GAvZU$qy*F&(CcHGn&L?^
z$!z9as?W4o(py?Me7;C1lnA6!k%%voNMtewMGA#fsZ`2jTB%B<(d6lLdcEF2l2vAN
zqs7ty*RKQB4|hgkZXVt(!q-(;U4^wZs=3JCNOfMMXc}5uldaaw=a0f^I=l0Bfx{uA
zY4b>*a%#MIc%*u4OgA%g?867)=BM*+w_<%=<#rq0?%MVB`mL>U#OjTW2E@yh%|=o7
zt}c6bTU&3J)8TXu3=9qp4L#Y7(ed%|iHXU{$tgq%u@%vZNF!cBv>~=3Ud4ayh#iR6
z5IYfXAa*0(LUb^9cDbfK{QOV7IJ}?vfd?rTN+4@(NxMtR^Z8s$+Jdc`A#(&byRh+N
zMHxk_bKh2Z1+gQJz7F;NG24@vuy<)$UiFfv*!i;>w!Ag_&C_do&{k7qEw}q5uohO{
zlg6F1QhILMhdqgd88zO~^~`J^9?sGk!+RsU+ml2-0qP&y
ze_#DdO1PgCWuqNbq0?3e!97u2hdPIA+U!fE4n-?HwwnU(tq3l(e<`Vs=-rl0@xBk5
zekOSTeApJkn`$;CMr_N^oL!uE1|E-$3G6&w@qW4hqP!CgL+t((W~DficaF?88Vs5m
z64-3QP-`@i8Z}#MG8))?B9E;zs46ul*oG=qjgi#ERqC|AKR=}zClEX#_i;{{^*@p%
BGOhps

literal 0
HcmV?d00001

diff --git a/admin/mhaadmin.cgi b/admin/mhaadmin.cgi
index 3dd84b2..ba7ff60 100755
--- a/admin/mhaadmin.cgi
+++ b/admin/mhaadmin.cgi
@@ -1,7 +1,7 @@
 #!/usr/local/bin/perl
 ##---------------------------------------------------------------------------##
 ##  File:
-##	@(#) mhaadmin.cgi 1.2 99/08/11 22:16:37
+##	$Id: mhaadmin.cgi,v 1.3 2001/12/24 13:31:57 ehood Exp $
 ##  Author:
 ##      Earl Hood       mhonarc@pobox.com
 ##  Description:
@@ -65,8 +65,8 @@ MAIN: {
 
     if ($Debug) { warn '@INC=', join(':', @INC), "\n"; }
 
-    $menulogo	= "$Rc->{'iconurl'}/mhaicon.gif";
-    $noteicon	= "$Rc->{'iconurl'}/mhanote_s.gif";
+    $menulogo	= "$Rc->{'iconurl'}/mhaicon.png";
+    $noteicon	= "$Rc->{'iconurl'}/mhanote_s.png";
 
     $ENV{'M2H_LOCKMETHOD'} = $Rc->{'lockmethod'}
 	if defined($Rc->{'lockmethod'});
diff --git a/contrib/README b/contrib/README
new file mode 100644
index 0000000..0b1f5f3
--- /dev/null
+++ b/contrib/README
@@ -0,0 +1,17 @@
+README for MHonArc/contrib
+
+  The files in this directory are contributed by others and are not
+  directly supported by the MHonArc development team.  They are
+  provided AS-IS and on the terms specified by the contributers
+  themselves.
+
+---------------------------------------------------------------------------
+CONTENTS of directory:
+
+prsfrom.pl	Contributer: A.R. Burgers, burgers(AT)ecn.nl
+		Supply missing Date: and From: fields to mailboxes.
+		Documentation in POD format included in the source.
+		Use the pod2* utilities provided with Perl to convert
+		POD documentation into desired format.
+
+---------------------------------------------------------------------------
diff --git a/extras/prsfrom.pl b/contrib/prsfrom.pl
similarity index 100%
rename from extras/prsfrom.pl
rename to contrib/prsfrom.pl
diff --git a/dev.mk b/dev.mk
new file mode 100644
index 0000000..8717cb9
--- /dev/null
+++ b/dev.mk
@@ -0,0 +1,65 @@
+# $Id: dev.mk,v 2.4 2002/05/07 22:59:40 ehood Exp $
+##-----------------------------------------------------------------------##
+##  Development makefile.
+##-----------------------------------------------------------------------##
+
+.PHONY: release code-check
+
+TOP     = .
+SUBDIRS = \
+	  lib \
+	  # End SUBDIRS
+
+include $(TOP)/etc/variables.mk
+
+##-----------------------------------------------------------------------##
+
+TAR_EXCLUDE	= ./etc/tar-exclude
+DIST_DIR	= ./dist
+INSTALL_ME	= $(PROJECTS_RELEASES)/install.me/latest/install.me
+VERSION_NAME	= MHonArc$(_RELEASE_VERSION)
+
+PERL_FILES	= \
+		  Makefile.PL \
+		  mhonarc \
+		  mha-dbedit \
+		  mha-dbrecover \
+		  mha-decode \
+		  # End PERL_FILES
+
+##-----------------------------------------------------------------------##
+
+default: code-check
+
+release: version-check code-check
+	@$(RM) -rf $(DIST_DIR)
+	-@$(MKDIR) -p $(DIST_DIR)/$(VERSION_NAME)
+	@echo "Copying files to $(DIST_DIR)..."
+	$(TAR) -c -X $(TAR_EXCLUDE) -f - . | \
+	    (cd $(DIST_DIR)/$(VERSION_NAME) && $(TAR) xfp -)
+	$(CP) $(INSTALL_ME) $(DIST_DIR)/$(VERSION_NAME)
+	(cd $(DIST_DIR)/$(VERSION_NAME) && $(PERL) Makefile.PL)
+	(cd $(DIST_DIR)/$(VERSION_NAME) && $(MAKE) release-prep)
+	@$(RM) -f $(DIST_DIR)/$(VERSION_NAME)/Makefile
+	@(echo "Creating tar bundles..." && \
+	  cd $(DIST_DIR) && \
+	  $(TAR) -cf $(VERSION_NAME).tar $(VERSION_NAME) && \
+	  echo "  ...bz2..." && \
+	  $(BZIP2) -k $(VERSION_NAME).tar && \
+	  echo "  ...gz..." && \
+	  $(GZIP) $(VERSION_NAME).tar)
+	@(echo "Creating zip bundle..." && \
+	  cd $(DIST_DIR) && \
+	  $(ZIP) -r $(VERSION_NAME).zip $(VERSION_NAME))
+
+version-check:
+	@$(PERL) etc/version-check.pl "$(_RELEASE_VERSION)" lib/mhamain.pl
+
+code-check: make_subdirs perl_syntax
+
+clean:
+	$(RM) -rf $(DIST_DIR) Makefile
+
+##-----------------------------------------------------------------------##
+
+include $(TOP)/etc/rules.mk
diff --git a/doc/COPYING b/doc/COPYING
new file mode 100644
index 0000000..5b6e7c6
--- /dev/null
+++ b/doc/COPYING
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    
+    Copyright (C)   
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  , 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..2eb0dbc
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,81 @@
+# $Id: Makefile,v 1.12 2002/07/27 05:13:10 ehood Exp $
+
+.PHONY: default rcpages residx toc pagetocs buttons rcfileexs utildocs vim
+
+TOP	  = ..
+
+include $(TOP)/etc/variables.mk
+
+TOCFILE	  = mhonarc.html
+HTMLFILES = intro.html \
+	    relnotes.html \
+	    install.html \
+	    quickstart.html \
+	    commontasks.html \
+	    layout.html \
+	    resources.html \
+	    rcvars.html \
+	    contacts.html \
+	    app-rcidx.html \
+	    app-rcfileexs.html \
+	    app-diagnos.html \
+	    app-utilsprg.html \
+	    app-api.html \
+	    app-mimeconf.html \
+	    app-bugs.html \
+	    # End of HTMLFILES
+
+UTIL_PODS = \
+	    $(TOP)/mha-dbedit \
+	    $(TOP)/mha-dbrecover \
+	    $(TOP)/mha-decode \
+	    # End of UTIL_PODS
+
+RCLIST	  = _helper/resource.lst
+RCVARLIST = _helper/rcvars.lst
+
+
+default: rcpages residx rcfileexs toc pagetocs buttons utildocs vim
+
+rcpages:
+	$(MAKE) -C resources all
+
+residx:
+	$(PERL) _helper/addrcindex.pl $(RCLIST) resources.html app-rcidx.html
+
+toc:
+	$(PERL) _helper/addtoc.pl $(TOCFILE) $(HTMLFILES)
+
+pagetocs:
+	$(PERL) _helper/addtoc-i.pl $(HTMLFILES)
+
+buttons:
+	$(PERL) _helper/addbuttons.pl $(HTMLFILES)
+
+rcfileexs:
+	-@$(MKDIR) -p rcfileexs
+	@for i in ../examples/*.mrc; do \
+	  echo "Converting $$i to html..."; \
+	  $(PERL) _helper/ppeg.pl $(RCLIST) $(RCVARLIST) $$i > \
+		  rcfileexs/`basename $$i`.html; \
+	done
+
+vim:
+	$(PERL) _helper/addvimtags.pl $(RCLIST) ../examples/mhonarc.vim
+
+utildocs: $(UTIL_PODS)
+	-@$(RM) -f pod2htm*~~
+
+$(UTIL_PODS): _force
+	-@$(MKDIR) -p utils
+	pod2html --header --infile=$@ \
+		 --outfile=utils/$(notdir $@).html
+
+clean:
+	$(RM) -rf *.gml \
+	          pod2htm*~~ \
+		  utils \
+		  rcfileexs/*.mrc.html
+
+_force:
+
diff --git a/doc/_helper/Makefile b/doc/_helper/Makefile
new file mode 100644
index 0000000..9d6c3f9
--- /dev/null
+++ b/doc/_helper/Makefile
@@ -0,0 +1,21 @@
+# $Id: Makefile,v 1.5 2002/05/04 04:59:59 ehood Exp $
+
+.PHONY: default vim restbl ctypetbl clean
+
+TOP	  = ../..
+include $(TOP)/etc/variables.mk
+
+default: vim
+
+restbl:
+	$(PERL) mkrestbl.pl resource.lst > restbl.html
+
+ctypetbl:
+	$(PERL) dumpctypes.pl 1>ctypes.tmp 2>&1
+	$(PERL) mkctypetbl.pl ctypes.tmp > ctypetbl.gml
+
+vim:
+	$(PERL) addvimtags.pl resource.lst ../../examples/mhonarc.vim
+
+clean:
+	$(RM) -f *.tmp *.gml
diff --git a/doc/_helper/addbuglist.pl b/doc/_helper/addbuglist.pl
new file mode 100755
index 0000000..25288da
--- /dev/null
+++ b/doc/_helper/addbuglist.pl
@@ -0,0 +1,78 @@
+#!/usr/local/bin/perl
+## !!!NO LONGER USED!!!
+
+$bugfile = shift @ARGV;
+$file = shift @ARGV;
+
+system("/bin/cp $file $file.$$");
+open(IN, "$file.$$") or die "Unable to open $file\n";
+open(OUT, ">$file") or die "Unable to create $file\n";
+open(BUGS, "$bugfile") or die "Unable to open $bugfile\n";
+
+while () {
+    print OUT $_;
+    if (//) {
+	while () {
+	    last  if //;
+	}
+	print OUT qq{\n};
+
+	while () { last  if /^------------------/; }
+	%h = ();
+	while () {
+	    if (/^------------------/) {
+		if (%h) {
+		    $text =<
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+EndOfText
+		    print OUT $text;
+		}
+		%h = ();
+		next;
+	    }
+	    if (/^\S/) {
+		/^([^:]+):\s*(.*)$/;
+		$key = $1;
+		$h{$key} = &htmlize($2);
+		next;
+	    }
+	    s/^\s+//;
+	    $h{$key} .= " " . &htmlize($_);
+	}
+	print OUT qq{

Version:$h{"Version"}
Problem:$h{"Problem"}
Solution:$h{"Solution"}
Fixed:$h{"Version Fixed"}
\n}; + print OUT "\n"; + } +} + +close IN; +close OUT; +close BUGS; +unlink "$file.$$"; + +exit 0; + +sub htmlize { + my $str = shift; + + $str =~ s/\&/\&/g; + $str =~ s/$file") or die "Unable to create $file\n"; + + while () { + print OUT $_; + if (//) { + while () { + last if //; + } + print OUT qq|\n|, + qq|\n|; + print OUT qq|'; + print OUT qq||; + print OUT qq|
|; + if ($i > 0) { + print OUT qq|[Prev]|; + } else { + print OUT qq|[Prev]|; + } + print OUT '   |, +qq|[TOC]|, +qq|[FAQ]|, +qq|[Bugs]|, +qq||, +qq|[Home]|, + qq|   |; + if ($i < $#ARGV) { + print OUT qq|[Next]|; + } else { + print OUT qq|[Next]|; + } + print OUT qq|
\n|; + print OUT qq|\n|; + } + } + + close IN; + close OUT; + unlink "$file.$$"; +} + +exit 0; diff --git a/doc/_helper/addctypetbl.pl b/doc/_helper/addctypetbl.pl new file mode 100755 index 0000000..a50716b --- /dev/null +++ b/doc/_helper/addctypetbl.pl @@ -0,0 +1,42 @@ +#!/usr/local/bin/perl + +$filterpl = shift @ARGV; +require $filterpl; + +for ($i=0; $i <= $#ARGV; $i++) { + $file = $ARGV[$i]; + system("/bin/cp $file $file.$$"); + open(IN, "$file.$$") or die "Unable to open $file\n"; + open(OUT, ">$file") or die "Unable to create $file\n"; + + while () { + print OUT $_; + if (//) { + while () { + last if //; + } + print OUT qq{\n}, + qq{\n}, + qq{}, + qq{}, + qq{}, + qq{\n}; + foreach $ctype (sort keys %mhonarc::CTExt) { + ($extstr, $desc) = split(/:/, $mhonarc::CTExt{$ctype}, 2); + $ext = (split(/,/, $extstr))[0]; + print OUT qq{\n}, + qq{\n}, + qq{\n}, + qq{\n}; + } + print OUT "
Content-typeExtensionDescription
$ctype$ext$desc
\n"; + print OUT "\n"; + } + } + + close IN; + close OUT; + unlink "$file.$$"; +} + +exit 0; diff --git a/doc/_helper/addrcindex.pl b/doc/_helper/addrcindex.pl new file mode 100755 index 0000000..4f87a07 --- /dev/null +++ b/doc/_helper/addrcindex.pl @@ -0,0 +1,142 @@ +#!/usr/local/bin/perl + +$rclist = shift @ARGV; +open(RC, $rclist) or die "Unable to open $rclist: $!\n"; +while () { + next unless /\S/; + chomp; + ($rc, $type, $env, $elem, $clopt, $text) = split(/:/, $_, 6); + $rc{$rc} = $text; + $env{$env} = [ $rc, $text ] if $env =~ /\S/; + $elem{$elem} = [ $rc, $text ] if $elem =~ /\S/; + $clopt{$clopt} = [ $rc, $text ] if $clopt =~ /\S/; +} +close RC; + +foreach $file (@ARGV) { + print STDOUT "$file ...\n"; + + system("/bin/cp $file $file.$$"); + open(IN, "$file.$$") or die "Unable to open $file.$$: $!\n"; + open(OUT, ">$file") or die "Unable to create $file: $!\n"; + + while () { + print OUT $_; + if (//) { + while () { + last if (//); + } + select(OUT); + print < + +ResourceDescription + +EndOfText + + foreach $rc (sort keys %rc) { + $urc = uc $rc; + print qq||, + qq||, + qq|$urc|, + qq| $rc{$rc}\n|; + } + + print < +EndOfText + print "\n"; + next; + } + + if (//) { + while () { + last if (//); + } + select(OUT); + print < + +EnvariableDescription + +EndOfText + foreach $env (sort keys %env) { + @a = map { "" . htmlize($_) . "" } + split(/,/, $env); + ($rc, $desc) = @{$env{$env}}; + print qq||, + qq||, + join('
', @a), + qq|
|, + qq| $desc\n|; + } + print "\n\n"; + next; + } + + if (//) { + while () { + last if (//); + } + select(OUT); + print < + +ElementDescription + +EndOfText + foreach $elem (sort keys %elem) { + @a = map { "" . htmlize($_) . "" } + split(/,/, $elem); + ($rc, $desc) = @{$elem{$elem}}; + print qq||, + qq||, + join('
', @a), + qq|
|, + qq| $desc\n|; + } + print "\n\n"; + next; + } + + if (//) { + while () { + last if (//); + } + select(OUT); + print < + +OptionDescription + +EndOfText + foreach $clopt (sort keys %clopt) { + @a = map { "" . htmlize($_) . "" } + split(/,/, $clopt); + ($rc, $desc) = @{$clopt{$clopt}}; + print qq||, + qq||, + join('
', @a), + qq|
|, + qq| $desc\n|; + } + print "\n\n"; + next; + } + + } + + close IN; + close OUT; + unlink "$file.$$"; +} + +exit 0; + +sub htmlize { + $str = shift; + $str =~ s/\&/\&/g; + $str =~ s//\>/g; + $str; +} diff --git a/doc/_helper/addrcnav.pl b/doc/_helper/addrcnav.pl new file mode 100755 index 0000000..0a077c8 --- /dev/null +++ b/doc/_helper/addrcnav.pl @@ -0,0 +1,83 @@ +#!/usr/local/bin/perl -w +#========================================================================== +# $Id: addrcnav.pl,v 1.1 2002/07/27 05:13:10 ehood Exp $ +# Description: +# Generate nav links for resource reference pages. +#========================================================================== + +my $tblbegin =< + +EndOfText + +my $tblend =<
+ +EndOfText + +$tmpfile = ",$$"; +for ($i=0; $i < scalar(@ARGV); ++$i) { + $file = $ARGV[$i]; + print STDOUT qq/Processing "$file" ...\n/; + ($rcname = $file) =~ s/\.html$//; + #$rcname_uc = uc $rcname; + + if ($i != 0) { + ($prev_rcname = $ARGV[$i-1]) =~ s/\.html$//; + $prev_rcname_uc = uc $prev_rcname; + } else { + $prev_rcname = undef; + $prev_rcname_uc = undef; + } + if ($i != $#ARGV) { + ($next_rcname = $ARGV[$i+1]) =~ s/\.html$//; + $next_rcname_uc = uc $next_rcname; + } else { + $next_rcname = undef; + $next_rcname_uc = undef; + } + + $link_text = $tblbegin . ''; + if (defined($prev_rcname)) { + $link_text .= qq|[Prev: | . + qq|$prev_rcname_uc]|; + } else { + $link_text .= " \n"; + } + $link_text .= qq||. + qq|[Resources]|. + qq|[TOC]|. + qq||; + if (defined($next_rcname)) { + $link_text .= qq|[Next: |. + qq|$next_rcname_uc]|; + } else { + $link_text .= " \n"; + } + $link_text .= ''. $tblend; + + open(IN, $file) || die qq/Unable to open "$file": $!/; + open(OUT, ">$tmpfile") || die qq/Unable to create "$tmpfile": $!/; + + $okay = 0; + while () { + if (//) { + while () { + if (//) { + print OUT $link_text; + $okay = 1; + last; + } + } + if (!$okay) { + die qq/Hit EOF early for "$file"/; + } + next; + } + print OUT $_; + } + close(OUT); + close(IN); + rename($tmpfile, $file) || + die qq/Unable to rename "$tmpfile" to "$file": $!/; +} diff --git a/doc/_helper/addtoc-i.pl b/doc/_helper/addtoc-i.pl new file mode 100755 index 0000000..09e7d0a --- /dev/null +++ b/doc/_helper/addtoc-i.pl @@ -0,0 +1,62 @@ +#!/usr/local/bin/perl +# +# $Id: addtoc-i.pl,v 1.2 1999/09/30 16:56:21 ehood Exp $ + +my($tocfile, $toctxt); +my $h3 = 0; + +foreach $tocfile (@ARGV) { + if (! -w $tocfile) { + warn qq/Warning: "$tocfile" is not writable\n/; + next; + } + system("/bin/cp $tocfile $tocfile.$$"); + open(IN, "$tocfile.$$") or die "Unable to open $tocfile\n"; + open(OUT, ">$tocfile") or die "Unable to create $tocfile\n"; + $h3 = 0; + + $toctxt = ""; + while () { + chomp; + next unless m|||gi; + s|||gi; + s|||gi; + s|]*>||gi; + $toctxt .= qq|
  • |; + $toctxt .= qq|| if $h3; + $toctxt .= qq|$_|; + $toctxt .= qq|| if $h3; + $toctxt .= qq|\n|; + } + if ($h3) { + $toctxt .= "\n"; + } + + seek IN, 0, 0; + while () { + print OUT $_; + if (//) { + while () { + last if (//); + } + print OUT "
      \n", $toctxt, "
    \n", + "\n"; + } + } + + close IN; + close OUT; + unlink "$tocfile.$$"; +} + +exit 0; diff --git a/doc/_helper/addtoc.pl b/doc/_helper/addtoc.pl new file mode 100755 index 0000000..8b06943 --- /dev/null +++ b/doc/_helper/addtoc.pl @@ -0,0 +1,43 @@ +#!/usr/local/bin/perl -i + +$tocfile = shift @ARGV; +system("/bin/cp $tocfile $tocfile.$$"); +open(IN, "$tocfile.$$") or die "Unable to open $tocfile\n"; +open(OUT, ">$tocfile") or die "Unable to create $tocfile\n"; + +while () { + print OUT $_; + if (//) { + while () { + last if (//); + } + foreach $file (@ARGV) { + open(FILE, $file) or die "Unable to open $file\n"; + + print OUT "
      \n"; + while () { + chomp; + next unless m|||gi; s|||gi; + print OUT qq{
    • $_\n
        \n}; + last; + } + while () { + chomp; + next unless m|||gi; s|||gi; + print OUT qq{
      • $_
      • \n}; + } + print OUT "
      \n
    \n"; + close FILE; + } + print OUT "\n"; + } +} +close IN; +close OUT; +unlink "$tocfile.$$"; + +exit 0; diff --git a/doc/_helper/addvartbls.pl b/doc/_helper/addvartbls.pl new file mode 100755 index 0000000..d2af301 --- /dev/null +++ b/doc/_helper/addvartbls.pl @@ -0,0 +1,123 @@ +#!/usr/local/bin/perl + +my $tblbegin =< + +VariableValue + +EndOfText + +my $tblend =< +EndOfText + +my $rcfile = shift @ARGV; +my $varfile = shift @ARGV; + +my %Rc2Type = (); +my %RcExceptions = (); + +open(RCFILE, $rcfile) or die "Unable to open $rcfile: $!\n"; +while () { + chomp; + $type = ''; + ($rc, $type, $desc) = (split(/:/, $_, 6))[0,1,5]; + @exceptions = (); + ($type, @exceptions) = split(/,/, $type); + $Rc2Type{$rc} = $type; + $RcExceptions{$rc} = { + 'inc' => { }, + 'exc' => { }, + }; + if (@exceptions) { + foreach $var (@exceptions) { + if ($var =~ s/!//) { + $RcExceptions{$rc}{'exc'}{$var} = 1; + } else { + $RcExceptions{$rc}{'inc'}{$var} = 1; + } + } + } +} +close(RCFILE); + +open(VARFILE, $varfile) or die "Unable to open $varfile: $!\n"; +while () { + chomp; + ($var, $type, $txt) = split(/:/, $_, 3); + if ($var =~ s/\((\w+)\)//) { + $VarType{$var} = $1; + } + $Vars{$var} = $txt; + $IdxVars{$var} = $txt if $type =~ /I/; # within listing + $TIdxVars{$var} = $txt if $type =~ /T/; # within listing + $IdxVarsNM{$var} = $txt if $type =~ /i/; # outside of listing + $TIdxVarsNM{$var} = $txt if $type =~ /t/; # outside of listing + $MsgVars{$var} = $txt if $type =~ /M/; # message pages + $MsgFixVars{$var} = $txt if $type =~ /F/; # message pages (fixed areas) + $MailtoURLVars{$var} = $txt if $type =~ /U/; # MAILTOURL +} +close(VARFILE); + +$tmpfile = ",$$"; +foreach $file (@ARGV) { + ($rc = $file) =~ s/\..*//; + + $hash = undef; + $hash = \%MailtoURLVars if $Rc2Type{$rc} =~ /U/; + $hash = \%IdxVars if $Rc2Type{$rc} =~ /I/; + $hash = \%TIdxVars if $Rc2Type{$rc} =~ /T/; + $hash = \%IdxVarsNM if $Rc2Type{$rc} =~ /i/; + $hash = \%TIdxVarsNM if $Rc2Type{$rc} =~ /t/; + $hash = \%MsgVars if $Rc2Type{$rc} =~ /M/; + $hash = \%MsgFixVars if $Rc2Type{$rc} =~ /F/; + + &cp($file, $tmpfile); + open(IN, $tmpfile) or die "Unable to open $tmpfile: $!\n"; + open(OUT, "> $file") or die "Unable to create $file: $!\n"; + while () { + next unless /

    Resource Variables/i; + print OUT $_; + while () { + next unless /^ +
    +

    Syntax

    + +
    + +
    Envariable
    +

    +M2H_$Name= +

    +
    + +
    Element
    +

    +<$Name>
    +</$Name>
    +

    +
    + +
    Command-line Option
    +

    +-$name +

    +
    + +
    + + +
    +

    Description

    + +

    +

    + + +
    +

    Default Setting

    + +

    +

    + + +
    +

    Resource Variables

    + +

    N/A +

    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    +

    + + +
    +

    See Also

    + +

    +

    + + +
    +
    +\$Date\$
    + +MHonArc
    +Copyright © 2002, Earl Hood, mhonarc\@mhonarc.org
    +
    + + + +EndOfText + + close(FILE); + print STDOUT "Created $name\n"; +} diff --git a/doc/_helper/ppeg.pl b/doc/_helper/ppeg.pl new file mode 100755 index 0000000..2c6f08e --- /dev/null +++ b/doc/_helper/ppeg.pl @@ -0,0 +1,90 @@ +#!/usr/local/bin/perl + +my %elem = ( ); +my %rcvar = ( ); + +$rclist = shift @ARGV; +open(RC, $rclist) or die "Unable to open $rclist: $!\n"; +while () { + next unless /\S/; + ($rc, $elems) = (split(/:/, $_, 6))[0,3]; + next unless $elems =~ /\S/; + $elems =~ s/[<>]//g; + @a = map { lc $_ } split(/,/, $elems); + foreach $elem (@a) { + $elem{$elem} = $rc; + } +} +close RC; + +$rcvarlist = shift @ARGV; +open(RC, $rcvarlist) or die "Unable to open $rcvarlist: $!\n"; +while () { + next unless /\S/; + ($rcvar) = (split(/:/, $_, 2))[0]; + $rcvar =~ s/\([^)]*\)//; + $rcvar{$rcvar} = 1; +} +close RC; + +#foreach (sort keys %rcvar) { print STDERR "$_\n"; } + +print <<'EOT'; + + +
    +EOT
    +
    +LINE: while (<>) {
    +    ELEM: {
    +	if (/^\s*<(\w[\w\-]*)[^>]*>\s*$/) {
    +	    if ($rc = $elem{lc $1}) {
    +		chomp;
    +		print qq||,
    +		      htmlize($_),
    +		      qq|\n|;
    +	    } else {
    +		last ELEM;
    +	    }
    +	    next LINE;
    +	}
    +
    +	if (/^\s*<\/(\w[\w\-]*)/) {
    +	    if ($rc = $elem{lc $1}) {
    +		chomp;
    +		print '', htmlize($_), "\n";
    +	    } else {
    +		last ELEM;
    +	    }
    +	    next LINE;
    +	}
    +    }
    +
    +    @a = split(/(\$[^\$]+\$)/, $_);
    +    foreach $val (@a) {
    +	if ( ($val =~ /^\$/) &&
    +	     ($val =~ /([\w\-]+)/) &&
    +	     $rcvar{$1}) {
    +	    print qq||,
    +		  htmlize($val),
    +		  qq||;
    +	    next;
    +	}
    +	print htmlize($val);
    +    }
    +}
    +
    +print <<'EOT';
    +
    + + +EOT + +sub htmlize { + my $str = shift; + $str =~ s/&/&/g; + $str =~ s//>/g; + $str; +} + diff --git a/doc/_helper/rcvars.lst b/doc/_helper/rcvars.lst new file mode 100644 index 0000000..9f9e1ce --- /dev/null +++ b/doc/_helper/rcvars.lst @@ -0,0 +1,57 @@ +A_ATTR:IT:The NAME and HREF attributes to use in an anchor to link to the archived message. The NAME attribute links the messages to the index page. +A_HREF:IT:The HREF attribute to use in an anchor to link to the archived message. +A_NAME:IT:The NAME attribute to use in an anchor for messages to link to the index page. +BUTTON(M):M:Button markup linking to a message. +DATE(M):ITMF:The date of the message. +DDMMYYYY(M):ITMF:Message date in dd/mm/yyyy format. +DOCURL:itM:URL to documentation. +ENV:itITMF:Value of an environment variable. +FROM(M):ITMF:The complete text in the From: field of the message. +FROMADDR(M):ITMFU:The e-mail address in the From: field of the message. +FROMADDRNAME(M):ITMFU:The e-mail address "username" (or local-part) of the From: field of the message. +FROMADDRDOMAIN(M):ITMFU:The e-mail address domain of the From: field of the message. +FROMNAME(M):ITMFU:The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used. +GMTDATE(T):itM:Current GMT date. +ICON(M):ITM:The context-type sensitive icon. +ICONURL(M):ITM:The URL to the context-type sensitive icon. +IDXFNAME:itM:Filename of main index page. +IDXLABEL:itM:Label for main index page. +IDXPREFIX:itM:Prefix of filenames of main index pages. +IDXSIZE:itM:Max number of messages that may be listed in index page. +IDXTITLE:itM:The title of the main index page. +LINK(M):M:Link markup linking to a message. +LOCALDATE(T):itM:Current local date. +MMDDYYYY(M):ITMF:Message date in mm/dd/yyyy format. +MSG(M):M:Filename of message. +MSGGMTDATE(T):ITMFU:GMT date of current message. +MSGID(M):ITMFU:The message-id of the message. +MSGLOCALDATE(T):ITMFU:Local date of current message. +MSGNUM(M):ITM:The message number assigned to the message by MHonArc (includes leading zeros). +MSGPREFIX:ITMF:Filename prefix for message files. +MSGTORDNUM(T):ITMF:The ordinal message number of the current discussion thread. +NOTE(M):ITM:Message annotation. +NOTETEXT(M)::Base text of message annotation. +PG(P):i:Filename of an index page. +PGLINK(P):i:Markup linking to an index page. +PGLINKLIST:i:List of links to index pages. +NUMFOLUP(M):ITM:Number of explicit follow-ups to the message. +NUMOFIDXMSG:it:Number of message listed. +NUMOFMSG:itM:Number of messages in the archive. +NUMOFPAGES:itM:Number of index pages. +ORDNUM(M):ITM:The current listing number of the message. +OUTDIR:itM:Pathname of archive. +PAGENUM:i:Current index page number. +PROG:itM:Program name +SUBJECT(M):ITM:The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message. +SUBJECTNA(M):ITMF:The subject text of the message without the anchor element. +TIDXFNAME:itM:Filename of thread index page. +TIDXLABEL:itM:Label for thread index page. +TIDXPREFIX:itM:Prefix of filenames of thread index pages. +TIDXTITLE:itM:Title of thread index. +TLEVEL:TM:Numeric level of message in thread, starting with 0. +TO:U:The email address (MAILTOURL only). +TOADDRNAME:U:The e-mail address "username" (or local-part) (MAILTOURL only). +TOADDRDOMAIN:U:The e-mail address domain (MAILTOURL only). +TSLICE:M:A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. +VERSION:itM:Program version. +YYYYMMDD:ITMF:Message date in yyyy/mm/dd format. diff --git a/doc/_helper/resource.lst b/doc/_helper/resource.lst new file mode 100644 index 0000000..3a3e98f --- /dev/null +++ b/doc/_helper/resource.lst @@ -0,0 +1,236 @@ +add::::-add:Add messages to the archive. +addressmodifycode::M2H_ADDRESSMODIFYCODE::-addressmodifycode:Perl expressions modifying displayed addresses in headers. +afs::M2H_AFS::-afs:Skip archive directory permission check. +annotate::M2H_ANNOTATE::-annotate:Add/set annotation for message(s). +archive::M2H_ARCHIVE::-archive,-noarchive:Create archive. +authorbegin:I::::Markup at the start of a author group. +authorend:::::Markup at the end of a author group. +authsort::M2H_AUTHSORT:,:-authsort,-noauthsort:Sort main index by author. +botlinks:M::::Links markup at the bottom of message pages. +charsetconverters:::::Charater set filter functions. +checknoarchive::M2H_CHECKNOARCHIVE:,:-checknoarchive,-nochecknoarchive:Honor "no archive" flag in messages. +conlen::M2H_CONLEN:,:-conlen,-noconlen:Use Content-Length value. +datefields::M2H_DATEFIELDS::-datefields:List of fields to extract date of message. +daybegin:I::::Markup at the start of a day group. +dayend:::::Markup at the end of a day group. +dbfile::M2H_DBFILE::-dbfile:Name of archive database file. +decodeheads::M2H_DECODEHEADS:,:-decodeheads,-nodecodeheads:Store "decode-only" characters sets in raw form. +definederived:M::::Define extra file(s) to generate for each message page. +definevar::::-definevar:Define a custom resource variable. +defrcfile::M2H_DEFRCFILE:::Pathname of default resource file. +defrcname::M2H_DEFRCNAME:::Name of default resource file. +doc::M2H_DOC:,:-doc,-nodoc:Add link to documentation. +docurl::M2H_DOCURL::-docurl:URL to documentation +editidx::::-editidx:Modify archive with new resource settings. +excs:::::List of header fields to exclude. +expireage::M2H_EXPIREAGE::-expireage:Length of time to keep a message in an archive. +expiredate::M2H_EXPIREDATE::-expiredate:Expiration of date of message. +fieldorder:::::Order to display message header fields. +fieldsbeg:::::Beginning markup of message header. +fieldsend:::::Ending markup of message header. +fieldstyles:::::Define HTML elements that wrap field text of message headers. +firstpglink:i::::Link markup for first page of main index. +fldbeg:::::Markup before field text. +fldend:::::Markup after field text. +folrefs::M2H_FOLREFS:,:-folrefs,-nofolrefs:Print links links to explicit follow-ups and references. +folupbegin:::::Beginning markup of follow-up links in message pages. +folupend:::::Ending markup of follow-up links in message pages. +foluplitxt:I::::Markup for a follow-up link. +force::::-force:Force archive operation even if lock cannot be obtained. +fromfields::M2H_FROMFIELDS::-fromfields:List of fields to extract author of a message. +genidx::::-genidx:Generate a message index to standard output. +gmtdatefmt::M2H_GMTDATEFMT::-gmtdatefmt:Conversion specification for GMT dates. +gzipexe::M2H_GZIPEXE::-gzipexe:Pathname to gzip executable. +gzipfiles::M2H_GZIPFILES:,:-gzipfiles,-nogzipfiles:Gzip files. +gziplinks::M2H_GZIPLINKS:,:-gziplinks,-nogziplinks:Assume files are gzipped when creating links. +headbodysep:M::::Markup separating the message head from the body. +htmlext::M2H_HTMLEXT::-htmlext:Extension to use for HTML files. +icons:::::Content-type to icon mapping. +idxfname::M2H_IDXFNAME::-idxfname:Filename for main (first) index page. +idxlabel:::::Label for main index. +idxpgbegin:i::::Beginning markup for main index pages. +idxpgend:i::::Ending markup for main index pages. +idxpgssmarkup:::::Markup at the beginning of all index pages. +idxprefix::M2H_IDXPREFIX::-idxprefix:Filename prefix for multi-page main index. +idxsize::M2H_IDXSIZE::-idxsize:Size of each index page. +include:::::Include a resource file. +keeponrmm::::-keeponrmm:Do not physically delete message files when message removed from archive. +labelbeg:::::Beginning markup of the label text of a message field. +labelend:::::End markup of the label text of a message field. +labelstyles:::::Define HTML elements to wrap message header field labels. +lastpglink:i::::Link markup for last page of main index. +listbegin:i::::Markup to begin main index message listing. +listend:i::::Markup to end main index message listing. +litemplate:I::::Markup for an entry in the main index message list. +localdatefmt::M2H_LOCALDATEFMT::-localdatefmt:Conversion specification for printing local date. +lockdelay::M2H_LOCKDELAY::-lockdelay:Wait time between lock attempts. +lockfile::M2H_LOCKFILE::-lockfile:Name of the lock file. +lock::::-lock,-nolock:Perform a lock on the archive. +lockmethod::M2H_LOCKMETHOD::-lockmethod:How archive locks are done. +locktries::M2H_LOCKTRIES::-locktries:Total number of time to attempt a lock before failing. +mailto::M2H_MAILTO:,:-mailto:Convert email addresses in message headers to hyperlinks. +mailtourl:U:M2H_MAILTOURL::-mailtourl:URL template to use when MAILTO is set. +main::M2H_MAIN:
    ,:-main:Create main index. +maxsize::M2H_MAXSIZE::-maxsize:Maximum number of messages in an archive. +mhpattern::M2H_MHPATTERN::-mhpattern:Regex for matching message files in an MH folder (directory). +mimealtprefs:::::Content-type preferences for multipart/alternative data. +mimeargs:::::Arguments to MIME filters. +mimedecoders:::::Content-Transfer-Encoding decoding functions. +mimeexcs:::::Content-types to exclude. +mimefilters:::::Mapping of MIME filters to content-types. +modtime::M2H_MODTIME::-modtime:Set modification time on message files to message dates. +monthsabr::M2H_MONTHSABR::-monthsabr:Abbreviated month names. +months::M2H_MONTHS::-months:Month names. +msgbodyend:F::::Markup after the message body. +msgexcfilter::M2H_MSGEXCFILTER::-msgexcfilter:Perl expression(s) to selectively exclude messages. +msgfoot:M::::Markup at the foot of each message page. +msggmtdatefmt::M2H_MSGGMTDATEFMT::-msggmtdatefmt:GMT conversion specification for message dates. +msghead:M::::Markup at the head of each message page. +msgidlink:M::::Hyperlink markup for embedded message-ids in message pages. +msglocaldatefmt::M2H_MSGLOCALDATEFMT::-msglocaldatefmt:Local conversion specification for message dates. +msgpgbegin:M::::Starting markup for each message page. +msgpgend:M::::Ending markup for each message page. +msgpgs::M2H_MSGPGS:,:-msgpgs,-nomsgpgs:Print message pages. +msgpgssmarkup:M::::Markup at the beginning of all message pages. +msgprefix::M2H_MSGPREFIX::-msgprefix:Prefix for message page filenames. +msgsep::M2H_MSGSEP::-msgsep:Regex for matching message separator in mailbox files. +multipg::M2H_MULTIPG::-multipg:Create multi-page indexes. +news::M2H_NEWS:,:-news:Hyperlink newsgroups in message headers. +nextbuttonia:M::::Inactive button markup for next message by main index. +nextbutton:M::::Button markup for next message by main index. +nextlinkia:M::::Inactive link markup for next message by main index. +nextlink:M::::Link markup for next message by main index. +nextpglinkia:i::::Inactive link markup for next page of main index. +nextpglink:i::::Link markup for next page of main index. +nosubjecttxt::M2H_NOSUBJECTTXT::-nosubjecttxt:Raw subject text to use for messages without a subject. +notedir:M:M2H_NOTEDIR::-notedir:Directory to store annotations. +noteia:M::::Markup when no annotation is available for a message. +note:M,!NOTE,NOTETEXT::::Markup for representing the annotation of a message. +notetext:M:::-notetext:Annotation text. +otherindexes::M2H_OTHERINDEXES::-otherindexes:List of alternate indexes to create for an archive. +outdir::M2H_OUTDIR::-outdir:Location of archive. +perlinc::M2H_PERLINC::-perlinc:Additional Perl include paths. +posixstrftime::M2H_POSIXSTRFTIME::-posixstrftime:Use POSIX's strftime() for converted time format strings. +prevbuttonia:M::::Inactive button markup for previous message by main index. +prevbutton:M::::Button markup for previous message by main index. +prevlinkia:M::::Inactive link markup for previous message by main index. +prevlink:M::::Link markup for previous message by main index. +prevpglinkia:i::::Inactive link markup for previous page of main index. +prevpglink:i::::Link markup for previous page of main index. +quiet::::-quiet:Do not output status. +rcfile::M2H_RCFILE::-rcfile:Resource file to read before processing input. +refsbegin:::::Beginning markup for explicit reference links in message pages. +refsend:::::Ending markup for explicit reference links in message pages. +refslitxt:I::::Markup representing a reference entry in explicit reference links. +reverse::M2H_REVERSE:,:-reverse,-noreverse:Reverse the listing order in the main index. +rmm::::-rmm:Remove specified messages from an archive. +saveresources::M2H_SAVERESOURCES:,:-saveresources,-nosaveresources:Save resource values in database. +scan::::-scan:List archive messages to standard output. +single::::-single:Process a single message. +sort::M2H_SORT:,:-sort:List messages by date in main index. +spammode::M2H_SPAMMODE:,:-spammode,-nospammode:Perform actions to deter email address harvesters. +ssmarkup:::::Default markup at the beginning of all generated pages. +stderr::::-stderr:File for standard error messages. +stdin::::-stdin:File to treat as standard input. +stdout::::-stdout:File for standard output messages. +subjectarticlerxp::M2H_SUBJECTARTICLERXP::-subjectarticlerxp:Regex for matching leading articles in message subjects. +subjectbegin:I::::Beginning markup for a subject group in the main index. +subjectend:::::Ending markup for a subject group in the main index. +subjectheader:M::::Main subject line markup above message header. +subjectreplyrxp::M2H_SUBJECTREPLYRXP::-subjectreplyrxp:Regex for matching subject text denoting a reply message. +subjectstripcode::M2H_SUBJECTSTRIPCODE::-subjectstripcode:Perl expressions to strip subject text while reading messages. +subjectthreads::M2H_SUBJECTTHREADS:,:-subjectthreads,-nosubjectthreads:Check subjects when computing message threads. +subsort::M2H_SUBSORT:,:-subsort:List messages by subjext in main index. +tcontbegin:T::::Markup before the continuation of a broken thread. +tcontend:::::Markup after the continuation of a broken thread. +textclipfunc:::::Perl function to use for text clipping operations. +tfirstpglink:t::::Link markup for first page of thread index. +tfoot:t::::Footer markup for thread index page. +thead:t::::Header markup for thread index page. +thread::M2H_THREAD:,:-thread:Create thread index. +tidxfname::M2H_TIDXFNAME::-tidxfname:Filename of first thread index page. +tidxlabel:::::Label string for the thread index. +tidxpgbegin:t::::Beginning markup for the thread index pages. +tidxpgend:t::::Ending markup for the thread index pages. +tidxpgssmarkup:::::Markup at the beginning of all thread index pages. +tidxprefix::M2H_TIDXPREFIX::-tidxprefix:Filename prefix for thread index pages beyond the first page. +timezones:::::Hour offsets for timezones. +tindentbegin:::::Markup for opening a level when continuing a broken thread. +tindentend:::::Markup for closing a level when continuing a broken thread. +title::M2H_TITLE::-title:Title for main index. +tlastpglink:t::<TLASTTPGLINK>::Link markup for last page of thread index. +tlevels::M2H_TLEVELS:<TLEVELS>:-tlevels:Maximum number of levels to indent in thread index. +tliend:::<TLIEND>::Ending markup for a thread index message listing. +tlinoneend:::<TLINONEEND>::Ending markup for a missing message in thread index. +tlinone:::<TLINONE>::Markup for a missing message in thread index. +tlitxt:T::<TLITXT>::Markup for a thread index message listing. +tnextbuttonia:M::<TNEXTBUTTONIA>::Inactive button markup for next message by thread. +tnextbutton:M::<TNEXTBUTTON>::Button markup for next message by thread. +tnextinbuttonia:M::<TNEXTINBUTTONIA>::Inactive button markup for next message within a thread. +tnextinbutton:M::<TNEXTINBUTTON>::Button markup for next message within a thread. +tnextinlinkia:M::<TNEXTINLINKIA>::Inactive link markup for next message within a thread. +tnextinlink:M::<TNEXTINLINK>::Link markup for next message within a thread. +tnextlinkia:M::<TNEXTLINKIA>::Inactive link markup for next message by thread. +tnextlink:M::<TNEXTLINK>::Link markup for next message by thread. +tnextpglinkia:t::<TNEXTPGLINKIA>::Inactive link markup for next page in thread index. +tnextpglink:t::<TNEXTPGLINK>::Link markup for next page in thread index. +tnexttopbuttonia:M::<TNEXTTOPBUTTONIA>::Inactive button markup for first message in the next thread. +tnexttopbutton:M::<TNEXTTOPBUTTON>::Button markup for first message in the next thread. +tnexttoplinkia:M::<TNEXTTOPLINKIA>::Inactive link markup for first message in the next thread. +tnexttoplink:M::<TNEXTTOPLINK>::Link markup for first message in the next thread. +toplinks:M::<TOPLINKS>::Markup for top navigational links of a message page. +tprevbuttonia:M::<TPREVBUTTONIA>::Inactive button markup for previous message by thread. +tprevbutton:M::<TPREVBUTTON>::Button markup for previous message by thread. +tprevinbuttonia:M::<TPREVINBUTTONIA>::Inactive button markup for previous message within a thread. +tprevinbutton:M::<TPREVINBUTTON>::Button markup for previous message within a thread. +tprevinlinkia:M::<TPREVINLINKIA>::Inactive link markup for previous message within a thread. +tprevinlink:M::<TPREVINLINK>::Link markup for previous message within a thread. +tprevlinkia:M::<TPREVLINKIA>::Inactive link markup for previous message by thread. +tprevlink:M::<TPREVLINK>::Link markup for previous message by thread. +tprevpglinkia:t::<TPREVPGLINKIA>::Inactive link markup for previous page in thread index. +tprevpglink:t::<TPREVPGLINK>::Link markup for previous page in thread index. +tprevtopbuttonia:M::<TPREVTOPBUTTONIA>::Inactive button markup for first message in the previous thread. +tprevtopbutton:M::<TPREVTOPBUTTON>::Button markup for first message in the previous thread. +tprevtoplinkia:M::<TPREVTOPLINKIA>::Inactive link markup for first message in the previous thread. +tprevtoplink:M::<TPREVTOPLINK>::Link markup for first message in the previous thread. +treverse::M2H_TREVERSE:<TREVERSE>,<NOTREVERSE>:-treverse:List thread in reverse order. +tsingletxt:T::<TSINGLETXT>::Markup for a thread listing with no follow-ups. +tslicebeg:M::<TSLICEBEG>::Markup for the start of a thread slice. +tslicecontbeg:M::<TSLICECONTBEGIN>::Thread slice markup before the continuation of a broken thread. +tslicecontend:M::<TSLICECONTEND>::Thread slice markup after the continuation of a broken thread. +tsliceend:M::<TSLICEEND>::Markup for the end of a thread slice. +tsliceindentbeg:M::<TSLICEINDENTBEGIN>::Thread slice markup for opening a level when continuing a broken thread. +tsliceindentend:M::<TSLICEINDENTEND>::Thread slice markup for closing a level when continuing a broken thread. +tslicelevels::M2H_TSLICELEVELS:<TSLICELEVELS>:-tslicelevels:Maximum number of levels to indent in thread slices. +tsliceliendcur:M::<TSLICELIENDCUR>::Ending markup for a thread slice message listing if current message. +tsliceliend:M::<TSLICELIEND>::Ending markup for a thread slice message listing. +tslicelinoneend:M::<TSLICELINONEEND>::Ending markup for a missing message in thread slice. +tslicelinone:M::<TSLICELINONE>::Thread slice markup for a missing message in thread slice. +tslicelitxtcur:M::<TSLICELITXTCUR>::Markup for a thread slice message listing if current message. +tslicelitxt:M::<TSLICELITXT>::Markup for a thread slice message listing. +tslice::M2H_TSLICE:<TSLICE>:-tslice:Size of thread listing slice for message pages. +tslicesingletxtcur:M::<TSLICESINGLETXTCUR>::Markup for a thread slice listing with no follow-ups if current message. +tslicesingletxt:M::<TSLICESINGLETXT>::Markup for a thread slice listing with no follow-ups. +tslicesubjectbeg:M::<TSLICESUBJECTBEG>::Markup before a subject based thread slice listing. +tslicesubjectend:M::<TSLICESUBJECTEND>::Markup after a subject based thread slice listing. +tslicesublistbeg:M::<TSLICESUBLISTBEG>::Thread slice markup for starting a sub-thread. +tslicesublistend:M::<TSLICESUBLISTEND>::Thread slice markup for ending a sub-thread. +tslicetopbegcur:M::<TSLICETOPBEGINCUR>::Thread slice markup for the root/start of a thread if current message. +tslicetopbeg:M::<TSLICETOPBEGIN>::Thread slice markup for the root/start of a thread. +tslicetopendcur:M::<TSLICETOPENDCUR>::Thread slice markup for the end of a thread if current message. +tslicetopend:M::<TSLICETOPEND>::Thread slice markup for the end of a thread. +tsort::M2H_TSORT:<TSORT>,<NOTSORT>:-tsort,-notsort:List threads by date. +tsubjectbeg:::<TSUBJECTBEG>::Markup before a subject based thread listing. +tsubjectend:::<TSUBJECTEND>::Markup after a subject based thread listing. +tsublistbeg:t::<TSUBLISTBEG>::Markup for starting a sub-thread. +tsublistend:::<TSUBLISTEND>::Markup for ending a sub-thread. +tsubsort::M2H_TSUBSORT:<TSUBSORT>,<NOTSUBSORT>:-tsubsort,-notsubsort:List threads by subject. +ttitle::M2H_TTITLE:<TTITLE>:-ttitle:Title of thread index. +ttopbegin:T::<TTOPBEGIN>::Markup for the root/start of a thread. +ttopend:::<TTOPEND>::Markup for the end of a thread. +umask::M2H_UMASK:<UMASK>:-umask:Umask value for the MHonArc process. +uselocaltime::M2H_USELOCALTIME:<USELOCALTIME>,<NOUSELOCALTIME>::Use local time to determine day groups in main index listing. +usinglastpg::M2H_USINGLASTPG:<USINGLASTPG>,<NOUSINGLASTPG>::$LASTPG$ is used in resource values. +varregex::M2H_VARREGEX::-varregex:Perl regular expression matching a resource variable. +weekdaysabr::M2H_WEEKDAYSABR:<WEEKDAYSABR>:-weekdaysabr:Abbreviated weekday names. +weekdays::M2H_WEEKDAYS:<WEEKDAYS>:-weekdays:Weekday names. diff --git a/doc/app-api.html b/doc/app-api.html new file mode 100644 index 0000000..dfbaf23 --- /dev/null +++ b/doc/app-api.html @@ -0,0 +1,663 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN"> +<html> +<head> +<title>MHonArc v2.5 -- Appendix: Application Programming Interface + + + + + + + + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]
    + +
    + +

    Appendix: Application Programming Interface

    + +

    This appendix describes the simple API available to allow the +embedding of MHonArc within other Perl programs. +

    + + + + + + +
    +

    Initialization

    + +

    Before calling any MHonarc routines, you must initialize the MHonArc +library. The following code snippet shows you how to initialize +MHonArc: +

    +
    +    # Require MHonArc library
    +    require 'mhamain.pl';
    +    # Initialize MHonArc
    +    mhonarc::initialize();
    +
    + + + + + +
    NOTE

    The mhonarc::initialize() routine should only be +called once within your program. +

    +
    + + + + + +
    NOTE

    If mhamain.pl is not in perl's library search path, you +will need to add the directory path to perl's search path before +calling require. +

    +
    + + +
    +

    Processing Input

    + +

    To instruct MHonArc to process input, use the following +routine: +

    +
    +    # Tell MHonArc to start processing
    +    mhonarc::process_input();
    +
    +

    When mhonarc::process_input() is called with no +arguments, it parses @ARGV for command-line arguments. +If you pass a list of arguments into mhonarc::process_input() +then that list will be processed for the command-line arguments. +For example: +

    +
    +    mhonarc::process_input(
    +	'-quiet',
    +	'-outdir', $archive_path,
    +	'-rcfile', $rcfile,
    +	$mailbox_filename
    +    );
    +
    +

    The return value of mhonarc::process_input() will be +the CPU time, in seconds, MHonArc used. Example usage: +

    +
    +    $cpu_time = mhonarc::process_input();
    +
    +

    To determine what the status of the processing was, you +can query the $mhonarc::CODE variable. The value +of this variable reflects what the exit status of MHonArc would +be if invoked from the shell. I.e. If $mhonarc::CODE +is equal to 0, then no errors occured during processing. A +non-zero value indicates some error occured. Example usage: +

    +
    +    mhonarc::process_input(
    +	'-quiet',
    +	'-outdir', $archive_path,
    +	'-rcfile', $rcfile,
    +	$mailbox_filename
    +    );
    +    if ($mhonarc::CODE) {
    +	# error code here
    +    }
    +
    + + + + + +
    NOTE

    If $mhonarc::CODE is equal to 75, this +indicates that MHonArc was unable to obtain a lock on the archive. +This exit code is recognized by MTAs like sendmail to +requeue a message and try to deliver it again later. This is +useful when MHonArc is invoked by a sendmail alias. +

    +
    + +

    It is okay to call mhonarc::process_input() multiple times +within a single program. This is useful if your program wants +to process multiple archives. +

    + + +
    +

    Callbacks

    + +

    Support is available for registering callbacks to be invoked +when MHonArc is processing input. To register a callback, all +you need to do is set the appriopriate MHonArc +variable to a routine reference (hard or symbolic). For example, +to set the callback when a message header is read, you can do +something like the following: +

    +
    +    $mhonarc::CBMessageHeadRead = \&my_callback_routine;
    +
    + + + + + +
    NOTE

    The +mhasiteinit.pl +site initialization library can be used to register callbacks. +The advantages for using mhasiteinit.pl is that it is +executed each time MHonArc is executed, and you do not have +to create custom front-ends to MHonArc if all you want to +do is register callbacks. See +Installation and the +example mhasiteinit.pl provided in the examples/ +directory of the MHonArc distribution for more +information about mhasiteinit.pl. +

    +
    + +

    What follows is the type of callbacks supported by MHonArc: +

    + + +

    $mhonarc::CBDbPreLoad

    + +
    +

    Invoked just before the +database file is loaded. +

    + +

    Synopsis:

    +
    +$do_load = &$mhonarc::CBDbPreLoad($pathname);
    +
    + +

    Arguments:

    +
    +
    $pathname
    +

    Pathname to database file + that will be loaded. +

    +
    + +

    Return Value:

    +

    If a true value, MHonArc will load the database denoted by + $pathname. If a false value, MHonArc will skip loading the + database file. +

    + +

    Notes:

    +
      +
    • This callback, along with + $mhonarc::CBDbPreSave (in theory), + can be used to provide a customized loading and saving of MHonArc + archive information. +

      +
    +
    + + +

    $mhonarc::CBDbPreSave

    + +
    +

    Invoked before data is saved to the +database file. +

    + +

    Synopsis:

    +
    +$do_save = &$mhonarc::CBDbPreSave($pathname, $tmp_pathname);
    +
    + +

    Arguments:

    +
    +
    $pathname
    +

    Pathname to database file that will be written to. +

    + +
    $tmp_pathname
    +

    Pathname temporary file that data will be written to before + replacing $pathname. Data is written to a temporary + file first to prevent any I/O, or other, errors leaving a corrupt + database. If the data is written successfully, MHonArc renames + $tmp_pathname to $pathname. +

    +
    + +

    Return Value:

    +

    If a true value, MHonArc will save the data to + $pathname. If a false value, MHonArc will skip writing + the database file. +

    + +

    Notes:

    +
      +
    • Generally, this function should always return a true value. This + can easily be done by having the following statement at the end of + the callback: return 1; +

      +

      A possible scenario where a false value may be returned if for + cases where a customized format is used to save the data and the + $mhonarc::CBDbPreLoad function + is defined to provide a customized way to load database data. +

      +
    +
    + + +

    $mhonarc::CBDbSave

    + +
    +

    Invoked when data has been written to +database file. +

    + +

    Synopsis:

    +
    +&$mhonarc::CBDbSave($db_fh);
    +
    + +

    Arguments:

    +
    +
    $db_fh
    +

    Open filehandle to database file. This filehandle can be + used to write custom information to the database file. +

    +

    Note: Any data written to $db_fh must be legal + Perl code. +

    +
    + +

    Return Value:

    +

    N/A

    + +
    + + +

    $mhonarc::CBMessageBodyRead

    + +
    +

    The callback function after a mail message body has been read a converted. +

    + +

    Synopsis:

    +
    +&$mhonarc::CBMessageBodyRead(
    +		$fields_hash_ref, $html_text_ref, $files_array_ref);
    +
    + +

    Arguments:

    +
    +
    $fields_hash_ref
    +

    Reference to hash containing parsed message header. The + structure of this hash is the same as described for + the $mhonarc::CBMessageHeadRead + callback. +

    + +
    $html_text_ref
    +

    Reference to string contain the HTML markup for the + body. Modifications to the referenced data will be + reflected in the message page generated. Therefore, + care should be observed when doing any modification. +

    +

    If MHonArc was unable to convert the body of the + message, the following expression will evaluate to + true: +

    +
    +      $$html_text_ref eq ""
    +

    If this is the case, you could set the value + of $$html_text_ref to something else to customize + the warning text MHonArc uses in the message page + written. +

    + +
    $files_array_ref
    +

    Reference to array of derived files when the body + was converted. Each file is typically relative + to $mhonarc::OUTDIR, unless it is a full pathname. + the mhonarc::OSis_absolute_path($filename) can + be used to determine if a file is an absolute + pathname or not. Note, it is possible that a + file could designate a directory; this indicates + that the directory, and all files in the directory, + are derived. +

    +

    Modifications to the array will affect the list + of derived files MHonArc stores for the message. + You can add files to the array if your routine + creates files, but you can also delete items if + your routine removes files; CAUTION: the HTML markup + typically contains links to derived files so removing + files could cause broken links unless $html_text_ref + is modified to reflect the file deletions. +

    +
    + +

    Return Value:

    +

    N/A

    + +

    Notes:

    +
      +
    • To distinquish between + SINGLE + operation mode and + archive operation mode, you can check the $mhonarc::SINGLE + variable. For example: +

      +
      +    if ($mhonarc::SINGLE) {
      +	# single message-based processing here
      +    } else {
      +	# archive-based processing here
      +    }
      +    
      + +
    • The $mhonarc::CBMessageBodyRead routine can be used + to trigger automatic virus scanning of attachments. +

      +
    +
    + + +

    $mhonarc::CBMessageHeadRead

    + +
    +

    The callback function after a +mail message header is read and before any other processing is done. +Note, the function is called after any exclusion checks +(CHECKNOARCHIVE and +MSGEXCFILTER) +are +performed by MHonArc. +

    +

    Synopsis:

    +
    +$boolean = &$mhonarc::CBMessageHeadRead(
    +			    $fields_hash_ref, $raw_header_txt);
    +
    + +

    Arguments:

    +
    +
    $fields_hash_ref
    +

    Reference to hash containing parsed message header. Keys + are the lowercase field names and the values are references + to array contain the values for each field. If a field + is only declared once in the header, the array will only + contain one item. + For example, to access the raw subject text, + do the following: + $fields_hash_ref->{'subject'}[0]; +

    +

    The hash also contains special keys represented the values + MHonArc has extracted when parsing the message header. + The values of these keys are regular scalars and NOT + array references. The following summarizes the keys + made available: +

    +
    +
    x-mha-index
    +
    The assigned index given to the message by MHonArc. +
    +
    x-mha-message-id
    +
    The message-id MHonArc extracted. Note, if the + message did not specified a message ID, MHonArc + auto-generates one. +
    +
    x-mha-from
    +
    Who MHonArc thinkgs the message is from. This value + is controled by the FROMFIELDS + resource. +
    +
    x-mha-subject
    +
    The message subject that will be used by MHonArc. The + value may be different from the raw subject text of the message + since SUBJECTSTRIPCODE + code will have been applied. + If no subject is defined, then the value is the empty string. +
    +
    x-mha-content-type
    +
    The content-type of the message MHonArc will use for + the message. +
    +
    +

    For example, to access the subject text that MHonArc will use, + do the following: + $fields_hash_ref->{'x-mha-subject'}; +

    +
    + +
    $raw_header_txt
    +

    The raw header data of the message. This data may be + useful if pattern matches are desired against header + data. +

    +
    +
    + +

    Return Value:

    +

    The return value is used by MHonArc to determine if the + message should be excluded from any further processing. + If the return value evaluates to true, then MHonArc will + continue processing of the message. If the return value + evaluates to false, the message will be excluded. +

    + +

    Notes:

    +
      +
    • To distinquish between + SINGLE + operation mode and + archive operation mode, you can check the $mhonarc::SINGLE + variable. For example: +

      +
      +    if ($mhonarc::SINGLE) {
      +	# single message-based processing here
      +    } else {
      +	# archive-based processing here
      +    }
      +    
      + +
    • MHonArc resources exist that allow message exclusion + capabilities: + CHECKNOARCHIVE, + EXPIREAGE, + EXPIREDATE, + and + MSGEXCFILTER. + If possible, use these resources to perform message exclusion filtering. +

      +
    +
    + + +

    $mhonarc::CBRawMessageBodyRead

    + +
    +

    Invoked with the raw message body data is read from input. I.e. +The message body has not been converted. +

    + +

    Synopsis:

    +
    +&$mhonarc::CBRawMessageBodyRead($fields_hash_ref, $body_data_ref);
    +
    + +

    Arguments:

    +
    +
    $fields_hash_ref
    +

    Reference to hash containing parsed message header. The + structure of this hash is the same as described for + the $mhonarc::CBMessageHeadRead + callback. +

    + +
    $body_data_ref
    +

    Reference to string contain the raw data of the message + body. Modifications to the referenced data can be performed + to change what data MHonArc will process. +

    + +
    + +

    Return Value:

    +

    N/A

    + +
    + + +

    $mhonarc::CBRcVarExpand

    + +
    +

    Invoked when a resource variable is to be expanded. With this callback, +you can override and/or augment MHonArc's built-in resource variable +expansion support. +

    + +

    Synopsis:

    +
    +($result, $do_expand_again, $can_clip) =
    +    &$mhonarc::CBRcVarExpand($mha_index, $var_name, $arg_string);
    +
    + +

    Arguments:

    +
    +
    $mha_index
    +

    The MHonArc index key of the current message. +

    + +
    $var_name
    +

    The variable name being expanded. + For example, given the resource variable reference, + "$VARIABLE$", $var_name would be equal to + "VARIABLE". +

    + +
    $arg_string
    +

    The argument string for the resource variable reference. + For example, given the resource variable reference, + "$VARIABLE(arg1)$", $arg_string would be equal to + "arg1". +

    +

    Note: MHonArc generally uses the character ';' + to separate multiple arguments to a resource variable. However, + this is only convention, and if defining your own resource variable + support via this callback, you can use whatever convention you like. +

    +
    + +

    Return Value:

    +

    The return value is a list of values interpreted as follows:

    +
    +
    $result
    +

    The result (or replace text) for the variable. If + the result is equal to undef, MHonArc's built-in + expansion code will be invoked to expand $var_name. + If $result is defined, then MHonArc's built-in + expansion will be skipped. +

    +
    + +
    $do_expand_again
    +

    If a true value, MHonArc will parse $result and + expand any resource variables contained within. + Note: $mhonarc::CBRcVarExpand will be + called for each resource variable found. +

    +
    + +
    $can_clip
    +

    If a true value, clipping is allowed to be performed. + Clipping is done if max length specification is specified + in the resource variable reference. +

    +
    + + +

    Notes:

    +
      +
    • Use the DEFINEVAR resource + whenever possible for defining custom resource variables. The + $mhonarc::CBRcVarExpand should only be used for cases + where the sematics of DEFINEVAR + are insufficient. +

      + +
    • Colon variable modifiers, if specified in the resource + variable reference, are applied by MHonArc after + $mhonarc::CBRcVarExpand is invoked. +

      +
    +
    + + +
    +

    Notes

    + +
      + +
    • This API documention is not complete. To get + a better idea of what you may be able to do, have a look at the + source code for the commands provided in the MHonArc distribution: + mhonarc, mha-dbedit, + mha-dbrecover, and mha-decode. You may also + want to look at the source of mhamain.pl. +

      + +
    • Only a single archive can be processed at any given time. +

      + +
    + +
    + + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]
    + + +
    +
    +$Date: 2002/05/02 01:34:30 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/app-bugs.html b/doc/app-bugs.html index 51a46ba..5797416 100644 --- a/doc/app-bugs.html +++ b/doc/app-bugs.html @@ -1,14 +1,17 @@ - - -MHonArc v2.4 -- Appendix: Bugs + + +MHonArc v2.5 -- Appendix: Bugs + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -17,2305 +20,84 @@

    Appendix: Bugs


    Reporting Bugs

    -

    To report a bug against MHonArc, send mail to the MHonArc -mailing list, -mhonarc@ncsa.uiuc.edu. The list -is closed to subscribers, so if you are not subscribed, you can -send mail to mhonarc@mhonarc.org. -

    - -

    Please include the following information in your message: +

    Before reporting a bug, please do the following:

    -
      -
    • Version of Perl (can be retrievied by "perl -v").
    • -
    • Version of the program (can be retrievied by "mhonarc -v").
    • -
    • The operating system you are using (on Unix the output -of "uname -a" is useful).
    • -
    • The exact command-line used to invoke the program.
    • -
    • Error/diagnostic messages from the program.
    • -
    • Any other information that might prove useful (eg. input -files, resource files, environment settings, etc).
    • +
    • Make sure it is not a usage problem: check the documentation + and FAQ. +
    • +
    • Check that you are running the latest version of MHonArc. If not, + it is likely the problem has been fixed in a newer version. +
    • +
    • If you are not sure if the problem is a bug or not, send a + message to the mailing list to get confirmation.
    -

    If possible, avoid sending a huge mail message. Try to make the -bug reproducable with the smallest amount of data that is possible. -If this is difficult, then either provide URLs to any data needed -to reproduce the bug, or state that data can be provided via -private mail to any persons concerned. +

    The prefered way to report bugs is to use the bug submission form +for MHonArc located at +<http://savannah.gnu.org/bugs/?group_id=1968>. Please +check and search the existing bugs to verify that the bug has +not already been reported.

    -

    Note, some bug reports are not actual bugs, but usage errors. -Make sure you have checked the problem against the documentation and FAQ -before sending a report. Also, check the -bug list -in the -documentation to see if the bug has already been reported (and maybe -fixed). You may need to go the -MHonArc -home page -to check the bug list in case you are not using the latest version -of MHonArc. +

    If the potential bug you have discovered has not +been reported, select the +Submit Bug link to get the bug submission form. Hopefully, +the form fields are self-explanatory, but if you are not sure +what to select in some of the option items, leave it with the default value +or make a best guess.

    -
    -

    Bug List

    - -

    The following gives a list of bugs reported against -MHonArc. Each bug listing shows the version the -bug was reported against (the bug may be applicable -to earlier versions), a description of the problem, -and if applicable, a solution and version of MHonArc -the bug was fixed. +

    Open Bugs

    + +

    Goto +<http://savannah.gnu.org/bugs/?group_id=1968>, +select "Open" for the Status choice, and then +activate the Go or Browse button to list all open +bugs.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Version2.4.8, and earlier
    ProblemDefault CHARSETCONVERTERS values for latin[1-6] charsets causing require error. -
    SolutionThis was supposedly fixed in 2.4.8 in mhinit.pl, but apparently was not. The def-mime.mrc file in the - example directory did have the correct mappings. -
    Fixed2.4.9

    Version2.4.8
    ProblemMHonArc aborts with Perl syntax errors if mhnull.pl filter is loaded. -
    SolutionDump typo errors that should have been caught before release. Syntax errors fixed in mhnull.pl. -
    Fixed2.4.9

    Version2.4.7, and earlier
    ProblemMessage with HTML content can cause perl to crash. Other symptom would be that a stale .mhonarc.lck - directory would exist preventing further archive - updates. -
    SolutionThere appears to be a bug in perl's regex engine. The fix was to change mhtxthtml.pl comment declaration - removal expression into a simplier one that just - munges (removes parts) to avoid crashes. -
    Fixed2.4.8

    Version2.4.7, and earlier
    ProblemPrefixing second argument to $PGLINKLIST()$ with a 'T' cause no thread page links to be rendered after - current thread index page. -
    SolutionFixed in mhrcvars.pl: Make sure to strip 'T' from both arguments before evaluating numeric values. -
    Fixed2.4.8

    Version2.4.7, and earlier
    ProblemDefault CHARSETCONVERTERS values for latin[1-6] charsets causing require error. -
    SolutionFixed in mhinit.pl (typo in library filename).
    Fixed2.4.8

    Version2.4.6, and earlier
    ProblemADDRESSMODIFYCODE not stored in database.
    SolutionFixed in mhdb.pl (a dumb typo)
    Fixed2.4.7

    Version2.4.6, and earlier
    ProblemTPARENT message specifier for applicable resource variables will cause a resource variable to expand - to the empty string if there is no parent message - to the current message. -
    SolutionIf there is no parent message, TPARENT resolves to to the current message. -
    Fixed2.4.7

    Version2.4.5, maybe earlier
    ProblemUsing message-ids with -rmm does not remove messages.
    SolutionFixed in mhrmm.pl
    Fixed2.4.6

    Version2.4.5
    ProblemJapanese text messages not wrapped in PRE element.
    SolutionFixed in mhtxtplain.pl
    Fixed2.4.6

    Version2.4.4
    Problem$PGLINKLIST$ for threads did not work.
    SolutionFixed in mhrcvars.pl.
    Fixed2.4.5

    Version2.4.4, and earlier
    Problem-afs had no effect.
    SolutionFixed in mhopt.pl: Option was not checked.
    Fixed2.4.5

    Version2.4.4, and earlier
    Problem%y print 3 digits in time format strings if year 2000 or later. -
    SolutionFixed in mhtime.pl
    Fixed2.4.5

    Version2.4.0-4
    Problem<PRE> tags are printed when decoding ISO-2022-JP encoded header text. -
    SolutionFixed in iso2022jp.pl
    Fixed2.4.5

    Version2.4.3, and earlier
    ProblemText/html filter died with a "Modification of non-creatable array" error when a relative URL - exists in body data, but no base URL defined for - the html data. -
    SolutionFixed in mhtxthtml.pl
    Fixed2.4.4

    Version2.4.0 - 2.4.3
    ProblemError "Can't modify keys in scalar assignment" occurs when using older version of Perl 5. -
    SolutionLater Perl 5 releases support keys operator as an lvalue to preallocate a hash. Assignment put in - an eval block to avoid program termination. -
    Fixed2.4.4

    Version2.3.0 - 2.4.3
    ProblemSetting IDXSIZE < MAXSIZE for a single page index causes the generation of incorrect list entries and - null list entries. -
    SolutionFixed in mhindex.pl
    Fixed2.4.4

    Version2.4.3, and earlier
    ProblemUsing entity references within MONTHS, WEEKDAYS, et al, not supported and caused names to be incorrect. -
    SolutionThe semi-colon, ';', was treated as an undocumented list separator in resource files. "Feature" removed. -
    Fixed2.4.4

    Version2.4.2
    Problem$*GMTDATE$ and $*LOCALDATE$ expand to the empty string if using default time format string settings. -
    SolutionFixed in mhtime.pl
    Fixed2.4.3

    Version2.4.2, and earlier
    ProblemMultipart processing is done inproperly if nested multiparts exist and "outer" multipart entity has a - boundary which is a substring prefix of an "inner" - multipart entity. -
    SolutionFixed in readmail.pl
    Fixed2.4.3

    Version2.4.2, and earlier
    ProblemCid URL in multipart/related is not resolved if message part being referenced is at a higher "level" (due to - nested multiparts) than the referrer. -
    SolutionFixed in readmail.pl
    Fixed2.4.3

    Version2.4.2, and earlier
    Problem-tnosort and -tnosubsort should be -notsort and -notsubsort. Also, bogus -tnoreverse and -notgziplinks - options listed in -help message. -
    SolutionFixed.
    Fixed2.4.3

    Version2.4.2, and earlier
    ProblemCharset parameter value not properly extracted when no space after value and next parameter - (Example: charset=us-ascii;name="file.txt"). -
    SolutionFixed in mhtxtplain.pl
    Fixed2.4.3

    Version2.4.1, and earlier
    ProblemM2H_URL envariable does not properly affect the URL resource. M2H_SORT does affect it. -
    SolutionFixed (typo).
    Fixed2.4.2

    Version2.4.1, and earlier
    Problem%c does not work in time format resources.
    SolutionFixed.
    Fixed2.4.2

    Version2.4.1
    ProblemWhen invoking mha-dbrecover, Perl errors occur for mhmsgfile.pl. -
    SolutionFixed.
    Fixed2.4.2

    Version2.4.0, and earlier
    ProblemDOC resource setting not stored in database.
    SolutionFixed.
    Fixed2.4.1

    Version2.4.0
    ProblemDefault filehandle changed to STDERR after call to get_resources(). Can cause problems for Perl apps - calling MHonArc via API. -
    SolutionFixed.
    Fixed2.4.1

    Version2.4.0
    ProblemMHonArc under BSD OS would go into Win/MS-DOS mode.
    SolutionMake check for "dos" platform stricter in osinit.pl.
    Fixed2.4.1

    Version2.3.3
    ProblemDuplicate message-ids in a message's reference list were not removed. -
    SolutionArray changed to my() scope caused remove_dups() to not do anything (it takes a typeglob). Array - changed back to local(). -
    Fixed2.4.0

    Version2.3.0-3
    ProblemTFIRST, TLAST, and PARENT arguments to resource variables always produced null values. -
    SolutionFixed. Note, PARENT is now TPARENT to be consistent with other thread-related arguments. -
    Fixed2.4.0

    Version2.3.0-3
    ProblemSUBJECTHEADER resource not printed when -savemem is used. -
    SolutionProblem is due to the new resource variable handling in 2.3. The solution is to support the editing of - SUBJECTHEADER (and HEADBODYSEP) in existing message - pages. -
    Fixed2.4.0

    Version2.3.3, and earlier versions
    ProblemMultipart processing not done properly if boundary parameter not enclosed in quotes and is terminated - by a semi-colon. -
    SolutionFixed in readmail.pl.
    Fixed2.4.0

    Version2.3.3, and earlier versions
    Problem%h not recognized in time format strings.
    SolutionFixed.
    Fixed2.4.0

    Version2.3.3
    ProblemUse of $ICON$ will generate defective tag like `ALT="[text/plain]">'. -
    SolutionFixed typo in join() call in mhrcvars.pl.
    Fixed2.4.0

    Version2.3.3, and earlier versions
    ProblemSome messages with specified inline images are not having images inlined. -
    SolutionContent-Disposition parsing fixed.
    Fixed2.4.0

    Version2.3.3, and earlier versions
    ProblemClip length not handled properly in resource variables. Ie. Characters that are translated into entity - references are not handled properly when computing clip - adjustment. Incorrect clipping can occur. -
    SolutionFixed.
    Fixed2.4.0

    Version2.3.3, and some possible earlier versions
    ProblemMHonArc checking for writable OUTDIR in SINGLE mode.
    SolutionFixed.
    Fixed2.4.0

    Version2.3.3, and earlier
    ProblemDefault resource file not read if located in MHonArc lib directory. -
    SolutionFixed improper assumption of @INC setting.
    Fixed2.4.0

    Version2.3.3, and earlier
    ProblemTLIEND not generated at proper times when thread level goes beyond TLEVELS. -
    SolutionA check is made in thread index printing to generate a TLIEND properly for TLITXT when deeper than TLEVELS. -
    Fixed2.4.0

    Version2.3.0-2.3.2
    Problem-otherindex and -perlinc command-line options do not work. Using them has no affect. -
    SolutionSubtle precedence issue in Perl variable operations; problem fixed. -
    Fixed2.3.3

    Version2.3.0-2.3.2
    ProblemResource variable expansion not working properly in MAILTOURL resource. -
    SolutionCertain variables in read_mail_header() where put in my() declarations when they should stay as local()'s. - Changed back. -
    Fixed2.3.3

    Version2.3.0-2.3.2
    ProblemNext/previous message link resource variables are reversed when REVERSE is on. -
    SolutionREVERSE check was left out in new v2.3 replace_li_var(). Check added in. -
    Fixed2.3.3

    Version2.3.0, 2.3.1
    ProblemSome resource variables (eg $SUBJECTNA$) expand to blank values when using -single. -
    SolutionSINGLE mode sets @MListOrder and %Index2MLoc to support the new way in v2.3 replace_li_var() resolves resource - variables. -
    Fixed2.3.2

    Version2.3.1 (maybe earlier versions also)
    ProblemMHonArc does not handle message range specification with leading zeros in numbers in -rmm mode. -
    Solutionint() is used within Perl's range operator to force the stripping of leading zeros. -
    Fixed2.3.2

    Version2.3.0
    ProblemAttachments of the same type get written to the same filename. -
    SolutionAnother my/local gotcha. Note, writing attachments has been redone so other filters besided mhexternal.pl - can write data to files. -
    Fixed2.3.1

    Version2.0.0 - 2.2.0
    ProblemA bogus TCONTBEGIN may get printed at the beginning of a thread index page. Most common when TREVERSE - specified. -
    Solution@TListOrder now serves as the basis for list iteration when printing a thread index page instead of the list - returned by t_sort_messages(). Note, old method may - cause other minor errors in thread index page - generation. -
    Fixed2.3.0

    Version2.2.0, 2.3.0 beta
    ProblemDuplicate index list entries are generating for threads indexes generated via OTHERINDEXES with TREVERSE active. -
    SolutionAll key data structures are now reset when recomputing threads. -
    Fixed2.3.0

    Version2.2.0, 2.3.0 beta
    ProblemThreads are not listed in reverse order when THREAD and TREVERSE are set for an OTHERINDEXES resource file. -
    SolutionThread data structures are now reset before each OTHERINDEXES index. If an OTHERINDEXES resource file - specified THREAD, than threads will be recomputed - for the given index defined by resource file. -
    Fixed2.3.0

    Version2.3.0 beta
    ProblemMail addresses in message headers are not getting converted to mailto links. -
    SolutionMHonArc still uses typeglobs for passing data around by "reference" (left-over from Perl 4 days). One - of the variables in the message header formatting - routine was changed back to a local() variable to - supporting passing it via a typeglob sub-routines. -
    Fixed2.3.0

    Version2.3.0 beta
    ProblemCannot copy file error occurs during installation when copy documentation to destination location. -
    SolutionUpdated install.cfg to reflect file changes to documentation. -
    Fixed2.3.0

    Version2.3.0 beta
    ProblemAuthor index generated via the OTHERINDEXES resource does not list messages in proper order. Other main - indexes generated via OTHERINDEXES may suffer the - same problem. -
    SolutionThe write_main_index() did not reset %Index2MLoc properly, affecting resource variable resolution. If - @MListOrder is recomputed, %Index2MLoc will be - redefined. -
    Fixed2.3.0

    Version2.3.0 beta
    ProblemPG(PREV) and PG(TPREV) did not resolve to IDXFNAME and TIDXFNAME, respectively. They resolved to (T)IDXPREFIX - with the page number 1. -
    SolutionSimple fix to page number check.
    Fixed2.3.0

    Version2.2.0, 2.3.0 beta
    ProblemMessages grouped under wrong date in date-based index.
    SolutionThe problem is related to a descrepency of GMT time and local time, and what time format is being used - in the DAYBEGIN resource. The resource USINGLOCALTIME - has been added to give the choice betweem GMT or - local time for determining day groups. -
    Fixed2.3.0

    Version2.2.0
    ProblemGet "times not implemented at mhamain.pl line 74" error on Win32 systems. -
    SolutionCall to times is put in an eval block.
    Fixed2.3.0 alpha

    Version2.2.0
    ProblemWhen a message that gets automatically deleted via MAXSIZE or the message expiration, related message - sometimes do not get update -- causing messages to - have links to non-existent messages. Problem manifiest - when main sort option is not by date. -
    SolutionAutomatic message deletion now properly marks related message by specified main sort option. -
    Fixed2.3.0 alpha

    Version2.1.2
    ProblemThe @TListOrder array is empty in .mhonarc.db when MULTIPG is set. This may cause some messages not - getting properly updated when new messages are added. -
    SolutionRemoved use of splice on @TListOrder when MULTIPG. Now, array slices are used so @TListOrder is preserved. -
    Fixed2.2.0

    Version2.1.2
    ProblemConvert ISO-2022-JP messages can generate "Out of Memory" errors. -
    SolutionThe cleanup of mhtxtplain.pl's iso-2022-jp code introduced a bug that caused an infinite loop and - to gobble memory until it ran out. The fix was - straight-forward. -
    Fixed2.2.0

    Version2.1.2
    ProblemQuoted text that is broken due to maxwidth setting of the mhtxtplain.pl filter did not have the quote - character prepended to broken the text. -
    SolutionA regex updated to dealing with a leading space before quote character. -
    Fixed2.2.0

    Version2.1.1
    ProblemDocumentation of MAILTOURL incorrectly states that the $TO$ resource variable is the value of the - To: message header field. -
    SolutionFixed documentation to state that $TO$ represents the address being hyperlinked. -
    Fixed2.1.2

    Version2.1.1
    ProblemAttachments saved to files with spaces in filename (due to "usename" option set to m2h_external::filter), - will cause anchors to the attachments in the HTML - message contain spaces. -
    SolutionFixed m2h_external::filter to escape special characters in the URL linking to the external file. -
    Fixed2.1.2

    Version2.1.0
    ProblemMessage with dates after 2037, or before 1970, will hang MHonArc, not get processed, or listed in wrong order. -
    SolutionThe problem is that Perl's timelocal.pl library cannot handle dates out of those ranges (same applies to - Time::Local). Since get_time_from_date() is the only - routine require the services of timelocal.pl, the - routine will generate a warning of bad years and use - the current year. -
    Fixed2.1.1 (Work-around)

    Version2.1.0
    ProblemAnchors to attachments in a message converted via SINGLE do not contain OUTDIR if OUTDIR is specified. - OUTDIR may want to be set to all attachments to be - contained in a separate directory from the converted - message. -
    Solutionmhexternal.pl now checks $SINGLE variable set by the main code during startup. If set, the value of - $OUTDIR is prepending to any hrefs to external files. -
    Fixed2.1.1

    Version2.1.0
    ProblemFebruary is misspelled "Febuary" in mhtime.pl.
    SolutionChange the spelling so its correct.
    Fixed2.1.1

    Version2.1.0
    ProblemLowercase timezones in dates are not recognized.
    SolutionCode modified to convert zones to uppercase when performing hash lookups. -
    Fixed2.1.1

    Version2.1.0
    ProblemSpecified filenames of attachments sometimes have a ';' appended when utilizing the "usename" option is - set for mhexternal.pl. -
    SolutionFixed MAILhead_get_disposition() in readmail.pl to strip off ';' parameter separator. -
    Fixed2.1.1

    Version2.1.0
    ProblemSpecified filenames with spaces of attachments are not recognized properly. Filename gets truncated to first - occurance of a space. -
    SolutionFixed MAILhead_get_disposition() in readmail.pl to to handle filenames with spaces. -
    Fixed2.1.1

    Version2.1.0
    ProblemThe HTMLEXT resource does not affect the numbered index page filenames of a MUTLIPG archive. -
    Solutionwrite_main_index() and write_thread_index() fixed.
    Fixed2.1.1

    Version2.1.0
    ProblemAnchor text of MAILTOURL links is translated to URL escaped text. -
    SolutionmailUrl() routine fixed.
    Fixed2.1.1

    Version2.1.0
    ProblemMessage 0 could not be deleted if specified with more than one 0 (eg: 00000); -
    Solutionrmm() routine fixed.
    Fixed2.1.1

    Version2.1.0
    ProblemSUBJECTHEADER does not get stored in the db.
    Solutionoutput_db() routine updated to save SUBJECTHEADER.
    Fixed2.1.1

    Version2.1.0
    ProblemEmpty links can be created if there is no "From" defined for a message and it is used as link text. -
    SolutionUse 'No Author' as "From" if not defined.
    Fixed2.1.1

    Version2.1.0
    ProblemIf a user defined resource variable is a string that Perl interprets as a false value, it will not be used. -
    SolutionChanged code to used define() function in replace_li_vars(). -
    Fixed2.1.1

    Version2.1.0
    ProblemExpired messages are not removed when a the main index is not sorted by date. -
    SolutionAlways sort message by date when doing expire check.
    Fixed2.1.1

    Version2.0.1
    ProblemAn undefined subroutine error occured during an RMM operation when there are messages with non-ASCII - encodings in message headers. -
    SolutionProper libraries are now loaded for RMM operations.
    Fixed2.1.0

    Version2.0.1
    ProblemSubjects using the "... -Reply" convention started a new thread. -
    SolutionFixed typo in regexp.
    Fixed2.1.0

    Version2.0.1
    ProblemNested anchor markup occurs on index pages when a message's subject contains a URL and the subject - is used to link to the message page. -
    SolutionReplaced default routine that converts subject text to HTML to a routine that does not hyperlink URLs. -
    Fixed2.1.0

    Version2.0.0
    ProblemBogus empty entry shows up in the database. Bogus entry appears if a duplicate message is detected. - Potential visible problems of bogus entry are: mailto - links in headers corrupted; a blank listing in the - index. Maybe other potential problems. -
    SolutionThere is a bug in some versions of Perl where a hash key gets added invalidly. The section of code that - this occurs has been modified to avoid the problem. - For existing databases with a bogus empty entry, - MHonArc now removes any empty key entries. - However, it is recommed to rebuild the archive. -
    Fixed2.0.1

    Version2.0.0
    ProblemIndex pages are not properly updated if zero messages are in the archive (like through the -rmm option). - Even -editidx cannot cause a proper update. -
    SolutionPage count was set to zero when no messages exist. This caused problems in conditional checks in the write index - routines. To fix, page count is forced to 1 if their - are no messages. -
    Fixed2.0.1

    Version2.0.0 beta 3
    ProblemIndex pages with last page links are not updated when a new page is added. -
    SolutionAll index pages are regenerated if a new page is added. -
    Fixed2.0.0

    Version2.0.0 beta 3
    Problem"-idxsize 0" does not give unlimited page size.
    SolutionProblem fixed and now works as documented.
    Fixed2.0.0

    Version2.0.0 beta 3
    Problem"-maxsize 0" does not reset archive with unlimited messages allowed. -
    SolutionProblem fixed and now works as documented.
    Fixed2.0.0

    Version2.0.0 beta 3
    ProblemNon-ASCII text encodings (=?ISO-..?...) are not properly decoded when EDITIDX is set. -
    SolutionThe charset filter libraries are now loaded for EDITIDX. -
    Fixed2.0.0

    Version2.0.0 beta 3
    ProblemMODTIME resource setting not remembered across archive updates. -
    SolutionMODTIME resource is now properly stored in the database. -
    Fixed2.0.0

    Version2.0.0 beta 3
    ProblemSpecifying -rmm and -single caused confusion on what MHonArc does. -
    SolutionThe case is properly handled, with -rmm taking precedence. -
    Fixed2.0.0

    Version2.0.0 beta 3
    Problem4 digit year not checked before 2 digit year when parsing dates. -
    SolutionFixed.
    Fixed2.0.0

    Version2.0.0 beta 3
    ProblemSome index pages in multipage indexes not updated when messages expire. -
    SolutionFixed; all pages are regenerated when a message expires. -
    Fixed2.0.0

    Version2.0.0 beta 3
    ProblemSetting MONTHS and MONTHSABR had no effect.
    SolutionFixed.
    Fixed2.0.0

    Version2.0.0 beta 3
    Problem$TNEXTFROM$ actually gave the value of $NEXTFROM$.
    SolutionFixed.
    Fixed2.0.0

    Version2.0.0 beta 3
    ProblemNumerical timezone offsets not handled properly when the offset contained non-zero minutes. This - caused message to be sorted wrong by date. -
    SolutionFixed.
    Fixed2.0.0

    Version2.0.0 beta 3
    ProblemSome characters were not properly escaped when specifying the "in URL" modifier to a resource - variable. -
    SolutionFixed.
    Fixed2.0.0

    Version2.0.0 beta 3
    ProblemThread (formatting) information lost when a thread is split across multiple pages. -
    SolutionFixed. New resources (TCONTBEGIN, TCONTEND, TINDENTBEGIN, TINDENTEND) exist to preserve - formatting of threads across pages. -
    Fixed2.0.0

    Version2.0.0 beta 3
    ProblemIf specifying the REVERSE resource, the next/prev links in messages do not point to the proper - message as one may expect. -
    SolutionThis should be fixed by the new behavior of $NEXT...$ and $PREV...$ resource variables. -
    Fixed2.0.0

    Version2.0.0 beta 2
    ProblemPerl aborts with message "Undefined subroutine &main::output_db called ..." when the GENIDX resource - is set. -
    SolutionFixed. The output_db function is not applicable when GENIDX is active. -
    Fixed2.0.0 beta 3

    Version2.0.0 beta 2
    ProblemDuplicate resource filenames are not removed from the OTHERINDEXES resource. This caused duplicate work - to be performed. -
    SolutionFixed. Any duplicate filenames are removed before applying the OTHERINDEXES resource. -
    Fixed2.0.0 beta 3

    Version2.0.0 beta 2
    ProblemIndexes created via the OTHERINDEXES resource contain no messages. -
    SolutionFixed.
    Fixed2.0.0 beta 3

    Version2.0.0 beta 2
    ProblemThe markup defined by TSUBLISTEND may appear when there is no corresponding TSUBLISTBEG. -
    SolutionFixed.
    Fixed2.0.0 beta 3

    Version2.0.0 beta 1
    ProblemA multipart boundary specified with a capital boundary parameter, and not in quotes, was not recognized. -
    SolutionFixed
    Fixed2.0.0 beta 2

    Version1.2.3
    ProblemGeneration of links of message-ids when editting messages w/o consideration that the message-ids - may already be linked. This caused nested anchor - markup. -
    SolutionFixed. Only new message-ids are checked for.
    Fixed2.0.0 beta 1

    Version1.2.2
    ProblemThe ';' character may appear in derived files if the "usename" option is set for the mhexternal.pl filter. -
    SolutionFixed.
    Fixed1.2.3

    Version1.2.2
    ProblemThe '/' character is not properly recognized in e-mail addresses when e-mail addressess are being converted - to mailto links in message headers. -
    SolutionFixed.
    Fixed1.2.3

    Version1.2.2
    ProblemDatabase read failures occur in add operations on MS-DOS systems. -
    SolutionFixed (?)
    Fixed1.2.3

    Version1.2.1
    ProblemThe TIDXPGEND resource actually sets the value of the TIDXPGBEG resource. -
    SolutionFixed.
    Fixed1.2.2

    Version1.2.0
    ProblemMHonArc will abort execution under MS-DOS due to regular expression error. -
    SolutionFixed.
    Fixed1.2.1

    Version1.2.0
    Probleminstall.me will abort execution under MS-DOS due to regular expression error. -
    SolutionFixed.
    Fixed1.2.1

    Version1.2.0
    ProblemA reverse index listing is incorrect if the index size is less than the archive size. -
    SolutionFixed.
    Fixed1.2.1
    - +
    +

    Fixed Bugs

    + +

    Goto +<http://savannah.gnu.org/bugs/?group_id=1968>, +select "Closed" for the Status choice, and then +activate the Go or Browse button to list all closed/fixed +bugs. +

    -
    +
    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:38
    - +$Date: 2002/05/14 01:53:35 $
    + MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    - - + + diff --git a/doc/app-diagnos.html b/doc/app-diagnos.html index 82cfceb..f9441e9 100644 --- a/doc/app-diagnos.html +++ b/doc/app-diagnos.html @@ -1,14 +1,17 @@ -MHonArc v2.4 -- Appendix: Diagnostics +MHonArc v2.5 -- Appendix: Diagnostics + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -263,15 +266,15 @@

    file did not return a true value at file line number.


    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:39
    - +$Date: 2001/12/24 14:38:07 $
    + MHonArc
    Copyright © 1997-2000, -MHonArc v2.4 -- Appendix: MIME Conformance +<TITLE>MHonArc v2.5 -- Appendix: MIME Conformance + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -62,7 +65,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    Not applicable.


    @@ -78,7 +81,7 @@

    MIME-Conformance

    - + - + - + @@ -227,6 +226,10 @@

    Resource Variables

    + + + + @@ -264,12 +267,17 @@

    See Also


    + +
    MHonArcMHonArc

    Base64, quoted-printable, 7bit, 8bit, and binary are supported. Also, uuencode is supported: uuencode, x-uuencode, and x-uue. @@ -97,7 +100,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    Not applicable.


    @@ -112,7 +115,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    Currently, MHonArc will still call the registered content-type filter for the specified Content-Type, but the $isdecoded will be set to a false @@ -135,7 +138,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    MHonArc conforms to the first sentence of the paragraph The second sentence is not applicable.

    @@ -150,7 +153,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    Yes.


    @@ -171,7 +174,7 @@

    MIME-Conformance

    - + - + - + @@ -232,6 +231,10 @@

    Resource Variables

    + + + + @@ -315,7 +318,7 @@

    Examples

    </table> </body> </html> -</DEFINEDERIVED> +</DefineDerived> @@ -335,11 +338,16 @@

    See Also


    + +
    MHonArcMHonArc

    Yes.


    @@ -184,7 +187,7 @@

    MIME-Conformance

    - + - + - + @@ -198,7 +197,7 @@

    Examples

    </DayBegin><DayEnd> -</li></ul> +</ul></li> </DayEnd><LITemplate> @@ -225,14 +224,19 @@

    See Also


    + +
    MHonArcMHonArc

    Not really applicable. Warnings are generated during processing if a character set is encountered that is not recognized.

    @@ -199,7 +202,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    Yes.


    @@ -213,7 +216,7 @@

    MIME-Conformance

    - + - + - + @@ -249,6 +248,10 @@

    Resource Variables

    + + + + @@ -295,11 +298,16 @@

    See Also


    + +
    MHonArcMHonArc

    MHonArc will treat the data as text/plain and convert.


    @@ -225,7 +228,7 @@

    MIME-Conformance

    - + - + - + @@ -190,16 +189,16 @@

    Examples

    <AuthSort><AuthorBegin> -<li><strong>$FROMNAME$</strong> -<ul> +<li><strong>$FROMNAME$</strong> +<ul> </AuthorBegin><AuthorEnd> -</li></ul> +</li></ul> </AuthorEnd><LITemplate> -<li>$SUBJECT$</li> +<li>$SUBJECT$</li> </LITemplate> @@ -221,14 +220,19 @@

    See Also


    + +
    MHonArcMHonArc

    No. A warning is generated for unknown character sets. The data will be shown in raw form, with HTML special characters converted to entity references. This behavior is the default because some MUAs @@ -246,7 +249,7 @@

    MIME-Conformance

    - + + - @@ -197,13 +200,13 @@

    Resource list

    - + @@ -211,6 +214,7 @@

    Resource list

    + @@ -225,6 +229,7 @@

    Resource list

    + @@ -242,6 +247,7 @@

    Resource list

    + @@ -252,6 +258,7 @@

    Resource list

    + @@ -278,7 +285,7 @@

    Resource list

    - + @@ -292,6 +299,8 @@

    Resource list

    + + @@ -299,11 +308,13 @@

    Resource list

    + + @@ -311,22 +322,59 @@

    Resource list

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -348,16 +396,16 @@

    Resource list


    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    +
    MHonArcMHonArc

    All image, audio, and video types are saved to an external file with a link to the file created in the HTML. For applicable image types, they are inlined unless the image has an attachment content-disposition. @@ -266,7 +269,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    Most application types are decoded and saved to an external file with a link to the file created in the HTML. Some application types can be converted directly to HTML. @@ -286,7 +289,7 @@

    MIME-Conformance

    - + - +the current message using the subject as the link text. The +no argument version is equivalent to: +"<a $A_ATTR$>$SUBJECTNA$</a>". +
    MHonArcMHonArc

    Yes. Each part is automatically processed according to its media-type.

    @@ -300,7 +303,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    Yes.


    @@ -314,7 +317,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    Yes.


    @@ -326,7 +329,7 @@

    MIME-Conformance

    - + +field of the message. For example, given the address "someuser@mhonarc.org", +$FROMADDRDOMAIN$ would equal "mhonarc.org".
    MHonArcMHonArc

    Yes.


    @@ -346,7 +349,7 @@

    MIME-Conformance

    - +
    MHonArcMHonArc

    Yes.


    @@ -358,7 +361,7 @@

    MIME-Conformance

    - + -
    MHonArcMHonArc

    Yes.


    @@ -378,7 +381,7 @@

    MIME-Conformance

    - + - +
    MHonArcMHonArc

    Yes. The data is passed to the m2h_external::filter to be saved to an external file. @@ -404,7 +407,7 @@

    MIME-Conformance

    - + - +
    MHonArcMHonArc

    The m2h_text_plain::filter supports an option to specify what character set to use if no character @@ -425,7 +428,7 @@

    MIME-Conformance

    - + - @@ -105,7 +105,7 @@

    Terms and Definitions


    MHonArcMHonArc

    Not applicable.


    @@ -444,7 +447,7 @@

    MIME-Conformance

    - + - + @@ -229,19 +233,91 @@

    Manual Removal

    + +
    +

    Customizing Page Layout

    + +

    One of the most powerful features of MHonArc is the ability to +customize the layout of pages generated by MHonArc. Here, we give +a quick introduction on how customization can be done. For more +information, see the Page Layout +section. +

    + +

    In this introduction, the task we will be performing is to +add a footer at the bottom of each page in the archive to +contain the following markup: +

    +
    +<hr>
    +Please visit <a href="http://www.mhonarc.org">www.mhonarc.org</a>.
    +
    + +

    To modify page layout, we will need to create a +resource file and give it a +filename "myresource.mrc". The name we give the file is +completely arbitrary. There is nothing special about the name +"myresource.mrc". +

    + +

    Within myresource.mrc, +we add the following to tell MHonArc to include our footer at the +bottom of each page: +

    +
    +<!-- Define a custom resource variable representing our link. -->
    +<DefineVar>
    +MY-FOOTER-LINK
    +<hr>
    +Please visit <a href="http://www.mhonarc.org">www.mhonarc.org</a>.
    +</DefineVar>
    +
    +<!-- Modify appropriate resources to print our link at the bottom
    +     of MHonArc generated pages. Notice how the custom resource
    +     variable defined above can be used to include our link. -->
    +
    +<!-- Main index pages -->
    +<IdxPgEnd>
    +$MY-FOOTER-LINK$
    +</body>
    +</html>
    +</IdxPgEnd>
    +
    +<!-- Thread index pages -->
    +<TIdxPgEnd>
    +$MY-FOOTER-LINK$
    +</body>
    +</html>
    +</TIdxPgEnd>
    +
    +<!-- Message pages -->
    +<MsgPgEnd>
    +$MY-FOOTER-LINK$
    +</body>
    +</html>
    +</MsgPgEnd>
    +
    + +

    Now, when we invoke mhonarc, we tell it about our resource +file so our footer will show up: +

    +
    +    shell> mhonarc -rcfile myresource.mrc ...
    +
    +
    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    +
    MHonArcMHonArc

    Yes.


    @@ -464,7 +467,7 @@

    MIME-Conformance

    - + - - @@ -86,6 +87,7 @@

    Environment Variables

    + @@ -108,6 +110,7 @@

    Environment Variables

    + @@ -140,7 +143,6 @@

    Resource Elements

    - @@ -153,32 +155,33 @@

    Resource Elements

    + - - + + @@ -189,6 +192,7 @@

    Resource Elements

    + @@ -206,6 +210,7 @@

    Resource Elements

    + @@ -216,6 +221,7 @@

    Resource Elements

    + @@ -235,7 +241,7 @@

    Resource Elements

    - + @@ -246,6 +252,8 @@

    Resource Elements

    + + @@ -253,11 +261,13 @@

    Resource Elements

    + + @@ -265,22 +275,59 @@

    Resource Elements

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -325,7 +372,6 @@

    Command-Line Options

    - @@ -333,7 +379,6 @@

    Command-Line Options

    - @@ -361,6 +406,7 @@

    Command-Line Options

    + @@ -369,7 +415,7 @@

    Command-Line Options

    - + @@ -391,6 +437,7 @@

    Command-Line Options

    + @@ -405,16 +452,16 @@

    Command-Line Options


    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    +
    MHonArcMHonArc

    MHonArc supports non-ASCII encoding of text in message headers, including the "B" and "Q" encodings. By default, US-ASCII, ISO-8859-[1-10], and ISO-2022-JP are supported. For encoded @@ -526,15 +529,15 @@

    Other Stuff Supported


    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:39
    - +$Date: 2001/12/24 14:38:07 $
    + MHonArc
    Copyright © 1999, Earl Hood, -MHonArc v2.4 -- Appendix: Resource File Examples +MHonArc v2.5 -- Appendix: Resource File Examples + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -24,38 +27,48 @@

    Appendix: Resource File Examples

    -
    Day Grouping
    -

    This resource file utilizes the day grouping feature of MHonArc -to format the main index. +
    Blog
    +

    Resource the utilizes server-side includes to generate +weblog/blog-style page: All messages are displayed on a single page.

    Default MIME Settings
    -

    Default resource settings related to MIME processing. +

    Default resource settings related to MIME processing. This +resource file is useful for updating archives to reflect new default +MIME processing settings in newer versions of MHonArc. +

    +
    Day Grouping
    +

    This resource file utilizes the day grouping feature of MHonArc +to format the main index.

    Frame Navigation
    -

    This is an example of using HTML frames for archive navigation. +

    This is an example of using HTML frames for archive navigation.

    Icons
    -

    This example file makes use of the icons feature. +

    This example file makes use of the icons feature.

    Subject Grouping
    -

    This resource file utilizes the subject grouping feature of MHonArc +

    This resource file utilizes the subject grouping feature of MHonArc to format the main index.

    +
    Unicode
    +

    This resource file has MHonArc convert message character +data to UTF-8. +


    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2002/07/20 00:48:48 $
    + MHonArc
    Copyright © 1999, Earl Hood, -MHonArc v2.4 -- Appendix: Resource Indexes +MHonArc v2.5 -- Appendix: Resource Indexes + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -54,13 +57,11 @@

    Environment Variables

    M2H_EXPIREAGE Length of time to keep a message in an archive.
    M2H_EXPIREDATE Expiration of date of message.
    M2H_FOLREFS Print links links to explicit follow-ups and references.
    M2H_FOOTER File to include at the foot of main index pages.
    M2H_FROMFIELDS List of fields to extract author of a message.
    M2H_GMTDATEFMT Conversion specification for GMT dates.
    M2H_GZIPEXE Pathname to gzip executable.
    M2H_GZIPFILES Gzip files.
    M2H_GZIPLINKS Assume files are gzipped when creating links.
    M2H_HEADER File to include at the top of main index pages.
    M2H_HTMLEXT Extension to use for HTML files.
    M2H_IDXFNAME Filename for main (first) index page.
    M2H_IDXPREFIX Filename prefix for multi-page main index.
    M2H_MSGSEP Regex for matching message separator in mailbox files.
    M2H_MULTIPG Create multi-page indexes.
    M2H_NEWS Hyperlink newsgroups in message headers.
    M2H_NOSUBJECTTXT Raw subject text to use for messages without a subject.
    M2H_NOTEDIR Directory to store annotations.
    M2H_OTHERINDEXES List of alternate indexes to create for an archive.
    M2H_OUTDIR Location of archive.
    M2H_TLEVELS Maximum number of levels to indent in thread index.
    M2H_TREVERSE List thread in reverse order.
    M2H_TSLICE Size of thread listing slice for message pages.
    M2H_TSLICELEVELS Maximum number of levels to indent in thread slices.
    M2H_TSORT List threads by date.
    M2H_TSUBSORT List threads by subject.
    M2H_TTITLE Title of thread index.
    <DATEFIELDS> List of fields to extract date of message.
    <DAYBEGIN> Markup at the start of a day group.
    <DAYEND> Markup at the end of a day group.
    <DBFILE> Name of archive database file.
    <DECODEHEADS>
    <NODECODEHEADS>
     Store "decode-only" characters sets in raw form.
    <DEFINEDERIVED> Define extra file(s) to generate for each message page.
    <DEFINEVAR> Define a custom resource variable.
    <FIELDSBEG> Beginning markup of message header.
    <FIELDSEND> Ending markup of message header.
    <FIELDSTYLES> Define HTML elements that wrap field text of message headers.
    <FIRSTPGLINK> Link markup for first page of main index.
    <FLDBEG> Markup before field text.
    <FLDEND> Markup after field text.
    <FOLREFS>
    <NOFOLREFS>
     Print links links to explicit follow-ups and references.
    <FOLUPBEGIN> Beginning markup of follow-up links in message pages.
    <FOLUPEND> Ending markup of follow-up links in message pages.
    <FOLUPLITXT> Markup for a follow-up link.
    <FOOTER> File to include at the foot of main index pages.
    <FROMFIELDS> List of fields to extract author of a message.
    <GMTDATEFMT> Conversion specification for GMT dates.
    <GZIPEXE> Pathname to gzip executable.
    <GZIPFILES>
    <NOGZIPFILES>
     Gzip files.
    <GZIPLINKS>
    <NOGZIPLINKS>
     Assume files are gzipped when creating links.
    <HEADBODYSEP> Markup separating the message head from the body.
    <HEADER> File to include at the top of main index pages.
    <HTMLEXT> Extension to use for HTML files.
    <ICONS> Content-type to icon mapping.
    <IDXFNAME> Filename for main (first) index page.
    <IDXLABEL> Label for main index.
    <IDXPGBEGIN> Beginning markup for main index pages.
    <IDXPGEND> Ending markup for main index pages.
    <IDXPGSSMARKUP> Markup at the beginning of all index pages.
    <IDXPREFIX> Filename prefix for multi-page main index.
    <IDXSIZE> Size of each index page.
    <INCLUDE> Include a resource file.
    <LABELBEG> Beginning markup of the label text of a message field.
    <LABELEND> End markup of the label text of a message field.
    <LABELSTYLES> Define HTML elements to wrap message header field labels.
    <LASTTPGLINK> Link markup for last page of main index.
    <LISTBEGIN> Markup to begin main index message listing.
    <LISTEND> Markup to end main index message listing.
    <LITEMPLATE> Markup for an entry in the main index message list.
    <MAIN>
    <NOMAIN>
     Create main index.
    <MAXSIZE> Maximum number of messages in an archive.
    <MHPATTERN> Regex for matching message files in an MH folder (directory).
    <MIMEALTPREFS> Content-type preferences for multipart/alternative data.
    <MIMEARGS> Arguments to MIME filters.
    <MIMEDECODERS> Content-Transfer-Encoding decoding functions.
    <MIMEEXCS> Content-types to exclude.
    <MSGPGBEGIN> Starting markup for each message page.
    <MSGPGEND> Ending markup for each message page.
    <MSGPGS>
    <NOMSGPGS>
     Print message pages.
    <MSGPGSSMARKUP> Markup at the beginning of all message pages.
    <MSGPREFIX> Prefix for message page filenames.
    <MSGSEP> Regex for matching message separator in mailbox files.
    <MULTIPG> Create multi-page indexes.
    <NEXTLINKIA> Inactive link markup for next message by main index.
    <NEXTPGLINK> Link markup for next page of main index.
    <NEXTPGLINKIA> Inactive link markup for next page of main index.
    <NOSUBJECTTXT> Raw subject text to use for messages without a subject.
    <NOTE> Markup for representing the annotation of a message.
    <NOTEDIR> Directory to store annotations.
    <NOTEIA> Markup when no annotation is available for a message.
    <SAVERESOURCES>
    <NOSAVERESOURCES>
     Save resource values in database.
    <SORT>
    <NOSORT>
     List messages by date in main index.
    <SPAMMODE>
    <NOSPAMMODE>
     Perform actions to deter email address harvesters.
    <SSMARKUP> Markup at the beginning of all generated pages.
    <SSMARKUP> Default markup at the beginning of all generated pages.
    <SUBJECTARTICLERXP> Regex for matching leading articles in message subjects.
    <SUBJECTBEGIN> Beginning markup for a subject group in the main index.
    <SUBJECTEND> Ending markup for a subject group in the main index.
    <SUBSORT>
    <NOSUBSORT>
     List messages by subjext in main index.
    <TCONTBEGIN> Markup before the continuation of a broken thread.
    <TCONTEND> Markup after the continuation of a broken thread.
    <TEXTCLIPFUNC> Perl function to use for text clipping operations.
    <TFIRSTPGLINK> Link markup for first page of thread index.
    <TFOOT> Footer markup for thread index page.
    <THEAD> Header markup for thread index page.
    <THREAD>
    <NOTHREAD>
     Create thread index.
    <TIDXLABEL> Label string for the thread index.
    <TIDXPGBEGIN> Beginning markup for the thread index pages.
    <TIDXPGEND> Ending markup for the thread index pages.
    <TIDXPGSSMARKUP> Markup at the beginning of all thread index pages.
    <TIDXPREFIX> Filename prefix for thread index pages beyond the first page.
    <TIMEZONES> Hour offsets for timezones.
    <TINDENTBEGIN> Markup for opening a level when continuing a broken thread.
    <TINDENTEND> Markup for closing a level when continuing a broken thread.
    <TITLE> Title for main index.
    <TLASTTPGLINK> Link markup for last page of thread index.
    <TLEVELS> Maximum number of levels to indent in thread index.
    <TLIEND> Ending markup for a thread index message listing.
    <TLINONE> Markup for a missing message in thread index.
    <TLITXT> Markup for a thread index message listing.
    <TNEXTBUTTON> Button markup for next message by thread.
    <TNEXTBUTTONIA> Inactive button markup for next message by thread.
    <TNEXTINBUTTON> Button markup for next message within a thread.
    <TNEXTINBUTTONIA> Inactive button markup for next message within a thread.
    <TNEXTINLINK> Link markup for next message within a thread.
    <TNEXTINLINKIA> Inactive link markup for next message within a thread.
    <TNEXTLINK> Link markup for next message by thread.
    <TNEXTLINKIA> Inactive link markup for next message by thread.
    <TNEXTPGLINK> Link markup for next page in thread index.
    <TNEXTPGLINKIA> Inactive link markup for next page in thread index.
    <TNEXTTOPBUTTON> Button markup for first message in the next thread.
    <TNEXTTOPBUTTONIA> Inactive button markup for first message in the next thread.
    <TNEXTTOPLINK> Link markup for first message in the next thread.
    <TNEXTTOPLINKIA> Inactive link markup for first message in the next thread.
    <TOPLINKS> Markup for top navigational links of a message page.
    <TPREVBUTTON> Button markup for previous message by thread.
    <TPREVBUTTONIA> Inactive button markup for previous message by thread.
    <TPREVINBUTTON> Button markup for previous message within a thread.
    <TPREVINBUTTONIA> Inactive button markup for previous message within a thread.
    <TPREVINLINK> Link markup for previous message within a thread.
    <TPREVINLINKIA> Inactive link markup for previous message within a thread.
    <TPREVLINK> Link markup for previous message by thread.
    <TPREVLINKIA> Inactive link markup for previous message by thread.
    <TPREVPGLINK> Link markup for previous page in thread index.
    <TPREVPGLINKIA> Inactive link markup for previous page in thread index.
    <TPREVTOPBUTTON> Button markup for first message in the previous thread.
    <TPREVTOPBUTTONIA> Inactive button markup for first message in the previous thread.
    <TPREVTOPLINK> Link markup for first message in the previous thread.
    <TPREVTOPLINKIA> Inactive link markup for first message in the previous thread.
    <TREVERSE>
    <NOTREVERSE>
     List thread in reverse order.
    <TSINGLETXT> Markup for a thread listing with no follow-ups.
    <TSLICE> Size of thread listing slice for message pages.
    <TSLICEBEG> Markup for the start of a thread slice.
    <TSLICECONTBEGIN> Thread slice markup before the continuation of a broken thread.
    <TSLICECONTEND> Thread slice markup after the continuation of a broken thread.
    <TSLICEEND> Markup for the end of a thread slice.
    <TSLICEINDENTBEGIN> Thread slice markup for opening a level when continuing a broken thread.
    <TSLICEINDENTEND> Thread slice markup for closing a level when continuing a broken thread.
    <TSLICELEVELS> Maximum number of levels to indent in thread slices.
    <TSLICELIEND> Ending markup for a thread slice message listing.
    <TSLICELIENDCUR> Ending markup for a thread slice message listing if current message.
    <TSLICELINONE> Thread slice markup for a missing message in thread slice.
    <TSLICELINONEEND> Ending markup for a missing message in thread slice.
    <TSLICELITXT> Markup for a thread slice message listing.
    <TSLICELITXTCUR> Markup for a thread slice message listing if current message.
    <TSLICESINGLETXT> Markup for a thread slice listing with no follow-ups.
    <TSLICESINGLETXTCUR> Markup for a thread slice listing with no follow-ups if current message.
    <TSLICESUBJECTBEG> Markup before a subject based thread slice listing.
    <TSLICESUBJECTEND> Markup after a subject based thread slice listing.
    <TSLICESUBLISTBEG> Thread slice markup for starting a sub-thread.
    <TSLICESUBLISTEND> Thread slice markup for ending a sub-thread.
    <TSLICETOPBEGIN> Thread slice markup for the root/start of a thread.
    <TSLICETOPBEGINCUR> Thread slice markup for the root/start of a thread if current message.
    <TSLICETOPEND> Thread slice markup for the end of a thread.
    <TSLICETOPENDCUR> Thread slice markup for the end of a thread if current message.
    <TSORT>
    <NOTSORT>
     List threads by date.
    <TSUBJECTBEG> Markup before a subject based thread listing.
    <TSUBJECTEND> Markup after a subject based thread listing.
    -expireage Length of time to keep a message in an archive.
    -expiredate Expiration of date of message.
    -folrefs
    -nofolrefs
     Print links links to explicit follow-ups and references.
    -footer File to include at the foot of main index pages.
    -force Force archive operation even if lock cannot be obtained.
    -fromfields List of fields to extract author of a message.
    -genidx Generate a message index to standard output.
    -gzipexe Pathname to gzip executable.
    -gzipfiles
    -nogzipfiles
     Gzip files.
    -gziplinks
    -nogziplinks
     Assume files are gzipped when creating links.
    -header File to include at the top of main index pages.
    -htmlext Extension to use for HTML files.
    -idxfname Filename for main (first) index page.
    -idxprefix Filename prefix for multi-page main index.
    -msgsep Regex for matching message separator in mailbox files.
    -multipg Create multi-page indexes.
    -news Hyperlink newsgroups in message headers.
    -nosubjecttxt Raw subject text to use for messages without a subject.
    -notedir Directory to store annotations.
    -notetext Annotation text.
    -otherindexes List of alternate indexes to create for an archive.
    -posixstrftime Use POSIX's strftime() for converted time format strings.
    -quiet Do not output status.
    -rcfile Resource file to read before processing input.
    -reverse Reverse the listing order in the main index.
    -reverse
    -noreverse
     Reverse the listing order in the main index.
    -rmm Remove specified messages from an archive.
    -saveresources
    -nosaveresources
     Save resource values in database.
    -scan List archive messages to standard output.
    -tlevels Maximum number of levels to indent in thread index.
    -treverse List thread in reverse order.
    -tslice Size of thread listing slice for message pages.
    -tslicelevels Maximum number of levels to indent in thread slices.
    -tsort
    -notsort
     List threads by date.
    -tsubsort
    -notsubsort
     List threads by subject.
    -ttitle Title of thread index.
    + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2002/07/27 05:13:10 $
    + MHonArc
    Copyright © 1999, Earl Hood, -MHonArc v2.4 -- Appendix: Utility Programs +<TITLE>MHonArc v2.5 -- Appendix: Utility Programs + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -25,7 +28,14 @@

    Appendix: Utility Programs

    @@ -75,6 +85,64 @@

    mha-dbrecover

    shell> mha-dbrecover -rcfile res.mrc -outdir /path/to/archive +

    Additional Options

    + +

    mha-dbrecover supports the additional command-line options: +

    + +
    +
    -dbr-startnum #
    +
    The starting message number to recover data from. This option is + useful if you have many message files in a directory, but you only + want to recover a subset of the files. + If this option is not specified, the starting number is 0. +
    +
    +
    +
    -dbr-endnum #
    +
    The ending message number to recover data from. This option is + useful if you have many message files in a directory, but you only + want to recover a subset of the files. + If this option is not specified, all messages starting from + -dbr-startnum will be recovered. +
    +
    + +

    Using the number range options are typically not needed, but may +be useful if the archive is maintained with a +MAXSIZE (or +EXPIREAGE), +and +KEEPONRMM is active. The +message number range options will allow you to minimize recovering +processing by having mha-dbrecover skip messaages that will +be dropped from the database due to the +MAXSIZE, +or EXPIREAGE, +setting. +

    +

    For example, say you have an archive directory with 1000 message +pages numbered 0 through 999, and the maximum size of the archive +is 200. The following command will make recovering more efficient +by skipping the first 800 messages since they will be dropped from +the database anyway: +

    +
    +    shell> mha-dbrecover -dbr-startnum 800 -outdir /path/to/archive
    +
    + + + + + + +
    NOTE

    It is possible that message number order may not exactly match +date order. You may want to increase the number range to take in +account of possible anomolies where message number order may vary from +message date order. +

    +
    +

    mha-decode

    @@ -104,7 +172,24 @@

    mha-decode

    -single, -umask. -

    Example usage: +

    Additional Options

    + +

    mha-decode supports the additional command-line options: +

    + +
    +
    -dcd-digest
    +
    Do not parse message/rfc822 and message/news attachments. + Normally, mha-decode will recursively parse message + attachments and decode any parts contained within. With this + option, any message attachment encountered will be saved + intact. +
    +
    + +

    Examples

    + +

    Basic usage:

         shell> mha-decode inbox
    @@ -123,18 +208,33 @@ 

    mha-decode

         shell> some_program | mha-decode -single
     
    +

    Save out attached messages and then pass them into MHonArc +to be added to a archive: +

    +
    +    shell> mha-decode -dcd-digest -single digest
    +    shell> mhonarc -outdir /path/to/archive -mhpattern '^822.*\.822$' .
    +
    +

    Note: There is a trailing dot, '.', at the end of the +called to mhonarc to tell mhonarc to process the +current working directory. +

    +

    Note: You may need to reset the +MHPATTERN resource if normal +input into the archive is from MH-style mail folders. +


    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2002/05/03 04:30:50 $
    + MHonArc
    Copyright © 1998-1999, |Nli|1^))xG)Np5Od! Uk36P5>sF!$q5p7fV>3^jD5d1ZUM3wJYD@<);T3K0RWEo7bE}x literal 0 HcmV?d00001 diff --git a/doc/bug.gif b/doc/bug.gif deleted file mode 100644 index 794cfd612af6e5ea8fe512ffbd91f5febfd3ea9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1442 zcmcIj{cqJ|6h8apz2lDcUK!TN$0`HX4Rjr_tzgX7T?Q*3vSx(wI)%|KNUCN~K=hKh zjS5RBA0s6hP;ewR;g{+r7BE`540sV`6=k`A;=-MaLnQ$*W;24<@<;gobl!8GbDr~@ zoU^#5x}0y!gFF~bLNb{|2vHP8(=^9%JkN`wh%uIBSyffTFig{Q9LIHCLWt`)wq-fC zP5iHK`!QYT7=~vUfu<<{8h`;{0eA$M=R}s#MP8ynr6EcKVZmd8Sf*!ao{EXYNi;H9 zL^!0-U@%}Z;IQDb5a)o{mLiF=C=eg4DI_Wrfwnmm=aE2xOoPUN&Va>&?bqbM<6w{n zV(PA;VS)E_m1s&-5(wrz%o#i_&`4&GCs2e(JO$Wq$!BE2;lSk}&Vv`lM3o$g6&Xrq zDTxN11&afl13jwh9O5VtX;2u@STJ=hs>sALM3$C08vA$#89b7CM&m%mqAGGCgQ8D_ zm{{Nhmc~4zORUU-&VwrP9tM?1*ryPIV2I1$&(|^yO_dca%97w7_q^&bk7etU`E05oetc0!8Ivchqw(RE{qazOqN*S*>Io0s0Yb7j1Xk` z03YnZXxy&}uIn$F4MZ!Z>$F@LA003>1d6Ot!4QGxuU2uxnm(|vv?$~e9~QPq*l z)SV0-e%Oox&jxaSp-P%i=hVa(W7`jITr>ami=~@ZemMSzn%8!hEGQ@$&dQk^>TO62 zT|LtKUZ`jJ&Wm}|D>G8UG@1o{kX{{{#Bh+JL^9UT+1zdWoky>Fxz>2{NCVD>(Msv zw<)2^=GPeoD^7|h$Dr`g9#XG`H=iw^JKPwVv|$&M{JC^bd$ID(jw|f#*n}{ZckpIs z>t|m+{znVd)70~jlBy@(uE>1rF4Z}qu)g(!w6cNW3k}_WJ*W!QT)ROtwH~y>O{I^u{h6JfeDThb>}j_PxcnKflv{IW?oQ@lsXQjuVxU6;~gQpJNvH?Vh+5wO=VZ7aP*1kDK$| zVYI5DaaV3A(VJa1(3JL7W^?}a{$pqAS`P&BBO#L8Qn{VXTDNWUvKd}S-<6_|@(zZ= z=GM~4#FrjakZI?rw0^E-iM*VP^@Q_;Z80h`@tFtgf$LeH)LrN=Ob+z*m!9gVyct}& zWnOzkn4M@Vym2cW*gH1=_j{*mGtyz<>83QVC^?+!m7VEoJCgnKmb%o9i+Z5F=+Uo2 zU>5pgTtdq(ran$LW^C(fMEjiXwA~EplK;(o^g{EYHK*6Mqv<9hG!}dw z0v>$Z3QRpviOeF4N4|g*7EBH-4%|?6Y(JI8SA327BI^h!iIKc}u|}2XYva zKvDsUkuD*RLZCoW1&bh42A4vQ1{xJ923zF`Mm7aq5nV&l3G0MT9eNBfDY6ytG)NlY zSel^`A~LqhP!UpAm{!%p5hnClaMOm26TT>pDf?1G9GWA@Z6GhbDQDO++|k^)S}5#=1h&0ADhPcvEmYIfwZFemrr*_?!M>F9zC~VZkf9DqoL8p1EVf9 zev-wj$rp+%bFMF+z^pHCTU~qY$hmcu%D4cXJk<}kr#2UqExVHDi=^)# zRP1~5<6^SAYv|Hlt?4Jm)l2}RY4FtFzs_zZiACv_=|>}DN;g(_y!F_HBeyRa1C?LZ z{?K_kmY -MHonArc v2.4 -- Common Tasks +MHonArc v2.5 -- Common Tasks + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]
    @@ -26,12 +29,13 @@

    Common Tasks

    @@ -63,7 +67,7 @@

    Setting the Index Title


    -

    Changing Index Listing Order

    +

    Changing Index Listing Order

    By default, messages get listed in chronological order on the main/non-thread and thread index pages. @@ -96,7 +100,7 @@

    Changing Index Listing Order

    -authsort Sort main index by author.
    -reverse Reverse the listing order in the main index.
    -sort List messages by date in main index.
    -subsort List messages by subjext in main index.
    -subsort List messages by subject in main index.
    -treverse List thread in reverse order.
    -tsort List threads by date.
    -tsubsort List threads by subject.
    + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2002/06/07 17:38:04 $
    + MHonArc
    Copyright © 1997-1999, Earl Hood, -MHonArc v2.4 -- Contacts +MHonArc v2.5 -- Contacts + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -18,51 +21,59 @@

    Contacts


    -

    Mailing List

    +

    User's Mailing List

    A mailing list, -mhonarc@ncsa.uiuc.edu, -is available to -provide a discussion forum on the usage and development of -MHonArc. Appropriate topics for the list include: usage -questions, bug reports, behavioral enhancements, documentation bugs, -and general help.

    -

    To subscribe to the mailing list, send mail to -mhonarc-request@ncsa.uiuc.edu with the command,

    -
    -subscribe
    -

    as the message body. +mhonarc-users@mhonarc.org, +is available to provide a discussion forum on the usage +MHonArc.

    +

    Subscribing

    +

    To subscribe to the mailing list, +send mail to majordomo@mhonarc.org with the command,

    +
    +subscribe mhonarc-users
    +

    as the message body. +

    +

    If you send mail -mhonarc@ncsa.uiuc.edu, -your message will be -distributed to all subscribers on the list. +mhonarc-users@mhonarc.org, +your message will be distributed to all subscribers on the list.

    -

    The list is restricted to subscribers only. Messages sent -to the list by non-subscribers are manually screened before distribution. -Therefore, there may be a significant delay before the message is -actually seen be subscribers. Any spam messages are happily redirected -to /dev/null. +

    The list is restricted to subscribers only.

    If you are subscriber and want to send messages to the list from different addresses, you can register your alternate addresses to the -mhonarc-allow@ncsa.uiuc.edu list. +mhonarc-allow@mhonarc.org list.

    To subscribe, send mail to

    -    majordomo@ncsa.uiuc.edu
    +    majordomo@mhonarc.org
     

    with the body of your message containing the single line

    @@ -70,18 +81,118 @@

    Mailing List

    subscribe mhonarc-allow

    You can now send messages to -mhonarc@ncsa.uiuc.edu -with from the address you sent the subscribe request. +mhonarc-users@mhonarc.org +from the address you specified in the subscribe request. +

    + + + + + + +
    NOTE

    The special mhonarc-allow list applies to all +mhonarc.org mailing lists. For example, if you subscribe +your address to mhonarc-allow, you can also send messages +to the development list.

    +
    +

    Unsubscribing

    +

    If you want to unsubscribe to the list, +send mail to majordomo@mhonarc.org with the command,

    +
    +unsubscribe mhonarc-users
    +

    as the message body. +

    + +

    List Problems

    +

    If you are having problems with the mailing list -- e.g. problems +subscribing, unsubscribing, not receiving messages -- your messages +should be directed to +mhonarc-users-owner@mhonarc.org +

    + +

    Archives

    Web archives of the mailing list are available at the following URLs:

    + +
    +

    Development Mailing List

    + +

    The development mailing list for MHonArc is +mhonarc-dev@mhonarc.org. +This list is for technical discussions about MHonArc development. +Appropriate topics include discussions about MHonArc internals, +design and analysis, and bug reports. This list receives +CVS commit messages made to the MHonArc CVS repository. +

    + +

    If you are not sure if you should be subcribed to +mhonarc-dev@mhonarc.org, +then do not subscribe to it. If you do not know +if your message is appropriate for +mhonarc-dev@mhonarc.org +then send it to the user's list instead. +The MHonArc development team will then redirect discussion to the +development list or keep it on the user's list. +

    + +

    People subscribed to the user's list +are able to send messages to the development list. +

    + +

    Subscribing

    +

    To subscribe to the mailing list, +send mail to majordomo@mhonarc.org with the command, +

    +
    +subscribe mhonarc-dev
    +

    as the message body. +

    + +

    Unsubscribing

    +

    If you want to unsubscribe to the list, +send mail to majordomo@mhonarc.org with the command,

    +
    +unsubscribe mhonarc-dev
    +

    as the message body. +

    + +

    List Problems

    +

    If you are having problems with the mailing list -- e.g. problems +subscribing, unsubscribing, not receiving messages -- your messages +should be directed to +mhonarc-dev-owner@mhonarc.org +

    + +

    Archives

    +

    Web archives of the development mailing list are available at the following +URLs: +

    +
    @@ -93,20 +204,23 @@

    People

    Achim Bohnet
    ach@mpe.mpg.de -

    Maintainer, of the MHonArc mailing list archive. +

    Maintainer, of the original MHonArc mailing list archive, +<http://www.xray.mpe.mpg.de/mailing-lists/mhonarc/>.

    Earl Hood
    -mhonarc@mhonarc.org +earl@earlhood.com

    Creator and developer of MHonArc. Also author of the documention, for what it is worth.

    Christopher Lindsey
    -mhonarc-owner@ncsa.uiuc.edu -

    Administrator of the MHonArc mailing list. +lindsey@mallorn.com +

    Administrator of the MHonArc mailing list and the person + providing the hosting services for mhonarc.org.

    @@ -118,7 +232,7 @@

    People

    MHonArc users
    -mhonarc@ncsa.uiuc.edu +mhonarc-users@mhonarc.org

    Everyone who helps answer questions and make comments to improve the quality of MHonArc.

    @@ -126,17 +240,17 @@

    People


    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2002/07/04 03:34:17 $
    + MHonArc
    -Copyright © 1997-2001, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/faq.gif b/doc/faq.gif deleted file mode 100644 index c876e43eb2435af5bd172c14c82f2a1c58555279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1331 zcmc(e{ZrBh0Ea&iCig4Fh7C$TX=T|@6O@xLAUeHo;Kj|angfw+^fU%K}>JK-EK_PVzL91HJIFp z2_weaFMSCiE%85-gw_(*mRvN~pt;z# zS!Z)fM>|o5#zY+d77d#erX4V4(~jgi97?AgP@pDVR3$~F&ZaWWepe!6XI}J99d<_G z`}~+~N!XeYuwivrkrD+Oa)AU!)gogg-53r-T%bWsHYi|_y5%H<R6pi+_rb5m~>?V@Vk2ut6)o9PmlajxU5-P9!t%KfRl z{wk_tkL6%&fa^d?oZTF&?8$KKAu?~Qn)Z%3ri?Z{9O#~NyOK)YZlMc|dm1AIg8_=g z#(tWc_oI)YCF}dy5^2{4@6ayZ_=TX=hS%5rX-a9xx2nsY|_(&Y!`sbT~#mOv%+-%rxyp<-aX6f+Zd;14=M`x0mrQSGHW|&YOR}Ql?VJwDNhD@jmB5 z(@(2Boy*K%rbvihQs$AV@qlE4u*NCaW~==`FJ&TV%XulcKyb7$S4|=zoW!o<4Lha> zG$Z8twSmx87QjR9RZq=T$FwTEnm} zHfsdB(+80=>@-=y)~G9JjLOuv(MxlFuh)IUyblex8vF|0zI#r4mPko4ZDMnDGEK1K z<9Zvxfz2hVTq;u-FLv9e`fY6iMe!bnaz5wU70Og$k0N0TK*Kz>XwE)$M z0Mn}g(`x|Gg#gcN0L`xe%A5eoUjWHs0LO>|#i{_ssc6Dn0KlqszIOn@zr_ET{`zp0sb(Y3n4fk28*AOaZrTjSG|-mhzpbxID*`Q_sOJ${>LFp zpx*-TGn3>9$CYB1ZTtG}SFkMsAgpPH!ccp8gW69%C8&}x8y7CDkVSK^MDeEM1~_dY zBb#j!{>EdYQY)4nM4;7Tty1rVaS)#mi&{D}htG|2Caa}e1GwM7%h|Y+NG-iqlW`?} z#G(gr+p3q}Hs5Y{=T+}=&>(1wUY(kUtM^+6=J|>2uK?W7=B5jGE0ekGI+c~^9w(;? zGt8LPlQo3s4nkaODJ9PgRU4^C@ZOo;^)c0el9!l>8uT1Kc1Aq{B&O&ncM#56%#W8a k7|0z&*9oNlA>cpFH+v*x8WS-nHUIzs07*qoM6N<$f(YUfi~s-t literal 0 HcmV?d00001 diff --git a/doc/faq/Makefile b/doc/faq/Makefile new file mode 100644 index 0000000..185ee69 --- /dev/null +++ b/doc/faq/Makefile @@ -0,0 +1,29 @@ +# $Date: 2002/04/02 06:57:57 $ + +TOCFILE = faq.html +HTMLFILES = \ + about.html \ + general.html \ + envs.html \ + usage.html \ + archives.html \ + indexpgs.html \ + msgpgs.html \ + threads.html \ + mime.html \ + security.html \ + # End of files + +default: addbuttons pagetocs toc + +addbuttons: + perl _helper/addbuttons.pl $(HTMLFILES) + +pagetocs: + perl _helper/addtoc-i.pl $(HTMLFILES) + +toc: + perl _helper/addtoc.pl $(TOCFILE) $(HTMLFILES) + +clean: + /bin/rm -f *.tmp *.gml diff --git a/doc/faq/_helper/Makefile b/doc/faq/_helper/Makefile new file mode 100644 index 0000000..d810b33 --- /dev/null +++ b/doc/faq/_helper/Makefile @@ -0,0 +1,7 @@ +# $Date: 1997/05/13 19:38:17 $ + +default: + chmod a+x *.pl + +clean: + /bin/rm -f *.tmp *.gml diff --git a/doc/faq/_helper/addbuttons.pl b/doc/faq/_helper/addbuttons.pl new file mode 100644 index 0000000..c691ffc --- /dev/null +++ b/doc/faq/_helper/addbuttons.pl @@ -0,0 +1,39 @@ +#!/usr/local/bin/perl +# +# $Date: 2001/09/05 16:04:08 $ + +for ($i=0; $i <= $#ARGV; $i++) { + $file = $ARGV[$i]; + system("/bin/cp $file $file.$$"); + open(IN, "$file.$$") or die "Unable to open $file\n"; + open(OUT, ">$file") or die "Unable to create $file\n"; + + while () { + print OUT $_; + if (//) { + while () { + last if //; + } + print OUT "

    \n"; + if ($i > 0) { + print OUT qq{[Prev]}; + } else { + print OUT qq{[Prev]}; + } + if ($i < $#ARGV) { + print OUT qq{[Next]}; + } else { + print OUT qq{[Next]}; + } + print OUT qq{[TOC]}; + print OUT qq{[Home]}; + print OUT qq{\n

    \n\n}; + } + } + + close IN; + close OUT; + unlink "$file.$$"; +} + +exit 0; diff --git a/doc/faq/_helper/addtoc-i.pl b/doc/faq/_helper/addtoc-i.pl new file mode 100644 index 0000000..9e543b3 --- /dev/null +++ b/doc/faq/_helper/addtoc-i.pl @@ -0,0 +1,44 @@ +#!/usr/local/bin/perl +# +# $Date: 1998/02/18 16:37:07 $ + +my($tocfile, $toctxt); + +foreach $tocfile (@ARGV) { + if (! -w $tocfile) { + warn qq/Warning: "$tocfile" is not writable\n/; + next; + } + system("/bin/cp $tocfile $tocfile.$$"); + open(IN, "$tocfile.$$") or die "Unable to open $tocfile\n"; + open(OUT, ">$tocfile") or die "Unable to create $tocfile\n"; + + $toctxt = ""; + while () { + chomp; + next unless m|||gi; + s|||gi; + s|||gi; + s|]*>||gi; + $toctxt .= qq{
  • $_
  • \n}; + } + seek IN, 0, 0; + while () { + print OUT $_; + if (//) { + while () { + last if (//); + } + print OUT "
      \n", $toctxt, "
    \n", + "\n"; + } + } + + close IN; + close OUT; + unlink "$tocfile.$$"; +} + +exit 0; diff --git a/doc/faq/_helper/addtoc.pl b/doc/faq/_helper/addtoc.pl new file mode 100644 index 0000000..453cf16 --- /dev/null +++ b/doc/faq/_helper/addtoc.pl @@ -0,0 +1,48 @@ +#!/usr/local/bin/perl +# +# $Date: 1997/05/15 16:06:29 $ + +$tocfile = shift @ARGV; +system("/bin/cp $tocfile $tocfile.$$"); +open(IN, "$tocfile.$$") or die "Unable to open $tocfile\n"; +open(OUT, ">$tocfile") or die "Unable to create $tocfile\n"; + +while () { + print OUT $_; + if (//) { + while () { + last if (//); + } + foreach $file (@ARGV) { + open(FILE, $file) or die "Unable to open $file\n"; + + print OUT "
      \n"; + while () { + chomp; + next unless m|||gi; s|||gi; + s|]*>||gi; + print OUT qq{
    • $_\n
        \n}; + last; + } + while () { + chomp; + next unless m|||gi; s|||gi; + s|||gi; + s|]*>||gi; + print OUT qq{
      • $_
      • \n}; + } + print OUT "
      \n
    \n"; + close FILE; + } + print OUT "\n"; + } +} +close IN; +close OUT; +unlink "$tocfile.$$"; + +exit 0; diff --git a/doc/faq/about.html b/doc/faq/about.html index a72a0d9..557274f 100644 --- a/doc/faq/about.html +++ b/doc/faq/about.html @@ -6,7 +6,7 @@

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]

    @@ -27,7 +27,7 @@

    About the FAQ


    -
    +

    Summary

    @@ -50,7 +50,7 @@

    Summary


    -
    +

    Terms and Definitions

    @@ -64,7 +64,7 @@

    Terms and Definitions

    RAND MH Message Handling System, an MUA.
    MIME +MIME Multipurpose Internet Mail Extensions.
    -
    +

    Version

    @@ -116,7 +116,7 @@

    Version


    -
    +

    Location

    @@ -127,11 +127,11 @@

    Location


    -
    +

    Author

    -

    Earl Hood, +

    Earl Hood, mhonarc@mhonarc.org

    @@ -139,14 +139,14 @@

    Author

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]


    -01/06/10 17:47:20
    - +$Date: 2002/04/18 06:19:27 $
    + MHonArc
    Copyright © 1997-2001, Earl Hood,

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]

    @@ -28,29 +28,30 @@

    Archives

  • Why are there "jumps" in message numbers?
  • Why do some messages get re-added each time MHonArc processes a mail folder?
  • How do I remove messages from an archive?
  • +
  • Can I convert an archive back to mailbox format?

  • -
    +

    Why does a message get split into mulitple messages with no headers?

    If you are processing UUCP mailbox files, messages are -separated by a line starting with "From " (ie. The -word "From" followed by a space). Some mail software -will prefix lines in message bodies with a `>' +separated by a line starting with "From " (ie. The +word "From" followed by a space). Some mail software +will prefix lines in message bodies with a `>' to avoid MUA's from incorrectly treating the line as a message separator. However, some mail software doesn't.

    To avoid incorrect separator detection, many MUAs perform -a more stricter detection of separators beyond "From ". +a more stricter detection of separators beyond "From ". MHonArc, by default, will treat lines starting -with "From " as a message separator, which can lead to +with "From " as a message separator, which can lead to incorrect message termination if the From line has not been escaped -with a `>'.

    +with a `>'.

    To fix the problem, use the MSGSEP resource to instruct MHonArc to use a stricter test detecting a message @@ -81,13 +82,74 @@

    Why does a message get split into mulitple messages with resource available in v2.0 and later. The CONLEN resource, when set, tells MHonArc to utilize the Content-Length fields in the message head. If your MTA defines this field accurately, -then you can utilize this -feature.

    +then you can utilize this feature. +Sun Solaris' delivery agent will define the +Content-Length field for messages delivered to local users. +

    +

    If you use Procmail to filter your mail, +you can try the following Procmail recipe (contributed by +Christopher Lindsey): +

    +
    +

    However, one can add a Content-Length: header with everyone's favorite +tool, procmail. :) Here's a recipe borrowed from David Tamkin about +9 moons ago: +

    +
    +  :0fhw # B won't help; size conditions ignore H and B flags on the :0 line
    +  * ! ^Content-Length:.*[0-9]
    +  * 1^1 B ?? >1
    +  | formail -a "Content-Length:  $="
    +
    +

    So if you want to count on Content-Length, the message could be +piped into procmail with a specific procmailrc file which would +do this counting and then call MHonArc. +

    +
    + +

    If sendmail is +your system's MTA and you use Procmail as your local delivery agent, +you can configure things to have Content-Length defined +for all locally delivered mail. The following technique is +contributed by +Jason L Tibbitts III: +

    +
    +

    I use Procmail as my local delivery agent. I have the following extremely +disgusting settings in my .mc (M4 config) file to add in a Content-Length: +header, but I'm not sure if I would recommend that anyone +actually think of using this: +

    +
    +define(`LOCAL_MAILER_FLAGS',`SPfhn9Z')
    +define(`LOCAL_MAILER_ARGS',`procmail -a $h -d $u')
    +
    +LOCAL_CONFIG
    +#
    +# Add fake Content-Length Header for local mailer
    +# This is corrected by Procmail
    +# Note that the Z flag is used here; if Z is ever defined, this
    +#  will break something
    +H?Z?Content-Length: 0000000000
    +
    +
    + +

    If possible, try to avoid relying on the use of +Content-Length since it is hard to guarantee that it is +set properly. When CONLEN is specified, MHonArc will read at +least the number of bytes specified by Content-Length before +checking for the message separator, as defined by the MSGSEP +resource. Therefore, the value of Content-Length can be less +than the actual message size, and message extraction will probably +work as expected. However, if Content-Length for a message +has a value that is larger than the actual size, MHonArc may include +the content of the next message as part of the current message. +


    -
    +

    Can I move a message from one archive to another?

    @@ -98,7 +160,7 @@

    Can I move a message from one archive to another?<
    -
    +

    Can I reconstruct a database from the HTML messages?

    @@ -112,7 +174,7 @@

    Can I reconstruct a database from the HTML messages
    -
    +

    Is it safe to add messages to an archive as they are received?

    @@ -139,7 +201,7 @@

    Is it safe to add messages to an archive as they are re
    -
    +

    So it is safe. How do I do it??

    @@ -169,15 +231,15 @@

    So it is safe. How do I do it??

    Here is how to set up the .forward file to invoke MHonArc on incoming mail:

    -
    +
     \ehood, "|/home/ehood/bin/webnewmail #ehood"
    -
    +
    -
    NOTE on .forward entry: -

    The "\ehood" tells sendmail +

    NOTE on .forward entry: +

    The "\ehood" tells sendmail to still deposit the incoming message to my mail spool file. The -"#ehood" Bourne shell comment is needed to insure the +"#ehood" Bourne shell comment is needed to insure the command is unique from another user. Otherwise, sendmail may not invoke the program for you or the other user.

    @@ -189,7 +251,7 @@

    So it is safe. How do I do it??

    directly if you want. Here is the code to the webnewmail program:

    -
    +
     #!/usr/local/bin/perl
     # Edit above path to point to where perl is on your system.
     
    @@ -213,16 +275,29 @@ 

    So it is safe. How do I do it??

    require $MHonArc; -
    +

    The webnewmail program has to have the executable bit set. This is achieved by using "chmod a+x webnewmail".

    + + + + + +
    NOTE

    For better scalability and resource usage, the author +recommends calling MHonArc from a facility like cron, +which is provided on Unix-based operating systems. +For those unfamiliar cron, it is a daemon that allows the execution +of commands on scheduled basis. +

    +
    +
    -
    +

    How can I do it with Majordomo lists?

    @@ -270,7 +345,7 @@

    How can I do it with Majordomo lists?


    -
    +

    Can I get MHonArc to filter messages to different archives?

    @@ -282,7 +357,21 @@

    Can I get MHonArc to filter messages to different arc Procmail <http://www.ii.com/internet/robots/procmail/>. -Here are a some messages from users about using Procmail: +

    + + + + +
    NOTE

    You may want to check out the following: +mharc +at <http://www.mhonarc.org/release/mharc/>: +Mharc is a web-based mail archiving system for multiple mailing +lists using Procmail, MHonArc, and Namazu. +

    +
    + +

    Here are a some messages from users about using Procmail:

    @@ -290,7 +379,7 @@

    Can I get MHonArc to filter messages to different arc
  • From: Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
  • Date: Wed, 13 Nov 1996 13:56:08 +0100
  • -
    +
     ... some text deleted ...
     
     Here is what I use in .procmailrc to archive the mhonarc list:
    @@ -314,15 +403,16 @@ 

    Can I get MHonArc to filter messages to different arc P.S. Procmail itself comes with an example manual page. It's worth looking into it. -

    +

    +
    -
    +
     You can actually dispense with the wrapper if you use environment
     variables to pass options to MHonArc, but I'm sure Achim has a good
     reason for doing it his way.  Just for the purposes of comparion,
    @@ -368,15 +458,16 @@ 

    Can I get MHonArc to filter messages to different arc Eric D. Friedman friedman@uci.edu -

    +
    +
    -
    +
     ... some text deleted ...
     
     I use procmail to drive mhonarc archives from Majordomo.  I set up a
    @@ -453,13 +544,13 @@ 

    Can I get MHonArc to filter messages to different arc Paul McKinley Unix SysAdmin Contractor -

    +

    -
    +

    Does MHonArc support the "no archive" flag in messages?

    @@ -469,7 +560,7 @@

    Does MHonArc support the "no archive" flag in messages?

    If using an earlier version, or if you are already doing some preprocessing, you can use a pre-processor like Procmail to do the filtering. Here is a message sent to the -MHonArc mailing list: +MHonArc mailing list:

    @@ -478,7 +569,7 @@

    Does MHonArc support the "no archive" flag in messages?
  • From: Christopher Lindsey <lindsey@ncsa.uiuc.edu>
  • Date: Thu, 1 Oct 1998 11:33:07 -0500 (CDT)
  • -
    +
     > Subscribers who don't want their messages to be archived
     > could add a "no archive" flag within their mail.
     
    @@ -497,13 +588,13 @@ 

    Does MHonArc support the "no archive" flag in messages? /dev/null Chris -

    +


    -
    +

    Is it safe to specify -add when no archive exists?

    @@ -511,21 +602,25 @@

    Is it safe to specify -add when no archive exi an add, it will automatically create the archive.

    -
    -
    WARNING
    -

    Make sure the file maillist.html (or the value + + + + + +
    WARNING

    If using MHonArc versions 2.4, or earlier, make sure the file +maillist.html (or the value of the IDXFNAME resource) does not exist if no archive exists and -add has been specified. Otherwise, unpredictable output of the maillist.html file may result if maillist.html is not in the proper format.

    - - +
    +


    -
    +

    Why are there "jumps" in message numbers?

    @@ -557,7 +652,7 @@

    Why are there "jumps" in message numbers?


    -
    +

    Why do some messages get re-added each time MHonArc processes a mail folder?

    @@ -602,7 +697,7 @@

    Why do some messages get re-added each time MHonArc proces
    -
    +

    How do I remove messages from an archive?

    @@ -615,22 +710,37 @@

    How do I remove messages from an archive?

    and examples.

    + +
    + +
    +

    Can I convert an archive back to mailbox format?

    +
    + +

    Anthony W provides a +Perl program called mhn2mbox for converting archives back +into mailbox format. To obtain more information and to download +the program, goto +<http://www.albany.net/~anthonyw/mhonarc/>. +

    +

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]


    -01/06/10 17:47:20
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/faq/envs.html b/doc/faq/envs.html index 8e6e35a..70feff1 100644 --- a/doc/faq/envs.html +++ b/doc/faq/envs.html @@ -6,7 +6,7 @@

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]

    @@ -26,17 +26,19 @@

    Supported Environments

  • Can MHonArc process ezmlm archives?
  • Can MHonArc process qmail's maildir style mail folders?
  • Can MHonArc process Netscape Messenger folders?
  • +
  • Can MHonArc process Evolution folders?
  • Can MHonArc process Compuserve messages?
  • What about other mailbox/folder formats?
  • Can MHonArc create non-English archives?
  • Can I create bilingual archives?
  • +
  • Does MHonArc support Unicode?

  • -
    +

    What platforms can MHonArc run under?

    @@ -48,7 +50,7 @@

    What platforms can MHonArc run under?


    -
    +

    What about Mac?

    @@ -61,7 +63,7 @@

    What about Mac?


    -
    +

    What about VMS?

    @@ -82,7 +84,7 @@

    What about VMS?


    -
    +

    What version of Perl is required to run MHonArc?

    @@ -98,7 +100,7 @@

    What version of Perl is required to run MHonArc?
    -
    +

    What mail user agents (MUA's) does MHonarc support?

    @@ -126,7 +128,7 @@

    What mail user agents (MUA's) does MHonarc support?
    -
    +

    Can MHonArc process Majordomo digests?

    @@ -168,6 +170,7 @@

    Can MHonArc process Majordomo digests?

    +

    +
    +
    See also:
    +
    Does MHonArc support Unicode?
    +
    + + +
    + +
    +

    Does MHonArc support Unicode?

    +
    + +

    Not directly, but it is possible to have MHonArc generate +UTF-8 HTML pages. See the utf-8.mrc example resource +file in the Appendix: Resource File Examples section +of the documentation for more information and caveats. +

    +

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]


    -01/06/10 17:47:21
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/faq/faq.html b/doc/faq/faq.html index 81dc99b..4979bfb 100644 --- a/doc/faq/faq.html +++ b/doc/faq/faq.html @@ -6,7 +6,7 @@ - +

    MHonArc Frequently Asked Questions

    @@ -15,7 +15,7 @@ asked question on MHonArc. MHonArc is a Perl program for converting e-mail messages as specified in RFC 822 and MIME to MIME to HTML. MHonArc has the ability to maintain an archive of converted messages, or it can be used as a basic e-mail->HTML converter.

    @@ -63,10 +63,12 @@

    Table of Contents

  • Can MHonArc process ezmlm archives?
  • Can MHonArc process qmail's maildir style mail folders?
  • Can MHonArc process Netscape Messenger folders?
  • +
  • Can MHonArc process Evolution folders?
  • Can MHonArc process Compuserve messages?
  • What about other mailbox/folder formats?
  • Can MHonArc create non-English archives?
  • Can I create bilingual archives?
  • +
  • Does MHonArc support Unicode?
  • + + @@ -154,11 +169,11 @@

    Table of Contents


    -01/06/10 17:47:21
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/faq/general.html b/doc/faq/general.html index 538aa38..49a61fd 100644 --- a/doc/faq/general.html +++ b/doc/faq/general.html @@ -6,7 +6,7 @@

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]

    @@ -32,13 +32,13 @@

    General


    -
    +

    What is MHonArc?

    MHonArc is a Perl program for converting e-mail messages as specified in RFC 822 and -the +the MIME standard to HTML. MHonArc can perform the following tasks:

    @@ -66,24 +66,26 @@

    What is MHonArc?


    -
    +

    What's the latest version of MhonArc?

    -

    2.4.9 -

    +

    Latest version information is available at +<http://www.mhonarc.org/>. +


    -
    +

    Where can I get MHonArc?

    The latest information on MHonArc, -and its availability, may be obtained at <http://www.mhonarc.org/>. +and its availability, may be obtained at +<http://www.mhonarc.org/>.

    MHonArc requires Perl to run. If you do not have Perl, it can @@ -94,7 +96,7 @@

    Where can I get MHonArc?


    -
    +

    What restrictions are there on MHonArc usage?

    @@ -135,7 +137,7 @@

    What restrictions are there on MHonArc usage?


    -
    +

    Where can I get help on MHonArc?

    @@ -147,27 +149,26 @@

    Where can I get help on MHonArc?

    Third, a mailing list, mhonarc@ncsa.uiuc.edu, is available to +HREF="mailto:mhonarc-users@mhonarc.org" +>mhonarc-users@mhonarc.org, is available to provide a discussion forum on the usage and development of MHonArc. Appropriate topics for the list include: usage questions, bug reports, behavioral enhancements, documentation bugs, and general help.

    To subscribe to the mailing list, send mail to mhonarc-request@ncsa.uiuc.edu +HREF="mailto:majordomo@mhonarc.org" +>majordomo@mhonarc.org with the command,

    -
    -subscribe
    -
    +
    +subscribe mhonarc-users

    as the message body.

    If you send mail -mhonarc@ncsa.uiuc.edu, +mhonarc-users@mhonarc.org, your message will be distributed to all subscribers on the list.

    @@ -194,14 +195,14 @@

    Where can I get help on MHonArc?

    <http://www.xray.mpe.mpg.de/mailing-lists/>. An alternative web archive of the mailing list is at -<http://www.mail-archive.com/mhonarc@ncsa.uiuc.edu/>. +<http://www.mail-archive.com/mhonarc-users@mhonarc.org/>.


    -
    +

    How does MHonArc compare to other email archivers, like Hypermail?

    @@ -282,7 +283,7 @@

    How does MHonArc compare to other email archivers, like
    -
    +

    Why I should use MHonArc over some of the Internet-based mailing list archive services?

    @@ -318,7 +319,7 @@

    Why I should use MHonArc over some of the Internet
    -
    +

    Are their "real-world" examples of MHonArc usage?

    @@ -334,6 +335,9 @@

    Are their "real-world" examples of MHonArc usage?Mallorn Archived Email Lists:
    <http://www.mallorn.com/lists/> +
  • Debian Mailing List Archives:
    +<http://lists.debian.org/>
  • FreeLists:
    <http://www.freelists.org/> @@ -363,7 +367,7 @@

    Are their "real-world" examples of MHonArc usage?
    -
    +

    Why are list archives about Perl-related topics not maintained with a Perl-based program, like MHonArc?

    @@ -373,7 +377,7 @@

    Why are list archives about Perl-related topics not
    -
    +

    Is MHonArc Y2K (Year 2000) compliant?

    @@ -399,14 +403,14 @@

    Is MHonArc Y2K (Year 2000) compliant?

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]


    -01/06/10 17:47:21
    - +$Date: 2002/06/21 22:28:16 $
    + MHonArc
    Copyright © 1997-2001, Earl Hood,

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]

    @@ -28,7 +28,7 @@

    Index Pages


    -
    +

    What are all the different index types?

    @@ -59,7 +59,7 @@

    What are all the different index types?


    -
    +

    Can I have additional indexes beyond the default main and thread index?

    @@ -86,7 +86,7 @@

    Can I have additional indexes beyond the default mai
    -
    +

    Can I have multi-page indexes?

    @@ -98,7 +98,7 @@

    Can I have multi-page indexes?


    -
    +

    Can I sort messages by author?

    @@ -108,7 +108,7 @@

    Can I sort messages by author?


    -
    +

    How does the OTHERINDEXES resource work?

    @@ -214,7 +214,7 @@

    How does the OTHERINDEXES resource work?
    -
    +

    Can I include links to message attachments on index pages?

    @@ -240,17 +240,17 @@

    Can I include links to message attachments on index

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]


    -01/06/10 17:47:21
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/faq/mime.html b/doc/faq/mime.html index 6dee2ca..037c175 100644 --- a/doc/faq/mime.html +++ b/doc/faq/mime.html @@ -6,7 +6,7 @@

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]

    @@ -25,32 +25,34 @@

    MIME

  • Can attachments get saved with the filename specified in the message header?
  • Can the <PRE> tags be removed from converted messages?
  • Can long lines be wrapped in converted messages?
  • +
  • Can I exclude specific media-types?
  • +
  • Can I tell MHonArc to use the text/plain part over a text/html part in a multipart/alternative message?

  • -
    +

    What is MIME?

    MIME stands for Multipurpose Internet Mail Extensions. An HTML version of the RFCs that define MIME are available at (http://www.oac.uci.edu/indiv/ehood/MIME/MIME.html). +HREF="http://www.nacs.uci.edu/indiv/ehood/MIME/MIME.html">http://www.nacs.uci.edu/indiv/ehood/MIME/MIME.html).

    In sum, MIME "redefines the format of message bodies to allow multi-part textual and non-textual message bodies to be represented and exchanged without loss of information." [RFC +HREF="http://www.nacs.uci.edu/indiv/ehood/MIME/1521/rfc1521ToC.html">RFC 1521]


    -
    +

    Does MHonArc support message header extensions for non-ASCII text?

    @@ -62,7 +64,7 @@

    Does MHonArc support message header extensions for non
    -
    +

    How can I get MHonArc to recognize content-types it states it does not recognize?

    @@ -76,7 +78,7 @@

    How can I get MHonArc to recognize content-types it
    -
    +

    Can I override the default filters in MHonArc?

    @@ -90,7 +92,7 @@

    Can I override the default filters in MHonArc?
    -
    +

    Can I override the multipart/* processing of MHonArc?

    @@ -103,7 +105,7 @@

    Can I override the multipart/* processing of MHon
    -
    +

    Why are attachments saved as a ".bin" files?

    @@ -120,53 +122,114 @@

    Why are attachments saved as a ".bin" files?
    -
    +

    Can attachments get saved with the filename specified in the message header?

    Yes. See the m2h_external::filter options documented in the MIMEFILTERS page of the documentation. Make note of the security cautions in the documentation. +Example:

    +
    +<MIMEArgs>
    +m2h_external::filter; usename
    +</MIMEArgs>
    +
    + +
    +
    See also:
    +
    Why doesn't MHonArc, by default, use the specified filename when + saving attachments?
    +

    -
    +

    Can the <PRE> tags be removed from converted messages?

    Yes. See the options available for the m2h_text_plain::filter described in the MIMEFILTERS resource page of the documentation. +Example:

    +
    +<MIMEArgs>
    +m2h_text_plain::filter; nonfixed
    +</MIMEArgs>
    +

    -
    +

    Can long lines be wrapped in converted messages?

    Yes. See the options available for the m2h_text_plain::filter described in the MIMEFILTERS resource page of the documentation. +Example:

    +
    +<-- Make sure lines are no longer than 80 characters -->
    +<MIMEArgs>
    +m2h_text_plain::filter; maxwidth=80
    +</MIMEArgs>
    +
    + + +
    + +
    +

    Can I exclude specific media-types?

    +
    + +

    Yes. See the MIMEEXCS resource. +Example: +

    +
    +<-- Exclude all HTML and binary data -->
    +<MIMEExcs>
    +text/html
    +application/octet-steam
    +</MIMEExcs>
    +
    + + +
    + +
    +

    Can I tell MHonArc to use the text/plain part over a text/html part in a multipart/alternative message?

    +
    + +

    Yes, in v2.5.8, and later, via the MIMEALTPREFS resource. +Example: +

    +
    +<MIMEAltPrefs>
    +text/plain
    +text/html
    +</MIMEAltPrefs>
    +

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]


    -01/06/10 17:47:21
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/faq/monicon.gif b/doc/faq/monicon.gif deleted file mode 100644 index a0a9161391e022a624a64264cf74261e453ac8cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmZ?wbhEHblw}ZM_#(-`%D`eGz^1FLCaD{)=b!H_!jNXf9q($WlD9-++9#EXHHhEE$9eq3Pq|AFDy{wYAk3>ZN1CkrP7 zgCv9EKQ#pf&)kCiqLS1Ug|wplTm^SeH-*gH#Pn1vh1`t%yu_kpz4Xj91|5(YAlEst z{!>trX>u^}nx^QnO6$#SfrA-6AO z0XwDs{3RE-4scB@u~0ga8_w$G`cK+NPsH-tT^A8;Q3*z2J|;cQb|yYyMu`U3sDh$m zfh>k3fyveRmP~9SnSzxJm6;3JnCAE~3lxir^D^^_ujBVw6>TCA#pSp?-PWMg4qVOu!)(Hy5>+X^;@`JaPX z8FxssGcq!CgfKBYWOQKo&-dZ9!h?e{2KEddD-u>QwS;iCYu6aZ#23tvSsByOY_mhvQ#*+`0}hg2u9Qvsx60NQB)xT6}ElU3T7 z0P?T^_|O3V@BqfYlm!3;Gz1n000001bW%=J06^y0W&i*H0b)x>L>CLzn2!Je0Srk* zK~#9!Ws=)=gdhw>6NW^J0vbU6|4)0cU7gY9fkU#*1%!fIobziW3IPkn5U{MC5f9`= zQ`(eQ5a0+#E9;h$il-n_>&eIFkO_*#Z3myVip+wdC#VRAiv|_}J(aIca8pUC6bX@I zkW!|{GJ9NDtyTop53f*o$fREj0^c%n21?}V$R8wPX|4BeI@F-83BMtZh0vZ^hDhG= zArA9l3-cI~%g6~E=H(NTQ=8M+FsK!Ecbck|)b_F0IdZ6AZBuJZ6HTUMj&Zz jVP|DJAZ=)GZeem`E@x?GE;t1700000NkvXXu0mjf1FFa5 literal 0 HcmV?d00001 diff --git a/doc/faq/monsmall_t.gif b/doc/faq/monsmall_t.gif deleted file mode 100644 index b96ad357e660f355643f8815a7c2d7fbbab43b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7750 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 h=TEzX4DUB9gdpJa{{RBv_mBVp diff --git a/doc/faq/monsmall_t.png b/doc/faq/monsmall_t.png new file mode 100644 index 0000000000000000000000000000000000000000..2c4cd41c3bb3a5b106bd967cdc9e45c78c3e3214 GIT binary patch literal 6797 zcmV;88gk`{P)>h$0x}H%G7beS5&83FYeQ&xQ)zQ> zY-mwoS3W^Jf;<3>MgW6K0ER~amrDSHQ2>lo0E=1xm{Z-YXF&S1fFvMlXC!#aTud%0IO^Ot8oCPd;q6+0KI+y zvw8rka}S1ZE5cy_#$y1@W&qb~0MTdw+HC-icT|jcXNz}jtb+ipgaEgO0KAg{yp{mM zfdI~o0LX;^(v1Mvi~!4<0K%C7+Km9(lmOnB0M?QK;+g=*p8(FJ0MeiU*Q@~CvjEz) z0Op|p?WF+ossQ<}0OPp;=ePj-uK@qD0R6E5>%Rc%!T|Hi0QkxP`_TaV)d2n10RPwk z_t5~EhgX+^Q=5xulZbe!m}jh+c(I~$qmW=HUx+Mbi!5V@H*AS5ZIdZzlQM3SG;@|O za+xc7tR;Q3DSophe!4Pyqe*g!Cxg8zguN_>y()pYC5gxMDMt;;-LTl7hXw3K~#9!?OXXn6W8`nn=k`2Oae}TBod)O+aP;b zlqIQv&y=Xu2a42%$KulVl}#vGcn`3=rXaK^in54MP((q|0xC#IRnS)zQG^z(NL*2i zzJK9+@5}^}09FP2)A#(6klcID=brtZ2`rWY-Hncliu%~oFCr>(P1LWfzkq&?S`!%+ z;ph1=5FCAXx>X}Xy=zv#@8BR)gn8LJeCXg99vRg;FgP;J@;d_q(|@UBIS3Zrnf}Y( zsK{_fAj;k=Od)e{cz^Yp-k~X2YWpJ{Z3$D1E5G!=M+-1En~h>9&-O#d^=qyVYNvn} z;Q-J_M-NSpY$!S!NOp*r0-Sd6`kM8QAKLPO5FiR$@aTV+(K*0AfD?da=bchC~4Ik%y***K~W324~|YiW3xs3Mn~^|zNOz7!rkAY`nCO0 zSB9s8Hhd)t9%y9fcVj0S>EH7C{n62VB0V7piu=edP!thu^u^|^GB{1oT!2c5a)ag} z3@%#P5ZnE+u@@I*4v~FRVqo2lj=DX?r%}v9ATk^pmI0pDYweJnX}Jr$je${nJTKH}vWC zDNQ}x8*c9*5iET2{OKpA91CADNeOc1^MI|0{f~m!0ESp$fNh{F)^?){Tl`=@f%5&6 zGct>cb`=#RmyBMDCEb@_++^qK?&j|56W%iwx{;nJqmPH9dZvOl+!O9YF|ylqak)Dg zdug;JnG%$lk?hY$iTw}6Y?qC;v0VcO&a?R=OvGj5zAoteU3_siSA>1E+0aGT z+H!qGnA`>7B^U1vF`KLdSbd?JX>zJVug={VOa9yNq6G*qFuXbdE5O7MESr6=PBZi zPBwBaPRRDTzY!yO^S?|_Pv8Fa)|8N7>Cy`&B@2KBT;1FyVUM3YJl}me%+PF&uewUv-JMU#jT3dUpx}`Nb z+Vxu#f7~*TQSGf&9@f^Ro!9wiPcHijB<_IWg8MI?jxOKP1jN+USE&LBQ(+tskE8tX z!AbtmqwqseENCMakyf^zrs-t%rLnQ+`>cTlJeFR*+S}8@i8-p+u@iR;yj010$VF*IHphTJu z+UeGB9*&JYT@FKZ;p0D^kB0HBC9XCCfwka0qp~-0b=;2qR}FB3Lj4}tAh2{#Pshd{elsB{jX+&U1i@sRr|Jy`S8{P&8D~L+*8Ozm^yxFF>W)GA0Ozf~ToI|XI^R2NEE#3^x{yK;~<72Wzs&JBtaqCD@^@`Kd{UtPF-x$FM@ zu7$4dR#p;gyXEJXfba)VAt0@7NK1kJFZvnx&XqexZzvl6#a>`Z+E|kU5CI?&Ejhp3 z&RSw+2k7Zi zSCEVrlyv|1e3+|^D^!6*!snV>l6DdLCG$!j{n~d$@59>>cBG{_moJe(WrOWu=l|PX zvH&DF*QHM>_Ag4DodsTTp!FdzOcc|rof;c(S_exUL4^Ar_@XEVy%m;uFPJDV{PFyc zhbzDv8+RKkAjb-bw6qG>bGjSX=+|pE^jt063M?b7zqoz_!q}H-~gnJ)Ia%OU|T|<)YayPXU`rlh1guZEbE>DF}qSaK%?iUnZny{wpCNAt}jUnxR+zG6OwHF0fdH zj$_Zdt4>Z=*Xg2kC<1)RB|QT(^$K)`)ITW+F#A_#dcv1UU#(ckMF=2DL0ZWDRt>QJ zjE1kp%Rw{{1nI{`oiiu+?%kD?ut)FD-T#*I&EI|3Dx3lLd$=8r+lBwmKnu5e_g!uh-l!n0jB!ay@OxAaWNG}w@ypbu^DZhzE%|2(#-(8A2=hV~Vp0V$Cp z5sKhkdoGcncV^I-r289y+grTNANU+eRlp%99Nf+@+zBEb42PflZ!=sCwu81qPxlD~ z5P~D9NEA8pO3;88e-Y~4M=r&zvKtPESx% zUZSDuKsK@Af@|9v0%9Z9fD0wp#vpS*r6uMy=`lHVB*&A7V=hV&>MMU`U(?ah=8a-p zNXivhs6H}y?1RRt19k=d!)gx1##s&e86$f_r5$WFz$Q^-jnF5bBL&rtr645_yo&7jwAv2GCgA^`d!P9Ca?A zg7N7lRY1sgeYY!4#_7=ku78Q#yJveyfU0Q<2Ce1JD9)WHTCaT*Y^5jUI z*7+w$rw&&asCI-JqRZspgV65rGYyf2?obs}A3jBGoZwTpLyF-fp^UxxM$kYzy@c?S zV+hYXubyJvbfhpxwPVK)RaR+5V|zY73&7!vD6dq}! z7}e)_^AJq#M=ZJax-qJwzV`^RoQI$&KVWNGPGMnAZfRNL2|#UX4WN$phMeG}bS5f{ zuoV}jCk5v;w0FRj>NdEmv8*%~a!K17z(-MpCl?d%^}Qi9*4+ph=;ly9fuQ`wWha`O z+ck#N+1{W6Q9;!peQcn{fe27Fw09b9Xm4&lQMQ|{7P5Jui3w=Yyo5Sx z14zE}J2bX;ocUxxZO6;jw*-I|Y@W=*{`w4{u?FJfNDfZmi`%D{)Y)DRqK5aq>MCNLS~I;> zk9zWzF6^KOpS^h`KCmP{+A*Ee(aC9%cZH3E@xD*hqiE1VA_KVp*@%=M`2756SnPbKYZ8t>K(ooY-nvxRiMk28NK;|cB=;AaZc|NSH z9E5ZWPDv>R3tJ2kwuf@e<{+r$YxhQz6!*T6@DZDkxh;$Xb)Gw3vokf=mG4ZNaOfuy z974LSxX6vJ^=?JQ+oS}CermumA)WcI!KpiIj-S)*Z^*TuvLw#z z9yhoF9=@ZcHp^SUGd1OmKexDtdxCzhI9Wp97bMBWpkMRE?~O0un40ng-dVLR6oZCf z?me@(5~VC!J5y||!BvWVT|p>N zF<6F}IR_WEv>(gzL=ZHnYoB7(oAhnQG_dlcMdIx^|4tPViy+sNB^PNF0*4tu2g|uB>uG z4$m`jE1;Z$9}gX>N-LU>4lJ78ra8Nq#jlP_yHAa&9M}H=)1rBaeQO7$`e5`p)zKc z6xTPGAb6PMy9sEA4t=M0m)gA*bWn{uQ)p}{I~ze4v{euLuJ80VR(~hKcmy%`jT>G= zine6q1SeP@+K*pPD5f|qv{}s?}u&8oVtbHcRh@17&J;ZRo_nsVMEB{@xITK#?WC%@Vda z%tCa}09!#w(FC*uYR&P|_J)r?gxEg(xS_rDxJG?o0$fo@fdRIAA`2{Tmas(%G5gQw zhU&4e$`0M8b0!F_z3hahA;uBy%l82`by-cPrad=lJG_4tXQWjXSqkeZ9Bm=shQfU^>-e^}XD*vPx2N}80IMyx5%jmYN8lOqsE4FY zg_K>Zw~~aJh0t-9)CP+E)lEvFQYgu(rtC=#TMFT8YaUcv8NBG6`(a?ffz5Up82I5F zysnf%#pS^@m4);UXxHi-31Fn$bX7ZB*jU4#`jNhT!Z}ez+w=69gL!b8d3YyK8^|93 z%-LlFeNb8~ z*mGpFXi-Q*4koBij!r~@3R?6`In+%}Z6}RQyB_A=^;#NRXKfACX*o3KDOG{)P&q!R ziNos;pI@%HD4C`5dq%?H96D5YfV9?L)=WXE*fK=t-k~iO6xe1^95g3(&_SAWm^sz= zN=sSP?5d5$>iJx*Tt@rNN!39r9xCB*sj-5d6Mow_;0Uof4)lFX&jTwO;mD|xii3kH z+EJU9DdnH{%p8p&4aE4mc$L#rWI8EOYU_jupnEMF=(Pn`0>rj=U>Q9FXoUJ>6xUiv zPqfRuTzq3@=Z2+6BavJTgTEX(bC_~)po@HmquzC=&(vo#**6cS+}cullyGbVi*?f;MeT30SR0Pf z!-djXn1u6~%$r?*=5(Dmioe+dg+Ec;dOk*^o~qAgVvfqY9Xo63DMw8dh?h@!yic_( zR#XlBS?$gaUH*l!on3z_mB9GxXJ2hB)^%GH6{xa<>40c0glcR4rkTOE8La5Fwe1Bj zn;C5Mmq%&uJlzzWtrDQ9?TluX)6swfAtarpd5qe!+MsIkndwy-?EeQH9pR88x{R5G zmWig7&lRA?^!eQ1U0n(iah0KSSa*~k*`XV5mnP-9&0?odTYJHd_0#pW(t4o>F zoJ`^Q$P^KGW{P7<`t5-q;a$g+Mwmb}XLq(S=37eT`n%MSbZ9AK=(e3Oh?z73>Z&*4 z_h6Rp36roXxttWHG*rXJO>-H29=m zBxuTYp7njN{=(kxbzWGm(Tj$Y!6~7zT6i$y_QD zYb%(ke1*|;BYOM`s%$jpo`ksRg_6PN*ndFn;wm4xW>{B z%BWSRno@WOB94DcCIv>lGMB(`UO?(%3e?$ePS6OB#~MBSxf^?&{^rCtl;<@rP7UDU z7%}&X_HAKfjr<~0%7p~ag96o>10b{Y{3CoOiPa%6fAuj zFIz{U!>JDl*cfT+^oGA_cvaF~i&;XjQEve5?9OJLNwt%f>5SS8N~-#RH_9fK#9Y(9 zzP#52=Sy%9%rn2aA^&G4@lJ6S?q|~P&-o3_`JNcUA$;FDH2APV5eu#kyhWi|KhtX4 zFx5YKY@ikQb5`gg9=IgLDrWDI!b@oIvo3o=$i;|7&C{xFTyf2d2#hNv?7KdjjYn&L zPD2qQ-a;3YjV&rYp+1|xK|9qV?S}lb>Jz1lFgEJ4kSB_GYf0Bwb1QxMJd{Hagm>2B z@M)wDg)h$X21__7kMFzkuhAN$U*m-sIww|+8ULS`KEeM-!{o7ZP)r#Am;6g6O(Qo~ zT9Mo!F^0V4CJb)d2qq5Vl2$8kzRh|ti3Zn(+Y)A6hcz$xh3V}z4qP+BHhk@0XHbUj v^hEw+ZU0LZGSa{HACWz8w^02*O``t;4+vg6=?4TR00000NkvXXu0mjfz{R}K literal 0 HcmV?d00001 diff --git a/doc/faq/msgpgs.html b/doc/faq/msgpgs.html index 6280112..f0c475a 100644 --- a/doc/faq/msgpgs.html +++ b/doc/faq/msgpgs.html @@ -6,7 +6,7 @@

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]

    @@ -29,7 +29,7 @@

    Message Pages


    -
    +

    Can I change the order the message resources are printed?

    @@ -46,7 +46,7 @@

    Can I change the order the message resources are print
    -
    +

    How can I change how message headers gets formatted?

    @@ -114,7 +114,7 @@

    How can I change how message headers gets formatted?
    -
    +

    How can I change how message body data gets formatted?

    @@ -126,7 +126,7 @@

    How can I change how message body data gets formatted?<
    -
    +

    Can I have the message header come after the body?

    @@ -156,7 +156,7 @@

    Can I have the message header come after the body?
    -
    +

    Can I make changes to message formatting on existing archived messages?

    @@ -171,7 +171,7 @@

    Can I make changes to message formatting on existing ar
    -
    +

    What are those "<!--X-... -->"?

    @@ -185,7 +185,7 @@

    What are those "<!--X-... -->"?


    -
    +

    Are those "<!--X-... -->" legal comments?

    @@ -197,17 +197,17 @@

    Are those "<!--X-... -->" legal comments?

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]


    -01/06/10 17:47:21
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/faq/security.html b/doc/faq/security.html new file mode 100644 index 0000000..ef2528b --- /dev/null +++ b/doc/faq/security.html @@ -0,0 +1,163 @@ + + + +MHonArc FAQ: Security + + + +

    +[Prev][Next][TOC][Home] +

    + + + +
    +

    Security

    + + + + + + +
    + +
    +

    Can I obscure email addresses?

    +
    + +

    See the SPAMMODE resource. +

    + + +
    + +
    +

    How can I prevent web access to .mhonarc.db files?

    +
    + +

    MHonArc database files may contain information that you do +not want web users to directly access. The best example is when +your archive is customized to obscure email addresses. However, +in the MHonArc database file, the original, unobscured, addresses +exist. +

    + +

    Practically, all web servers provide the ability deny access +to files. Refer to your web server's documentation for the specifies. +If you are using the Apache HTTP server, +the following configuration directive can be used: +

    +
    +<Files .mhonarc.db>
    +    Order allow,deny
    +    Deny from all
    +</Files>
    +
    +

    If you have mod_rewrite enabled, you could use the following +instead: +

    +
    +RewriteRule ^(.*)/.mhonarc.db $1 [R=permanent]
    +
    +

    This will redirect browsers to the parent directory, which is +the actual archive associated with database file. +

    + + +
    + +
    +

    Why are HTML messages a security risk?

    +
    + +

    HTML can contain dynamic content, like JavaScript. If an +HTML message is blindly archived, you are introducing foreign dynamic +content to your web site that you have no control over. The best +example of this danger is the problem web-based email sites (e.g. +Hotmail) encountered when malicious people were sending HTML messages +to web-based email users and the messages contained dynamic content +that would popup windows (which had a similiar style of the web-based +email hosting provider) requesting sensitive information from +users (like passwords). +

    + +

    The following is a brief list of some of the security issues +related to HTML messages: +

    +
      +
    • Can contain foreign dynamic content. +
    • +
    • Can autoload URLs (via IMG, and similiar, elements) which + can be used to collect statistics on unsuspected readers. +
    • +
    • Contain hidden contents (like server-side include comments) + which may be processed by web servers to execute arbitrary + programs or extract arbitrary system files. +
    • +
    + +

    MHonArc's HTML filter (documented under the MIMEFILTERS) resource +provides functionality of stripping out HTML data to minimize security +exploits. Check the document for full details. The general recommendation +for the security conscience is to exclude any HTML message data, especially +for publicly accessible archives. +

    + + +
    + +
    +

    Why doesn't MHonArc, by default, use the specified filename when saving attachments?

    +
    + +

    A malicious person could send a message with an attachment filename +that could overwrite existing content or be interpreted by the web +server in some special manner to execute actions. Example: Apache +allows for the support for creating .htaccess files to allow +configuration settings within a directory. If you have this feature +enabled and a message containes an attachment with the specified +filename .htaccess and MHonArc blindly used the attachment +filename, the attachment will override any existing .htaccess +file you created with a version defined by the sender of the message. +

    + +

    Another possibility is that web servers sometimes interpret +filenames with certain extensions as executable content, like +.shtml, .cgi, .phtml. If MHonArc used the +attachment filename, or even just the attachment filename extension, +anyone who can send mail that will be archived on your site can +introduce executable content. +

    + +

    It is because of the above reasons that the +m2h_external::filter documented in the MIMEFILTERS +resource advises caution when using the filter options that enable +the usage of attachment filenames or filename extensions. +

    + + +
    + + +

    +[Prev][Next][TOC][Home] +

    + + +
    +
    +$Date: 2002/04/02 06:57:57 $
    + +MHonArc
    +Copyright © 2002, Earl Hood, mhonarc@mhonarc.org
    +
    + + diff --git a/doc/faq/threads.html b/doc/faq/threads.html index 6152de5..60af3c4 100644 --- a/doc/faq/threads.html +++ b/doc/faq/threads.html @@ -6,7 +6,7 @@

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]

    @@ -25,7 +25,7 @@

    Threading


    -
    +

    How does threading work?

    @@ -45,7 +45,7 @@

    How does threading work?


    -
    +

    Why isn't threading working for me?

    @@ -58,7 +58,7 @@

    Why isn't threading working for me?


    -
    +

    How can I get my MUA to define the References or In-Reply-To field?

    @@ -92,17 +92,17 @@

    How can I get my MUA to define the References or In-R

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]


    -01/06/10 17:47:21
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/faq/usage.html b/doc/faq/usage.html index 2040c31..bbe0490 100644 --- a/doc/faq/usage.html +++ b/doc/faq/usage.html @@ -6,7 +6,7 @@

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]

    @@ -19,6 +19,7 @@

    General Usage

  • What are "resources"?
  • Is there a resource file editor?
  • How do you set a resource to nil?
  • +
  • How do I reset an archive's resources to the default values?
  • I get an error that "newgetopt.pl" cannot be required, where is it?
  • Does MHonArc provide searching of archives?
  • Is there a Web interface for MHonArc?
  • @@ -35,7 +36,7 @@

    General Usage


    -
    +

    What are "resources"?

    @@ -54,7 +55,7 @@

    What are "resources"?


    -
    +

    Is there a resource file editor?

    @@ -79,7 +80,7 @@

    Is there a resource file editor?


    -
    +

    How do you set a resource to nil?

    @@ -94,11 +95,43 @@

    How do you set a resource to nil?

    Notice the blank line. If you specify no content, MHonArc will fallback to the default value of the resource.

    + + + + + +
    WARNING

    Only do the above for page layout related resources. +For other resources, the above technique will have no effect, or +it may cause unexpected results. See +How do I reset an archive's resources to the default +values? for more information on reseting resources to default +values. +

    +
    + + +
    + +
    +

    How do I reset an archive's resources to the default values?

    +
    + +

    The following two commands will reset an archive to use default +resource values: +

    +
    +shell> mha-dbedit -nosaveresources -outdir /path/to/your/archive
    +shell> mhonarc -saveresources -editidx -outdir /path/to/your/archive
    +
    +

    You could also include -rcfile option(s) to the last step if +you want to modify some resources from the default in case you want +to reset some resources and not all of them. +


    -
    +

    I get an error that "newgetopt.pl" cannot be required, where is it?

    @@ -121,7 +154,7 @@

    I get an error that "newgetopt.pl" cannot be required
    -
    +

    Does MHonArc provide searching of archives?

    @@ -146,27 +179,38 @@

    Does MHonArc provide searching of archives? -
    -
    NOTE
    -

    You may also want to check out -Wilma -at <http://www.hpc.uh.edu/majordomo/#wilma>. -Wilma is the Web Interface to List Mail Archives, written by Dave Wolfe -and Jason Tibbitts with nods to Achim Bohnet and Tom Christiansen. -WIlma is a relatively simple bit of Perl which links together the -MHonArc mail-to-HTML converter and the Glimpse search engine. -The result is a useful tool for allowing folks to browse your list -archives over the web. It works very well with the archives generated -by Majordomo's archive2.pl script. + + + + + +
    NOTE

    You may also want to check out the following:

    - - +
      +
    • mharc + at <http://www.mhonarc.org/release/mharc/>: + Mharc is a web-based mail archiving system for multiple mailing + lists using Procmail, MHonArc, and Namazu. +
    • +
    • Wilma + at <http://www.hpc.uh.edu/majordomo/#wilma>: + Wilma is the Web Interface to List Mail Archives, written by Dave Wolfe + and Jason Tibbitts with nods to Achim Bohnet and Tom Christiansen. + WIlma is a relatively simple bit of Perl which links together the + MHonArc mail-to-HTML converter and the Glimpse search engine. + The result is a useful tool for allowing folks to browse your list + archives over the web. It works very well with the archives generated + by Majordomo's archive2.pl script. +
    • +
    +


    -
    +

    Is there a Web interface for MHonArc?

    @@ -180,7 +224,7 @@

    Is there a Web interface for MHonArc?


    -
    +

    Does MHonArc require that the original message be available when updating an archive?

    @@ -194,7 +238,7 @@

    Does MHonArc require that the original message be availa
    -
    +

    Do I have to respecify the resource file each time I update an archive?

    @@ -202,20 +246,23 @@

    Do I have to respecify the resource file each time I time you need to respecify the resource file is if changes are required in the layout of the archive.

    -
    -
    NOTE - -

    When utilizing the OTHERINDEXES resource, + + + + + +
    NOTE

    When utilizing the OTHERINDEXES resource, the resource filenames listed in the main resource file are stored in the database, but the resources for each additional index are NOT. Hence, the resource files defining the additional indexes must be accesible. -

    +

    +


    -
    +

    Can I have MHonArc process a bunch of separate message files?

    @@ -249,7 +296,7 @@

    Can I have MHonArc process a bunch of separate message
    -
    +

    Can I tell MHonArc to read a mailbox from standard input?

    @@ -277,7 +324,7 @@

    Can I tell MHonArc to read a mailbox from standard input?
    -
    +

    Why am I getting "Could not parse date for message ..."?

    @@ -293,7 +340,7 @@

    Why am I getting "Could not parse date for message ..
    -
    +

    Why doesn't MHonArc extract the date from "From ..." line?

    @@ -316,7 +363,7 @@

    Why doesn't MHonArc extract the date from "From ..."
    -
    +

    Why is the number of messages reported by MHonArc less than what is reported by my MUA?

    @@ -341,17 +388,17 @@

    Why is the number of messages reported by MHonArc less th

    -[Prev][Next][TOC][Home] +[Prev][Next][TOC][Home]


    -01/06/10 17:47:21
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/home.gif b/doc/home.gif deleted file mode 100644 index 8e61e5e1adae96d680856edd8023788b86990fab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1278 zcmdUu>rYb$0L9NOZRs5=RNl0-wgm)Q)Y5|V1(a(o6sjUhZ4nU)+<`hB6EqMdJbWOl zF_sQ(nVUF7=FA3WX2dzxs<=48V2H~e>KKFQ23bs8=4MD3{24p><$O9H&iQb1%_g;` zLJTopEn;z5V~e!v)g!zdz>9Ire~0-|%-_TxefYf>&u-$`b<7T6_B>{L@JkQzQ!{>W z;!!6iKgHx8Jftz<#KbX7v}0^+am+*CufaVB?p|*ly@JtCYHoejdaD$^D-FI5)<}Qr z$RXVH;;SkQm*9(C7}`k=Ix$$vx>`#NoUQGzTXShM`syM+cA(eB{>aApU=zHj`aGUR z&wjm!_MB_Nxm_H$Blxr)9aedpjontvZE0y~uK)Zl>P%E?1FE!)%1l)1;n+D;k*};sk14lgl*_S8gR%{YWybKb zbd;%rc5GN}&yKSxS+-Qxb|tp2CamUqt1ix}gmo>mcnLX*lUdso*s2k2RRk8vQJ8{4 zIX24$o073{i9}drq$L@aL=>zJDUhKckt`4)KP4nT3HhtuFs}(Wr-;n5P_qo?B;--W zd5OqNVC2OiH!&ht#5N_6rg)g7kw%%wDC1M!%anX2l@LM2g;7#AB>^R7Q({meys(rudPv z+<*BK2F@bd$=JNX3;uS_il-MUrG6$?P5)Xby~sGu41N7rJ&+U7Ww&TM=c8RG@10iL zIOe=}X1=v+OQ*{(wpUY^Hv|B_=4*1VKf8DpCd9#$xPL1pa) z>s|G`i>4(3T+Tw$nHP6s>~X3??%}z)n4yx|8%+CTKTk3eUt9R3?lzma?BSfL_a6N5 z=ivi$ci-N|awcuDvIVli8h32cwWI!~$a|f9VNpG4>O1O+j&w}?Lzss*c4U0$ZsQQe zC%Az@!D7z45p&aB%?S@)42_z*{!R(oQ`4lJz8V&8nKE#n*3CRz)7db)rIJcTPElhc z(?v_iuT5D^ytBOR@kj3T=61cdk^nwgDK)3G(IhYgWxD)!Gv9&{*CKO0~B+rspzjIZYz#}6Lr4fL-lcfa4gqb~h*cWL9DEyqHh`;(ts KI=3o(DgGb5UUPN; diff --git a/doc/home.png b/doc/home.png new file mode 100644 index 0000000000000000000000000000000000000000..f26e1ce405ecc4fea6eebd25d533d312052b6e9c GIT binary patch literal 686 zcmV;f0#W^mP)0Gf@YnVJ8YZ##A|fIHfB*nDJOBUy z|NqP(HIVoK0004WQchCOWL`g(JRCwCWlIc>yFce0E zqNu2-q*}MSqM~AAR1DQbtt(KMcnib(KZ$ADQQCsP`KF!Q&N=fX=@g-n3U9XC+(r)3 z&&1a6!f(3$g7Ei_JdYz}8(nzkJCDtNfwV8zg!?9lv0q(p^VlaSY25DDR(79}>xk-7 z^|b!QQ@bGkR-uF`P_eOCF3i7^6vvc2IO|$qXT_;5otefNz z@z~HM6+W0_48~wLcK;V_edE6X4FZ5x@{r85ONeH-3oQLJM1qV2U4VuN+)Mz9{%rus zh6wQ -MHonArc v2.4 -- Installation +MHonArc v2.5 -- Installation + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -18,6 +21,20 @@

    Installation

    The following section describes how to install MHonArc on your system.

    + + + + + +
    NOTE

    Make sure to read the +release notes before installing MHonArc, +especially if you are upgrading from a previous release. If you +are reading the text version of this installation document, a text +version of the release notes is contained in the file RELNOTES +contained within the root of the MHonArc distribution. +

    +
    +
      @@ -54,15 +71,7 @@

      System Requirements

    • Getopt::Long and Time::Local modules are installed. -These modules are part of the standard Perl distribution. The -following command can be used to verify that the modules -are installed on your system: -

      -
      -shell> perl -MGetopt::Long -MTime::Local -e ';'
      -
      -

      If you get any error messages, you either have an incomplete -installation of Perl, or Perl is misconfigured. +These modules are part of the standard Perl distribution.

    • The following modules are optional: @@ -85,6 +94,16 @@

      System Requirements

    + + + + + +
    NOTE

    The MHonArc installation program will check that required modules +are available before installing MHonArc on your system. +

    +
    +

    Downloading MHonArc

    @@ -100,10 +119,17 @@

    Downloading MHonArc

    ><http://www.perl.com/CPAN/authors/id/EHOOD/>.

    -

    MHonArc is distributed in either a tar/gzip file or a zip file. The -tar/gzip file will have a name like MHonArcX.X.X.tar.gz, -and the zip file have a name like MHonArcX.X.X.zip; -where X.X.X represents the version number. +

    MHonArc is distributed in the following formats: +

    +
      +
    • tar-bz2: MHonArcX.X.X.tar.bz2 +
    • +
    • tar-gzip: MHonArcX.X.X.tar.gz +
    • +
    • zip: MHonArcX.X.X.zip +
    • +
    +

    where X.X.X represents the version number.

    Alternate distribution formats for MHonArc may be available, like Linux RPM. Alternate distribution formats are not covered in this @@ -115,32 +141,38 @@

    Downloading MHonArc

    Extracting the MHonArc Distribution

    After downloading MHonArc, it is best to move the file to a -temporary location for extraction. To extract a tar/gzip distribution, -use the following command: -

    -
    -    shell> gzip -dc MHonArcX.X.X.tar.gz | tar xvf -
    -
    -

    To extract the zip distribution, you can use a program like WinZip, -or any other program that supports zip archives. When extracting, make -sure to preserve the directory structure. -

    - - - - - -
    NOTE

    WinZip does support tar/gzip files. +temporary location for extraction. To extract the distribution +under Unix-like systems, use one of the following commands based upon the +distribution format you downloaded: +

    +
    +
    tar-bz2
    +
    +    shell> bzip2 -dc MHonArcX.X.X.tar.bz2 | tar xvf -
    +
    tar-gzip
    +
    +    shell> gzip -dc MHonArcX.X.X.tar.gz | tar xvf -
    +
    +
    zip
    +
    +    shell> unzip MHonArcX.X.X.zip
    +
    +
    + +

    For Win32 systems, you can use a program like WinZip to +extract the tar-gzip or zip formats. If using +Cygwin, you can use +the Unix-based extraction methods.

    -
    +

    After extraction, the subdirectory MHonArcX.X.X will have been created containing all the files comprising MHonArc.

    - @@ -195,6 +227,7 @@

    Installing with install.me

    Installing with install.me shell> perl install.me -prefix $HOME -
    +

    install.me Notes

    • The "#!" line in the installed programs are set to point to @@ -290,7 +323,7 @@

      The Perl 5 Way

    @@ -327,6 +360,8 @@

    Win32 Notes

    explorer, you can specify mhaicon.bmp as the icon for MHonArc resource (.mrc) files.

    +

    This method of associating the icon to MHonArc resource files +is known to work with Win9x systems. @@ -392,10 +427,10 @@

    Default Resource File

    You have the ability to create a default resource file -to make site-wide defaults for MHonArc. The name of the -resource file should be mhonarc.rc and should -be placed in the MHonArc library directory as specified during -installation. For more information on what can be put in +to make site-wide defaults for MHonArc. See +the DEFRCFILE resource +on valid pathname locations for the default resource file. +For more information on what can be put in a resource file, see the Resources section.

    @@ -426,7 +461,8 @@

    Site Initialization Library

    MHonArc library directory as specified during installation. A sample mhasiteinit.pl file is provied in the examples directory of the distribution to get you -started. +started, which includes comments on some of the things you +can do with mhasiteinit.pl.

    @@ -459,18 +495,18 @@

    Resource File Editing


    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    +
    IMPORTANT

    Please read the file RELNOTES included in the MHonArc -distribution before continuing for any news about compatibility +

    Please read the release notes +before continuing for any news about compatibility with previous versions and/or important usage information.

    NOTE

    install.me is actually called "behind the scenes" -to install the files. +in batch mode to install the files.

    + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2002/05/27 20:07:10 $
    + MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/intro.html b/doc/intro.html index ecd80b3..9e9c524 100644 --- a/doc/intro.html +++ b/doc/intro.html @@ -1,15 +1,18 @@ -MHonArc v2.4 -- Introduction +MHonArc v2.5 -- Introduction + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -21,6 +24,7 @@

    Introduction

  • Why Use MHonArc?
  • Supported Platforms
  • Availability +
  • License @@ -101,18 +105,33 @@

    Availability

    <http://www.mhonarc.org/>.

    -
    - -

    -[Prev][Next][TOC][FAQ][Bugs][Home] +


    +

    License

    + +

    This program is free software; you can redistribute it and/or modify +it under the terms of the +GNU General Public License as published by +the Free Software Foundation; +either version 2 of the License, or (at your option) any later version.

    +

    This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +

    + +
    + + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2001/12/24 14:38:07 $
    + MHonArc
    Copyright © 1997-2000, -MHonArc v2.4 -- Page Layout +MHonArc v2.5 -- Page Layout + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    @@ -37,6 +40,9 @@

    Page Layout

  • Message Page @@ -54,6 +60,11 @@

    Notation

    ( )
    Parentheses denote a group of resources.
    +
    |
    +
    The vertical bar is use within a group to denote +a boolean OR. For example, "(X | Y | Z)" +states that either X, Y, or Z may apply. +
    ?
    Denotes that preceding resource, or group, is optional. @@ -82,8 +93,8 @@

    Main Index Page

    Main index page resource layout

    +IDXPGSSMARKUP
     IDXPGBEGIN
    -    HEADER
         LISTBEGIN
     	(AUTHORBEGIN |
     	 DAYBEGIN |
    @@ -93,23 +104,17 @@ 

    Main index page resource layout

    DAYEND | SUBJECTEND)? LISTEND - FOOTER DOC? IDXPGEND
    -

    Main index pages also contain comment declarations. Some of the -comment declarations are vital markers to allow MHonArc -to properly edit the index during archive updates. -

    -

    Thread Index Page

    The thread index list messages by thread. Threads -are based upon In-Reply-To and References fields of -messages and by same Subjects. +are based upon In-Reply-To and References fields of +messages and by same Subjects.

    The layout of a thread index page is more complicated @@ -122,6 +127,7 @@

    Thread Index Page

    Thread index page resource layout

    +TIDXPGSSMARKUP
     TIDXPGBEGIN
         THEAD
     	((TTOPBEGIN
    @@ -132,7 +138,6 @@ 

    Thread index page resource layout

    (TLINONE [possible subthread listing] TLINONEEND))+ - TSUBLISTEND (TSUBJECTBEG ((TLITXT [possible subthread listing] @@ -141,6 +146,7 @@

    Thread index page resource layout

    [possible subthread listing] TLINONEEND))+ TSUBJECTEND)? + TSUBLISTEND TTOPEND) | TSINGLETXT)* [message w/o references or follow-ups] @@ -172,13 +178,14 @@

    Message Page

    Message page resource layout

    +MSGPGSSMARKUP
     MSGPGBEGIN
         MSGHEAD
         TOPLINKS
         SUBJECTHEADER
    -    Converted message header
    +    Converted message header
         HEADBODYSEP
    -    Converted message body
    +    Converted message body
         MSGBODYEND
         (FOLUPBEGIN
     	FOLUPLITXT+
    @@ -216,18 +223,100 @@ 

    Message page resource layout

    to properly edit the message when needed during updates.

    +

    Converted message header

    + +

    The format of converted message headers are determined by the +following resource layout: +

    +
    +FIELDSBEG
    +    (LABELBEG
    +     label text
    +     LABELEND
    +     FLDBEG
    +     field text
    +     FLDEND)*
    +FIELDSEND
    +
    + + + + + + +
    NOTE

    The line breaks above are used to show the sequence order of +the resources and do not indicate any actual line breaks in the final +markup generated. +

    +
    + +

    Converted message body

    + +

    The formatting of message body data is controled by filter routines. +See the MIMEFILTERS resource +page for more information. +

    + +

    Thread slices

    + +

    MHonArc supports the ability to include thread listings on messages +pages via the +$TSLICE$ resource variable. +The formatting of the $TSLICE$ resource variable is controled +by the following resources: +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, and +TSLICETOPENDCUR +

    + +

    The structure of the resources parallels the thread resource +layout structure described for the thread +index page, and the above thread slice resources will default to +the corresponding non-tslice resources, allowing you to provide a +consistent look to all thread listings without having to define two +sets of resources. +

    + +

    One key difference to the TSLICE* resources is the ability +to customize the look for current message item in the +the slice listing. I.e. You can actually highlight, grey-out, etc, +the current message to give the reader a visual cue of where they are +in the thread. See +TSLICETOPBEGCUR for +an example. +

    +
    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2002/06/27 00:06:14 $
    + MHonArc
    Copyright © 1997-1999, -MHonArc v2.4 Documentation +MHonArc v2.5 Documentation
    -

    [Cool Logo Here]
    +

    [Cool Logo Here]

    MHonArc

    @@ -24,6 +24,14 @@

    Table of Contents

  • Why Use MHonArc?
  • Supported Platforms
  • Availability
  • +
  • License
  • + + + +
    $A_HREF$
    @@ -339,7 +381,11 @@

    Variables

  • Description:The HREF attribute to use in an anchor to link to the archived message.The HREF attribute to use in an anchor to link to the +archived message. +This variable is equivalent to +"href="$MSG$"". +

    $A_NAME$
    @@ -350,7 +396,11 @@

    Variables

    Description:The NAME attribute to use in an anchor for messages to link to the index page.The NAME attribute to use in an anchor for messages to link +to the index page. +This variable is equivalent to +"name="$MSGNUM$"". +

    $BUTTON$
    @@ -361,14 +411,25 @@

    Variables

    Description:Button markup linking to a message. The value of $BUTTON$ is determined -by the following resources: +Button markup linking to a message. The value of $BUTTON$ +is determined by the following resources based on +mesg_spec value: NEXTBUTTON, NEXTBUTTONIA, PREVBUTTON, PREVBUTTONIA, TNEXTBUTTON, -TNEXTBUTTONIA. +TNEXTBUTTONIA, +TNEXTINBUTTON, +TNEXTINBUTTONIA, +TNEXTTOPBUTTON, +TNEXTTOPBUTTONIA, +TPREVBUTTON, +TPREVBUTTONIA, +TPREVINBUTTON, +TPREVINBUTTONIA, +TPREVTOPBUTTON, +TPREVTOPBUTTONIA.

    @@ -450,7 +511,7 @@

    Variables

    Description: The username/local-part of the mail address in the From: -field of the message. For example, given the address "someuser@foo.com", +field of the message. For example, given the address "someuser@mhonarc.org", $FROMADDRNAME$ would equal "someuser".

    @@ -463,8 +524,8 @@

    Variables

    Description: The domain part of the mail address in the From: -field of the message. For example, given the address "someuser@foo.com", -$FROMADDRDOMAIN$ would equal "foo.com".

    $FROMNAME$
    @@ -596,16 +657,25 @@

    Variables

    Description: Link markup linking to a message. -Value set by the +The value of $LINK$ is determined +by the following resources based on +mesg_spec value: NEXTLINK, NEXTLINKIA, PREVLINK, PREVLINKIA, TNEXTLINK, TNEXTLINKIA, -TPREVLINK, and -TPREVLINKIA -resources. +TNEXTINLINK, +TNEXTINLINKIA, +TNEXTTOPLINK, +TNEXTTOPLINKIA, +TPREVLINK, +TPREVLINKIA, +TPREVINLINK, +TPREVINLINKIA, +TPREVTOPLINK, +TPREVTOPLINKIA.

    @@ -874,10 +944,14 @@

    Variables

    Description: Markup linking to a main index page. Value determined by the +FIRSTPGLINK, +LASTPGLINK, NEXTPGLINK, NEXTPGLINKIA, PREVPGLINK, PREVPGLINKIA, +TFIRSTPGLINK, +TLASTPGLINK, TNEXTPGLINK, TNEXTPGLINKIA, TPREVPGLINK, and @@ -903,6 +977,10 @@

    Variables

    Examples: $PGLINKLIST(3;3)$, $PGLINKLIST(T2;T3)$. The link text for to a give page is the page number.

    +

    If no arguments are provided to $PGLINKLIST$, then the +links to all index pages will be printed. To get the entire list +for a thread index, use $PGLINKLIST(T)$. +


    @@ -925,10 +1003,13 @@

    Variables

    Description:The subject text of the message, and if no arguments, wrapped in an -anchor element that hyperlinks to the message. This behavior exists +The subject text of the message, and if no arguments, wrapped in +an anchor element that hyperlinks to the message. This behavior exists for backwards capatibility and a simple way to provide a link to -the current message using the subject as the link text.

    $SUBJECTNA$
    @@ -999,6 +1080,18 @@

    Variables


    +
    $TLEVEL$
    +
    + + + + + + + + +
    Arguments:mesg_spec
    Description:Numeric level of message in current thread, starting with zero. +

    $TO$
    @@ -1021,7 +1114,7 @@

    Variables

    @@ -1036,8 +1129,8 @@

    Variables

    @@ -1046,22 +1139,45 @@

    Variables

    Description: The username/local-part of the e-mail address. -For example, given the address "someuser@foo.com", +For example, given the address "someuser@mhonarc.org", $TOADDRNAME$ would equal "someuser". This variable is only applicable for use in the MAILTOURL.
    Description: The domain part of the e-mail address. -For example, given the address "someuser@foo.com", -$TOADDRDOMAIN$ would equal "foo.com". +For example, given the address "someuser@mhonarc.org", +$TOADDRDOMAIN$ would equal "mhonarc.org". This variable is only applicable for use in the MAILTOURL.
    - +
    Arguments:N/Anumber;number;flag
    Description: A slice of the thread listing relative to the current message. -Size of slice determined by the TSLICE -resource. Layout appearance of $TSLICE$ determined by -TSLICEBEG, -TSLICEEND, -TTOPBEGIN, -TLITXT, -TLIEND, -TSINGLETXT, -TSUBJECTBEG, and -TTOPEND +Size of slice is determined by the TSLICE +resource, or explicitly by the arguments provided. The first argument +is the number of maximum messages to list before the current message. +The second argument is the number of maximum message messages to list +after the current message. The third argument is a flag, 0 +or 1, denoting if slice should cross discussion thread +boundaries or not. If any of the arguments are blank, the value +defined in the TSLICE resource +will be used. +

    Layout appearance of $TSLICE$ is determined by +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, and +TSLICETOPENDCUR resources. +


    @@ -1093,16 +1209,16 @@

    Variables


    -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2002/07/27 05:13:10 $
    + MHonArc
    Copyright © 1998-1999, + + +MHonArc v2.5 -- Release Notes + + + + + + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]
    + +
    + +

    Release Notes

    + +

    Read the CHANGES document included in the distribution +for a more complete summary of changes to +MHonArc. This document highlights important changes that have occurred +and important usage details which you should be aware of before using +MHonArc. If you are upgrading from a previous release, make sure to +check for the +highlighted incompatibilites +from earlier releases. +

    + + + + + + +
    +

    Compatibility Notes

    + +

    This sections provides notes dealing with compatibility issues +if upgrading from a previous release of MHonArc: +

    + +

    UPGRADING FROM v2.4.x OR EARLIER: DEFRCNAME Change

    + +

    The default value for the DEFRCNAME is now called + ".mhonarc.mrc", or "mhonarc.mrc" under + Windows and VMS. The old value was ".mhonarc.rc", or + "mhonarc.rc". If you use the default resource file, + you will need to rename the file to match the filenames used for + v2.5 and later. +

    + +

    UPGRADING FROM v2.4.x OR EARLIER: HEADER and FOOTER Removed

    + +

    The HEADER and FOOTER resources are no longer supported. + If you are using these resources, the HEADER content and + FOOTER content will be lost once v2.5, or later, of + MHonArc processes an archive containing these resources. +

    +

    The HEADER and FOOTER resources have been deprecated for + a long time since they only applied to the main index; the + thread index has no equivalent. The + IDXPGBEGIN + or LISTBEGIN + resources can be used to achieve the same effect of HEADER. + The IDXPGEND + or LISTEND + can be used to achieve the same effect + of FOOTER. +

    + +

    UPGRADING FROM v2.4.x OR EARLIER: MIMEFILTERS API Change

    + +

    The API for data filters registered via + MIMEFILTERS + is not capability with filters written for v2.4.x and + earlier. See CHANGES and the documentation for the + MIMEFILTERS resource + for the API. +

    +

    If you use custom style filters written for v2.4.x, or earlier, + you will need to update them for them to work properly under + v2.5, and later. +

    + +

    UPGRADING FROM v2.1.x OR EARLIER: Database Format Change

    + +

    If you have archives created with v2.1.x, or earlier, the + format of mime-related resources is not compatible with v2.2, and + later, versions. MHonArc will reset the mime-related resources + CHARSETCONVERTERS + and MIMEFILTERS to their + default values. + MIMEARGS will also be + reset to the default value unless you are upgrading to v2.5.8, or + later, where the MIMEARGS settings will be preserved. +

    +

    To avoid the resetting of the mime-related resource if you + are using customized settings, you will need to re-specify your + settings the next time you update an archive. If you always + specify your resource settings each time you invoke MHonArc, then + your settings should to still take effect. +

    +

    You can also use the + mha-dbedit + program to apply + your settings directly without processing the archive. +

    + +

    DOWNGRADING TO OLDER VERSIONS

    + +

    Downgrading to an earlier version of MHonArc can be + dangerous, especially if downgrading to an older version that + used different storage formats in archive database files from + the current version in use. + If an older version of MHonArc is + used to process an archive last updated by a new version, archive + data can get lost and/or unexpected output can occur. +

    +

    Changes in archive format are not common, so downgrading + can be okay depending on the versions involved. The key versions + to watch out for are the ones noted in this section where + database format changes have occured. The following lists + release numbers where a format change occured: +

    +
      +
    • 2.0.0
    • +
    • 2.2.0
    • +
    • 2.5.0
    • +
    +

    For example, if an archive was last updated with v2.5.0, + processing the archive with a previous release will cause problems. +

    +

    A possible method for successfully downgrading to a release + with differences in the database format, + is to try to reconstruct the database file using + the mha-dbrecover + utility contained in the MHonArc version the archive is being + downgraded to. +

    +

    Of course, the safest way to downgrade is to recreate an archive + from the original raw mail data. It is good practice to preserve + the raw mail data in some form for cases like these and for + general archive recovering situations due to file corruption or other + system failures. +

    + + +
    +

    General Notes

    + +
      + +
    • For v2.5, the default text/html filter (mhtxthtml.pl) will + now convert auto-loaded URL attributes to + 'javascript:void(0);' for some HTML elements -- + IMG, BODY, IFRAME, FRAME, + OBJECT, SCRIPT, INPUT -- except for cid: + URLs. This behavior can be disabled if the 'allownoncidurls' + filter argument is specified. +

      +

      The new behavior is to prevent malicious URLs that verify + mail addresses for spam purposes, secretly set cookies, or + gather some statistical data automatically with the use of + elements that cause browsers to automatically fetch data. +

      +
    • + +
    • ISO-8859 character set data processing now defaults to using + the MHonArc::CharEnt module in v2.5. The old iso8859.pl + library is still provided for compatibility with older + archives. To update archives to use the new settings, you + can run the following command, +

      +
      +    mha-dbedit -rcfile examples/def-mime.mrc \
      +	       -outdir /path/to/archive 
      +

      where "examples/def-mime.mrc" represents the default MIME + processing resources for MHonArc provided within the MHonArc + distribution. +

      + + + + + +
      NOTE

      v2.5.4, and later, generated archives will automatically + inherit new + CHARSETCONVERTERS + if the built-in defaults are being used. + However, if you have defined CHARSETCONVERTERS for your archives, you + will need to explicitly update your archives if you want them + applied to your archives. +

      +
      +
    • + +
    • The value of the TSLICE + resource is used to determine the number of messages to update, + before and after by thread, of each new message added. To + insure that messages within a thread slice are updated when + a new message is added, make sure the before and after ranges + specified for TSLICE is + equal to maximum before and the maximum after range arguments + specifed in the uses of the + $TSLICE$ resource + variable. For example, if you have $TSLICE(0;4)$ and + $TSLICE(3;3)$ in message layout resources, you should + set TSLICE to 3:4. +

      +

      If you only use $TSLICE$ once, it is best to + set options for thread slice formatting via the + TSLICE resource so you will not have anything to worry about. +

      + +
    • If updgrading from v2.4.x, or earlier, reference and follow-up + information of a message is now stored in a different format + in the database (and internally). MHonArc will auto-update + older archives to the new format, so no action should be + required on your part. +

      +
    • + +
    • If upgrading from v2.1.x, or earlier, any custom filters you + have developed may need to modified. If your filter accessed + some main variables, your filter will not operate properly. + All variables that used to be in package "main" are no longer. + The major variables are now in package "mhonarc". For example, + $::OUTDIR is now $mhonarc::OUTDIR. See the + MIMEFILTERS + resource page for more information. +

      +
    • + +
    • See the warnings in the documentation for the + HTMLEXT and + MSGPREFIX + resources before using them. +

      +
    • + +
    • Occasionally, a new release of MHonArc may contain new + MIME filters. See the CHANGES file to check if any new filters + have been added. +

      +

      If you confirm that new filters have been added, and you want + to apply them to your archives, you use the + mha-dbedit + program + using the def-mime.mrc + in the examples directory. +

      + + + + + +
      NOTE

      v2.5.4, and later, generated archives will automatically + inherit new MIMEFILTERS if the built-in defaults are being used. + However, if you have defined MIMEFILTERS for your archives, you + will need to explicitly update your archives if you want them + applied to your archives. +

      +
      +

      Example usage of mha-dbedit: +

      +
      +    mha-dbedit -rcfile examples/def-mime.mrc \
      +	       -outdir /path/to/archive 
      +

      Change the -rcfile + and -outdir pathnames to reflect where + you are running mhonarc and where your archive is located, + respectively. +

      +

      Note, if your archives are using custom settings of + MIMEFILTERS, + MIMEARGS, and/or + CHARSETCONVERTERS + resources, + you will need to create a variant version of + def-mime.mrc + (included in the examples directory) to include your settings + and use the variant version when updating your archives. +

      +
    • + +
    + +
    + + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]
    + + + +
    +
    +$Date: 2002/06/27 05:00:01 $
    + +MHonArc
    +Copyright © 1997-2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources.html b/doc/resources.html index 304ccb3..b2119e5 100644 --- a/doc/resources.html +++ b/doc/resources.html @@ -1,15 +1,18 @@ -MHonArc v2.4 -- Resources +MHonArc v2.5 -- Resources + + -

    -[Prev][Next][TOC][FAQ][Bugs][Home] -

    + + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    Resources

    @@ -182,13 +185,13 @@

    Resource list

    FIELDSBEG Beginning markup of message header.
    FIELDSEND Ending markup of message header.
    FIELDSTYLES Define HTML elements that wrap field text of message headers.
    FIRSTPGLINK Link markup for first page of main index.
    FLDBEG Markup before field text.
    FLDEND Markup after field text.
    FOLREFS Print links links to explicit follow-ups and references.
    FOLUPBEGIN Beginning markup of follow-up links in message pages.
    FOLUPEND Ending markup of follow-up links in message pages.
    FOLUPLITXT Markup for a follow-up link.
    FOOTER File to include at the foot of main index pages.
    FORCE Force archive operation even if lock cannot be obtained.
    FROMFIELDS List of fields to extract author of a message.
    GENIDX Generate a message index to standard output.
    GZIPFILES Gzip files.
    GZIPLINKS Assume files are gzipped when creating links.
    HEADBODYSEP Markup separating the message head from the body.
    HEADER File to include at the top of main index pages.
    HTMLEXT Extension to use for HTML files.
    ICONS Content-type to icon mapping.
    IDXFNAME Filename for main (first) index page.
    IDXLABEL Label for main index.
    IDXPGBEGIN Beginning markup for main index pages.
    IDXPGEND Ending markup for main index pages.
    IDXPGSSMARKUP Markup at the beginning of all index pages.
    IDXPREFIX Filename prefix for multi-page main index.
    IDXSIZE Size of each index page.
    INCLUDE Include a resource file.
    LABELBEG Beginning markup of the label text of a message field.
    LABELEND End markup of the label text of a message field.
    LABELSTYLES Define HTML elements to wrap message header field labels.
    LASTPGLINK Link markup for last page of main index.
    LISTBEGIN Markup to begin main index message listing.
    LISTEND Markup to end main index message listing.
    LITEMPLATE Markup for an entry in the main index message list.
    MAIN Create main index.
    MAXSIZE Maximum number of messages in an archive.
    MHPATTERN Regex for matching message files in an MH folder (directory).
    MIMEALTPREFS Content-type preferences for multipart/alternative data.
    MIMEARGS Arguments to MIME filters.
    MIMEDECODERS Content-Transfer-Encoding decoding functions.
    MIMEEXCS Content-types to exclude.
    MSGPGBEGIN Starting markup for each message page.
    MSGPGEND Ending markup for each message page.
    MSGPGS Print message pages.
    MSGPGSSMARKUP Markup at the beginning of all message pages.
    MSGPREFIX Prefix for message page filenames.
    MSGSEP Regex for matching message separator in mailbox files.
    MULTIPG Create multi-page indexes.
    NEXTLINKIA Inactive link markup for next message by main index.
    NEXTPGLINK Link markup for next page of main index.
    NEXTPGLINKIA Inactive link markup for next page of main index.
    NOSUBJECTTXT Raw subject text to use for messages without a subject.
    NOTE Markup for representing the annotation of a message.
    NOTEDIR Directory to store annotations.
    NOTEIA Markup when no annotation is available for a message.
    SINGLE Process a single message.
    SORT List messages by date in main index.
    SPAMMODE Perform actions to deter email address harvesters.
    SSMARKUP Markup at the beginning of all generated pages.
    SSMARKUP Default markup at the beginning of all generated pages.
    STDERR File for standard error messages.
    STDIN File to treat as standard input.
    STDOUT File for standard output messages.
    SUBSORT List messages by subjext in main index.
    TCONTBEGIN Markup before the continuation of a broken thread.
    TCONTEND Markup after the continuation of a broken thread.
    TEXTCLIPFUNC Perl function to use for text clipping operations.
    TFIRSTPGLINK Link markup for first page of thread index.
    TFOOT Footer markup for thread index page.
    THEAD Header markup for thread index page.
    THREAD Create thread index.
    TIDXLABEL Label string for the thread index.
    TIDXPGBEGIN Beginning markup for the thread index pages.
    TIDXPGEND Ending markup for the thread index pages.
    TIDXPGSSMARKUP Markup at the beginning of all thread index pages.
    TIDXPREFIX Filename prefix for thread index pages beyond the first page.
    TIMEZONES Hour offsets for timezones.
    TINDENTBEGIN Markup for opening a level when continuing a broken thread.
    TINDENTEND Markup for closing a level when continuing a broken thread.
    TITLE Title for main index.
    TLASTPGLINK Link markup for last page of thread index.
    TLEVELS Maximum number of levels to indent in thread index.
    TLIEND Ending markup for a thread index message listing.
    TLINONE Markup for a missing message in thread index.
    TLITXT Markup for a thread index message listing.
    TNEXTBUTTON Button markup for next message by thread.
    TNEXTBUTTONIA Inactive button markup for next message by thread.
    TNEXTINBUTTON Button markup for next message within a thread.
    TNEXTINBUTTONIA Inactive button markup for next message within a thread.
    TNEXTINLINK Link markup for next message within a thread.
    TNEXTINLINKIA Inactive link markup for next message within a thread.
    TNEXTLINK Link markup for next message by thread.
    TNEXTLINKIA Inactive link markup for next message by thread.
    TNEXTPGLINK Link markup for next page in thread index.
    TNEXTPGLINKIA Inactive link markup for next page in thread index.
    TNEXTTOPBUTTON Button markup for first message in the next thread.
    TNEXTTOPBUTTONIA Inactive button markup for first message in the next thread.
    TNEXTTOPLINK Link markup for first message in the next thread.
    TNEXTTOPLINKIA Inactive link markup for first message in the next thread.
    TOPLINKS Markup for top navigational links of a message page.
    TPREVBUTTON Button markup for previous message by thread.
    TPREVBUTTONIA Inactive button markup for previous message by thread.
    TPREVINBUTTON Button markup for previous message within a thread.
    TPREVINBUTTONIA Inactive button markup for previous message within a thread.
    TPREVINLINK Link markup for previous message within a thread.
    TPREVINLINKIA Inactive link markup for previous message within a thread.
    TPREVLINK Link markup for previous message by thread.
    TPREVLINKIA Inactive link markup for previous message by thread.
    TPREVPGLINK Link markup for previous page in thread index.
    TPREVPGLINKIA Inactive link markup for previous page in thread index.
    TPREVTOPBUTTON Button markup for first message in the previous thread.
    TPREVTOPBUTTONIA Inactive button markup for first message in the previous thread.
    TPREVTOPLINK Link markup for first message in the previous thread.
    TPREVTOPLINKIA Inactive link markup for first message in the previous thread.
    TREVERSE List thread in reverse order.
    TSINGLETXT Markup for a thread listing with no follow-ups.
    TSLICE Size of thread listing slice for message pages.
    TSLICEBEG Markup for the start of a thread slice.
    TSLICECONTBEG Thread slice markup before the continuation of a broken thread.
    TSLICECONTEND Thread slice markup after the continuation of a broken thread.
    TSLICEEND Markup for the end of a thread slice.
    TSLICEINDENTBEG Thread slice markup for opening a level when continuing a broken thread.
    TSLICEINDENTEND Thread slice markup for closing a level when continuing a broken thread.
    TSLICELEVELS Maximum number of levels to indent in thread slices.
    TSLICELIEND Ending markup for a thread slice message listing.
    TSLICELIENDCUR Ending markup for a thread slice message listing if current message.
    TSLICELINONE Thread slice markup for a missing message in thread slice.
    TSLICELINONEEND Ending markup for a missing message in thread slice.
    TSLICELITXT Markup for a thread slice message listing.
    TSLICELITXTCUR Markup for a thread slice message listing if current message.
    TSLICESINGLETXT Markup for a thread slice listing with no follow-ups.
    TSLICESINGLETXTCUR Markup for a thread slice listing with no follow-ups if current message.
    TSLICESUBJECTBEG Markup before a subject based thread slice listing.
    TSLICESUBJECTEND Markup after a subject based thread slice listing.
    TSLICESUBLISTBEG Thread slice markup for starting a sub-thread.
    TSLICESUBLISTEND Thread slice markup for ending a sub-thread.
    TSLICETOPBEG Thread slice markup for the root/start of a thread.
    TSLICETOPBEGCUR Thread slice markup for the root/start of a thread if current message.
    TSLICETOPEND Thread slice markup for the end of a thread.
    TSLICETOPENDCUR Thread slice markup for the end of a thread if current message.
    TSORT List threads by date.
    TSUBJECTBEG Markup before a subject based thread listing.
    TSUBJECTEND Markup after a subject based thread listing.
    + +
    [Prev]   [TOC][FAQ][Bugs][Home]   [Next]

    -01/06/10 17:47:40
    - +$Date: 2002/07/27 05:13:10 $
    + MHonArc
    Copyright © 1997-1999, MHonArc Resources: ADD - -
    -MHonArc Resource List -
    - + + +
      +[Resources][TOC][Next: ADDRESSMODIFYCODE]
    +

    ADD

    @@ -18,18 +18,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -add folder1 ...
    -add < single-message

    @@ -128,11 +128,17 @@

    See Also


    + + +
      +[Resources][TOC][Next: ADDRESSMODIFYCODE]
    + +
    -00/10/28 11:12:50
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/addressmodifycode.html b/doc/resources/addressmodifycode.html index e245e41..aa92d39 100644 --- a/doc/resources/addressmodifycode.html +++ b/doc/resources/addressmodifycode.html @@ -4,11 +4,10 @@ MHonArc Resources: ADDRESSMODIFYCODE - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: ADD][Resources][TOC][Next: AFS]
    +

    ADDRESSMODIFYCODE

    @@ -18,22 +17,22 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_ADDRESSMODIFYCODE=Perl_expressions

    -
    Element
    -


    +

    Element
    +

    <ADDRESSMODIFYCODE>
    Perl expressions...
    </ADDRESSMODIFYCODE>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -addressmodifycode Perl_expressions

    @@ -128,14 +127,19 @@

    See Also


    + + +
    [Prev: ADD][Resources][TOC][Next: AFS]
    + +
    -00/10/28 11:12:59
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/afs.html b/doc/resources/afs.html index e45eff5..18ecaf1 100644 --- a/doc/resources/afs.html +++ b/doc/resources/afs.html @@ -4,11 +4,10 @@ MHonArc Resources: AFS - -
    -MHonArc Resource List -
    - + + +
    [Prev: ADDRESSMODIFYCODE][Resources][TOC][Next: ANNOTATE]
    +

    AFS

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_AFS=[ 0 | 1 ]

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -afs

    @@ -86,14 +85,19 @@

    See Also


    + + +
    [Prev: ADDRESSMODIFYCODE][Resources][TOC][Next: ANNOTATE]
    + +
    -00/10/28 11:12:55
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/annotate.html b/doc/resources/annotate.html index 7f86e89..98e2b77 100644 --- a/doc/resources/annotate.html +++ b/doc/resources/annotate.html @@ -4,11 +4,10 @@ MHonArc Resources: ANNOTATE - -
    -MHonArc Resource List -
    - + + +
    [Prev: AFS][Resources][TOC][Next: ARCHIVE]
    +

    ANNOTATE

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_ANNOTATE=[ 0 | 1 ]

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -annotate

    @@ -161,14 +160,19 @@

    See Also


    + + +
    [Prev: AFS][Resources][TOC][Next: ARCHIVE]
    + +
    -00/10/28 11:12:59
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/archive.html b/doc/resources/archive.html index bcd733a..9d92059 100644 --- a/doc/resources/archive.html +++ b/doc/resources/archive.html @@ -4,11 +4,10 @@ MHonArc Resources: ARCHIVE - -
    -MHonArc Resource List -
    - + + +
    [Prev: ANNOTATE][Resources][TOC][Next: AUTHORBEGIN]
    +

    ARCHIVE

    @@ -18,19 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_ARCHIVE= [ 0 | 1 ]

    -
    Element
    +
    Element

    N/A

    Command-line Option(s)
    -


    +

    -archive
    -noarchive

    @@ -94,14 +93,19 @@

    See Also


    + + +
    [Prev: ANNOTATE][Resources][TOC][Next: AUTHORBEGIN]
    + +
    -00/10/28 11:12:59
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/authorbegin.html b/doc/resources/authorbegin.html index 6020647..82774e9 100644 --- a/doc/resources/authorbegin.html +++ b/doc/resources/authorbegin.html @@ -4,11 +4,10 @@ MHonArc Resources: AUTHORBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: ARCHIVE][Resources][TOC][Next: AUTHOREND]
    +

    AUTHORBEGIN

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <AUTHORBEGIN>
    markup ...
    </AUTHORBEGIN>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -117,11 +116,11 @@

    Resource Variables

    $ICON$The context-type sensistive icon.The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensistive icon.The URL to the context-type sensitive icon.
    $MMDDYYYY$
    +
    [Prev: ARCHIVE][Resources][TOC][Next: AUTHOREND]
    + +
    -00/10/28 11:12:59
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/authorend.html b/doc/resources/authorend.html index 7264dc1..96b43b2 100644 --- a/doc/resources/authorend.html +++ b/doc/resources/authorend.html @@ -4,11 +4,10 @@ MHonArc Resources: AUTHOREND - -
    -MHonArc Resource List -
    - + + +
    [Prev: AUTHORBEGIN][Resources][TOC][Next: AUTHSORT]
    +

    AUTHOREND

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <AUTHOREND>
    markup ...
    </AUTHOREND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -89,14 +88,19 @@

    See Also


    + + +
    [Prev: AUTHORBEGIN][Resources][TOC][Next: AUTHSORT]
    + +
    -00/10/28 11:12:59
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/authsort.html b/doc/resources/authsort.html index c930b4a..a0269bf 100644 --- a/doc/resources/authsort.html +++ b/doc/resources/authsort.html @@ -4,11 +4,10 @@ MHonArc Resources: AUTHSORT - -
    -MHonArc Resource List -
    - + + +
    [Prev: AUTHOREND][Resources][TOC][Next: BOTLINKS]
    +

    AUTHSORT

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_AUTHSORT=[ 0 | 1 ]

    -
    Element
    -


    +

    Element
    +

    <AUTHSORT>
    <NOAUTHSORT>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -authsort
    -noauthsort

    @@ -87,14 +86,19 @@

    See Also


    + + +
    [Prev: AUTHOREND][Resources][TOC][Next: BOTLINKS]
    + +
    -00/10/28 11:12:59
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/botlinks.html b/doc/resources/botlinks.html index 8ef6818..799f148 100644 --- a/doc/resources/botlinks.html +++ b/doc/resources/botlinks.html @@ -4,11 +4,10 @@ MHonArc Resources: BOTLINKS - -
    -MHonArc Resource List -
    - + + +
    [Prev: AUTHSORT][Resources][TOC][Next: CHARSETCONVERTERS]
    +

    BOTLINKS

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <BOTLINKS>
    markup ...
    </BOTLINKS>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -60,19 +59,19 @@

    Default Setting

     <BotLinks>
    -<HR>
    -<UL>
    +<hr>
    +<ul>
     $LINK(PREV)$$LINK(NEXT)$
     $LINK(TPREV)$$LINK(TNEXT)$
    -<LI>Index(es):
    -<UL>
    -<LI><A HREF="$IDXFNAME$#$MSGNUM$">
    -<STRONG>Main</STRONG></A></LI>
    -<LI><A HREF="$TIDXFNAME$#$MSGNUM$">
    -<STRONG>Thread</STRONG></A></LI>
    -</UL>
    -</LI>
    -</UL>
    +<li>Index(es):
    +<ul>
    +<li><a href="$IDXFNAME$#$MSGNUM$">
    +<strong>Main</strong></a></li>
    +<li><a href="$TIDXFNAME$#$MSGNUM$">
    +<strong>Thread</strong></a></li>
    +</ul>
    +</li>
    +</ul>
     </BotLinks>
     
    @@ -130,11 +129,11 @@

    Resource Variables

    $ICON$The context-type sensistive icon.The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensistive icon.The URL to the context-type sensitive icon.
    $IDXFNAME$ Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    +
    [Prev: AUTHSORT][Resources][TOC][Next: CHARSETCONVERTERS]
    + +
    -00/10/28 11:12:59
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/charsetconverters.html b/doc/resources/charsetconverters.html index 70053d0..8784480 100644 --- a/doc/resources/charsetconverters.html +++ b/doc/resources/charsetconverters.html @@ -4,11 +4,10 @@ MHonArc Resources: CHARSETCONVERTERS - -
    -MHonArc Resource List -
    - + + +
    [Prev: BOTLINKS][Resources][TOC][Next: CHECKNOARCHIVE]
    +

    CHARSETCONVERTERS

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <CHARSETCONVERTERS>
    charset-filter-specification
    </CHARSETCONVERTERS>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -66,7 +65,7 @@

    Description

    Example:

     <CharsetConverters>
    -iso-8859-1;iso_8859::str2sgml;iso8859.pl
    +iso-8859-1;MHonArc::CharEnt::str2sgml;MHonArc/CharEnt.pm
     </CharsetConverters>
     
    @@ -77,17 +76,6 @@

    Description

    an already listed source file.

    - - - - - -
    NOTE

    For backwards compatibility, the values of a converter specification -can be separated with a colon, ":". However, if you use a colon, -package qualification of a function must use Perl 4 syntax. -

    -
    -

    There are some special character set specifications. They are as follows:

    @@ -128,9 +116,9 @@

    Description

    WARNING

    If the decoded data contains the characters '<', '>', -and '&', this may conflict with HTML markup. See +and '&', this may conflict with HTML markup. See DECODEHEADS -where "-decode-" can be used. +when "-decode-" can be used.

    @@ -159,26 +147,28 @@

    Default Setting

     <CharsetConverters>
    -plain;		mhonarc::htmlize;
    -us-ascii;	mhonarc::htmlize;
    -iso-8859-1;	mhonarc::htmlize;
    -iso-8859-2;	iso_8859::str2sgml;	iso8859.pl
    -iso-8859-3;	iso_8859::str2sgml;	iso8859.pl
    -iso-8859-4;	iso_8859::str2sgml;	iso8859.pl
    -iso-8859-5;	iso_8859::str2sgml;	iso8859.pl
    -iso-8859-6;	iso_8859::str2sgml;	iso8859.pl
    -iso-8859-7;	iso_8859::str2sgml;	iso8859.pl
    -iso-8859-8;	iso_8859::str2sgml;	iso8859.pl
    -iso-8859-9;	iso_8859::str2sgml;	iso8859.pl
    -iso-8859-10;	iso_8859::str2sgml;	iso8859.pl
    +plain;          mhonarc::htmlize;
    +us-ascii;       mhonarc::htmlize;
    +iso-8859-1;     mhonarc::htmlize;
    +iso-8859-2;     MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +iso-8859-3;     MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +iso-8859-4;     MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +iso-8859-5;     MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +iso-8859-6;     MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +iso-8859-7;     MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +iso-8859-8;     MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +iso-8859-9;     MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +iso-8859-10;    MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
     iso-2022-jp;    iso_2022_jp::str2html;  iso2022jp.pl
     latin1;         mhonarc::htmlize;
    -latin2;         iso_8859::str2sgml;     iso8859.pl
    -latin3;         iso_8859::str2sgml;     iso8859.pl
    -latin4;         iso_8859::str2sgml;     iso8859.pl
    -latin5;         iso_8859::str2sgml;     iso8859.pl
    -latin6;         iso_8859::str2sgml;     iso8859.pl
    -default;	-ignore-
    +latin2;         MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +latin3;         MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +latin4;         MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +latin5;         MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +latin6;         MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +windows-1250;   MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +windows-1252;   MHonArc::CharEnt::str2sgml;     MHonArc/CharEnt.pm
    +default;        -ignore-
     </CharsetConverters>
     
    @@ -199,6 +189,7 @@

    Examples

    +<DecodeHeads>
     <CharsetConverters>
     iso-8859-1;-decode-
     </CharsetConverters>
    @@ -224,11 +215,16 @@ 

    See Also


    + + +
    [Prev: BOTLINKS][Resources][TOC][Next: CHECKNOARCHIVE]
    + +
    -00/10/28 11:13:00
    - -MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-2001, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/checknoarchive.html b/doc/resources/checknoarchive.html index 3f7933c..03adfbf 100644 --- a/doc/resources/checknoarchive.html +++ b/doc/resources/checknoarchive.html @@ -4,11 +4,10 @@ MHonArc Resources: CHECKNOARCHIVE - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: CHARSETCONVERTERS][Resources][TOC][Next: CONLEN]
    +

    CHECKNOARCHIVE

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_CHECKNOARCHIVE=[ 0 | 1 ]

    -
    Element
    -


    +

    Element
    +

    <CHECKNOARCHIVE>
    <NOCHECKNOARCHIVE>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -checknoarchive
    -nochecknoarchive

    @@ -90,18 +89,24 @@

    Version

    See Also

    +MSGEXCFILTER


    + + +
    [Prev: CHARSETCONVERTERS][Resources][TOC][Next: CONLEN]
    + +
    -00/10/28 11:13:00
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/conlen.html b/doc/resources/conlen.html index 85904e9..23d2db2 100644 --- a/doc/resources/conlen.html +++ b/doc/resources/conlen.html @@ -4,11 +4,10 @@ MHonArc Resources: CONLEN - -
    -MHonArc Resource List -
    - + + +
    [Prev: CHECKNOARCHIVE][Resources][TOC][Next: DATEFIELDS]
    +

    CONLEN

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_CONLEN=[ 0 | 1 ]

    Element(s)
    -


    +

    <CONLEN>
    <NOCONLEN>

    Command-line Option(s)
    -


    +

    -conlen
    -noconlen

    @@ -90,11 +89,16 @@

    See Also


    + + +
    [Prev: CHECKNOARCHIVE][Resources][TOC][Next: DATEFIELDS]
    + +
    -00/10/28 11:12:59
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/datefields.html b/doc/resources/datefields.html index f0281c9..e71f6dc 100644 --- a/doc/resources/datefields.html +++ b/doc/resources/datefields.html @@ -4,20 +4,20 @@ MHonArc Resources: DATEFIELDS - -
    -MHonArc Resource List -
    - + + +
    [Prev: CONLEN][Resources][TOC][Next: DAYBEGIN]
    +

    DATEFIELDS

    +

    Syntax

    -
    Envariable
    +
    Envariable


    M2H_DATEFIELDS=field1:field2:...:Syntax

    -
    Element
    -


    +

    Element
    +

    <DATEFIELDS>
    field1:field2:...:Syntax

    -
    Command-line Option
    +
    Command-line Option

    -datefields field1:field2:...:Syntax

    +

    Description

    DATEFIELDS specify the message header fields MHonArc will search to @@ -57,6 +58,7 @@

    Description

    +

    Default Setting

    @@ -64,12 +66,14 @@ 

    Default Setting

    +

    Resource Variables

    N/A

    +

    Examples

    By default. MHonArc looks at the Received fields of @@ -86,12 +90,14 @@

    Examples

    +

    Version

    2.1.1

    +

    See Also

    @@ -99,14 +105,19 @@

    See Also


    + + +
    [Prev: CONLEN][Resources][TOC][Next: DAYBEGIN]
    + +
    -00/10/28 11:13:00
    - - + +MHonArc
    -Copyright © 1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/daybegin.html b/doc/resources/daybegin.html index f498866..54f4aff 100644 --- a/doc/resources/daybegin.html +++ b/doc/resources/daybegin.html @@ -4,11 +4,10 @@ MHonArc Resources: DAYBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: DATEFIELDS][Resources][TOC][Next: DAYEND]
    +

    DAYBEGIN

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <DAYBEGIN>
    markup ...
    </DAYBEGIN>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -117,11 +116,11 @@

    Resource Variables

    $ICON$The context-type sensistive icon.The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensistive icon.The URL to the context-type sensitive icon.
    $MMDDYYYY$
    +
    [Prev: DATEFIELDS][Resources][TOC][Next: DAYEND]
    + +
    -00/10/28 11:13:00
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/dayend.html b/doc/resources/dayend.html index 9b4f947..b5d2e29 100644 --- a/doc/resources/dayend.html +++ b/doc/resources/dayend.html @@ -4,11 +4,10 @@ MHonArc Resources: DAYEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: DAYBEGIN][Resources][TOC][Next: DBFILE]
    +

    DAYEND

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <DAYEND>
    markup ...
    </DAYEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -89,14 +88,19 @@

    See Also


    + + +
    [Prev: DAYBEGIN][Resources][TOC][Next: DBFILE]
    + +
    -00/10/28 11:13:00
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/dbfile.html b/doc/resources/dbfile.html index c3db4ff..3bcdbca 100644 --- a/doc/resources/dbfile.html +++ b/doc/resources/dbfile.html @@ -4,11 +4,10 @@ MHonArc Resources: DBFILE - -
    -MHonArc Resource List -
    - + + +
    [Prev: DAYEND][Resources][TOC][Next: DECODEHEADS]
    +

    DBFILE

    @@ -18,21 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_DBFILE=filename

    -
    Element
    -


    -<DBFILE>
    -filename
    -</DBFILE>
    +

    Element
    +

    N/A

    -
    Command-line Option
    +
    Command-line Option


    -dbfile filename

    @@ -44,7 +40,7 @@

    Syntax


    Description

    -

    DBFILE is the filename to use for the MHonArc database +

    DBFILE is the filename to use for the MHonArc database file.

    @@ -95,11 +91,16 @@

    See Also


    + + +
    [Prev: DAYEND][Resources][TOC][Next: DECODEHEADS]
    + +
    -00/10/28 11:13:00
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/decodeheads.html b/doc/resources/decodeheads.html index 7991d4c..3eb47cf 100644 --- a/doc/resources/decodeheads.html +++ b/doc/resources/decodeheads.html @@ -4,11 +4,10 @@ MHonArc Resources: DECODEHEADS - -
    -MHonArc Resource List -
    - + + +
    [Prev: DBFILE][Resources][TOC][Next: DEFINEDERIVED]
    +

    DECODEHEADS

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_DECODEHEADS=[ 0 | 1 ]

    Element(s)
    -


    +

    <DECODEHEADS>
    <NODECODEHEADS>

    Command-line Option(s)
    -


    +

    -decodeheads
    -nodecodeheads

    @@ -78,8 +77,18 @@

    Resource Variables


    Examples

    -

    None +

    The following will tell MHonArc to just decode all non-ASCII +encoded data, causing all character data to be treated by the +default locale setting:

    +
    +<DecodeHeads>
    +<CharsetConverters override>
    +plain;          mhonarc::htmlize;
    +default;        -decode-
    +</CharsetConverters>
    +
    +
    @@ -98,11 +107,16 @@

    See Also


    + + +
    [Prev: DBFILE][Resources][TOC][Next: DEFINEDERIVED]
    + +
    -00/10/28 11:13:00
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/definederived.html b/doc/resources/definederived.html index 59c8b4c..afc16ac 100644 --- a/doc/resources/definederived.html +++ b/doc/resources/definederived.html @@ -4,11 +4,10 @@ MHonArc Resources: DEFINEDERIVED - -
    -MHonArc Resource List -
    - + + +
    [Prev: DECODEHEADS][Resources][TOC][Next: DEFINEVAR]
    +

    DEFINEDERIVED

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <DEFINEDERIVED>
    filename
    file contents ...
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$The context-type sensistive icon.The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensistive icon.The URL to the context-type sensitive icon.
    $IDXFNAME$ Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    +
    [Prev: DECODEHEADS][Resources][TOC][Next: DEFINEVAR]
    + +
    -00/10/28 11:13:00
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/definevar.html b/doc/resources/definevar.html index f91c96b..345bddc 100644 --- a/doc/resources/definevar.html +++ b/doc/resources/definevar.html @@ -4,11 +4,10 @@ MHonArc Resources: DEFINEVAR - -
    -MHonArc Resource List -
    - + + +
    [Prev: DEFINEDERIVED][Resources][TOC][Next: DEFRCFILE]
    +

    DEFINEVAR

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <DEFINEVAR>
    variable-name
    value ...
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option


    -definevar variable-specification-list

    @@ -150,11 +149,16 @@

    See Also


    + + +
    [Prev: DEFINEDERIVED][Resources][TOC][Next: DEFRCFILE]
    + +
    -00/10/28 11:13:00
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/defrcfile.html b/doc/resources/defrcfile.html index 3a9affb..e995312 100644 --- a/doc/resources/defrcfile.html +++ b/doc/resources/defrcfile.html @@ -4,11 +4,10 @@ MHonArc Resources: DEFRCFILE - -
    -MHonArc Resource List -
    - + + +
    [Prev: DEFINEVAR][Resources][TOC][Next: DEFRCNAME]
    +

    DEFRCFILE

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_DEFRCFILE=filename

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -97,14 +96,19 @@

    See Also


    + + +
    [Prev: DEFINEVAR][Resources][TOC][Next: DEFRCNAME]
    + +
    -00/10/28 11:13:00
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/defrcname.html b/doc/resources/defrcname.html index 2dc38d8..711d230 100644 --- a/doc/resources/defrcname.html +++ b/doc/resources/defrcname.html @@ -4,31 +4,31 @@ MHonArc Resources: DEFRCNAME - -
    -MHonArc Resource List -
    - + + +
    [Prev: DEFRCFILE][Resources][TOC][Next: DOC]
    +

    DEFRCNAME

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_DEFRCNAME=name

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -36,6 +36,7 @@

    Syntax

    +

    Description

    DEFRCNAME defines the name of the default MHonArc resource @@ -44,31 +45,36 @@

    Description

    +

    Default Setting

    -

    .mhonarc.rc (MHONARC.RC for -MS-DOS environments). +

    .mhonarc.mrc
    +(mhonarc.mrc for Win/DOS environments).

    +

    Resource Variables

    N/A

    +

    Examples

    None.

    +

    Version

    2.0.2

    +

    See Also

    DEFRCFILE @@ -76,14 +82,19 @@

    See Also


    + + +
    [Prev: DEFRCFILE][Resources][TOC][Next: DOC]
    + +
    -00/10/28 11:13:00
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/doc.html b/doc/resources/doc.html index 1fda2a5..425e78a 100644 --- a/doc/resources/doc.html +++ b/doc/resources/doc.html @@ -4,11 +4,10 @@ MHonArc Resources: DOC - -
    -MHonArc Resource List -
    - + + +
    [Prev: DEFRCNAME][Resources][TOC][Next: DOCURL]
    +

    DOC

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_DOC=[ 0 | 1 ]

    Element(s)
    -


    +

    <DOC>
    <NODOC>

    Command-line Option(s)
    -


    +

    -doc
    -nodoc

    @@ -86,11 +85,16 @@

    See Also


    + + +
    [Prev: DEFRCNAME][Resources][TOC][Next: DOCURL]
    + +
    -00/10/28 11:12:59
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/docurl.html b/doc/resources/docurl.html index 68e8df3..c2ac57a 100644 --- a/doc/resources/docurl.html +++ b/doc/resources/docurl.html @@ -4,11 +4,10 @@ MHonArc Resources: DOCURL - -
    -MHonArc Resource List -
    - + + +
    [Prev: DOC][Resources][TOC][Next: EDITIDX]
    +

    DOCURL

    @@ -18,22 +17,22 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_DOCURL=URL

    -
    Element
    -


    +

    Element
    +

    <DOCURL>
    URL
    </DOCURL>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -docurl URL

    @@ -53,7 +52,7 @@

    Description


    Default Setting

    -

    http://www.pobox.com/~ehood/mhonarc.html +

    http://www.mhonarc.org/

    @@ -87,11 +86,16 @@

    See Also


    + + +
    [Prev: DOC][Resources][TOC][Next: EDITIDX]
    + +
    -00/10/28 11:13:00
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/editidx.html b/doc/resources/editidx.html index b0622cb..860dab5 100644 --- a/doc/resources/editidx.html +++ b/doc/resources/editidx.html @@ -4,11 +4,10 @@ MHonArc Resources: EDITIDX - -
    -MHonArc Resource List -
    - + + +
    [Prev: DOCURL][Resources][TOC][Next: EXCS]
    +

    EDITIDX

    @@ -18,17 +17,17 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -editidx

    @@ -84,11 +83,16 @@

    See Also


    + + +
    [Prev: DOCURL][Resources][TOC][Next: EXCS]
    + +
    -00/10/28 11:13:00
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/excs.html b/doc/resources/excs.html index 5681019..40104da 100644 --- a/doc/resources/excs.html +++ b/doc/resources/excs.html @@ -4,11 +4,10 @@ MHonArc Resources: EXCS - -
    -MHonArc Resource List -
    - + + +
    [Prev: EDITIDX][Resources][TOC][Next: EXPIREAGE]
    +

    EXCS

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <EXCS>
    field-name
    field-name
    @@ -33,7 +32,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -141,11 +140,16 @@

    See Also


    + + +
    [Prev: EDITIDX][Resources][TOC][Next: EXPIREAGE]
    + +
    -00/10/28 11:13:00
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/expireage.html b/doc/resources/expireage.html index 88eb6eb..66d563c 100644 --- a/doc/resources/expireage.html +++ b/doc/resources/expireage.html @@ -4,11 +4,10 @@ MHonArc Resources: EXPIREAGE - -
    -MHonArc Resource List -
    - + + +
    [Prev: EXCS][Resources][TOC][Next: EXPIREDATE]
    +

    EXPIREAGE

    @@ -18,22 +17,22 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_EXPIREAGE=seconds

    -
    Element
    -


    +

    Element
    +

    <EXPIREAGE>
    seconds
    </EXPIREAGE>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -expireage seconds

    @@ -134,14 +133,19 @@

    See Also


    + + +
    [Prev: EXCS][Resources][TOC][Next: EXPIREDATE]
    + +
    -00/10/28 11:13:00
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/expiredate.html b/doc/resources/expiredate.html index e82286f..6fb839a 100644 --- a/doc/resources/expiredate.html +++ b/doc/resources/expiredate.html @@ -4,11 +4,10 @@ MHonArc Resources: EXPIREDATE - -
    -MHonArc Resource List -
    - + + +
    [Prev: EXPIREAGE][Resources][TOC][Next: FIELDORDER]
    +

    EXPIREDATE

    @@ -18,22 +17,22 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_EXPIREDATE=date

    -
    Element
    -


    +

    Element
    +

    <EXPIREDATE>
    date
    </EXPIREDATE>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -expiredate date

    @@ -133,14 +132,19 @@

    See Also


    + + +
    [Prev: EXPIREAGE][Resources][TOC][Next: FIELDORDER]
    + +
    -00/10/28 11:13:01
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/fieldorder.html b/doc/resources/fieldorder.html index 201b601..1f0e71b 100644 --- a/doc/resources/fieldorder.html +++ b/doc/resources/fieldorder.html @@ -4,11 +4,10 @@ MHonArc Resources: FIELDORDER - -
    -MHonArc Resource List -
    - + + +
    [Prev: EXPIREDATE][Resources][TOC][Next: FIELDSBEG]
    +

    FIELDORDER

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <FIELDORDER>
    1st-field-name
    2nd-field-name
    @@ -33,7 +32,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -125,11 +124,16 @@

    See Also


    + + +
    [Prev: EXPIREDATE][Resources][TOC][Next: FIELDSBEG]
    + +
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/fieldsbeg.html b/doc/resources/fieldsbeg.html index d9d6258..7e81a06 100644 --- a/doc/resources/fieldsbeg.html +++ b/doc/resources/fieldsbeg.html @@ -4,11 +4,10 @@ MHonArc Resources: FIELDSBEG - -
    -MHonArc Resource List -
    - + + +
    [Prev: FIELDORDER][Resources][TOC][Next: FIELDSEND]
    +

    FIELDSBEG

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <FIELDSBEG>
    markup ...
    </FIELDSBEG>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -52,7 +51,7 @@

    Default Setting

     <FieldsBeg>
    -<UL>
    +<ul>
     </FieldsBeg>
     
    @@ -125,11 +124,16 @@

    See Also


    + + +
    [Prev: FIELDORDER][Resources][TOC][Next: FIELDSEND]
    + +
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/fieldsend.html b/doc/resources/fieldsend.html index a5c614a..ec75f67 100644 --- a/doc/resources/fieldsend.html +++ b/doc/resources/fieldsend.html @@ -4,11 +4,10 @@ MHonArc Resources: FIELDSEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: FIELDSBEG][Resources][TOC][Next: FIELDSTYLES]
    +

    FIELDSEND

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <FIELDSEND>
    markup ...
    </FIELDSEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -52,7 +51,7 @@

    Default Setting

     <FieldsEnd>
    -</UL>
    +</ul>
     </FieldsEnd>
     
    @@ -97,11 +96,16 @@

    See Also


    + + +
    [Prev: FIELDSBEG][Resources][TOC][Next: FIELDSTYLES]
    + +
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/fieldstyles.html b/doc/resources/fieldstyles.html index 4e871d3..0a98f3d 100644 --- a/doc/resources/fieldstyles.html +++ b/doc/resources/fieldstyles.html @@ -4,11 +4,10 @@ MHonArc Resources: FIELDSTYLES - -
    -MHonArc Resource List -
    - + + +
    [Prev: FIELDSEND][Resources][TOC][Next: FIRSTPGLINK]
    +

    FIELDSTYLES

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <FIELDSTYLES>
    field_name:html_element
    field_name:html_element
    @@ -33,7 +32,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -121,11 +120,16 @@

    See Also


    + + +
    [Prev: FIELDSEND][Resources][TOC][Next: FIRSTPGLINK]
    + +
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/firstpglink.html b/doc/resources/firstpglink.html new file mode 100644 index 0000000..e79e6e4 --- /dev/null +++ b/doc/resources/firstpglink.html @@ -0,0 +1,202 @@ + + + +MHonArc Resources: FIRSTPGLINK + + + + +
    [Prev: FIELDSTYLES][Resources][TOC][Next: FLDBEG]
    + +
    +

    FIRSTPGLINK

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<FIRSTPGLINK>
    +markup
    +</FIRSTPGLINK>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    FIRSTPGLINK defines the markup to use when +the resource variable $PGLINK(FIRST)$ is used: the +link to the first page of the main index. Since a link to +the first page of the main index is always active, there is +no inactive version of this resource. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$PG(FIRST)">First Page</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $GMTDATE$Current GMT date.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LOCALDATE$Current local date.
    $NUMOFIDXMSG$Number of message listed.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $OUTDIR$Pathname of archive.
    $PAGENUM$Current index page number.
    $PG$Filename of an index page.
    $PGLINK$Markup linking to an index page.
    $PGLINKLIST$List of links to index pages.
    $PROG$Program name
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $VERSION$Program version.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +LASTPGLINK, +NEXTPGLINK, +PREVPGLINK +

    + + +
    + + +
    [Prev: FIELDSTYLES][Resources][TOC][Next: FLDBEG]
    + +
    +
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/fldbeg.html b/doc/resources/fldbeg.html index ad651c1..02e220d 100644 --- a/doc/resources/fldbeg.html +++ b/doc/resources/fldbeg.html @@ -4,11 +4,10 @@ MHonArc Resources: FLDBEG - -
    -MHonArc Resource List -
    - + + +
    [Prev: FIRSTPGLINK][Resources][TOC][Next: FLDEND]
    +

    FLDBEG

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <FLDBEG>
    markup ...
    </FLDBEG>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -93,11 +92,16 @@

    See Also


    + + +
    [Prev: FIRSTPGLINK][Resources][TOC][Next: FLDEND]
    + +
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/fldend.html b/doc/resources/fldend.html index bc28115..c699144 100644 --- a/doc/resources/fldend.html +++ b/doc/resources/fldend.html @@ -4,11 +4,10 @@ MHonArc Resources: FLDEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: FLDBEG][Resources][TOC][Next: FOLREFS]
    +

    FLDEND

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <FLDEND>
    markup ...
    </FLDEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -93,11 +92,16 @@

    See Also


    + + +
    [Prev: FLDBEG][Resources][TOC][Next: FOLREFS]
    + +
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/folrefs.html b/doc/resources/folrefs.html index 4a1cef8..daf3564 100644 --- a/doc/resources/folrefs.html +++ b/doc/resources/folrefs.html @@ -4,11 +4,10 @@ MHonArc Resources: FOLREFS - -
    -MHonArc Resource List -
    - + + +
    [Prev: FLDEND][Resources][TOC][Next: FOLUPBEGIN]
    +

    FOLREFS

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_FOLREFS=[ 0 | 1 ]

    Element(s)
    -


    +

    <FOLREFS>
    <NOFOLREFS>

    Command-line Option(s)
    -


    +

    -folrefs
    -nofolrefs

    @@ -95,11 +94,16 @@

    See Also


    + + +
    [Prev: FLDEND][Resources][TOC][Next: FOLUPBEGIN]
    + +
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/folupbegin.html b/doc/resources/folupbegin.html index a9db891..c855eda 100644 --- a/doc/resources/folupbegin.html +++ b/doc/resources/folupbegin.html @@ -4,25 +4,25 @@ MHonArc Resources: FOLUPBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: FOLREFS][Resources][TOC][Next: FOLUPEND]
    +

    FOLUPBEGIN

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <FOLUPBEGIN>
    markup...
    @@ -30,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    FOLUPBEGIN defines the markup to start the explicit follow-up links @@ -56,20 +57,23 @@

    Description

    +

    Default Setting

    -<UL><LI><STRONG>Follow-Ups</STRONG>:
    -<UL>
    +<ul><li><strong>Follow-Ups</strong>:
    +<ul>
     
    +

    Resource Variables

    N/A

    +

    Examples

    The following example shows the settings for the @@ -78,26 +82,28 @@

    Examples

     <FolupBegin>
    -<dl>
    -<dt><strong>Replies</strong><dt>
    +<dl>
    +<dt><strong>Replies</strong><dt>
     </FolupBegin>
      
     <FolupLiTxt>
    -<dd><strong>$SUBJECT$</strong>, <em>$FROMNAME$</em></dd>
    +<dd><strong>$SUBJECT$</strong>, <em>$FROMNAME$</em></dd>
     </FolupLiTxt>
     
     <FolupEnd>
    -</dl>
    +</dl>
     </FolupEnd>
     
    +

    Version

    2.1.0

    +

    See Also

    @@ -111,14 +117,19 @@

    See Also


    + + +
    [Prev: FOLREFS][Resources][TOC][Next: FOLUPEND]
    + +
    98/03/03 18:19:32
    - - +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/folupend.html b/doc/resources/folupend.html index af097b6..f016395 100644 --- a/doc/resources/folupend.html +++ b/doc/resources/folupend.html @@ -4,33 +4,33 @@ MHonArc Resources: FOLUPEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: FOLUPBEGIN][Resources][TOC][Next: FOLUPLITXT]
    +

    FOLUPEND

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <FOLUPEND>
    markup...
    </FOLUPEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    FOLUPEND defines the ending markup for the the explicit follow-up @@ -56,31 +57,36 @@

    Description

    +

    Default Setting

    -</UL></LI></UL>
    +</ul></li></ul>
     
    +

    Resource Variables

    N/A

    +

    Examples

    See FOLUPBEGIN.

    +

    Version

    2.1.0

    +

    See Also

    @@ -94,14 +100,19 @@

    See Also


    + + +
    [Prev: FOLUPBEGIN][Resources][TOC][Next: FOLUPLITXT]
    + +
    -00/10/28 11:13:01
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/foluplitxt.html b/doc/resources/foluplitxt.html index a15cdc2..7321b9a 100644 --- a/doc/resources/foluplitxt.html +++ b/doc/resources/foluplitxt.html @@ -4,33 +4,33 @@ MHonArc Resources: FOLUPLITXT - -
    -MHonArc Resource List -
    - + + +
    [Prev: FOLUPEND][Resources][TOC][Next: FORCE]
    +

    FOLUPLITXT

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <FOLUPLITXT>
    markup...
    </FOLUPLITXT>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    FOLUPLITXT defines the markup for an entry in the explicit follow-up @@ -56,14 +57,16 @@

    Description

    +

    Default Setting

    -<LI><STRONG>$SUBJECT$</STRONG>
    -<UL><LI><EM>From:</EM> $FROM$</LI></UL></LI>
    +<li><strong>$SUBJECT$</strong>
    +<ul><li><em>From:</em> $FROM$</li></ul></li>
     
    +

    Resource Variables

    @@ -116,11 +119,11 @@

    Resource Variables

    - + - + @@ -177,18 +180,21 @@

    Resource Variables

    $ICON$The context-type sensistive icon.The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensistive icon.The URL to the context-type sensitive icon.
    $MMDDYYYY$
    +

    Examples

    See FOLUPBEGIN.

    +

    Version

    2.1.0

    +

    See Also

    @@ -202,14 +208,19 @@

    See Also


    + + +
    [Prev: FOLUPEND][Resources][TOC][Next: FORCE]
    + +
    -00/10/28 11:13:01
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/footer.html b/doc/resources/footer.html deleted file mode 100644 index 62f4761..0000000 --- a/doc/resources/footer.html +++ /dev/null @@ -1,121 +0,0 @@ - - - -MHonArc Resources: FOOTER - - - -
    -MHonArc Resource List -
    - -
    -

    FOOTER

    - - -
    -

    Syntax

    - -
    - -
    Envariable
    -

    -M2H_FOOTER=filename -

    -
    - -
    Element
    -

    -<FOOTER>
    -filename
    -</FOOTER>
    -

    -
    - -
    Command-line Option
    -

    --footer filename -

    -
    - -
    - - -
    -

    Description

    - -
    NOTE -

    The use of FOOTER resource is discouraged since the LISTEND resource can be used to achieve -the same results. The support for the FOOTER resource may be -removed in future releases. -No equivalent resource exists for the thread index. -

    - -

    The FOOTER resource specifies a file whose contents are to be included -after the message links listing of the main index. -

    - -
    -
    NOTE -

    filename should not contain the -</BODY>, and </HTML> tags; these -tags are automatically provided by MHonArc, or defined by -the IDXPGEND resource file element. -

    - -

    It is only necessary to specify the FOOTER resource -the first time you create an archive. The contents included from the -footer file is preserved in any subsequent additions -to the archive. Only respecify the FOOTER resource if you -need to make changes to the footer contents.

    - - -
    -

    Default Setting

    - -

    Nil. -

    - - -
    -

    Resource Variables

    - -

    N/A -

    - - -
    -

    Examples

    - -

    None. -

    - - -
    -

    Version

    - -

    1.0 (deprecated) -

    - - -
    -

    See Also

    - -

    -IDXPGEND, -HEADER, -LISTEND -

    - - -
    -
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    -
    - - - diff --git a/doc/resources/force.html b/doc/resources/force.html index 4aa70df..5738657 100644 --- a/doc/resources/force.html +++ b/doc/resources/force.html @@ -4,11 +4,10 @@ MHonArc Resources: FORCE - -
    -MHonArc Resource List -
    - + + +
    [Prev: FOLUPLITXT][Resources][TOC][Next: FROMFIELDS]
    +

    FORCE

    @@ -18,17 +17,17 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -force

    @@ -124,14 +123,19 @@

    See Also


    + + +
    [Prev: FOLUPLITXT][Resources][TOC][Next: FROMFIELDS]
    + +
    -00/10/28 11:13:00
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/fromfields.html b/doc/resources/fromfields.html index c647e02..e9ed482 100644 --- a/doc/resources/fromfields.html +++ b/doc/resources/fromfields.html @@ -4,11 +4,10 @@ MHonArc Resources: FROMFIELDS - -
    -MHonArc Resource List -
    - + + +
    [Prev: FORCE][Resources][TOC][Next: GENIDX]
    +

    FROMFIELDS

    @@ -18,7 +17,7 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_FROMFIELDS=field1:field2:...:Syntax

    -
    Element
    -


    +

    Element
    +

    <FROMFIELDS>
    field1:field2:...:Syntax

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -fromfields field1:field2:...:fieldN @@ -104,14 +103,19 @@

    See Also


    + + +
    [Prev: FORCE][Resources][TOC][Next: GENIDX]
    + +
    -00/10/28 11:13:01
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/genidx.html b/doc/resources/genidx.html index d848fea..a220050 100644 --- a/doc/resources/genidx.html +++ b/doc/resources/genidx.html @@ -4,11 +4,10 @@ MHonArc Resources: GENIDX - -
    -MHonArc Resource List -
    - + + +
    [Prev: FROMFIELDS][Resources][TOC][Next: GMTDATEFMT]
    +

    GENIDX

    @@ -18,17 +17,17 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -genidx

    @@ -90,14 +89,19 @@

    See Also


    + + +
    [Prev: FROMFIELDS][Resources][TOC][Next: GMTDATEFMT]
    + +
    -00/10/28 11:13:01
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/gmtdatefmt.html b/doc/resources/gmtdatefmt.html index cefa6d1..754e1cf 100644 --- a/doc/resources/gmtdatefmt.html +++ b/doc/resources/gmtdatefmt.html @@ -4,11 +4,10 @@ MHonArc Resources: GMTDATEFMT - -
    -MHonArc Resource List -
    - + + +
    [Prev: GENIDX][Resources][TOC][Next: GZIPEXE]
    +

    GMTDATEFMT

    @@ -18,22 +17,22 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_GMTDATEFMT=date-format

    -
    Element
    -


    +

    Element
    +

    <GMTDATEFMT>
    date-format
    </GMTDATEFMT>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -gmtdatefmt date-format

    @@ -209,11 +208,16 @@

    See Also


    + + +
    [Prev: GENIDX][Resources][TOC][Next: GZIPEXE]
    + +
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/gzipexe.html b/doc/resources/gzipexe.html index 9fe0a2f..0bf0ef2 100644 --- a/doc/resources/gzipexe.html +++ b/doc/resources/gzipexe.html @@ -4,35 +4,35 @@ MHonArc Resources: GZIPEXE - -
    -MHonArc Resource List -
    - + + +
    [Prev: GMTDATEFMT][Resources][TOC][Next: GZIPFILES]
    +

    GZIPEXE

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_GZIPEXE=pathname

    -
    Element
    -


    +

    Element
    +

    <GZIPEXE>
    pathname
    </GZIPEXE>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -gzipexe pathname

    @@ -40,6 +40,7 @@

    Syntax

    +

    Description

    GZIPEXE defines the pathname of the gzip executable. @@ -54,18 +55,21 @@

    Description

    +

    Default Setting

    gzip

    +

    Resource Variables

    N/A

    +

    Examples

    This example is not specific to GZIPEXE, but the following @@ -80,12 +84,14 @@

    Examples

    +

    Version

    2.1.0

    +

    See Also

    @@ -95,14 +101,19 @@

    See Also


    + + +
    [Prev: GMTDATEFMT][Resources][TOC][Next: GZIPFILES]
    + +
    -00/10/28 11:13:02
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/gzipfiles.html b/doc/resources/gzipfiles.html index 3dafac5..1cc5315 100644 --- a/doc/resources/gzipfiles.html +++ b/doc/resources/gzipfiles.html @@ -4,34 +4,34 @@ MHonArc Resources: GZIPFILES - -
    -MHonArc Resource List -
    - + + +
    [Prev: GZIPEXE][Resources][TOC][Next: GZIPLINKS]
    +

    GZIPFILES

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_GZIPFILES=[ 0 | 1 ]

    Element(s)
    -


    +

    <GZIPFILES>
    <NOGZIPFILES>

    Command-line Option(s)
    -


    +

    -gzipfiles
    -nogzipfiles

    @@ -40,6 +40,7 @@

    Syntax

    +

    Description

    GZIPFILES tells MHonArc if it should gzip files it creates. @@ -70,30 +71,35 @@

    Description

    +

    Default Setting

    Off

    +

    Resource Variables

    N/A

    +

    Examples

    None.

    +

    Version

    2.1.0

    +

    See Also

    @@ -103,14 +109,19 @@

    See Also


    + + +
    [Prev: GZIPEXE][Resources][TOC][Next: GZIPLINKS]
    + +
    -00/10/28 11:13:02
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/gziplinks.html b/doc/resources/gziplinks.html index 755a114..5235705 100644 --- a/doc/resources/gziplinks.html +++ b/doc/resources/gziplinks.html @@ -4,34 +4,34 @@ MHonArc Resources: GZIPLINKS - -
    -MHonArc Resource List -
    - + + +
    [Prev: GZIPFILES][Resources][TOC][Next: HEADBODYSEP]
    +

    GZIPLINKS

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_GZIPLINKS=[ 0 | 1 ]

    Element(s)
    -


    +

    <GZIPLINKS>
    <NOGZIPLINKS>

    Command-line Option(s)
    -


    +

    -gziplinks
    -nogziplinks

    @@ -40,6 +40,7 @@

    Syntax

    +

    Description

    GZIPLINKS, if active, will cause MHonArc to add @@ -53,30 +54,35 @@

    Description

    +

    Default Setting

    Off

    +

    Resource Variables

    N/A

    +

    Examples

    None.

    +

    Version

    2.1.0

    +

    See Also

    @@ -86,14 +92,19 @@

    See Also


    + + +
    [Prev: GZIPFILES][Resources][TOC][Next: HEADBODYSEP]
    + +
    -00/10/28 11:13:02
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/headbodysep.html b/doc/resources/headbodysep.html index b81b656..08d24ad 100644 --- a/doc/resources/headbodysep.html +++ b/doc/resources/headbodysep.html @@ -4,11 +4,10 @@ MHonArc Resources: HEADBODYSEP - -
    -MHonArc Resource List -
    - + + +
    [Prev: GZIPLINKS][Resources][TOC][Next: HTMLEXT]
    +

    HEADBODYSEP

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <HEADBODYSEP>
    markup
    </HEADBODYSEP>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -51,7 +50,7 @@

    Description

    Default Setting

    -<HR>
    +<hr>
     
    @@ -108,11 +107,11 @@

    Resource Variables

    $ICON$The context-type sensistive icon.The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensistive icon.The URL to the context-type sensitive icon.
    $IDXFNAME$ Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    +
    [Prev: GZIPLINKS][Resources][TOC][Next: HTMLEXT]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/header.html b/doc/resources/header.html deleted file mode 100644 index 27024d4..0000000 --- a/doc/resources/header.html +++ /dev/null @@ -1,122 +0,0 @@ - - - -MHonArc Resources: HEADER - - - -
    -MHonArc Resource List -
    - -
    -

    HEADER

    - - -
    -

    Syntax

    - -
    - -
    Envariable
    -

    -M2H_HEADER=filename -

    -
    - -
    Element
    -


    -<HEADER>
    -filename
    -</HEADER>
    -

    -
    - -
    Command-line Option
    -


    --header filename -

    -
    - -
    - - -
    -

    Description

    - -
    NOTE -

    The use of HEADER resource is discouraged since the LISTBEGIN resource can be used to achieve -the same results. The support for the HEADER resource may be -removed in future releases. -No equivalent resource exists for the thread index. -

    - -

    The HEADER resource specifies a file whose contents are to be included -before the message links listing of the main index. -

    - -
    -
    NOTE -

    filename should not contain the -<HTML>, <HEADER>, and -<BODY> tags; these -tags are automatically provided by MHonArc, or defined by -the IDXPGGEING resource file element. -

    - -

    It is only necessary to specify the HEADER resource -the first time you create an archive. The contents included from the -header file is preserved in any subsequent additions -to the archive. Only respecify the HEADER resource if you -need to make changes to the header contents.

    - - -
    -

    Default Setting

    - -

    Nil. -

    - - -
    -

    Resource Variables

    - -

    N/A -

    - - -
    -

    Examples

    - -

    None. -

    - - -
    -

    Version

    - -

    1.0 (deprecated) -

    - - -
    -

    See Also

    - -

    -IDXPGBEGIN, -FOOTER, -LISTBEGIN -

    - - -
    -
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    -
    - - - diff --git a/doc/resources/htmlext.html b/doc/resources/htmlext.html index 4958e60..7902b81 100644 --- a/doc/resources/htmlext.html +++ b/doc/resources/htmlext.html @@ -4,26 +4,26 @@ MHonArc Resources: HTMLEXT - -
    -MHonArc Resource List -
    - + + +
    [Prev: HEADBODYSEP][Resources][TOC][Next: ICONS]
    +

    HTMLEXT

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_HTMLEXT=extension

    -
    Element
    +
    Element

    <HTMLEXT>
    extension
    @@ -31,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -htmlext extension

    @@ -40,6 +40,7 @@

    Syntax

    +

    Description

    HTMLEXT defines the extension for all HTML files generated @@ -59,18 +60,21 @@

    Description

    +

    Default Setting

    html

    +

    Resource Variables

    N/A

    +

    Examples

    If you define server-side directives to be included in HTML pages, @@ -81,12 +85,14 @@

    Examples

    +

    Version

    2.1.0

    +

    See Also

    @@ -94,14 +100,19 @@

    See Also


    + + +
    [Prev: HEADBODYSEP][Resources][TOC][Next: ICONS]
    + +
    -00/10/28 11:13:02
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/icons.html b/doc/resources/icons.html index fcf95f3..1d64625 100644 --- a/doc/resources/icons.html +++ b/doc/resources/icons.html @@ -4,11 +4,10 @@ MHonArc Resources: ICONS - -
    -MHonArc Resource List -
    - + + +
    [Prev: HTMLEXT][Resources][TOC][Next: IDXFNAME]
    +

    ICONS

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <ICONS>
    icon-specification
    @@ -33,7 +32,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -45,43 +44,79 @@

    Syntax

    Description

    The ICONS resource is used to specify the icons that represent the -different content-types of messages. +different content-types of messages. This resource is used to +define the possible expanded values of the +$ICON$ resource variable.

    The ICON resource can only be defined via the resource file element. The format of each line in the ICONS element is as follows:

    +
    +content-type:url
    +
    -

    content-type:URL-for-icon

    +

    The definition of each item is a follows: -

    content-type represents a MIME -content-type. URL-for-icon is the URL to the icon. The -special content-type called "unknown" may be defined -to specify the icon to use for non-recognized content-types. If -unknown is not defined, the text/plain icon is used for -unknown content types.

    +
    + +
    content-type
    +

    MIME content-type that an icon should be associated to. + Examples: text/plain, image/jpeg. An icon + can be associated to a base type by using a * as the + sub-type. Examples: text/*, image/*. The + default icon can be specified by using a content-type of + */*. +

    +
    + +
    url
    +

    The URL of the icon. Example: http://host/icons/text.gif, + /icons/image.gif. +

    +

    The url can be prefixed with a + width and height specification to provide rendering hints to + browsers. The syntax for specify the width and height is + as follows: [WxH], where + W is the width and H is the height. The + following is an example URL setting with width and height specification: + [20x22]/icons/image.gif. +

    +

    The width and height values map directly to the WIDTH + and HEIGHT attributes of the HTML IMG element + when $ICON$ is used. + Specifying the width and height decreases the rendering time + of a page since browsers do not have to wait to fetch the image + to determine how much area to provide for rendering. +

    +
    + +

    In order to have icons appear in your pages, use the -$ICON$ resource variable. +$ICON$ resource variable. For example:

    -
    +
     <LiTemplate>
     $ICON$ <strong>$SUBJECT:40$</strong>
     <em>$FROMNAME$</em><br>
     </LiTemplate>
    -
    +

    The $ICON$ variable expands to the IMG HTML element with the appropriate URL in the SRC attribute to the icon. The ALT attribute of the IMG element contains the content-type of the message, surrounded by -[]'s, for use with text based browsers.

    +[]'s, for use with text based browsers. If the width +and height values have been defined for the given URL as described +earlier, they will map to the WIDTH and HEIGHT attributes. +

    -

    The $ICONURL$ resource -variable may be used if you want redefine the format of the +

    The $ICONURL$ resource +variable may be used if you want redefine the format of the IMG element. For example:

    @@ -93,9 +128,6 @@

    Description

    </LiTemplate>

  • -

    The example overrides what is normally used in the ALT -attribute.

    -

    Default Setting

    @@ -114,23 +146,40 @@

    Resource Variables


    Examples

    -
    +

    The following example works well if using the Apache HTTP server +and the default set of icons that are provided with it: +

    +
     <Icons>
    -audio/basic:http://foo.org/gifs/gsound.gif
    -image/gif:http://foo.org/gifs/gimage.gif
    -image/jpeg:http://foo.org/gifs/gimage.gif
    -image/tiff:http://foo.org/gifs/ggraphic.gif
    -multipart/alternative:http://foo.org/gifs/gmulti.gif
    -multipart/digest:http://foo.org/gifs/gtext.gif
    -multipart/mixed:http://foo.org/gifs/gdoc2.gif
    -multipart/parallel:http://foo.org/gifs/gdoc.gif
    -text/richtext:http://foo.org/gifs/gdoc.gif
    -text/html:http://foo.org/gifs/gdoc.gif
    -text/plain:http://foo.org/gifs/gletter.gif
    -unknown:http://foo.org/gifs/gunknown.gif
    -video/mpeg:http://foo.org/gifs/gmovie.gif
    +application/*;[20x22]/icons/generic.gif
    +application/msword;[20x22]/icons/layout.gif
    +application/postscript;[20x22]/icons/ps.gif
    +application/rtf;[20x22]/icons/layout.gif
    +application/x-csh;[20x22]/icons/script.gif
    +application/x-dvi;[20x22]/icons/dvi.gif
    +application/x-gtar;[20x22]/icons/tar.gif
    +application/x-gzip;[20x22]/icons/compressed.gif
    +application/x-ksh;[20x22]/icons/script.gif
    +application/x-latex;[20x22]/icons/tex.gif
    +application/octet-stream;[20x22]/icons/binary.gif
    +application/x-patch;[20x22]/icons/patch.gif
    +application/pdf;[20x22]/icons/pdf.gif
    +application/x-script;[20x22]/icons/script.gif
    +application/x-sh;[20x22]/icons/script.gif
    +application/x-tar;[20x22]/icons/tar.gif
    +application/x-tex;[20x22]/icons/tex.gif
    +application/x-zip-compressed;[20x22]/icons/compressed.gif
    +application/zip;[20x22]/icons/compressed.gif
    +audio/*;[20x22]/icons/sound1.gif
    +chemical/*;[20x22]/icons/sphere2.gif
    +image/*;[20x22]/icons/image2.gif
    +message/external-body;[20x22]/icons/link.gif
    +multipart/*;[20x22]/icons/layout.gif
    +text/*;[20x22]/icons/text.gif
    +video/*;[20x22]/icons/movie.gif
    +*/*;[20x22]/icons/generic.gif
     </Icons>
    -
    +

    @@ -144,19 +193,30 @@

    Version

    See Also

    +$ICON$, +$ICONURL$, LITEMPLATE, TLITXT, TSINGLETXT, TTOPBEGIN

    +

    The +m2h_external::filter +mime filter. +


    + + +
    [Prev: HTMLEXT][Resources][TOC][Next: IDXFNAME]
    + +
    -00/10/28 11:13:01
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-2001, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/idxfname.html b/doc/resources/idxfname.html index 3fcb33b..9b286d2 100644 --- a/doc/resources/idxfname.html +++ b/doc/resources/idxfname.html @@ -4,11 +4,10 @@ MHonArc Resources: IDXFNAME - -
    -MHonArc Resource List -
    - + + +
    [Prev: ICONS][Resources][TOC][Next: IDXLABEL]
    +

    IDXFNAME

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_IDXFNAME=filename

    -
    Element
    +
    Element

    <IDXFNAME>
    filename
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -idxfname filename

    @@ -89,11 +88,16 @@

    See Also


    + + +
    [Prev: ICONS][Resources][TOC][Next: IDXLABEL]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/idxlabel.html b/doc/resources/idxlabel.html index f416727..b918398 100644 --- a/doc/resources/idxlabel.html +++ b/doc/resources/idxlabel.html @@ -4,11 +4,10 @@ MHonArc Resources: IDXLABEL - -
    -MHonArc Resource List -
    - + + +
    [Prev: IDXFNAME][Resources][TOC][Next: IDXPGBEGIN]
    +

    IDXLABEL

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <IDXLABEL>
    markup ... @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -94,14 +93,19 @@

    See Also


    + + +
    [Prev: IDXFNAME][Resources][TOC][Next: IDXPGBEGIN]
    + +
    -00/10/28 11:13:02
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/idxpgbegin.html b/doc/resources/idxpgbegin.html index 4e0bb86..66c0e9e 100644 --- a/doc/resources/idxpgbegin.html +++ b/doc/resources/idxpgbegin.html @@ -4,11 +4,10 @@ MHonArc Resources: IDXPGBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: IDXLABEL][Resources][TOC][Next: IDXPGEND]
    +

    IDXPGBEGIN

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <IDXPGBEGIN>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -58,13 +57,13 @@

    Default Setting

     <IdxPgBegin>
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
    -<HTML>
    -<HEAD>
    -<TITLE>$IDXTITLE$</TITLE>
    -</HEAD>
    -<BODY>
    -<H1>$IDXTITLE$</H1>
    +<!doctype html public "-//W3C//DTD HTML//EN">
    +<html>
    +<head>
    +<title>$IDXTITLE$</title>
    +</head>
    +<body>
    +<h1>$IDXTITLE$</h1>
     </IdxPgBegin>
     
    @@ -180,13 +179,13 @@

    Examples

     <IdxPgBegin>
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
    -<HTML>
    -<HEAD>
    -<TITLE>$IDXTITLE$</TITLE>
    -</HEAD>
    -<BODY background="idxbg.gif" bgproperties="fixed">
    -<H1>$IDXTITLE$</H1>
    +<!doctype html public "-//W3C//DTD HTML//EN">
    +<html>
    +<head>
    +<title>$IDXTITLE$</title>
    +</head>
    +<body background="idxbg.png" bgproperties="fixed">
    +<h1>$IDXTITLE$</h1>
     </IdxPgBegin>
     
    @@ -210,11 +209,16 @@

    See Also


    + + +
    [Prev: IDXLABEL][Resources][TOC][Next: IDXPGEND]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/idxpgend.html b/doc/resources/idxpgend.html index cfcaf95..03650b0 100644 --- a/doc/resources/idxpgend.html +++ b/doc/resources/idxpgend.html @@ -4,11 +4,10 @@ MHonArc Resources: IDXPGEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: IDXPGBEGIN][Resources][TOC][Next: IDXPGSSMARKUP]
    +

    IDXPGEND

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <IDXPGEND>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -52,8 +51,8 @@

    Default Setting

     <IdxPgEnd>
    -</BODY>
    -</HTML>
    +</body>
    +</html>
     </IdxPgEnd>
     
    @@ -185,11 +184,16 @@

    See Also


    + + +
    [Prev: IDXPGBEGIN][Resources][TOC][Next: IDXPGSSMARKUP]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/idxpgssmarkup.html b/doc/resources/idxpgssmarkup.html new file mode 100644 index 0000000..d7746b3 --- /dev/null +++ b/doc/resources/idxpgssmarkup.html @@ -0,0 +1,110 @@ + + + +MHonArc Resources: IDXPGSSMARKUP + + + + +
    [Prev: IDXPGEND][Resources][TOC][Next: IDXPREFIX]
    + +
    +

    IDXPGSSMARKUP

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<IDXPGSSMARKUP>
    +markup...
    +</IDXPGSSMARKUP>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    IDXPGSSMARKUP defines the markup that occurs at the very +beginning of index pages. This resource +may be used to include any server-side processing markup that must +occur before any HTML-related markup. +

    + + +
    +

    Default Setting

    + +

    The value of the +SSMARKUP +resource. +

    + + +
    +

    Resource Variables

    + +

    N/A +

    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.8 +

    + + +
    +

    See Also

    + +

    +MSGPGSSMARKUP, +TIDXPGSSMARKUP, +SSMARKUP +

    +

    +Page Layout +

    + + +
    + + +
    [Prev: IDXPGEND][Resources][TOC][Next: IDXPREFIX]
    + +
    +
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 2002, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/idxprefix.html b/doc/resources/idxprefix.html index 862280e..86d27bf 100644 --- a/doc/resources/idxprefix.html +++ b/doc/resources/idxprefix.html @@ -4,11 +4,10 @@ MHonArc Resources: IDXPREFIX - -
    -MHonArc Resource List -
    - + + +
    [Prev: IDXPGSSMARKUP][Resources][TOC][Next: IDXSIZE]
    +

    IDXPREFIX

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_IDXPREFIX=prefix

    -
    Element
    +
    Element

    <IDXPREFIX>
    prefix
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -idxprefix prefix

    @@ -103,11 +102,16 @@

    See Also


    + + +
    [Prev: IDXPGSSMARKUP][Resources][TOC][Next: IDXSIZE]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/idxsize.html b/doc/resources/idxsize.html index 61d05c1..d3f8463 100644 --- a/doc/resources/idxsize.html +++ b/doc/resources/idxsize.html @@ -4,11 +4,10 @@ MHonArc Resources: IDXSIZE - -
    -MHonArc Resource List -
    - + + +
    [Prev: IDXPREFIX][Resources][TOC][Next: INCLUDE]
    +

    IDXSIZE

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_IDXSIZE=number

    -
    Element
    +
    Element

    <IDXSIZE>
    number
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -idxsize number

    @@ -91,11 +90,16 @@

    See Also


    + + +
    [Prev: IDXPREFIX][Resources][TOC][Next: INCLUDE]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/include.html b/doc/resources/include.html index 928df97..83c9a17 100644 --- a/doc/resources/include.html +++ b/doc/resources/include.html @@ -4,11 +4,10 @@ MHonArc Resources: INCLUDE - -
    -MHonArc Resource List -
    - + + +
    [Prev: IDXSIZE][Resources][TOC][Next: KEEPONRMM]
    +

    INCLUDE

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <INCLUDE>
    filename
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -100,11 +99,16 @@

    See Also


    + + +
    [Prev: IDXSIZE][Resources][TOC][Next: KEEPONRMM]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/keeponrmm.html b/doc/resources/keeponrmm.html index 20703a0..9378c41 100644 --- a/doc/resources/keeponrmm.html +++ b/doc/resources/keeponrmm.html @@ -4,11 +4,10 @@ MHonArc Resources: KEEPONRMM - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: INCLUDE][Resources][TOC][Next: LABELBEG]
    +

    KEEPONRMM

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_KEEPONRMM=[ 0 | 1 ]

    -
    Element
    -


    +

    Element
    +

    <KEEPONRMM>
    <NOKEEPONRMM>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -keeponrmm -nokeeponrmm

    @@ -114,14 +113,19 @@

    See Also


    + + +
    [Prev: INCLUDE][Resources][TOC][Next: LABELBEG]
    + +
    -01/04/13 12:32:44
    - - + +MHonArc
    -Copyright © 2001, Earl Hood, mhonarc@pobox.com
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/labelbeg.html b/doc/resources/labelbeg.html index d1d3ac4..d677f42 100644 --- a/doc/resources/labelbeg.html +++ b/doc/resources/labelbeg.html @@ -4,11 +4,10 @@ MHonArc Resources: LABELBEG - -
    -MHonArc Resource List -
    - + + +
    [Prev: KEEPONRMM][Resources][TOC][Next: LABELEND]
    +

    LABELBEG

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <LABELBEG>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -51,7 +50,7 @@

    Description

    Default Setting

    -<LI>
    +<li>
     
    @@ -95,11 +94,16 @@

    See Also


    + + +
    [Prev: KEEPONRMM][Resources][TOC][Next: LABELEND]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/labelend.html b/doc/resources/labelend.html index 170d938..0914173 100644 --- a/doc/resources/labelend.html +++ b/doc/resources/labelend.html @@ -4,11 +4,10 @@ MHonArc Resources: LABELEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: LABELBEG][Resources][TOC][Next: LABELSTYLES]
    +

    LABELEND

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <LABELEND>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -95,11 +94,16 @@

    See Also


    + + +
    [Prev: LABELBEG][Resources][TOC][Next: LABELSTYLES]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/labelstyles.html b/doc/resources/labelstyles.html index 50e7f8d..def4a3e 100644 --- a/doc/resources/labelstyles.html +++ b/doc/resources/labelstyles.html @@ -4,11 +4,10 @@ MHonArc Resources: LABELSTYLES - -
    -MHonArc Resource List -
    - + + +
    [Prev: LABELEND][Resources][TOC][Next: LASTPGLINK]
    +

    LABELSTYLES

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <LABELSTYLES>
    label_name:html_element
    @@ -33,7 +32,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -122,11 +121,16 @@

    See Also


    + + +
    [Prev: LABELEND][Resources][TOC][Next: LASTPGLINK]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/lastpglink.html b/doc/resources/lastpglink.html new file mode 100644 index 0000000..b70fb68 --- /dev/null +++ b/doc/resources/lastpglink.html @@ -0,0 +1,202 @@ + + + +MHonArc Resources: LASTPGLINK + + + + +
    [Prev: LABELSTYLES][Resources][TOC][Next: LISTBEGIN]
    + +
    +

    LASTPGLINK

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<LASTPGLINK>
    +markup
    +</LASTPGLINK>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    LASTPGLINK defines the markup to use when +the resource variable $PGLINK(LAST)$ is used: the +link to the last page of the main index. Since a link to +the last page of the main index is always active, there is +no inactive version of this resource. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$PG(LAST)">Last Page</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $GMTDATE$Current GMT date.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LOCALDATE$Current local date.
    $NUMOFIDXMSG$Number of message listed.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $OUTDIR$Pathname of archive.
    $PAGENUM$Current index page number.
    $PG$Filename of an index page.
    $PGLINK$Markup linking to an index page.
    $PGLINKLIST$List of links to index pages.
    $PROG$Program name
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $VERSION$Program version.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +FIRSTPGLINK, +NEXTPGLINK, +PREVPGLINK +

    + + +
    + + +
    [Prev: LABELSTYLES][Resources][TOC][Next: LISTBEGIN]
    + +
    +
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/listbegin.html b/doc/resources/listbegin.html index 70d4b1c..367a485 100644 --- a/doc/resources/listbegin.html +++ b/doc/resources/listbegin.html @@ -4,11 +4,10 @@ MHonArc Resources: LISTBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: LASTPGLINK][Resources][TOC][Next: LISTEND]
    +

    LISTBEGIN

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <LISTBEGIN>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -59,11 +58,11 @@

    Default Setting

     <ListBegin>
    -<UL>
    -<LI><A HREF="$TIDXFNAME$">Thread Index</A></LI>
    -</UL>
    -<HR>
    -<UL>
    +<ul>
    +<li><a href="$TIDXFNAME$">Thread Index</a></li>
    +</ul>
    +<hr>
    +<ul>
     </ListBegin>
     
    @@ -72,12 +71,12 @@

    Default Setting

     <ListBegin>
    -<UL>
    -<LI><A HREF="$TIDXFNAME$">Thread Index</A></LI>
    -</UL>
    +<ul>
    +<li><a href="$TIDXFNAME$">Thread Index</a></li>
    +</ul>
     $PGLINK(PREV)$$PGLINK(NEXT)$
    -<HR>
    -<UL>
    +<hr>
    +<ul>
     </ListBegin>
     
    @@ -193,22 +192,22 @@

    Examples

     <ListBegin>
    -<ul>
    -<li><a href="$TIDXFNAME$">Thread Index</a></li>
    -</ul>
    -<table width="100%" border=0 cols=2 cellpadding=0 cellspacing=0>
    -<tbody>
    -<tr align="center">
    -<th colspan=4>Page $PAGENUM$ of $NUMOFPAGES$
    -<tr>
    -<td align="left">$PGLINK(PREV)$
    -<td align="right">[<a href="$PG(FIRST)$">First Page</a>]
    -<td align="left">[<a href="$PG(LAST)$">Last Page</a>]
    -<td align="right">$PGLINK(NEXT)
    -</tbody>
    -</table>
    -<hr>
    -<ul>
    +<ul>
    +<li><a href="$TIDXFNAME$">Thread Index</a></li>
    +</ul>
    +<table width="100%" border=0 cols=2 cellpadding=0 cellspacing=0>
    +<tbody>
    +<tr align="center">
    +<th colspan=4>Page $PAGENUM$ of $NUMOFPAGES$
    +<tr>
    +<td align="left">$PGLINK(PREV)$
    +<td align="right">[<a href="$PG(FIRST)$">First Page</a>]
    +<td align="left">[<a href="$PG(LAST)$">Last Page</a>]
    +<td align="right">$PGLINK(NEXT)
    +</tbody>
    +</table>
    +<hr>
    +<ul>
     </ListBegin>
     
    @@ -231,11 +230,16 @@

    See Also


    + + +
    [Prev: LASTPGLINK][Resources][TOC][Next: LISTEND]
    + +
    -00/10/28 11:13:02
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/listend.html b/doc/resources/listend.html index 230e6db..ed5054a 100644 --- a/doc/resources/listend.html +++ b/doc/resources/listend.html @@ -4,11 +4,10 @@ MHonArc Resources: LISTEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: LISTBEGIN][Resources][TOC][Next: LITEMPLATE]
    +

    LISTEND

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <LISTEND>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -56,7 +55,7 @@

    Default Setting

     <ListEnd>
    -</UL>
    +</ul>
     </ListEnd>
     
    @@ -187,11 +186,16 @@

    See Also


    + + +
    [Prev: LISTBEGIN][Resources][TOC][Next: LITEMPLATE]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/litemplate.html b/doc/resources/litemplate.html index c4968ed..ddde016 100644 --- a/doc/resources/litemplate.html +++ b/doc/resources/litemplate.html @@ -4,11 +4,10 @@ MHonArc Resources: LITEMPLATE - -
    -MHonArc Resource List -
    - + + +
    [Prev: LISTEND][Resources][TOC][Next: LOCALDATEFMT]
    +

    LITEMPLATE

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <LITEMPLATE>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -56,9 +55,9 @@

    Default Setting

     <LiTemplate>
    -<LI><STRONG>$SUBJECT$</STRONG>
    -<UL><LI><EM>From</EM>: $FROM$</LI></UL>
    -</LI>
    +<li><strong>$SUBJECT$</strong>
    +<ul><li><em>From</em>: $FROM$</li></ul>
    +</li>
     </LiTemplate>
     
    @@ -116,11 +115,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $MMDDYYYY$ @@ -186,9 +185,9 @@

    Examples

     <LiTemplate>
    -<LI><STRONG>$SUBJECT$</STRONG>,
    -<EM>$FROMNAME$</EM>
    -</LI>
    +<li><strong>$SUBJECT$</strong>,
    +<em>$FROMNAME$</em>
    +</li>
     </LiTemplate>
     
    @@ -204,17 +203,22 @@

    Version

    See Also

    -LIBEGIN, +LISTBEGIN, LISTEND


    + + +
    [Prev: LISTEND][Resources][TOC][Next: LOCALDATEFMT]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/localdatefmt.html b/doc/resources/localdatefmt.html index a97063f..60f6989 100644 --- a/doc/resources/localdatefmt.html +++ b/doc/resources/localdatefmt.html @@ -4,11 +4,10 @@ MHonArc Resources: LOCALDATEFMT - -
    -MHonArc Resource List -
    - + + +
    [Prev: LITEMPLATE][Resources][TOC][Next: LOCK]
    +

    LOCALDATEFMT

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_LOCALDATEFMT=date-format

    -
    Element
    +
    Element

    <LOCALDATEFMT>
    date-format
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -localdatefmt date-format

    @@ -210,11 +209,16 @@

    See Also


    + + +
    [Prev: LITEMPLATE][Resources][TOC][Next: LOCK]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/lock.html b/doc/resources/lock.html index 6ca67c3..e46796c 100644 --- a/doc/resources/lock.html +++ b/doc/resources/lock.html @@ -4,11 +4,10 @@ MHonArc Resources: LOCK - -
    -MHonArc Resource List -
    - + + +
    [Prev: LOCALDATEFMT][Resources][TOC][Next: LOCKDELAY]
    +

    LOCK

    @@ -18,17 +17,17 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option


    -lock
    -nolock @@ -104,14 +103,19 @@

    See Also


    + + +
    [Prev: LOCALDATEFMT][Resources][TOC][Next: LOCKDELAY]
    + +
    -00/10/28 11:13:02
    - - + +MHonArc
    -Copyright © 1998-1999 Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999 Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/lockdelay.html b/doc/resources/lockdelay.html index d77ceb8..cd82f07 100644 --- a/doc/resources/lockdelay.html +++ b/doc/resources/lockdelay.html @@ -4,11 +4,10 @@ MHonArc Resources: LOCKDELAY - -
    -MHonArc Resource List -
    - + + +
    [Prev: LOCK][Resources][TOC][Next: LOCKFILE]
    +

    LOCKDELAY

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_LOCKDELAY=seconds

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -lockdelay seconds

    @@ -89,14 +88,19 @@

    See Also


    + + +
    [Prev: LOCK][Resources][TOC][Next: LOCKFILE]
    + +
    -00/10/28 11:13:03
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/lockfile.html b/doc/resources/lockfile.html index c621b09..73e7df7 100644 --- a/doc/resources/lockfile.html +++ b/doc/resources/lockfile.html @@ -4,11 +4,10 @@ MHonArc Resources: LOCKFILE - -
    -MHonArc Resource List -
    - + + +
    [Prev: LOCKDELAY][Resources][TOC][Next: LOCKMETHOD]
    +

    LOCKFILE

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_LOCKFILE=name

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -lockfile name

    @@ -100,14 +99,19 @@

    See Also


    + + +
    [Prev: LOCKDELAY][Resources][TOC][Next: LOCKMETHOD]
    + +
    -00/10/28 11:13:03
    - - + +MHonArc
    -Copyright © 1998-2000, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-2000, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/lockmethod.html b/doc/resources/lockmethod.html index 886f127..a83fcca 100644 --- a/doc/resources/lockmethod.html +++ b/doc/resources/lockmethod.html @@ -4,11 +4,10 @@ MHonArc Resources: LOCKMETHOD - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: LOCKFILE][Resources][TOC][Next: LOCKTRIES]
    +

    LOCKMETHOD

    @@ -18,22 +17,22 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_LOCKMETHOD=method

    -
    Element
    -


    +

    Element
    +

    <LOCKMETHOD>
    method
    </LOCKMETHOD>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -lockmethod method

    @@ -232,14 +231,19 @@

    See Also


    + + +
    [Prev: LOCKFILE][Resources][TOC][Next: LOCKTRIES]
    + +
    -00/10/28 11:13:03
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/locktries.html b/doc/resources/locktries.html index e8aedce..49fa8fb 100644 --- a/doc/resources/locktries.html +++ b/doc/resources/locktries.html @@ -4,11 +4,10 @@ MHonArc Resources: LOCKTRIES - -
    -MHonArc Resource List -
    - + + +
    [Prev: LOCKMETHOD][Resources][TOC][Next: MAILTO]
    +

    LOCKTRIES

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_LOCKTRIES=number

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -locktries number

    @@ -88,14 +87,19 @@

    See Also


    + + +
    [Prev: LOCKMETHOD][Resources][TOC][Next: MAILTO]
    + +
    -00/10/28 11:13:03
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/mailto.html b/doc/resources/mailto.html index aacff9d..6070cda 100644 --- a/doc/resources/mailto.html +++ b/doc/resources/mailto.html @@ -4,11 +4,10 @@ MHonArc Resources: MAILTO - -
    -MHonArc Resource List -
    - + + +
    [Prev: LOCKTRIES][Resources][TOC][Next: MAILTOURL]
    +

    MAILTO

    @@ -18,7 +17,7 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MAILTO=[ 0 | 1 ]

    @@ -90,11 +89,16 @@

    See Also


    + + +
    [Prev: LOCKTRIES][Resources][TOC][Next: MAILTOURL]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/mailtourl.html b/doc/resources/mailtourl.html index a0259a2..1f97fd9 100644 --- a/doc/resources/mailtourl.html +++ b/doc/resources/mailtourl.html @@ -4,11 +4,10 @@ MHonArc Resources: MAILTOURL - -
    -MHonArc Resource List -
    - + + +
    [Prev: MAILTO][Resources][TOC][Next: MAIN]
    +

    MAILTOURL

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MAILTOURL=URL-template

    -
    Element
    +
    Element

    <MAILTOURL>
    URL-template
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -mailtourl URL-template

    @@ -154,11 +153,16 @@

    See Also


    + + +
    [Prev: MAILTO][Resources][TOC][Next: MAIN]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/main.html b/doc/resources/main.html index 7def3cc..df849fb 100644 --- a/doc/resources/main.html +++ b/doc/resources/main.html @@ -4,11 +4,10 @@ MHonArc Resources: MAIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: MAILTOURL][Resources][TOC][Next: MAXSIZE]
    +

    MAIN

    @@ -18,7 +17,7 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MAIN=[ 0 | 1 ]

    @@ -87,11 +86,16 @@

    See Also


    + + +
    [Prev: MAILTOURL][Resources][TOC][Next: MAXSIZE]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/maxsize.html b/doc/resources/maxsize.html index fc20f97..a4f0925 100644 --- a/doc/resources/maxsize.html +++ b/doc/resources/maxsize.html @@ -4,11 +4,10 @@ MHonArc Resources: MAXSIZE - -
    -MHonArc Resource List -
    - + + +
    [Prev: MAIN][Resources][TOC][Next: MHPATTERN]
    +

    MAXSIZE

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MAXSIZE=number

    -
    Element
    +
    Element

    <MAXSIZE>
    number
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -maxsize number

    @@ -98,11 +97,16 @@

    See Also


    + + +
    [Prev: MAIN][Resources][TOC][Next: MHPATTERN]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/mhpattern.html b/doc/resources/mhpattern.html index 6d8d792..35a1170 100644 --- a/doc/resources/mhpattern.html +++ b/doc/resources/mhpattern.html @@ -4,11 +4,10 @@ MHonArc Resources: MHPATTERN - -
    -MHonArc Resource List -
    - + + +
    [Prev: MAXSIZE][Resources][TOC][Next: MIMEALTPREFS]
    +

    MHPATTERN

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MHPATTERN=Perl-regexp

    -
    Element
    +
    Element

    <MHPATTERN>
    Perl-regexp
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -mhpattern Perl-regexp

    @@ -101,11 +100,16 @@

    See Also


    + + +
    [Prev: MAXSIZE][Resources][TOC][Next: MIMEALTPREFS]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/mimealtprefs.html b/doc/resources/mimealtprefs.html new file mode 100644 index 0000000..dce078d --- /dev/null +++ b/doc/resources/mimealtprefs.html @@ -0,0 +1,190 @@ + + + +MHonArc Resources: MIMEALTPREFS + + + + +
    [Prev: MHPATTERN][Resources][TOC][Next: MIMEARGS]
    + +
    +

    MIMEALTPREFS

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<MIMEALTPREFS>
    +content-type
    +content-type
    +...
    +</MIMEALTPREFS>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    MIMEALTPREFS allows you to specify media-type preferences +for multipart/alternative data, overriding the default +preferences as specified in mail messages. +

    + +

    When a multipart/alternative entity is processed, +the last filterable media-type is normally used. However, it is sometimes +desirable to override this behavior for certain media-types. For example, +it has become more common for many MUAs to generate the following +message structures: +

    +
    +  multipart/alternative
    +    text/plain
    +    text/html
    + +

    A message with HTML, and a plain text equivalent for those receiving +MUAs who may not be able to render HTML in email. When MHonArc processes +such a message, MHonArc will use the text/html part since it +is filterable and comes after text/plain. +

    + +

    There are some who would like to have nothing to do with HTML in +email. Or, due to security concerns, would prefer to not minimize the +amount of HTML from email in their archives. With MIMEALTPREFS, you +can tell MHonArc to prefer the text/plain over the text/html +part with the following setting: +

    +
    +<MIMEAltPrefs>
    +text/plain
    +text/html
    +</MIMEAltPrefs>
    +
    + +

    Media-types listed in MIMEALTPREFS are from most prefered to least +prefered. +

    + +

    Note, MIMEALTPREFS augments the normal processing of +multipart/alternative entities. For example, say the following +message entity structure exists, +

    +
    +  multipart/alternative
    +    text/plain
    +    text/enriched
    +    text/html
    +

    and we are using the MIMEALTPREFS setting, +

    +
    +<MIMEAltPrefs>
    +text/plain
    +text/html
    +</MIMEAltPrefs>
    +
    + +

    So which entity will MHonArc actually use? In this case, +the text/enriched part will be used. The reason is that +the text/html will be excluded since there does exist a +text/plain alternative entity. However, MHonArc still +tries to use the last filterable alternative part, which in this +case is text/enriched. +

    + +

    In order to have text/plain chosen, the following +MIMEALTPREFS setting would be needed, +

    +
    +<MIMEAltPrefs>
    +text/plain
    +text/enriched
    +text/html
    +</MIMEAltPrefs>
    +
    +

    This says that text/enriched is preferred over +text/html. And text/plain is preferred over +text/enriched and text/html. +

    + + + + + + +
    NOTE

    Each time <MIMEALTPREFS> occurs in a resource file, +the last encountered setting will override any previous values. Therefore, +specifying the override attribute is redundant. +

    +
    + + +
    +

    Default Setting

    + +

    Nil +

    + + +
    +

    Resource Variables

    + +

    N/A +

    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.8 +

    + + +
    +

    See Also

    + +

    +MIMEEXCS +

    + + +
    + + +
    [Prev: MHPATTERN][Resources][TOC][Next: MIMEARGS]
    + +
    +
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 2002, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/mimeargs.html b/doc/resources/mimeargs.html index d4f51c0..392a255 100644 --- a/doc/resources/mimeargs.html +++ b/doc/resources/mimeargs.html @@ -4,11 +4,10 @@ MHonArc Resources: MIMEARGS - -
    -MHonArc Resource List -
    - + + +
    [Prev: MIMEALTPREFS][Resources][TOC][Next: MIMEDECODERS]
    +

    MIMEARGS

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <MIMEARGS>
    content-type:argument-string
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -68,17 +67,6 @@

    Description

    content-type that the filter processes, the content-type string will override the filter string.

    - - - - - -
    NOTE

    For backwards compatibility, the values of a MIMEARGS specification -can be separated with a colon, ":". However, if you use a colon, -package qualification of a function must use Perl 4 syntax. -

    -
    -
    @@ -86,10 +74,7 @@

    Default Setting

     <MIMEArgs>
    -image/gif;	 inline
    -image/jpeg;	 inline
    -image/x-xbitmap; inline
    -image/x-xbm;	 inline
    +m2h_external::filter; inline
     </MIMEArgs>
     
    @@ -110,7 +95,7 @@

    Examples

     <MIMEArgs>
    -text/plain;quote
    +m2h_text_plain::filter; quote
     </MIMEArgs>
     
    @@ -131,11 +116,16 @@

    See Also


    + + +
    [Prev: MIMEALTPREFS][Resources][TOC][Next: MIMEDECODERS]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/mimedecoders.html b/doc/resources/mimedecoders.html index 83f74fb..746de61 100644 --- a/doc/resources/mimedecoders.html +++ b/doc/resources/mimedecoders.html @@ -4,11 +4,10 @@ MHonArc Resources: MIMEDECODERS - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: MIMEARGS][Resources][TOC][Next: MIMEEXCS]
    +

    MIMEDECODERS

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <MIMEDECODERS>
    decoder-specification
    ...
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -140,21 +139,26 @@

    Version

    See Also

    -CHARSETCONVERTER, +CHARSETCONVERTERS, MIMEFILTERS, PERLINC


    + + +
    [Prev: MIMEARGS][Resources][TOC][Next: MIMEEXCS]
    + +
    -00/10/28 11:13:13
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/mimeexcs.html b/doc/resources/mimeexcs.html index 0db8376..2dfad05 100644 --- a/doc/resources/mimeexcs.html +++ b/doc/resources/mimeexcs.html @@ -4,11 +4,10 @@ MHonArc Resources: MIMEEXCS - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: MIMEDECODERS][Resources][TOC][Next: MIMEFILTERS]
    +

    MIMEEXCS

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <MIMEEXCS>
    content-type
    content-type
    @@ -33,7 +32,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -120,10 +119,15 @@

    See Also


    + + +
    [Prev: MIMEDECODERS][Resources][TOC][Next: MIMEFILTERS]
    + +
    -01/06/10 17:08:42
    - - + +MHonArc
    Copyright © 2001, Earl Hood, MHonArc Resources: MIMEFILTERS - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: MIMEEXCS][Resources][TOC][Next: MODTIME]
    +

    MIMEFILTERS

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    -<MIMEFILTERS>
    +<MIMEFILTERS>
    filter-specification
    ...
    -</MIMEFILTERS>
    +</MIMEFILTERS>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -43,13 +42,10 @@

    Syntax


    Description

    -

    The resource MIMEFILTERS -is used to hook in user -specifed filters into MHonArc. -The MIMEFILTERS resource can only be set via the -MIMEFILTERS element. -The syntax for each line of -the the MIMEFILTERS element is as follows:

    +

    The resource MIMEFILTERS is used to hook in user specifed filters +into MHonArc. The MIMEFILTERS resource can only be set via the +MIMEFILTERS element. The syntax for each line of the +the MIMEFILTERS element is as follows:

    content-type;routine-name;file-of-routine

    @@ -93,10 +89,9 @@

    Writing Filters

    - @@ -120,7 +115,7 @@

    Function Interface of Filter

     sub filter {
    -    local($head, *fields, $data, $decoded, $argstring) = @_;
    +    my($fields_hash_ref, $body_data_ref, $is_decoded, $filter_args) = @_;
     
         # Filter code here
     
    @@ -130,80 +125,51 @@ 

    Function Interface of Filter

    }
    -
    Argument Descriptions
    +
    Parameter Descriptions
    NOTE

    The filter model follows Perl 4 syntax conventions -and constructs. This is because of historical reasons. -Note, the implementation of the filter can use Perl 5 -syntax and features, when applicable. +

    As of v2.5 of MHonArc, the API for filters is different from +v2.4.x, and earlier. The following describes the v2.5 API for +filters.

    - - - - - - - - - + - - + - + + + + + + + + + + + + + @@ -1131,6 +1147,14 @@

    m2h_external::filter

    + + + + + + + + @@ -1327,6 +1351,19 @@

    m2h_text_enriched::filter


    m2h_text_html::filter

    +
    $head

    This is the header text of the message (or body part if called -in a multipart message). -

    -
    *fields

    A pointer (typeglob) to an associative array that has broken down -$head -into field label/field value components. The -keys are the lower-case representations of the field -values. Example: If you would like to retrieve -the value of the Content-Type field, then use the following: -$fields{'content-type'}. -

    -

    If a field occurs more than once in a header, MHonArc -separates the field values in the associative array by a -`\034' character. -To make your filter less likely to break -due to changes in MHonArc, you may use the -$readmail::FieldSep -variable instead of `\034'. -

    - - - - - + - -
    NOTE

    Since the *fields argument -is a typeglob, my cannot be used -when assigning the typeglob from the @_ array. -my can be used for creating local copies -of the other arguments. +

    $fields_hash_ref

    A reference to hash of message/part header +fields. Keys are field names in lowercase +and values are array references containing the +field values. For example, to obtain the +content-type, if defined, you would do: +

    +
    +  $fields_hash_ref->{'content-type'}[0]
    +

    Values for a fields are stored in arrays since +duplication of fields are possible. For example, +the Received: header field is typically repeated +multiple times. For fields that only occur once, +then array for the field will only contain one +item.

    -
    -
    $data

    This is a copy of the message (or body part if called in -a mulitpart message) body. -

    +
    $body_data_ref

    Reference to body data. It is okay for the +filter to modify the text in-place. +

    $decoded

    This flag is set to 1 if MHonArc decoded the message -and $data -represents the orginal data before encoded by the sender. If -set to 0, $data -has not been decoded. The failure to decode occurs -if MHonArc does not recognizeed the encoding specified in -the Content-Transfer-Encoding field. -

    -

    MHonArc has decoded the data for you if it was encoded -in 7-Bit, 8-Bit, Binary, Quoted-Printable, Base64, Uuencode -(x-uuencode, uuencode, x-uue, uue). -

    +
    $is_decoded

    Boolean flag if body data has been decoded. +This is normally true unless some non-standard +content-transfer-encoding is used. See +MIMEDECODERS on how +to register decoders for various content-transfer-encodings. +

    $argstring$filter_args

    This is an optional argument string that may be used to modify the behavior of the filter. The format of this string is determined by the filter itself. The value of the string is set by the @@ -216,17 +182,27 @@

    Argument Descriptions
    Return Value
    -

    The return value is treated as a list. The first item of the list +

    The return value is treated as a list. The first item of the list is a string representing the HTML markup to insert in the HTMLized -message. An empty string may be returned to tell MHonArc -that the routine was unable to filter data.

    - -

    Any other list items are treated as names of any files that were +message. An empty string, or undef may be returned to tell MHonArc +that the routine was unable to filter data. +

    +

    Any other list items are treated as names of any files that were generated by the filter. MHonArc needs to keep track if any extra files that a filter may generate in order for MHonArc to delete those files if the message gets removed from the archive. -

    +

    + + + + + +
    NOTE

    If you want MHonArc to treat the data as filtered, but not +have anything displayed on the page, just return a string with +a single space character. +

    +
    @@ -252,8 +228,8 @@

    Filter Writing Tips

  • If the filter creates derived files (like the image filters), you may use the variable $mhonarc::OUTDIR to determine the -location of the mail archive.

    - +location of the mail archive. +

  • NOTE
    @@ -261,9 +237,11 @@

    Filter Writing Tips

    $mhonarc::OUTDIR as part as the filename that is returned to MHonArc. If the filter does create files, just return the base name. +

    NOTE
    +

  • Look at the default filters contained in the distribution of MHonArc. You can use these as templates for writing @@ -276,6 +254,7 @@

    Filter Writing Tips

    true, Perl will abort execution.

  • Test your filter before production use. +

    @@ -336,7 +315,31 @@

    Default Setting

    m2h_external::filter

    The filter extracts the data into a separate file and puts -a hyperlink to the file into the HTMLized message.

    +a hyperlink to the file into the HTMLized message. The following +is an example how the link is formatted: +

    +
    +

    Attachment: +blueball.gif
    +Description: Blue ball GIF icon

    +
    + +

    The description text is retrieved from the Content-Disposition +message header field, if defined. If not defined, a generic description +will be provided based on the specified content-type of the data. +

    + +

    If the useicon filter argument has been specified for the +filter, the following format will be used: +

    +

    Attachment: +blueball.gif
    +Description: Blue ball GIF icon

    +
    + +

    The actual icon used is based upon the ICONS +resource. +

    By default, the filter ignores any filename specification given in the message when writing the data to disk. @@ -384,6 +387,11 @@

    m2h_external::filter

  • frame

    Draw a frame around the attachment link. +

    iconurl="url"

    Use "url" as the url for the icon to use if the useicon option is set. @@ -1043,6 +1051,14 @@

    m2h_external::filter

    jpg JPEG image
    image/pbmpbmPortable bitmap
    image/pgmpgmPortable graymap
    image/png png PNG image
    xwd X window dump
    message/news822News post
    message/rfc822822Mail message
    model/iges iges IGES model
    + + + + +
    CAUTION

    +If you are worried about security, it is recommended that you disable +support of text/html messages in your mail archives. There is no +guarantee that this filter is robust enough to eliminate all possible +exploits that can occur with HTML data. +

    +
    +

    This filter is designed to process text/html, or text/x-html, data. The filter modifies HTML documents so they can be @@ -1378,7 +1415,7 @@

    m2h_text_html::filter

    onkeydown, onkeyup. The allowscript option can be -be used to override the this behavior (see below). +be used to override this behavior (see below).

  • cid: URLs are resolved, if possible. Therefore, if image data related to the HTML document is included with the message, @@ -1404,6 +1441,19 @@

    m2h_text_html::filter

    +allownoncidurls +

    Preserve URL-based attributes that are not cid: URLs. +Normally, any URL-based attribute -- href, src, +background, classid, data, longdesc +-- will be stripped if it is not a cid: URL. This is to prevent +malicious URLs that verify mail addresses for spam purposes, secretly +set cookies, or gather some statistical data automatically with the +use of elements that cause browsers to automatically fetch data: +IMG, BODY, IFRAME, FRAME, +OBJECT, SCRIPT, INPUT. +

    + + allowscript

    Preserve any markup associated with scripting. This includes elements and attributes related to scripting. This option @@ -1413,10 +1463,32 @@

    m2h_text_html::filter

    +attachcheck +

    Honor attachment disposition. By default, +all text/html data is displayed inline on +the message page. If attachcheck is specified +and Content-Disposition specifies the data as +an attachment, the data is saved to a file +with a link to it from the message page. +

    +

    CAUTION: If attachcheck is specified, the HTML +data is saved "as-is". For example, no stripping of scripting-based +markup is performed and no resolution of cid URLs are performed. +

    + + nofont

    Remove font tags.

    + +notitle +

    Do not print extracted title at the beginning of converted +output. Since this filter strips out HEAD markup so the document +can be included into the message page, this filter will extract +the title and print the title of the document before the document +body. The notitle argument disables this behavior. +


    @@ -1554,7 +1626,7 @@

    m2h_text_plain::filter

    data for purposes of checking if the data should be excluded when checked against the MIMEEXCS resource. Therefore, if application/octet-stream data is listed -in MIMEEXCS, uudencode data will be excluded. +in MIMEEXCS, uuencoded data will be excluded.

    @@ -1613,82 +1685,29 @@

    Resource Variables


    Examples

    -

    The following code is an example filter for HTML message data -(note, this example has a subset of the functionality of the HTML -filter used by MHonArc): +

    The following code is an example filter for converting +text/tab-separated-values into an HTML table:

    -##---------------------------------------------------------------------------##
    -##    Copyright (C) 1995-1998	Earl Hood, mhonarc@mhonarc.org
    -##---------------------------------------------------------------------------##
    -
    -package m2h_text_html;
    +package m2h_text_tsv;
     
    -$Url	= '(\w+://|\w+:)';	# Beginning of URL match expression
    -
    -##---------------------------------------------------------------------------
    -##	The filter must modify HTML content parts for merging into the
    -##	final filtered HTML messages.  Modification is needed so the
    -##	resulting filtered message is valid HTML.
    -##
     sub filter {
    -    local($header, *fields, *data, $isdecode, $args) = @_;
    -    local($base, $title, $tmp);
    -    $base 	= '';
    -    $title	= '';
    -    $tmp	= '';
    -
    -    ## Get/remove title
    -    if ($data =~ s%<title\s*>([^<]*)</title\s*>%%i) {
    -        $title = "<ADDRESS>Title: <STRONG>$1</STRONG></ADDRESS>\n";
    -    }
    -    ## Get/remove BASE url
    -    if ($data =~ s%(<base\s[^>]*>)%%i) {
    -        $tmp = $1;
    -        if ($tmp =~ m|href\s*=\s*['"]([^'"]+)['"]|i) {
    -	    $base = $1;
    -	} elsif ($tmp =~ m|href\s*=\s*([^\s>]+)|i) {
    -	    $base = $1;
    +    my($fields, $data, $isdecode, $args) = @_;
    +    my($field, $line, $ret);
    +    local($_);
    +
    +    $$data =~ s/^\s+//;
    +    $ret  = "<table border=1>\n";
    +    foreach $line (split(/\r?\n/, $$data)) {
    +	$ret .= "<tr>";
    +	foreach $field (split(/\t/, $line)) {
    +	    $ret .= "<td>$field</td>";
     	}
    -    } elsif ((defined($tmp = $fields{'content-base'}) ||
    -	      defined($tmp = $fields{'content-location'})) &&
    -	     ($tmp =~ m%/%)) {
    -	($base = $tmp) =~ s/['"\s]//g;
    -    }
    -    $base =~ s%(.*/).*%$1%;
    -
    -    ## Strip out certain elements/tags
    -    $data =~ s%<!doctype\s[^>]*>%%i;
    -    $data =~ s%</?html[^>]*>%%ig;
    -    $data =~ s%</?body[^>]*>%%ig;
    -    $data =~ s%<head\s*>[\s\S]*</head\s*>%%i;
    -
    -    ## Modify relative urls to absolute using BASE
    -    if ($base =~ /\S/) {
    -        $data =~ s%(href\s*=\s*['"])([^'"]+)(['"])%
    -		   &addbase($base,$1,$2,$3)%gei;
    -        $data =~ s%(src\s*=\s*['"])([^'"]+)(['"])%
    -                   &addbase($base,$1,$2,$3)%gei;
    +	$ret .= "</tr>\n";
         }
    -
    -    ($title . $data);
    +    $ret .= "</table>\n";
    +    ($ret);
     }
    -##---------------------------------------------------------------------------
    -sub addbase {
    -    local($b, $pre, $u, $suf) = @_;
    -    local($ret);
    -    $u =~ s/^\s+//;
    -    if ($u =~ m%^$Url%o) {	# Non-relative URL, do nothing
    -        $ret = $pre . $u . $suf;
    -    } else {			# Relative URL
    -	if ($u =~ m%^/%) {		# Check for "/..."
    -	    $b =~ s%^(${Url}[^/]*)/.*%$1%o;	# Get hostname:port number
    -	}
    -        $ret = $pre . $b . $u . $suf;
    -    }
    -    $ret;
    -}
    -##---------------------------------------------------------------------------
     
     1;
     
    @@ -1714,9 +1733,14 @@

    See Also


    + + +
    [Prev: MIMEEXCS][Resources][TOC][Next: MODTIME]
    + +
    -01/06/10 17:48:19
    - +$Date: 2002/07/27 05:13:10 $
    + MHonArc
    Copyright © 1997-2001 Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/modtime.html b/doc/resources/modtime.html index b61b70e..694c8f8 100644 --- a/doc/resources/modtime.html +++ b/doc/resources/modtime.html @@ -4,11 +4,10 @@ MHonArc Resources: MODTIME - -
    -MHonArc Resource List -
    - + + +
    [Prev: MIMEFILTERS][Resources][TOC][Next: MONTHS]
    +

    MODTIME

    @@ -18,14 +17,14 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MODTIME=[ 0 | 1 ]

    Element(s)
    -


    +

    <MODTIME>
    <NOMODTIME>
    @@ -33,7 +32,7 @@

    Syntax

    Command-line Option(s)
    -


    +

    -modtime
    -nomodtime
    @@ -54,7 +53,7 @@

    Description

    - @@ -98,11 +97,16 @@

    See Also


    + +
    NOTE

    This resource may have not be +

    This resource may not be applicable under some operating systems.

    +
    [Prev: MIMEFILTERS][Resources][TOC][Next: MONTHS]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/months.html b/doc/resources/months.html index ef2b60d..f919207 100644 --- a/doc/resources/months.html +++ b/doc/resources/months.html @@ -4,11 +4,10 @@ MHonArc Resources: MONTHS - -
    -MHonArc Resource List -
    - + + +
    [Prev: MODTIME][Resources][TOC][Next: MONTHSABR]
    +

    MONTHS

    @@ -18,7 +17,7 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MONTHS=month1:month2:...:Syntax

    -
    Element
    +
    Element

    <MONTHS>
    month1:Syntax

    -
    Command-line Option
    +
    Command-line Option

    -months month1:month2:...:See Also


    + + +
    [Prev: MODTIME][Resources][TOC][Next: MONTHSABR]
    + +
    -00/10/28 11:13:04
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/monthsabr.html b/doc/resources/monthsabr.html index cfa0347..2aa42d9 100644 --- a/doc/resources/monthsabr.html +++ b/doc/resources/monthsabr.html @@ -4,11 +4,10 @@ MHonArc Resources: MONTHSABR - -
    -MHonArc Resource List -
    - + + +
    [Prev: MONTHS][Resources][TOC][Next: MSGBODYEND]
    +

    MONTHSABR

    @@ -18,7 +17,7 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MONTHSABR=month1:month2:...:Syntax

    -
    Element
    +
    Element

    <MONTHSABR>
    month1:Syntax

    -
    Command-line Option
    +
    Command-line Option

    -monthsabr month1:month2:...:See Also


    + + +
    [Prev: MONTHS][Resources][TOC][Next: MSGBODYEND]
    + +
    -00/10/28 11:13:04
    - -MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msgbodyend.html b/doc/resources/msgbodyend.html index a300b6f..e86858f 100644 --- a/doc/resources/msgbodyend.html +++ b/doc/resources/msgbodyend.html @@ -4,25 +4,25 @@ MHonArc Resources: MSGBODYEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: MONTHSABR][Resources][TOC][Next: MSGEXCFILTER]
    +

    MSGBODYEND

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <MSGBODYEND>
    markup...
    @@ -30,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    MSGBODYEND defines the markup that occurs right after the @@ -45,13 +46,15 @@

    Description

    +

    Default Setting

    -<HR>
    +<hr>
     
    +

    Resource Variables

    @@ -125,18 +128,21 @@

    Resource Variables

    +

    Examples

    None.

    +

    Version

    2.1.0

    +

    See Also

    @@ -149,14 +155,19 @@

    See Also


    + + +
    [Prev: MONTHSABR][Resources][TOC][Next: MSGEXCFILTER]
    + +
    -00/10/28 11:13:04
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msgexcfilter.html b/doc/resources/msgexcfilter.html index 32b7eae..47b7045 100644 --- a/doc/resources/msgexcfilter.html +++ b/doc/resources/msgexcfilter.html @@ -4,11 +4,10 @@ MHonArc Resources: MSGEXCFILTER - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: MSGBODYEND][Resources][TOC][Next: MSGFOOT]
    +

    MSGEXCFILTER

    @@ -18,22 +17,22 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MSGEXCFILTER=Perl_expressions

    -
    Element
    -


    +

    Element
    +

    <MSGEXCFILTER>
    Perl_expressions
    </MSGEXCFILTER>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -msgexcfilter Perl_expressions

    @@ -91,11 +90,11 @@

    Examples

    The following example attempts to exclude all messages not addressed -to mhonarc@ncsa.uiuc.edu: +to mhonarc-users@mhonarc.org:

     <MsgExcFilter>
    -!/\bmhonarc@ncsa.uiuc.edu\b/i;
    +!/\bmhonarc-users@mhonarc.org\b/i;
     </MsgExcFilter>
     
    @@ -128,14 +127,19 @@

    See Also


    + + +
    [Prev: MSGBODYEND][Resources][TOC][Next: MSGFOOT]
    + +
    -00/10/28 11:13:04
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msgfoot.html b/doc/resources/msgfoot.html index f4f892e..4be3022 100644 --- a/doc/resources/msgfoot.html +++ b/doc/resources/msgfoot.html @@ -4,11 +4,10 @@ MHonArc Resources: MSGFOOT - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGEXCFILTER][Resources][TOC][Next: MSGGMTDATEFMT]
    +

    MSGFOOT

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <MSGFOOT>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -107,11 +106,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -226,6 +225,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -265,11 +268,16 @@

    See Also


    + + +
    [Prev: MSGEXCFILTER][Resources][TOC][Next: MSGGMTDATEFMT]
    + +
    98/03/03 18:19:42
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msggmtdatefmt.html b/doc/resources/msggmtdatefmt.html index a98d827..a058342 100644 --- a/doc/resources/msggmtdatefmt.html +++ b/doc/resources/msggmtdatefmt.html @@ -4,11 +4,10 @@ MHonArc Resources: MSGGMTDATEFMT - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGFOOT][Resources][TOC][Next: MSGHEAD]
    +

    MSGGMTDATEFMT

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MSGGMTDATEFMT=date-format

    -
    Element
    +
    Element

    <MSGGMTDATEFMT>
    date-format
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -msggmtdatefmt date-format

    @@ -202,11 +201,16 @@

    See Also


    + + +
    [Prev: MSGFOOT][Resources][TOC][Next: MSGHEAD]
    + +
    -00/10/28 11:13:04
    - -MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msghead.html b/doc/resources/msghead.html index f6340ef..ab6fdfc 100644 --- a/doc/resources/msghead.html +++ b/doc/resources/msghead.html @@ -4,11 +4,10 @@ MHonArc Resources: MSGHEAD - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGGMTDATEFMT][Resources][TOC][Next: MSGIDLINK]
    +

    MSGHEAD

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <MSGHEAD>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -107,11 +106,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -226,6 +225,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -268,11 +271,16 @@

    See Also


    + + +
    [Prev: MSGGMTDATEFMT][Resources][TOC][Next: MSGIDLINK]
    + +
    -00/10/28 11:13:04
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:10 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msgidlink.html b/doc/resources/msgidlink.html index 4bc2eb3..a7101fd 100644 --- a/doc/resources/msgidlink.html +++ b/doc/resources/msgidlink.html @@ -4,25 +4,25 @@ MHonArc Resources: MSGIDLINK - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGHEAD][Resources][TOC][Next: MSGLOCALDATEFMT]
    +

    MSGIDLINK

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <MSGIDLINK>
    markup ...
    @@ -30,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    MSGIDLINK defines the hyperlink markup for embedded message-ids @@ -49,13 +50,15 @@

    Description

    +

    Default Setting

    -<A $A_HREF$>$MSGID$</A>
    +<a $A_HREF$>$MSGID$</a>
     
    +

    Resource Variables

    @@ -108,11 +111,11 @@

    Resource Variables

    - + - + @@ -227,6 +230,10 @@

    Resource Variables

    + + + + @@ -241,6 +248,7 @@

    Resource Variables

    $ICON$The context-type sensistive icon.The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensistive icon.The URL to the context-type sensitive icon.
    $IDXFNAME$ Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    +

    Examples

    If you have an archives that is using frames, you may want @@ -248,18 +256,20 @@

    Examples

    the following:

    -<MsgIdLink>
    -<A TARGET="MAIN" $A_HREF$>$MSGID$</A>
    -</MsgIdLink>
    +<MsgIdLink>
    +<a target="MAIN" $A_HREF$>$MSGID$</a>
    +</MsgIdLink>
     
    +

    Version

    2.2.0

    +

    See Also

    @@ -267,14 +277,19 @@

    See Also


    + + +
    [Prev: MSGHEAD][Resources][TOC][Next: MSGLOCALDATEFMT]
    + +
    -00/10/28 11:13:04
    - - + +MHonArc
    -Copyright © 1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msglocaldatefmt.html b/doc/resources/msglocaldatefmt.html index d2d37b8..6d67498 100644 --- a/doc/resources/msglocaldatefmt.html +++ b/doc/resources/msglocaldatefmt.html @@ -4,11 +4,10 @@ MHonArc Resources: MSGLOCALDATEFMT - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGIDLINK][Resources][TOC][Next: MSGPGBEGIN]
    +

    MSGLOCALDATEFMT

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MSGLOCALDATEFMT=date-format

    -
    Element
    +
    Element

    <MSGLOCALDATEFMT>
    date-format
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -msglocaldatefmt date-format

    @@ -202,11 +201,16 @@

    See Also


    + + +
    [Prev: MSGIDLINK][Resources][TOC][Next: MSGPGBEGIN]
    + +
    -00/10/28 11:13:04
    - -MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msgpgbegin.html b/doc/resources/msgpgbegin.html index deb5f7e..0f05df6 100644 --- a/doc/resources/msgpgbegin.html +++ b/doc/resources/msgpgbegin.html @@ -4,11 +4,10 @@ MHonArc Resources: MSGPGBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGLOCALDATEFMT][Resources][TOC][Next: MSGPGEND]
    +

    MSGPGBEGIN

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <MSGPGBEGIN>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -54,13 +53,13 @@

    Default Setting

     <MsgPgBegin>
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
    -<HTML>
    -<HEAD>
    -<TITLE>$SUBJECTNA:72$</TITLE>
    -<LINK REV="made" HREF="mailto:$FROMADDR$">
    -</HEAD>
    -<BODY>
    +<!doctype html public "-//W3C//DTD HTML//EN">
    +<html>
    +<head>
    +<title>$SUBJECTNA$</title>
    +<link rev="made" href="mailto:$FROMADDR$">
    +</head>
    +<body>
     </MsgPgBegin>
     
    @@ -118,11 +117,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -237,6 +236,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -279,11 +282,16 @@

    See Also


    + + +
    [Prev: MSGLOCALDATEFMT][Resources][TOC][Next: MSGPGEND]
    + +
    -00/10/28 11:13:04
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msgpgend.html b/doc/resources/msgpgend.html index a4dc248..2040c26 100644 --- a/doc/resources/msgpgend.html +++ b/doc/resources/msgpgend.html @@ -4,11 +4,10 @@ MHonArc Resources: MSGPGEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGPGBEGIN][Resources][TOC][Next: MSGPGS]
    +

    MSGPGEND

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <MSGPGEND>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -52,8 +51,8 @@

    Default Setting

     <MsgPgEnd>
    -</BODY>
    -</HTML>
    +</body>
    +</html>
     </MsgPgEnd>
     
    @@ -111,11 +110,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -230,6 +229,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -272,11 +275,16 @@

    See Also


    + + +
    [Prev: MSGPGBEGIN][Resources][TOC][Next: MSGPGS]
    + +
    -00/10/28 11:13:04
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msgpgs.html b/doc/resources/msgpgs.html index 3d6c156..e83c9d2 100644 --- a/doc/resources/msgpgs.html +++ b/doc/resources/msgpgs.html @@ -4,34 +4,34 @@ MHonArc Resources: MSGPGS - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: MSGPGEND][Resources][TOC][Next: MSGPGSSMARKUP]
    +

    MSGPGS

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MSGPGS=[ 0 | 1 ]

    -
    Element
    -


    +

    Element
    +

    <MSGPGS>
    <NOMSGPGS>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -msgpgs -nomsgpgs

    @@ -40,6 +40,7 @@

    Syntax

    +

    Description

    MSGPGS resource determines if MHonArc will generate HTML pages @@ -62,30 +63,35 @@

    Description

    +

    Default Setting

    On.

    +

    Resource Variables

    N/A

    +

    Examples

    Not yet.

    +

    Version

    2.3.0

    +

    See Also

    @@ -93,14 +99,19 @@

    See Also


    + + +
    [Prev: MSGPGEND][Resources][TOC][Next: MSGPGSSMARKUP]
    + +
    -00/10/28 11:13:04
    - - + +MHonArc
    -Copyright © 1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msgpgssmarkup.html b/doc/resources/msgpgssmarkup.html new file mode 100644 index 0000000..737a718 --- /dev/null +++ b/doc/resources/msgpgssmarkup.html @@ -0,0 +1,293 @@ + + + +MHonArc Resources: MSGPGSSMARKUP + + + + +
    [Prev: MSGPGS][Resources][TOC][Next: MSGPREFIX]
    + +
    +

    MSGPGSSMARKUP

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<MSGPGSSMARKUP>
    +markup...
    +</MSGPGSSMARKUP>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    MSGPGSSMARKUP defines the markup that occurs at the very +beginning of message pages. This resource +may be used to include any server-side processing markup that must +occur before any HTML-related markup. +

    + + +
    +

    Default Setting

    + +

    The value of the +SSMARKUP +resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.8 +

    + + +
    +

    See Also

    + +

    +IDXPGSSMARKUP, +SSMARKUP, +TIDXPGSSMARKUP +

    +

    +Page Layout +

    + + +
    + + +
    [Prev: MSGPGS][Resources][TOC][Next: MSGPREFIX]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2002, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/msgprefix.html b/doc/resources/msgprefix.html index e75d945..969288a 100644 --- a/doc/resources/msgprefix.html +++ b/doc/resources/msgprefix.html @@ -4,26 +4,26 @@ MHonArc Resources: MSGPREFIX - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGPGSSMARKUP][Resources][TOC][Next: MSGSEP]
    +

    MSGPREFIX

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MSGPREFIX=prefix

    -
    Element
    +
    Element

    <MSGPREFIX>
    prefix
    @@ -31,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -msgprefix prefix

    @@ -40,6 +40,7 @@

    Syntax

    +

    Description

    MSGPREFIX defines the filename prefix for the converted messages. @@ -57,30 +58,35 @@

    Description

    +

    Default Setting

    msg

    +

    Resource Variables

    N/A

    +

    Examples

    None.

    +

    Version

    2.1.0

    +

    See Also

    @@ -88,14 +94,19 @@

    See Also


    + + +
    [Prev: MSGPGSSMARKUP][Resources][TOC][Next: MSGSEP]
    + +
    -00/10/28 11:13:04
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/msgsep.html b/doc/resources/msgsep.html index 1129bc0..31eb843 100644 --- a/doc/resources/msgsep.html +++ b/doc/resources/msgsep.html @@ -4,11 +4,10 @@ MHonArc Resources: MSGSEP - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGPREFIX][Resources][TOC][Next: MULTIPG]
    +

    MSGSEP

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MSGSEP=Perl-regexp

    -
    Element
    +
    Element

    <MSGSEP>
    Perl-regexp
    @@ -32,7 +31,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -msgsep Perl-regexp

    @@ -120,11 +119,16 @@

    See Also


    + + +
    [Prev: MSGPREFIX][Resources][TOC][Next: MULTIPG]
    + +
    -00/10/28 11:13:04
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/multipg.html b/doc/resources/multipg.html index 9cc8c0f..663b497 100644 --- a/doc/resources/multipg.html +++ b/doc/resources/multipg.html @@ -4,11 +4,10 @@ MHonArc Resources: MULTIPG - -
    -MHonArc Resource List -
    - + + +
    [Prev: MSGSEP][Resources][TOC][Next: NEWS]
    +

    MULTIPG

    @@ -18,7 +17,7 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_MULTIPG=[ 0 | 1 ]

    @@ -100,11 +99,16 @@

    See Also


    + + +
    [Prev: MSGSEP][Resources][TOC][Next: NEWS]
    + +
    -00/10/28 11:13:04
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/news.html b/doc/resources/news.html index 78a89c1..e26a099 100644 --- a/doc/resources/news.html +++ b/doc/resources/news.html @@ -4,11 +4,10 @@ MHonArc Resources: NEWS - -
    -MHonArc Resource List -
    - + + +
    [Prev: MULTIPG][Resources][TOC][Next: NEXTBUTTON]
    +

    NEWS

    @@ -18,7 +17,7 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_NEWS=[ 0 | 1 ]

    @@ -89,11 +88,16 @@

    See Also


    + + +
    [Prev: MULTIPG][Resources][TOC][Next: NEXTBUTTON]
    + +
    -00/10/28 11:13:03
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/nextbutton.html b/doc/resources/nextbutton.html index 342e089..c90738c 100644 --- a/doc/resources/nextbutton.html +++ b/doc/resources/nextbutton.html @@ -4,11 +4,10 @@ MHonArc Resources: NEXTBUTTON - -
    -MHonArc Resource List -
    - + + +
    [Prev: NEWS][Resources][TOC][Next: NEXTBUTTONIA]
    +

    NEXTBUTTON

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <NEXTBUTTON>
    markup ...
    </NEXTBUTTON>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -56,7 +55,7 @@

    Default Setting

     <NextButton chop>
    -[<A HREF="$MSG(NEXT)$">Date Next</A>]
    +[<a href="$MSG(NEXT)$">Date Next</a>]
     </NextButton>
     
    @@ -114,11 +113,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -233,6 +232,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -256,7 +259,7 @@

    Examples

     <NextButton chop>
    -<A HREF="$MSG(NEXT)$"><IMG SRC="next.gif" ALT="[Date Next]"></A>
    +<a href="$MSG(NEXT)$"><img src="next.png" alt="[Date Next]"></a>
     </NextButton>
     
    @@ -282,11 +285,16 @@

    See Also


    + + +
    [Prev: NEWS][Resources][TOC][Next: NEXTBUTTONIA]
    + +
    -00/10/28 11:13:05
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/nextbuttonia.html b/doc/resources/nextbuttonia.html index 158f0f7..b0d409f 100644 --- a/doc/resources/nextbuttonia.html +++ b/doc/resources/nextbuttonia.html @@ -4,11 +4,10 @@ MHonArc Resources: NEXTBUTTONIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: NEXTBUTTON][Resources][TOC][Next: NEXTLINK]
    +

    NEXTBUTTONIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <NEXTBUTTONIA>
    markup ...
    </NEXTBUTTONIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -255,7 +258,7 @@

    Examples

     <NextButtonIA chop>
    -<IMG SRC="nextia.gif" ALT="[Date Next]">
    +<img src="nextia.png" alt="[Date Next]">
     </NextButtonIA gt;
     
    @@ -281,11 +284,16 @@

    See Also


    + + +
    [Prev: NEXTBUTTON][Resources][TOC][Next: NEXTLINK]
    + +
    -00/10/28 11:13:06
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/nextlink.html b/doc/resources/nextlink.html index fa185ce..58fb869 100644 --- a/doc/resources/nextlink.html +++ b/doc/resources/nextlink.html @@ -4,11 +4,10 @@ MHonArc Resources: NEXTLINK - -
    -MHonArc Resource List -
    - + + +
    [Prev: NEXTBUTTONIA][Resources][TOC][Next: NEXTLINKIA]
    +

    NEXTLINK

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <NEXTLINK>
    markup ...
    </NEXTLINK>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -61,9 +60,9 @@

    Default Setting

     <NextLink>
    -<LI>Next by sort-type:
    -<STRONG><A HREF="$MSG(NEXT)$">$SUBJECT(NEXT)$</A></STRONG>
    -</LI>
    +<li>Next by sort-type:
    +<strong><a href="$MSG(NEXT)$">$SUBJECT(NEXT)$</a></strong>
    +</li>
     </NextLink>
     
    @@ -125,11 +124,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -244,6 +243,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -267,10 +270,10 @@

    Examples

     <NextLink>
    -<LI>Next by Date:
    -<STRONG><A HREF="$MSG(NEXT)$">$SUBJECT(NEXT)$</A></STRONG>,
    -<EM>$FROMNAME(NEXT)$</EM>
    -</LI>
    +<li>Next by Date:
    +<strong><a href="$MSG(NEXT)$">$SUBJECT(NEXT)$</a></strong>,
    +<em>$FROMNAME(NEXT)$</em>
    +</li>
     </NextLink>
     
    @@ -296,11 +299,16 @@

    See Also


    + + +
    [Prev: NEXTBUTTONIA][Resources][TOC][Next: NEXTLINKIA]
    + +
    -00/10/28 11:13:07
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/nextlinkia.html b/doc/resources/nextlinkia.html index 3536df0..7a0ead7 100644 --- a/doc/resources/nextlinkia.html +++ b/doc/resources/nextlinkia.html @@ -4,11 +4,10 @@ MHonArc Resources: NEXTLINKIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: NEXTLINK][Resources][TOC][Next: NEXTPGLINK]
    +

    NEXTLINKIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <NEXTLINKIA>
    markup ...
    </NEXTLINKIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -274,11 +277,16 @@

    See Also


    + + +
    [Prev: NEXTLINK][Resources][TOC][Next: NEXTPGLINK]
    + +
    -00/10/28 11:13:07
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/nextpglink.html b/doc/resources/nextpglink.html index 12d7730..a32d1d0 100644 --- a/doc/resources/nextpglink.html +++ b/doc/resources/nextpglink.html @@ -4,11 +4,10 @@ MHonArc Resources: NEXTPGLINK - -
    -MHonArc Resource List -
    - + + +
    [Prev: NEXTLINKIA][Resources][TOC][Next: NEXTPGLINKIA]
    +

    NEXTPGLINK

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <NEXTPGLINK>
    markup ...
    </NEXTPGLINK>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -59,7 +58,7 @@

    Default Setting

     <NextPgLink chop>
    -[<A HREF="$PG(NEXT)$">Next Page</A>]
    +[<a href="$PG(NEXT)$">Next Page</a>]
     </NextPgLink>
     
    @@ -193,11 +192,16 @@

    See Also


    + + +
    [Prev: NEXTLINKIA][Resources][TOC][Next: NEXTPGLINKIA]
    + +
    -00/10/28 11:13:07
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/nextpglinkia.html b/doc/resources/nextpglinkia.html index 55ce292..efc4015 100644 --- a/doc/resources/nextpglinkia.html +++ b/doc/resources/nextpglinkia.html @@ -4,11 +4,10 @@ MHonArc Resources: NEXTPGLINKIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: NEXTPGLINK][Resources][TOC][Next: NOSUBJECTTXT]
    +

    NEXTPGLINKIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <NEXTPGLINKIA>
    markup ...
    </NEXTPGLINKIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -193,11 +192,16 @@

    See Also


    + + +
    [Prev: NEXTPGLINK][Resources][TOC][Next: NOSUBJECTTXT]
    + +
    -00/10/28 11:13:07
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/nosubjecttxt.html b/doc/resources/nosubjecttxt.html new file mode 100644 index 0000000..2cbbb79 --- /dev/null +++ b/doc/resources/nosubjecttxt.html @@ -0,0 +1,103 @@ + + + +MHonArc Resources: NOSUBJECTTXT + + + + +
    [Prev: NEXTPGLINKIA][Resources][TOC][Next: NOTE]
    + +
    +

    NOSUBJECTTXT

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    +M2H_NOSUBJECTTXT=text +

    +
    + +
    Element
    +

    +<NOSUBJECTTXT>
    +text
    +</NOSUBJECTTXT>
    +

    +
    + +
    Command-line Option
    +

    +-nosubjecttxt text +

    +
    + +
    + + +
    +

    Description

    + +

    NOSUBJECTTXT defines the raw text to use for messages +that have no subject. +

    + + +
    +

    Default Setting

    + +
    +[no subject]
    +
    + + +
    +

    Resource Variables

    + +

    N/A +

    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.6 +

    + + +
    +

    See Also

    + +

    +

    + + +
    + + +
    [Prev: NEXTPGLINKIA][Resources][TOC][Next: NOTE]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2002, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/note.html b/doc/resources/note.html index ce77e49..67853eb 100644 --- a/doc/resources/note.html +++ b/doc/resources/note.html @@ -4,11 +4,10 @@ MHonArc Resources: NOTE - -
    -MHonArc Resource List -
    - + + +
    [Prev: NOSUBJECTTXT][Resources][TOC][Next: NOTEDIR]
    +

    NOTE

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <NOTE>
    markup ...
    </NOTE>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -110,11 +109,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -229,6 +228,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -254,9 +257,9 @@

    Examples

     
     <Note>
    -<BR>
    +<br>
     $NOTETEXT$
    -<BR>
    +<br>
     </Note>
     
     <NoteIA>
    @@ -264,11 +267,11 @@ 

    Examples

    </NoteIA> <LiTemplate> -<LI><STRONG>$SUBJECT$</STRONG> -<UL><LI><EM>From</EM>: $FROM$</LI -></UL> +<li><strong>$SUBJECT$</strong> +<ul><li><em>From</em>: $FROM$</li +></ul> $NOTE$ -</LI> +</li> </LiTemplate>
    @@ -293,14 +296,19 @@

    See Also


    + + +
    [Prev: NOSUBJECTTXT][Resources][TOC][Next: NOTEDIR]
    + +
    -00/10/28 11:13:05
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/notedir.html b/doc/resources/notedir.html index 450b566..2dbf15c 100644 --- a/doc/resources/notedir.html +++ b/doc/resources/notedir.html @@ -4,11 +4,10 @@ MHonArc Resources: NOTEDIR - -
    -MHonArc Resource List -
    - + + +
    [Prev: NOTE][Resources][TOC][Next: NOTEIA]
    +

    NOTEDIR

    @@ -18,22 +17,22 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_NOTEDIR=pathname

    -
    Element
    -


    +

    Element
    +

    <NOTEDIR>
    pathname
    </NOTEDIR>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -notedir pathname

    @@ -144,11 +143,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -263,6 +262,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -301,14 +304,19 @@

    See Also


    + + +
    [Prev: NOTE][Resources][TOC][Next: NOTEIA]
    + +
    -00/10/28 11:13:08
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/noteia.html b/doc/resources/noteia.html index 0e94d90..3b5a5d2 100644 --- a/doc/resources/noteia.html +++ b/doc/resources/noteia.html @@ -4,11 +4,10 @@ MHonArc Resources: NOTEIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: NOTEDIR][Resources][TOC][Next: NOTETEXT]
    +

    NOTEIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <NOTEIA>
    markup ...
    </NOTEIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -109,11 +108,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -228,6 +227,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -268,14 +271,19 @@

    See Also


    + + +
    [Prev: NOTEDIR][Resources][TOC][Next: NOTETEXT]
    + +
    -00/10/28 11:13:08
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/notetext.html b/doc/resources/notetext.html index 42cf3a8..333f031 100644 --- a/doc/resources/notetext.html +++ b/doc/resources/notetext.html @@ -4,11 +4,10 @@ MHonArc Resources: NOTETEXT - -
    -MHonArc Resource List -
    - + + +
    [Prev: NOTEIA][Resources][TOC][Next: OTHERINDEXES]
    +

    NOTETEXT

    @@ -18,17 +17,17 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -notetext text

    @@ -125,11 +124,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -244,6 +243,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -285,14 +288,19 @@

    See Also


    + + +
    [Prev: NOTEIA][Resources][TOC][Next: OTHERINDEXES]
    + +
    -00/10/28 11:13:08
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/otherindexes.html b/doc/resources/otherindexes.html index faa2e60..e720a03 100644 --- a/doc/resources/otherindexes.html +++ b/doc/resources/otherindexes.html @@ -4,11 +4,10 @@ MHonArc Resources: OTHERINDEXES - -
    -MHonArc Resource List -
    - + + +
    [Prev: NOTETEXT][Resources][TOC][Next: OUTDIR]
    +

    OTHERINDEXES

    @@ -18,7 +17,7 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_OTHERINDEXES=rcfile1:rcfile2:...:Syntax

    -
    Element
    -


    +

    Element
    +

    <OTHERINDEXES>
    rcfile1:rcfile2:...
    @@ -37,7 +36,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -otherindexes rcfile1:rcfile2:...:Description -

    MHonArc will only store the name of the resource files listed in the database. Therefore, for any subsequent updates of the archive, the extra index resource files must exist inorder to generate @@ -108,9 +106,17 @@

    Description

    All filenames are treated relative to the current working directory or the archive directory, except for absolute -pathnames. It is common to place OTHERINDEXES resource -files in the archive directory to simplify archive administration. +pathnames. The following shows the search order MHonArc uses +to find resource files listed in OTHERINDEXES:

    +
      +
    1. Current working directory.
    2. +
    3. Same directory that the first resource file was read as +specified by the RCFILE resource.
    4. +
    5. User's home directory.
    6. +
    7. Archive directory.
    8. +
    9. Perl's @INC library search page.
    10. +
    @@ -167,8 +173,8 @@

    Examples

     <OtherIndexes>
    -reversedateidx.rc
    -subjectidx.rc
    +reversedateidx.mrc
    +subjectidx.mrc
     </OtherIndexes>
     
    @@ -195,11 +201,16 @@

    See Also


    + +
    +
    [Prev: NOTETEXT][Resources][TOC][Next: OUTDIR]
    + +
    -00/10/28 11:13:08
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-2001, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/outdir.html b/doc/resources/outdir.html index 00c789e..ff9ddce 100644 --- a/doc/resources/outdir.html +++ b/doc/resources/outdir.html @@ -4,11 +4,10 @@ MHonArc Resources: OUTDIR - -
    -MHonArc Resource List -
    - + + +
    [Prev: OTHERINDEXES][Resources][TOC][Next: PERLINC]
    +

    OUTDIR

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_OUTDIR=path

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -outdir path

    @@ -86,11 +85,16 @@

    See Also


    + + +
    [Prev: OTHERINDEXES][Resources][TOC][Next: PERLINC]
    + +
    98/03/03 18:19:46
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/perlinc.html b/doc/resources/perlinc.html index fd3435e..0720a13 100644 --- a/doc/resources/perlinc.html +++ b/doc/resources/perlinc.html @@ -4,11 +4,10 @@ MHonArc Resources: PERLINC - -
    -MHonArc Resource List -
    - + + +
    [Prev: OUTDIR][Resources][TOC][Next: POSIXSTRFTIME]
    +

    PERLINC

    @@ -18,7 +17,7 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_PERLINC=path1:path2:...:Syntax

    -
    Element
    -


    +

    Element
    +

    <PERLINC>
    path1:path2:...
    @@ -37,7 +36,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    -perlinc path1:path2:...:Examples

     <PerlINC>
    -/home/ehood/lib/mhonarc/local
    +/usr/local/lib/MHonArc/filters
     </PerlINC>
     
    @@ -120,11 +119,16 @@

    See Also


    + + +
    [Prev: OUTDIR][Resources][TOC][Next: POSIXSTRFTIME]
    + +
    -00/10/28 11:13:08
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/posixstrftime.html b/doc/resources/posixstrftime.html index b177ed2..23cb527 100644 --- a/doc/resources/posixstrftime.html +++ b/doc/resources/posixstrftime.html @@ -4,11 +4,10 @@ MHonArc Resources: POSIXSTRFTIME - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: PERLINC][Resources][TOC][Next: PREVBUTTON]
    +

    POSIXSTRFTIME

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_POSIXSTRFTIME=[ 0 | 1 ]

    -
    Element
    -


    +

    Element
    +

    <POSIXSTRFTIME>
    <NOPOSIXSTRFTIME>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -posixstrftime
    -noposixstrftime

    @@ -107,14 +106,19 @@

    See Also


    + + +
    [Prev: PERLINC][Resources][TOC][Next: PREVBUTTON]
    + +
    -00/10/28 11:13:13
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/prevbutton.html b/doc/resources/prevbutton.html index fb3c4db..5ea0df7 100644 --- a/doc/resources/prevbutton.html +++ b/doc/resources/prevbutton.html @@ -4,11 +4,10 @@ MHonArc Resources: PREVBUTTON - -
    -MHonArc Resource List -
    - + + +
    [Prev: POSIXSTRFTIME][Resources][TOC][Next: PREVBUTTONIA]
    +

    PREVBUTTON

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <PREVBUTTON>
    markup ...
    </PREVBUTTON>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -56,7 +55,7 @@

    Default Setting

     <PrevButton chop>
    -[<A HREF="$MSG(PREV)$">Date Prev</A>]
    +[<a href="$MSG(PREV)$">Date Prev</a>]
     </PrevButton>
     
    @@ -114,11 +113,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -233,6 +232,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -256,7 +259,7 @@

    Examples

     <PrevButton chop>
    -<A HREF="$MSG(PREV)$"><IMG SRC="prev.gif" ALT="[Date Prev]"></A>
    +<a href="$MSG(PREV)$"><img src="prev.png" alt="[Date Prev]"></a>
     </PrevButton>
     
    @@ -282,11 +285,16 @@

    See Also


    + + +
    [Prev: POSIXSTRFTIME][Resources][TOC][Next: PREVBUTTONIA]
    + +
    -00/10/28 11:13:08
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/prevbuttonia.html b/doc/resources/prevbuttonia.html index 0b26e1e..b883f9a 100644 --- a/doc/resources/prevbuttonia.html +++ b/doc/resources/prevbuttonia.html @@ -4,11 +4,10 @@ MHonArc Resources: PREVBUTTONIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: PREVBUTTON][Resources][TOC][Next: PREVLINK]
    +

    PREVBUTTONIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <PREVBUTTONIA>
    markup ...
    </PREVBUTTONIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -255,7 +258,7 @@

    Examples

     <PrevButtonIA chop>
    -<IMG SRC="previa.gif" ALT="[Date Prev]">
    +<img src="previa.png" alt="[Date Prev]">
     </PrevButtonIA>
     
    @@ -281,11 +284,16 @@

    See Also


    + + +
    [Prev: PREVBUTTON][Resources][TOC][Next: PREVLINK]
    + +
    -00/10/28 11:13:08
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/prevlink.html b/doc/resources/prevlink.html index eaea3e6..4add6ab 100644 --- a/doc/resources/prevlink.html +++ b/doc/resources/prevlink.html @@ -4,11 +4,10 @@ MHonArc Resources: PREVLINK - -
    -MHonArc Resource List -
    - + + +
    [Prev: PREVBUTTONIA][Resources][TOC][Next: PREVLINKIA]
    +

    PREVLINK

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <PREVLINK>
    markup ...
    </PREVLINK>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -61,9 +60,9 @@

    Default Setting

     <PrevLink>
    -<LI>Prev by sort-type:
    -<STRONG><A HREF="$MSG(PREV)$">$SUBJECT(PREV)$</A></STRONG>
    -</LI>
    +<li>Prev by sort-type:
    +<strong><a href="$MSG(PREV)$">$SUBJECT(PREV)$</a></strong>
    +</li>
     </PrevLink>
     
    @@ -125,11 +124,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -244,6 +243,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -267,10 +270,10 @@

    Examples

     <PrevLink>
    -<LI>Prev by sort-type:
    -<STRONG><A HREF="$MSG(PREV)$">$PREVSUBJECT(PREV)$</A></STRONG>,
    -<EM>$FROMNAME(PREV)$</EM>
    -</LI>
    +<li>Prev by sort-type:
    +<strong><a href="$MSG(PREV)$">$PREVSUBJECT(PREV)$</a></strong>,
    +<em>$FROMNAME(PREV)$</em>
    +</li>
     </PrevLink>
     
    @@ -296,11 +299,16 @@

    See Also


    + + +
    [Prev: PREVBUTTONIA][Resources][TOC][Next: PREVLINKIA]
    + +
    -00/10/28 11:13:08
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/prevlinkia.html b/doc/resources/prevlinkia.html index 7a2232e..81250b3 100644 --- a/doc/resources/prevlinkia.html +++ b/doc/resources/prevlinkia.html @@ -4,11 +4,10 @@ MHonArc Resources: PREVLINKIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: PREVLINK][Resources][TOC][Next: PREVPGLINK]
    +

    PREVLINKIA

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <PREVLINKIA>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -274,11 +277,16 @@

    See Also


    + + +
    [Prev: PREVLINK][Resources][TOC][Next: PREVPGLINK]
    + +
    -00/10/28 11:13:08
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/prevpglink.html b/doc/resources/prevpglink.html index 8f57a16..944eefa 100644 --- a/doc/resources/prevpglink.html +++ b/doc/resources/prevpglink.html @@ -4,11 +4,10 @@ MHonArc Resources: PREVPGLINK - -
    -MHonArc Resource List -
    - + + +
    [Prev: PREVLINKIA][Resources][TOC][Next: PREVPGLINKIA]
    +

    PREVPGLINK

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <PREVPGLINK>
    markup ...
    </PREVPGLINK>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -59,7 +58,7 @@

    Default Setting

     <PrevPgLink chop>
    -[<A HREF="$PG(PREV)$">Prev Page</A>]
    +[<a href="$PG(PREV)$">Prev Page</a>]
     </PrevPgLink>
     
    @@ -193,11 +192,16 @@

    See Also


    + + +
    [Prev: PREVLINKIA][Resources][TOC][Next: PREVPGLINKIA]
    + +
    -00/10/28 11:13:08
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/prevpglinkia.html b/doc/resources/prevpglinkia.html index 2c0e87f..b0119f5 100644 --- a/doc/resources/prevpglinkia.html +++ b/doc/resources/prevpglinkia.html @@ -4,11 +4,10 @@ MHonArc Resources: PREVPGLINKIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: PREVPGLINK][Resources][TOC][Next: QUIET]
    +

    PREVPGLINKIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <PREVPGLINKIA>
    markup ...
    </PREVPGLINKIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -193,11 +192,16 @@

    See Also


    + + +
    [Prev: PREVPGLINK][Resources][TOC][Next: QUIET]
    + +
    -00/10/28 11:13:08
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/quiet.html b/doc/resources/quiet.html index 76e2406..6163981 100644 --- a/doc/resources/quiet.html +++ b/doc/resources/quiet.html @@ -4,11 +4,10 @@ MHonArc Resources: QUIET - -
    -MHonArc Resource List -
    - + + +
    [Prev: PREVPGLINKIA][Resources][TOC][Next: RCFILE]
    +

    QUIET

    @@ -18,17 +17,17 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -quiet @@ -83,11 +82,16 @@

    See Also


    + + +
    [Prev: PREVPGLINKIA][Resources][TOC][Next: RCFILE]
    + +
    -00/10/28 11:13:07
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/rcfile.html b/doc/resources/rcfile.html index f8788c4..81b50df 100644 --- a/doc/resources/rcfile.html +++ b/doc/resources/rcfile.html @@ -4,11 +4,10 @@ MHonArc Resources: RCFILE - -
    -MHonArc Resource List -
    - + + +
    [Prev: QUIET][Resources][TOC][Next: REFSBEGIN]
    +

    RCFILE

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_RCFILE=filename

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -rcfile filename

    @@ -307,14 +306,19 @@

    See Also


    + + +
    [Prev: QUIET][Resources][TOC][Next: REFSBEGIN]
    + +
    -00/10/28 11:13:08
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/refsbegin.html b/doc/resources/refsbegin.html index a831210..a224539 100644 --- a/doc/resources/refsbegin.html +++ b/doc/resources/refsbegin.html @@ -4,33 +4,33 @@ MHonArc Resources: REFSBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: RCFILE][Resources][TOC][Next: REFSEND]
    +

    REFSBEGIN

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <REFSBEGIN>
    markup...
    </REFSBEGIN>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    REFSBEGIN defines the markup to start the explicit reference links @@ -57,20 +58,23 @@

    Description

    +

    Default Setting

    -<UL><LI><STRONG>References</STRONG>:
    -<UL>
    +<ul><li><strong>References</strong>:
    +<ul>
     
    +

    Resource Variables

    N/A

    +

    Examples

    The following example shows the settings for the @@ -79,26 +83,28 @@

    Examples

     <RefsBegin>
    -<dl>
    -<dt><strong>Replies</strong><dt>
    +<dl>
    +<dt><strong>Replies</strong><dt>
     </RefsBegin>
      
     <RefsLiTxt>
    -<dd><strong>$SUBJECT$</strong>, <em>$FROMNAME$</em></dd>
    +<dd><strong>$SUBJECT$</strong>, <em>$FROMNAME$</em></dd>
     </RefsLiTxt>
     
     <RefsEnd>
    -</dl>
    +</dl>
     </RefsEnd>
     
    +

    Version

    2.1.0

    +

    See Also

    @@ -115,14 +121,19 @@

    See Also


    + + +
    [Prev: RCFILE][Resources][TOC][Next: REFSEND]
    + +
    -00/10/28 11:13:08
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/refsend.html b/doc/resources/refsend.html index 0097784..96f5f1d 100644 --- a/doc/resources/refsend.html +++ b/doc/resources/refsend.html @@ -4,33 +4,33 @@ MHonArc Resources: REFSEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: REFSBEGIN][Resources][TOC][Next: REFSLITXT]
    +

    REFSEND

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <REFSEND>
    markup...
    </REFSEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    REFSEND defines the ending markup for the the explicit reference @@ -56,31 +57,36 @@

    Description

    +

    Default Setting

    -</UL></LI></UL>
    +</ul></li></ul>
     
    +

    Resource Variables

    N/A

    +

    Examples

    See REFSBEGIN.

    +

    Version

    2.1.0

    +

    See Also

    @@ -97,14 +103,19 @@

    See Also


    + + +
    [Prev: REFSBEGIN][Resources][TOC][Next: REFSLITXT]
    + +
    -00/10/28 11:13:08
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/refslitxt.html b/doc/resources/refslitxt.html index ec8b5b2..912f52b 100644 --- a/doc/resources/refslitxt.html +++ b/doc/resources/refslitxt.html @@ -4,33 +4,33 @@ MHonArc Resources: REFSLITXT - -
    -MHonArc Resource List -
    - + + +
    [Prev: REFSEND][Resources][TOC][Next: REVERSE]
    +

    REFSLITXT

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <REFSLITXT>
    markup...
    </REFSLITXT>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    REFSLITXT defines the markup for an entry in the explicit reference @@ -56,14 +57,16 @@

    Description

    +

    Default Setting

    -<LI><STRONG>$SUBJECT$</STRONG>
    -<UL><LI><EM>From:</EM> $FROM$</LI></UL></LI>
    +<li><strong>$SUBJECT$</strong>
    +<ul><li><em>From:</em> $FROM$</li></ul></li>
     
    +

    Resource Variables

    @@ -116,11 +119,11 @@

    Resource Variables

    - + - + @@ -177,18 +180,21 @@

    Resource Variables

    $ICON$The context-type sensistive icon.The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensistive icon.The URL to the context-type sensitive icon.
    $MMDDYYYY$
    +

    Examples

    See REFSBEGIN.

    +

    Version

    2.1.0

    +

    See Also

    @@ -205,14 +211,19 @@

    See Also


    + + +
    [Prev: REFSEND][Resources][TOC][Next: REVERSE]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/reverse.html b/doc/resources/reverse.html index 9bf4d72..0254bf1 100644 --- a/doc/resources/reverse.html +++ b/doc/resources/reverse.html @@ -4,11 +4,10 @@ MHonArc Resources: REVERSE - -
    -MHonArc Resource List -
    - + + +
    [Prev: REFSLITXT][Resources][TOC][Next: RMM]
    +

    REVERSE

    @@ -18,14 +17,14 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_REVERSE=[ 0 | 1 ]

    Element(s)
    -


    +

    <REVERSE>
    <NOREVERSE>
    @@ -34,7 +33,7 @@

    Syntax

    Command-line Option(s)
    -


    +

    -reverse
    -noreverse
    @@ -102,11 +101,16 @@

    See Also


    + + +
    [Prev: REFSLITXT][Resources][TOC][Next: RMM]
    + +
    -00/10/28 11:13:09
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/rmm.html b/doc/resources/rmm.html index e3b2149..2b27a4e 100644 --- a/doc/resources/rmm.html +++ b/doc/resources/rmm.html @@ -4,11 +4,10 @@ MHonArc Resources: RMM - -
    -MHonArc Resource List -
    - + + +
    [Prev: REVERSE][Resources][TOC][Next: SAVERESOURCES]
    +

    RMM

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -rmm msgnum ...
    -rmm msgnum-msgnum ...
    -rmm msg-id ...
    @@ -123,11 +122,16 @@

    See Also


    + + +
    [Prev: REVERSE][Resources][TOC][Next: SAVERESOURCES]
    + +
    -00/10/28 11:13:08
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/saveresources.html b/doc/resources/saveresources.html index e19d286..7040504 100644 --- a/doc/resources/saveresources.html +++ b/doc/resources/saveresources.html @@ -4,11 +4,10 @@ MHonArc Resources: SAVERESOURCES - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: RMM][Resources][TOC][Next: SCAN]
    +

    SAVERESOURCES

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_SAVERESOURCES= [ 0 | 1 ]

    -
    Element
    -


    +

    Element
    +

    <SAVERESOURCES>
    <NOSAVERESOURCES>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -saveresources
    -nosaveresources

    @@ -95,14 +94,19 @@

    See Also


    + + +
    [Prev: RMM][Resources][TOC][Next: SCAN]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/scan.html b/doc/resources/scan.html index a6808d6..42bb636 100644 --- a/doc/resources/scan.html +++ b/doc/resources/scan.html @@ -4,11 +4,10 @@ MHonArc Resources: SCAN - -
    -MHonArc Resource List -
    - + + +
    [Prev: SAVERESOURCES][Resources][TOC][Next: SINGLE]
    +

    SCAN

    @@ -18,17 +17,17 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -scan @@ -143,11 +142,16 @@

    See Also


    + + +
    [Prev: SAVERESOURCES][Resources][TOC][Next: SINGLE]
    + +
    -00/10/28 11:13:09
    - -MHonArc
    -Copyright © 1997-1998 Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998 Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/single.html b/doc/resources/single.html index 12a56b7..65bd1e6 100644 --- a/doc/resources/single.html +++ b/doc/resources/single.html @@ -4,11 +4,10 @@ MHonArc Resources: SINGLE - -
    -MHonArc Resource List -
    - + + +
    [Prev: SCAN][Resources][TOC][Next: SORT]
    +

    SINGLE

    @@ -18,17 +17,17 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    +
    Command-line Option

    -single

    @@ -97,14 +96,19 @@

    See Also


    + + +
    [Prev: SCAN][Resources][TOC][Next: SORT]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/sort.html b/doc/resources/sort.html index 826609d..06ebb26 100644 --- a/doc/resources/sort.html +++ b/doc/resources/sort.html @@ -4,11 +4,10 @@ MHonArc Resources: SORT - -
    -MHonArc Resource List -
    - + + +
    [Prev: SINGLE][Resources][TOC][Next: SPAMMODE]
    +

    SORT

    @@ -18,14 +17,14 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_SORT=[ 0 | 1 ]

    Element(s)
    -


    +

    <SORT>
    <NOSORT>
    @@ -34,7 +33,7 @@

    Syntax

    Command-line Option(s)
    -


    +

    -sort
    -nosort
    @@ -91,11 +90,16 @@

    See Also


    + + +
    [Prev: SINGLE][Resources][TOC][Next: SPAMMODE]
    + +
    -00/10/28 11:13:09
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/spammode.html b/doc/resources/spammode.html index 88c54d2..cb6a7be 100644 --- a/doc/resources/spammode.html +++ b/doc/resources/spammode.html @@ -4,11 +4,10 @@ MHonArc Resources: SPAMMODE - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: SORT][Resources][TOC][Next: SSMARKUP]
    +

    SPAMMODE

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_SPAMMODE=[ 0 | 1 ]

    -
    Element
    -


    +

    Element
    +

    <SPAMMODE>
    <NOSPAMMODE>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -spammode
    -nospammode

    @@ -51,28 +50,38 @@

    Description

    LITEMPLATE
    -
    $FROMNAME$ is used -instead of $FROM$.
    +

    $FROMNAME$ is used +instead of $FROM$.

    MSGPGBEGIN
    -
    The <LINK REV="made" ...> is removed.
    +

    The <link rev="made" ...> is removed.

    FOLUPLITXT
    -
    $FROMNAME$ is used -instead of $FROM$.
    +

    $FROMNAME$ is used +instead of $FROM$.

    REFSLITXT
    -
    $FROMNAME$ is used -instead of $FROM$.
    +

    $FROMNAME$ is used +instead of $FROM$.

    ADDRESSMODIFYCODE
    -
    Is defined as +

    Is defined as "s|([\!\%\w\.\-+=/]+@)([\w\.\-]+)|$1.('x' x length($2))|ge" (this has the effect of preserving the local-part of the address and -complete masking out the domain portion).

    +complete masking out the domain portion).

    MAILTOURL
    -
    Is defined as -"mailto:$TOADDRNAME$@DOMAIN.HIDDEN"
    +

    Is defined as +"mailto:$TOADDRNAME$@DOMAIN.HIDDEN"

    -

    Note, a user defined setting of an above resource will override -any effects that SPAMMODE has on the resource. + + + + + + +
    NOTE

    A user defined setting of an above resource will override +any effects that SPAMMODE has on the resource. SPAMMODE is mainly +a convenience to set the above resources to default values that +hide email addresses. The same effect can be achieved by explicitly +modifying each resource.

    +


    @@ -117,14 +126,19 @@

    See Also


    + + +
    [Prev: SORT][Resources][TOC][Next: SSMARKUP]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/ssmarkup.html b/doc/resources/ssmarkup.html index 247d8ee..b476ea6 100644 --- a/doc/resources/ssmarkup.html +++ b/doc/resources/ssmarkup.html @@ -4,11 +4,10 @@ MHonArc Resources: SSMARKUP - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: SPAMMODE][Resources][TOC][Next: STDERR]
    +

    SSMARKUP

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <SSMARKUP>
    markup...
    </SSMARKUP>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -42,12 +41,20 @@

    Syntax


    Description

    -

    SSMARKUP defines any markup that occurs at the very +

    SSMARKUP defines the default markup that occurs at the very beginning of all created HTML pages. This resource may be used to include any server-side processing markup that must occur before any HTML-related markup.

    +

    If you require to have different initial markup for the different +types of pages that MHonArc generates, then you can use the +MSGPGSSMARKUP, +IDXPGSSMARKUP, and +TIDXPGSSMARKUP +resources. +

    +

    Default Setting

    @@ -92,18 +99,29 @@

    Version

    See Also

    +IDXPGSSMARKUP, +MSGPGSSMARKUP, +TIDXPGSSMARKUP +

    +

    +Page Layout


    + + +
    [Prev: SPAMMODE][Resources][TOC][Next: STDERR]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999-2002 Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/stderr.html b/doc/resources/stderr.html index 6fee95d..dde28cc 100644 --- a/doc/resources/stderr.html +++ b/doc/resources/stderr.html @@ -4,11 +4,10 @@ MHonArc Resources: STDERR - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: SSMARKUP][Resources][TOC][Next: STDIN]
    +

    STDERR

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -stderr filename

    @@ -94,14 +93,19 @@

    See Also


    + + +
    [Prev: SSMARKUP][Resources][TOC][Next: STDIN]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/stdin.html b/doc/resources/stdin.html index e828aab..a6f1d35 100644 --- a/doc/resources/stdin.html +++ b/doc/resources/stdin.html @@ -4,11 +4,10 @@ MHonArc Resources: STDIN - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: STDERR][Resources][TOC][Next: STDOUT]
    +

    STDIN

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -stdin filename

    @@ -97,14 +96,19 @@

    See Also


    + + +
    [Prev: STDERR][Resources][TOC][Next: STDOUT]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/stdout.html b/doc/resources/stdout.html index 1fcd53c..bc90cd9 100644 --- a/doc/resources/stdout.html +++ b/doc/resources/stdout.html @@ -4,11 +4,10 @@ MHonArc Resources: STDOUT - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: STDIN][Resources][TOC][Next: SUBJECTARTICLERXP]
    +

    STDOUT

    @@ -18,18 +17,18 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    N/A

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -stdout filename

    @@ -95,14 +94,19 @@

    See Also


    + + +
    [Prev: STDIN][Resources][TOC][Next: SUBJECTARTICLERXP]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/subjectarticlerxp.html b/doc/resources/subjectarticlerxp.html index a02c089..ededc17 100644 --- a/doc/resources/subjectarticlerxp.html +++ b/doc/resources/subjectarticlerxp.html @@ -4,35 +4,35 @@ MHonArc Resources: SUBJECTARTICLERXP - -
    -MHonArc Resource List -
    - + + +
    [Prev: STDOUT][Resources][TOC][Next: SUBJECTBEGIN]
    +

    SUBJECTARTICLERXP

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_SUBJECTARTICLERXP=perl_regex

    -
    Element
    -


    +

    Element
    +

    <SUBJECTARTICLERXP>
    perl_regex
    </SUBJECTARTICLERXP>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -subjectarticlerxp perl_regex

    @@ -40,6 +40,7 @@

    Syntax

    +

    Description

    SUBJECTARTICLERXP defines the Perl regular expression matching @@ -57,6 +58,7 @@

    Description

    +

    Default Setting

    @@ -64,12 +66,14 @@ 

    Default Setting

    +

    Resource Variables

    N/A

    +

    Examples

    If you are archiving French message, the following setting @@ -82,12 +86,14 @@

    Examples

    +

    Version

    2.2.0

    +

    See Also

    @@ -96,14 +102,19 @@

    See Also


    + + +
    [Prev: STDOUT][Resources][TOC][Next: SUBJECTBEGIN]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/subjectbegin.html b/doc/resources/subjectbegin.html index 942bf6a..64b3f83 100644 --- a/doc/resources/subjectbegin.html +++ b/doc/resources/subjectbegin.html @@ -4,11 +4,10 @@ MHonArc Resources: SUBJECTBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: SUBJECTARTICLERXP][Resources][TOC][Next: SUBJECTEND]
    +

    SUBJECTBEGIN

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <SUBJECTBEGIN>
    markup ...
    </SUBJECTBEGIN>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -116,11 +115,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $MMDDYYYY$ @@ -189,16 +188,16 @@

    Examples

    <SubSort> <SubjectBegin> -<li><strong>$SUBJECTNA$</strong> -<ul> +<li><strong>$SUBJECTNA$</strong> +<ul> </SubjectBegin> <SubjectEnd> -</li></ul> +</li></ul> </SubjectEnd> <LITemplate> -<li><a $A_ATTR$>$FROMNAME$</a></li> +<li><a $A_ATTR$>$FROMNAME$</a></li> </LITemplate> @@ -220,14 +219,19 @@

    See Also


    + + +
    [Prev: SUBJECTARTICLERXP][Resources][TOC][Next: SUBJECTEND]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/subjectend.html b/doc/resources/subjectend.html index 39fea35..8b511b0 100644 --- a/doc/resources/subjectend.html +++ b/doc/resources/subjectend.html @@ -4,11 +4,10 @@ MHonArc Resources: SUBJECTEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: SUBJECTBEGIN][Resources][TOC][Next: SUBJECTHEADER]
    +

    SUBJECTEND

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <SUBJECTEND>
    markup ...
    </SUBJECTEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -89,14 +88,19 @@

    See Also


    + + +
    [Prev: SUBJECTBEGIN][Resources][TOC][Next: SUBJECTHEADER]
    + +
    -00/10/28 11:13:09
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/subjectheader.html b/doc/resources/subjectheader.html index ae5ac86..f1e106b 100644 --- a/doc/resources/subjectheader.html +++ b/doc/resources/subjectheader.html @@ -4,11 +4,10 @@ MHonArc Resources: SUBJECTHEADER - -
    -MHonArc Resource List -
    - + + +
    [Prev: SUBJECTEND][Resources][TOC][Next: SUBJECTREPLYRXP]
    +

    SUBJECTHEADER

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <SUBJECTHEADER>
    markup ...
    </SUBJECTHEADER>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -52,8 +51,8 @@

    Default Setting

     <SubjectHeader>
    -<H1>$SUBJECTNA$</H1>
    -<HR>
    +<h1>$SUBJECTNA$</h1>
    +<hr>
     </SubjectHeader>
     
    @@ -111,11 +110,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -230,6 +229,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -266,12 +269,17 @@

    See Also


    + + +
    [Prev: SUBJECTEND][Resources][TOC][Next: SUBJECTREPLYRXP]
    + +
    -00/10/28 11:13:10
    - -MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/subjectreplyrxp.html b/doc/resources/subjectreplyrxp.html index f5ace8a..c1e3a6d 100644 --- a/doc/resources/subjectreplyrxp.html +++ b/doc/resources/subjectreplyrxp.html @@ -4,34 +4,34 @@ MHonArc Resources: SUBJECTREPLYRXP - -
    -MHonArc Resource List -
    - + + +
    [Prev: SUBJECTHEADER][Resources][TOC][Next: SUBJECTSTRIPCODE]
    +

    SUBJECTREPLYRXP

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_SUBJECTREPLYRXP=perl_regex

    -
    Element
    -


    +

    Element
    +

    <SUBJECTREPLYRXP>
    perl_regex
    </SUBJECTREPLYRXP>

    -
    Command-line Option
    +
    Command-line Option

    -subjectreplyrxp perl_regex

    @@ -40,6 +40,7 @@

    Syntax

    +

    Description

    SUBJECTREPLYRXP defines the Perl regular expression matching @@ -62,6 +63,7 @@

    Description

    +

    Default Setting

    @@ -69,24 +71,28 @@ 

    Default Setting

    +

    Resource Variables

    N/A

    +

    Examples

    None.

    +

    Version

    2.2.0

    +

    See Also

    @@ -95,14 +101,19 @@

    See Also


    + + +
    [Prev: SUBJECTHEADER][Resources][TOC][Next: SUBJECTSTRIPCODE]
    + +
    -00/10/28 11:13:10
    - - + +MHonArc
    -Copyright © 1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/subjectstripcode.html b/doc/resources/subjectstripcode.html index 998072b..5485699 100644 --- a/doc/resources/subjectstripcode.html +++ b/doc/resources/subjectstripcode.html @@ -4,34 +4,34 @@ MHonArc Resources: SUBJECTSTRIPCODE - -
    -MHonArc Resource List -
    - + + +
    [Prev: SUBJECTREPLYRXP][Resources][TOC][Next: SUBJECTTHREADS]
    +

    SUBJECTSTRIPCODE

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_SUBJECTSTRIPCODE=Perl_expressions

    -
    Element
    -


    +

    Element
    +

    <SUBJECTSTRIPCODE>
    Perl expressions...
    </SUBJECTSTRIPCODE>

    -
    Command-line Option
    +
    Command-line Option

    -subjectstripcode Perl_expressions

    @@ -40,6 +40,7 @@

    Syntax

    +

    Description

    SUBJECTSTRIPCODE may be used to define Perl expressions to @@ -54,18 +55,21 @@

    Description

    +

    Default Setting

    Nil

    +

    Resource Variables

    N/A

    +

    Examples

    Some mailing lists prefix all message subjects with a list @@ -86,12 +90,14 @@

    Examples

    +

    Version

    2.3.0

    +

    See Also

    @@ -99,14 +105,19 @@

    See Also


    + + +
    [Prev: SUBJECTREPLYRXP][Resources][TOC][Next: SUBJECTTHREADS]
    + +
    -00/10/28 11:13:10
    - - + +MHonArc
    -Copyright © 1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/subjectthreads.html b/doc/resources/subjectthreads.html index d806d9c..d0d6b97 100644 --- a/doc/resources/subjectthreads.html +++ b/doc/resources/subjectthreads.html @@ -4,11 +4,10 @@ MHonArc Resources: SUBJECTTHREADS - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: SUBJECTSTRIPCODE][Resources][TOC][Next: SUBSORT]
    +

    SUBJECTTHREADS

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_SUBJECTTHREADS=[ 0 | 1 ]

    -
    Element
    -


    +

    Element
    +

    <SUBJECTTHREADS>
    <NOSUBJECTTHREADS>

    -
    Command-line Option
    -


    +

    Command-line Option
    +

    -subjectthreads
    -nosubjectthreads

    @@ -95,14 +94,19 @@

    See Also


    + + +
    [Prev: SUBJECTSTRIPCODE][Resources][TOC][Next: SUBSORT]
    + +
    -00/10/28 11:13:10
    - - + +MHonArc
    -Copyright © 1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/subsort.html b/doc/resources/subsort.html index 00491f7..eab1228 100644 --- a/doc/resources/subsort.html +++ b/doc/resources/subsort.html @@ -4,11 +4,10 @@ MHonArc Resources: SUBSORT - -
    -MHonArc Resource List -
    - + + +
    [Prev: SUBJECTTHREADS][Resources][TOC][Next: TCONTBEGIN]
    +

    SUBSORT

    @@ -18,14 +17,14 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_SUBSORT=[ 0 | 1 ]

    Element(s)
    -


    +

    <SUBSORT>
    <NOSUBSORT>
    @@ -34,7 +33,7 @@

    Syntax

    Command-line Option(s)
    -


    +

    -subsort
    -nosubsort
    @@ -90,11 +89,16 @@

    See Also


    + + +
    [Prev: SUBJECTTHREADS][Resources][TOC][Next: TCONTBEGIN]
    + +
    -00/10/28 11:13:09
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tcontbegin.html b/doc/resources/tcontbegin.html index b568184..3588c2a 100644 --- a/doc/resources/tcontbegin.html +++ b/doc/resources/tcontbegin.html @@ -4,33 +4,33 @@ MHonArc Resources: TCONTBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: SUBSORT][Resources][TOC][Next: TCONTEND]
    +

    TCONTBEGIN

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TCONTBEGIN>
    markup...
    </TCONTBEGIN>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    TCONTBEGIN defines the markup to occur before the continuation @@ -63,16 +64,18 @@

    Description

    +

    Default Setting

     <TContBegin>
    -<LI><STRONG>$SUBJECTNA$</STRONG>, <EM>(continued)</EM>
    +<li><strong>$SUBJECTNA$</strong>, <em>(continued)</em>
     </TContBegin>
     
    +

    Resource Variables

    @@ -125,11 +128,11 @@

    Resource Variables

    - + - + @@ -180,24 +183,31 @@

    Resource Variables

    + + + +
    $ICON$The context-type sensistive icon.The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensistive icon.The URL to the context-type sensitive icon.
    $MMDDYYYY$ The subject text of the message without the anchor element.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $YYYYMMDD$ Message date in yyyy/mm/dd format.
    +

    Examples

    None.

    +

    Version

    2.0

    +

    See Also

    @@ -208,14 +218,19 @@

    See Also


    + + +
    [Prev: SUBSORT][Resources][TOC][Next: TCONTEND]
    + +
    -00/10/28 11:13:10
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tcontend.html b/doc/resources/tcontend.html index 8cb3ff4..9baebe0 100644 --- a/doc/resources/tcontend.html +++ b/doc/resources/tcontend.html @@ -4,33 +4,33 @@ MHonArc Resources: TCONTEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: TCONTBEGIN][Resources][TOC][Next: TEXTCLIPFUNC]
    +

    TCONTEND

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TCONTEND>
    markup...
    </TCONTEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    TCONTEND defines the closing markup of the continuation @@ -46,34 +47,39 @@

    Description

    +

    Default Setting

     <TContEnd>
    -</LI>
    +</li>
     </TContEnd>
     
    +

    Resource Variables

    N/A

    +

    Examples

    None.

    +

    Version

    2.0

    +

    See Also

    @@ -82,14 +88,19 @@

    See Also


    + + +
    [Prev: TCONTBEGIN][Resources][TOC][Next: TEXTCLIPFUNC]
    + +
    -00/10/28 11:13:10
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/textclipfunc.html b/doc/resources/textclipfunc.html new file mode 100644 index 0000000..6fcfcbb --- /dev/null +++ b/doc/resources/textclipfunc.html @@ -0,0 +1,95 @@ + + + +MHonArc Resources: TEXTCLIPFUNC + + + +MHonArc Resource List | +TOC + +
    +

    TEXTCLIPFUNC

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    +M2H_TEXTCLIPFUNC= +

    +
    + +
    Element
    +

    +<TEXTCLIPFUNC>
    +</TEXTCLIPFUNC>
    +

    +
    + +
    Command-line Option
    +

    +-textclipfunc +

    +
    + +
    + + +
    +

    Description

    + +

    +

    + + +
    +

    Default Setting

    + +

    +

    + + +
    +

    Resource Variables

    + +

    N/A +

    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    +

    + + +
    +

    See Also

    + +

    +

    + + +
    +
    +$Date$
    + +MHonArc
    +Copyright © 2002, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tfirstpglink.html b/doc/resources/tfirstpglink.html new file mode 100644 index 0000000..bf16d14 --- /dev/null +++ b/doc/resources/tfirstpglink.html @@ -0,0 +1,186 @@ + + + +MHonArc Resources: TFIRSTPGLINK + + + + +
    [Prev: TEXTCLIPFUNC][Resources][TOC][Next: TFOOT]
    + +
    +

    TFIRSTPGLINK

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TFIRSTPGLINK>
    +markup
    +</TFIRSTPGLINK>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TFIRSTPGLINK defines the markup to use when +the resource variable $PGLINK(TFIRST)$ is used: the +link to the first page of the thread index. Since a link to +the first page of the thread index is always active, there is +no inactive version of this resource. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$PG(TFIRST)">First Page</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $GMTDATE$Current GMT date.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LOCALDATE$Current local date.
    $NUMOFIDXMSG$Number of message listed.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $VERSION$Program version.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TLASTPGLINK, +TNEXTPGLINK, +TPREVPGLINK +

    + + +
    + + +
    [Prev: TEXTCLIPFUNC][Resources][TOC][Next: TFOOT]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tfoot.html b/doc/resources/tfoot.html index 3fc828c..d6324a6 100644 --- a/doc/resources/tfoot.html +++ b/doc/resources/tfoot.html @@ -4,11 +4,10 @@ MHonArc Resources: TFOOT - -
    -MHonArc Resource List -
    - + + +
    [Prev: TFIRSTPGLINK][Resources][TOC][Next: THEAD]
    +

    TFOOT

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TFOOT>
    markup ...
    </TFOOT>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -53,7 +52,7 @@

    Default Setting

     <TFoot>
    -</UL>
    +</ul>
     </TFoot>
     
    @@ -153,19 +152,19 @@

    Examples

     <TFoot>
    -</ul>
    -<hr>
    -<table border=0 width="100%">
    -<tbody>
    -<tr>
    -<td align="left">$PGLINK(TPREV)$
    -<td align="right">[<a href="$PG(TFIRST)$">First Page</a>]
    -<td align="left">[<a href="$PG(TLAST)$">Last Page</a>]
    -<td align="right">$PGLINK(TNEXT)$
    -<tr align="center">
    -<th colspan=4>Page $PAGENUM$ of $NUMOFPAGES$
    -</tbody>
    -</table>
    +</ul>
    +<hr>
    +<table border=0 width="100%">
    +<tbody>
    +<tr>
    +<td align="left">$PGLINK(TPREV)$
    +<td align="right">[<a href="$PG(TFIRST)$">First Page</a>]
    +<td align="left">[<a href="$PG(TLAST)$">Last Page</a>]
    +<td align="right">$PGLINK(TNEXT)$
    +<tr align="center">
    +<th colspan=4>Page $PAGENUM$ of $NUMOFPAGES$
    +</tbody>
    +</table>
     </TFoot>
     
    @@ -189,11 +188,16 @@

    See Also


    + + +
    [Prev: TFIRSTPGLINK][Resources][TOC][Next: THEAD]
    + +
    -00/10/28 11:13:09
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/thead.html b/doc/resources/thead.html index 52cf417..8afcd25 100644 --- a/doc/resources/thead.html +++ b/doc/resources/thead.html @@ -4,11 +4,10 @@ MHonArc Resources: THEAD - -
    -MHonArc Resource List -
    - + + +
    [Prev: TFOOT][Resources][TOC][Next: THREAD]
    +

    THEAD

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <THEAD>
    markup ...
    </THEAD>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -56,12 +55,12 @@

    Default Setting

     <THead>
    -<UL>
    -<LI><A HREF="$IDXFNAME$">Main Index</A></LI>
    -</UL>
    +<ul>
    +<li><a href="$IDXFNAME$">Main Index</a></li>
    +</ul>
     $PGLINK(TPREV)$$PGLINK(TNEXT)$
    -<HR>
    -<UL>
    +<hr>
    +<ul>
     </THead>
     
    @@ -70,11 +69,11 @@

    Default Setting

     <THead>
    -<UL>
    -<LI><A HREF="$IDXFNAME$">Main Index</A></LI>
    -</UL>
    -<HR>
    -<UL>
    +<ul>
    +<li><a href="$IDXFNAME$">Main Index</a></li>
    +</ul>
    +<hr>
    +<ul>
     </THead>
     
    @@ -174,23 +173,23 @@

    Examples

     <THead>
    -<ul>
    -<li><a href="$IDXFNAME$">Date Index</a></li>
    -</ul>
    -<hr>
    -<table border=0 width="100%">
    -<tbody>
    -<tr align="center">
    -<th colspan=4>Page $PAGENUM$ of $NUMOFPAGES$
    -<tr>
    -<td align="left">$PGLINK(TPREV)$
    -<td align="right">[<a href="$TFIRSTPG(TFIRST)$">First Page</a>]
    -<td align="left">[<a href="$PG(TLAST)$">Last Page</a>]
    -<td align="right">$PGLINK(TNEXT)$
    -</tbody>
    -</table>
    -<hr>
    -<ul>
    +<ul>
    +<li><a href="$IDXFNAME$">Date Index</a></li>
    +</ul>
    +<hr>
    +<table border=0 width="100%">
    +<tbody>
    +<tr align="center">
    +<th colspan=4>Page $PAGENUM$ of $NUMOFPAGES$
    +<tr>
    +<td align="left">$PGLINK(TPREV)$
    +<td align="right">[<a href="$TFIRSTPG(TFIRST)$">First Page</a>]
    +<td align="left">[<a href="$PG(TLAST)$">Last Page</a>]
    +<td align="right">$PGLINK(TNEXT)$
    +</tbody>
    +</table>
    +<hr>
    +<ul>
     </THead>
     
    @@ -214,11 +213,16 @@

    See Also


    + + +
    [Prev: TFOOT][Resources][TOC][Next: THREAD]
    + +
    -00/10/28 11:13:10
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/thread.html b/doc/resources/thread.html index e241f3e..bffd8c5 100644 --- a/doc/resources/thread.html +++ b/doc/resources/thread.html @@ -4,11 +4,10 @@ MHonArc Resources: THREAD - -
    -MHonArc Resource List -
    - + + +
    [Prev: THEAD][Resources][TOC][Next: TIDXFNAME]
    +

    THREAD

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_THREAD=[ 0 | 1 ]

    Element(s)
    -


    +

    <THREAD>
    <NOTHREAD>

    Command-line Option(s)
    -


    +

    -thread
    -nothread
    @@ -87,11 +86,16 @@

    See Also


    + + +
    [Prev: THEAD][Resources][TOC][Next: TIDXFNAME]
    + +
    -00/10/28 11:13:10
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tidxfname.html b/doc/resources/tidxfname.html index 994dde3..628fcbf 100644 --- a/doc/resources/tidxfname.html +++ b/doc/resources/tidxfname.html @@ -4,11 +4,10 @@ MHonArc Resources: TIDXFNAME - -
    -MHonArc Resource List -
    - + + +
    [Prev: THREAD][Resources][TOC][Next: TIDXLABEL]
    +

    TIDXFNAME

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_TIDXFNAME=filename

    -
    Element
    -


    +

    Element
    +

    <TIDXFNAME>
    filename
    </TIDXFNAME>

    -
    Command-line Option
    +
    Command-line Option

    -tidxfname filename

    @@ -89,11 +88,16 @@

    See Also


    + + +
    [Prev: THREAD][Resources][TOC][Next: TIDXLABEL]
    + +
    -00/10/28 11:13:10
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tidxlabel.html b/doc/resources/tidxlabel.html index 3dcdc98..1e300a2 100644 --- a/doc/resources/tidxlabel.html +++ b/doc/resources/tidxlabel.html @@ -4,11 +4,10 @@ MHonArc Resources: TIDXLABEL - -
    -MHonArc Resource List -
    - + + +
    [Prev: TIDXFNAME][Resources][TOC][Next: TIDXPGBEGIN]
    +

    TIDXLABEL

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TIDXLABEL>
    markup ... </TIDXLABEL>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -88,14 +87,19 @@

    See Also


    + + +
    [Prev: TIDXFNAME][Resources][TOC][Next: TIDXPGBEGIN]
    + +
    -00/10/28 11:13:10
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tidxpgbegin.html b/doc/resources/tidxpgbegin.html index e0e9c60..9f0b74d 100644 --- a/doc/resources/tidxpgbegin.html +++ b/doc/resources/tidxpgbegin.html @@ -4,11 +4,10 @@ MHonArc Resources: TIDXPGBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: TIDXLABEL][Resources][TOC][Next: TIDXPGEND]
    +

    TIDXPGBEGIN

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TIDXPGBEGIN>
    markup ...
    </TIDXPGBEGIN>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -58,13 +57,13 @@

    Default Setting

     <TIdxPgBegin>
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
    -<HTML>
    -<HEAD>
    -<TITLE>$TIDXTITLE$</TITLE>
    -</HEAD>
    -<BODY>
    -<H1>$TIDXTITLE$</H1>
    +<!doctype html public "-//W3C//DTD HTML//EN">
    +<html>
    +<head>
    +<title>$TIDXTITLE$</title>
    +</head>
    +<body>
    +<h1>$TIDXTITLE$</h1>
     </TIdxPgBegin>
     
    @@ -164,13 +163,13 @@

    Examples

     <TIdxPgBegin>
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
    -<HTML>
    -<HEAD>
    -<TITLE>$TIDXTITLE$</TITLE>
    -</HEAD>
    -<BODY background="tidxbg.gif" bgproperties="fixed">
    -<H1>$TIDXTITLE$</H1>
    +<!doctype html public "-//W3C//DTD HTML//EN">
    +<html>
    +<head>
    +<title>$TIDXTITLE$</title>
    +</head>
    +<body background="tidxbg.png" bgproperties="fixed">
    +<h1>$TIDXTITLE$</h1>
     </TIdxPgBegin>
     
    @@ -193,11 +192,16 @@

    See Also


    + + +
    [Prev: TIDXLABEL][Resources][TOC][Next: TIDXPGEND]
    + +
    -00/10/28 11:13:10
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tidxpgend.html b/doc/resources/tidxpgend.html index b6b0416..1183074 100644 --- a/doc/resources/tidxpgend.html +++ b/doc/resources/tidxpgend.html @@ -4,11 +4,10 @@ MHonArc Resources: TIDXPGEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: TIDXPGBEGIN][Resources][TOC][Next: TIDXPGSSMARKUP]
    +

    TIDXPGEND

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TIDXPGEND>
    markup ...
    </TIDXPGEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -52,8 +51,8 @@

    Default Setting

     <TIdxPgEnd>
    -</BODY>
    -</HTML>
    +</body>
    +</html>
     </TIdxPgEnd>
     
    @@ -167,11 +166,16 @@

    See Also


    + + +
    [Prev: TIDXPGBEGIN][Resources][TOC][Next: TIDXPGSSMARKUP]
    + +
    -00/10/28 11:13:10
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tidxpgssmarkup.html b/doc/resources/tidxpgssmarkup.html new file mode 100644 index 0000000..3dc7706 --- /dev/null +++ b/doc/resources/tidxpgssmarkup.html @@ -0,0 +1,109 @@ + + + +MHonArc Resources: TIDXPGSSMARKUP + + + + +
    [Prev: TIDXPGEND][Resources][TOC][Next: TIDXPREFIX]
    + +
    +

    TIDXPGSSMARKUP

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TIDXPGSSMARKUP>
    +</TIDXPGSSMARKUP>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TIDXPGSSMARKUP defines the markup that occurs at the very +beginning of thread index pages. This resource +may be used to include any server-side processing markup that must +occur before any HTML-related markup. +

    + + +
    +

    Default Setting

    + +

    The value of the +SSMARKUP +resource. +

    + + +
    +

    Resource Variables

    + +

    N/A +

    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.8 +

    + + +
    +

    See Also

    + +

    +IDXPGSSMARKUP, +MSGPGSSMARKUP, +SSMARKUP +

    +

    +Page Layout +

    + + +
    + + +
    [Prev: TIDXPGEND][Resources][TOC][Next: TIDXPREFIX]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2002, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tidxprefix.html b/doc/resources/tidxprefix.html index 15d8c38..3f78734 100644 --- a/doc/resources/tidxprefix.html +++ b/doc/resources/tidxprefix.html @@ -4,11 +4,10 @@ MHonArc Resources: TIDXPREFIX - -
    -MHonArc Resource List -
    - + + +
    [Prev: TIDXPGSSMARKUP][Resources][TOC][Next: TIMEZONES]
    +

    TIDXPREFIX

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_TIDXPREFIX=prefix

    -
    Element
    -


    +

    Element
    +

    <TIDXPREFIX>
    prefix
    </TIDXPREFIX>

    -
    Command-line Option
    +
    Command-line Option

    -tidxprefix prefix

    @@ -105,11 +104,16 @@

    See Also


    + + +
    [Prev: TIDXPGSSMARKUP][Resources][TOC][Next: TIMEZONES]
    + +
    -00/10/28 11:13:10
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/timezones.html b/doc/resources/timezones.html index c25a997..e5ee345 100644 --- a/doc/resources/timezones.html +++ b/doc/resources/timezones.html @@ -4,11 +4,10 @@ MHonArc Resources: TIMEZONES - -
    -MHonArc Resource List -
    - + + +
    [Prev: TIDXPREFIX][Resources][TOC][Next: TINDENTBEGIN]
    +

    TIMEZONES

    @@ -18,13 +17,13 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TIMEZONES>
    timezone_acronym:time_offset
    timezone_acronym:time_offset
    @@ -33,7 +32,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -322,11 +321,16 @@

    See Also


    + + +
    [Prev: TIDXPREFIX][Resources][TOC][Next: TINDENTBEGIN]
    + +
    -00/10/28 11:13:10
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tindentbegin.html b/doc/resources/tindentbegin.html index f2dde3e..558b4cc 100644 --- a/doc/resources/tindentbegin.html +++ b/doc/resources/tindentbegin.html @@ -4,33 +4,33 @@ MHonArc Resources: TINDENTBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: TIMEZONES][Resources][TOC][Next: TINDENTEND]
    +

    TINDENTBEGIN

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TINDENTBEGIN>
    markup...
    </TINDENTBEGIN>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    TINDENTBEGIN defines the markup for opening a level for the @@ -55,21 +56,24 @@

    Description

    +

    Default Setting

     <TIndentBegin>
    -<UL>
    +<ul>
     </TIndentBegin>
     
    +

    Resource Variables

    N/A

    +

    Examples

    By default, MHonArc uses the UL element for listing @@ -81,21 +85,23 @@

    Examples

     <TIndentBegin>
    -<DL><DD>
    +<dl><dd>
     </TIndentBegin>
     
     <TIndentEnd>
    -</DD></DL>
    +</dd></dl>
     </TIndentEnd>
     
    +

    Version

    2.0

    +

    See Also

    @@ -109,14 +115,19 @@

    See Also


    + + +
    [Prev: TIMEZONES][Resources][TOC][Next: TINDENTEND]
    + +
    -00/10/28 11:13:10
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tindentend.html b/doc/resources/tindentend.html index 2976b8d..8e01e2e 100644 --- a/doc/resources/tindentend.html +++ b/doc/resources/tindentend.html @@ -4,33 +4,33 @@ MHonArc Resources: TINDENTEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: TINDENTBEGIN][Resources][TOC][Next: TITLE]
    +

    TINDENTEND

    +

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TINDENTEND>
    markup...
    </TINDENTEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -38,6 +38,7 @@

    Syntax

    +

    Description

    TINDENTEND defines the markup for closing a level for the @@ -47,21 +48,24 @@

    Description

    +

    Default Setting

     <TIndentEnd>
    -</UL>
    +</ul>
     </TIndentEnd>
     
    +

    Resource Variables

    N/A

    +

    Examples

    See TINDENTBEGIN. @@ -69,12 +73,14 @@

    Examples

    +

    Version

    2.0

    +

    See Also

    @@ -86,14 +92,19 @@

    See Also


    + + +
    [Prev: TINDENTBEGIN][Resources][TOC][Next: TITLE]
    + +
    -00/10/28 11:13:11
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/title.html b/doc/resources/title.html index e403f12..e669084 100644 --- a/doc/resources/title.html +++ b/doc/resources/title.html @@ -4,11 +4,10 @@ MHonArc Resources: TITLE - -
    -MHonArc Resource List -
    - + + +
    [Prev: TINDENTEND][Resources][TOC][Next: TLASTPGLINK]
    +

    TITLE

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_TITLE=string

    -
    Element
    -


    +

    Element
    +

    <TITLE>
    string
    </TITLE>

    -
    Command-line Option
    +
    Command-line Option

    -title string

    @@ -97,11 +96,16 @@

    See Also


    + + +
    [Prev: TINDENTEND][Resources][TOC][Next: TLASTPGLINK]
    + +
    -00/10/28 11:13:10
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tlastpglink.html b/doc/resources/tlastpglink.html new file mode 100644 index 0000000..fb1bba0 --- /dev/null +++ b/doc/resources/tlastpglink.html @@ -0,0 +1,186 @@ + + + +MHonArc Resources: TLASTPGLINK + + + + +
    [Prev: TITLE][Resources][TOC][Next: TLEVELS]
    + +
    +

    TLASTPGLINK

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TLASTPGLINK>
    +markup
    +</TLASTPGLINK>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TLASTPGLINK defines the markup to use when +the resource variable $PGLINK(TLAST)$ is used: the +link to the last page of the thread index. Since a link to +the last page of the thread index is always active, there is +no inactive version of this resource. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$PG(TLAST)">Last Page</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $GMTDATE$Current GMT date.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LOCALDATE$Current local date.
    $NUMOFIDXMSG$Number of message listed.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $VERSION$Program version.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TFIRSTPGLINK, +TNEXTPGLINK, +TPREVPGLINK +

    + + +
    + + +
    [Prev: TITLE][Resources][TOC][Next: TLEVELS]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tlevels.html b/doc/resources/tlevels.html index 20b2ac4..ac993eb 100644 --- a/doc/resources/tlevels.html +++ b/doc/resources/tlevels.html @@ -4,11 +4,10 @@ MHonArc Resources: TLEVELS - -
    -MHonArc Resource List -
    - + + +
    [Prev: TLASTPGLINK][Resources][TOC][Next: TLIEND]
    +

    TLEVELS

    @@ -18,21 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_TLEVELS=number

    -
    Element
    -


    +

    Element
    +

    <TLEVELS>
    number
    </TLEVELS>

    -
    Command-line Option
    +
    Command-line Option

    -tlevels number

    @@ -48,7 +47,8 @@

    Description

    index. Any threads that go over TLEVELS in depth are flattened to the value of TLEVELS. This resource is helpful in preventing huge indentations in deep threads which may cause text to be squished on the -right-side of an HTML viewer.

    +right-side of an HTML viewer. +


    @@ -83,15 +83,21 @@

    Version

    See Also

    +TSLICELEVELS


    + + +
    [Prev: TLASTPGLINK][Resources][TOC][Next: TLIEND]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tliend.html b/doc/resources/tliend.html index 86d65c8..9037d56 100644 --- a/doc/resources/tliend.html +++ b/doc/resources/tliend.html @@ -4,11 +4,10 @@ MHonArc Resources: TLIEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: TLEVELS][Resources][TOC][Next: TLINONE]
    +

    TLIEND

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TLIEND>
    markup ...
    </TLIEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -63,7 +62,7 @@

    Default Setting

     <TLiEnd>
    -</LI>
    +</li>
     </TLiEnd>
     
    @@ -98,11 +97,16 @@

    See Also


    + + +
    [Prev: TLEVELS][Resources][TOC][Next: TLINONE]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tlinone.html b/doc/resources/tlinone.html index ea746f4..25ab69f 100644 --- a/doc/resources/tlinone.html +++ b/doc/resources/tlinone.html @@ -4,11 +4,10 @@ MHonArc Resources: TLINONE - -
    -MHonArc Resource List -
    - + + +
    [Prev: TLIEND][Resources][TOC][Next: TLINONEEND]
    +

    TLINONE

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TLINONE>
    markup ...
    </TLINONE>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -63,7 +62,7 @@

    Default Setting

     <TLiNone>
    -<LI><EM>Message not available</EM>
    +<li><em>Message not available</em>
     </TLiNone>
     
    @@ -101,11 +100,16 @@

    See Also


    + + +
    [Prev: TLIEND][Resources][TOC][Next: TLINONEEND]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tlinoneend.html b/doc/resources/tlinoneend.html index 33bb3d2..3f98e62 100644 --- a/doc/resources/tlinoneend.html +++ b/doc/resources/tlinoneend.html @@ -4,11 +4,10 @@ MHonArc Resources: TLINONEEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: TLINONE][Resources][TOC][Next: TLITXT]
    +

    TLINONEEND

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TLINONEEND>
    markup ...
    </TLINONEEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -62,7 +61,7 @@

    Default Setting

     <TLiNoneEnd>
    -</LI>
    +</li>
     </TLiNoneEnd>
     
    @@ -100,11 +99,16 @@

    See Also


    + + +
    [Prev: TLINONE][Resources][TOC][Next: TLITXT]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tlitxt.html b/doc/resources/tlitxt.html index 2c9f92f..501584a 100644 --- a/doc/resources/tlitxt.html +++ b/doc/resources/tlitxt.html @@ -4,11 +4,10 @@ MHonArc Resources: TLITXT - -
    -MHonArc Resource List -
    - + + +
    [Prev: TLINONEEND][Resources][TOC][Next: TNEXTBUTTON]
    +

    TLITXT

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TLITXT>
    markup ...
    </TLITXT>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -63,8 +62,8 @@

    Default Setting

     <TLiTxt>
    -<LI><STRONG>$SUBJECT$</STRONG>,
    -<EM>$FROMNAME$</EM>
    +<li><strong>$SUBJECT$</strong>,
    +<em>$FROMNAME$</em>
     </TLiTxt>
     
    @@ -122,11 +121,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $MMDDYYYY$ @@ -177,6 +176,10 @@

    Resource Variables

    The subject text of the message without the anchor element. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $YYYYMMDD$ Message date in yyyy/mm/dd format. @@ -211,11 +214,16 @@

    See Also


    + + +
    [Prev: TLINONEEND][Resources][TOC][Next: TNEXTBUTTON]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tnextbutton.html b/doc/resources/tnextbutton.html index 6fd93f4..1c93b72 100644 --- a/doc/resources/tnextbutton.html +++ b/doc/resources/tnextbutton.html @@ -4,11 +4,10 @@ MHonArc Resources: TNEXTBUTTON - -
    -MHonArc Resource List -
    - + + +
    [Prev: TLITXT][Resources][TOC][Next: TNEXTBUTTONIA]
    +

    TNEXTBUTTON

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TNEXTBUTTON>
    markup ...
    </TNEXTBUTTON>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -55,7 +54,7 @@

    Default Setting

     <TNextButton chop>
    -[<A HREF="$MSG(TNEXT)$">Thread Next</A>]
    +[<a href="$MSG(TNEXT)$">Thread Next</a>]
     </TNextButton>
     
    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -255,7 +258,7 @@

    Examples

     <TNextButton chop>
    -<A HREF="$MSG(TNEXT)$"><IMG SRC="tnext.gif" ALT="[Thread Next]"></A>
    +<a href="$MSG(TNEXT)$"><img src="tnext.png" alt="[Thread Next]"></a>
     </TNextButton>
     
    @@ -279,11 +282,16 @@

    See Also


    + + +
    [Prev: TLITXT][Resources][TOC][Next: TNEXTBUTTONIA]
    + +
    -01/03/03 11:18:19
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tnextbuttonia.html b/doc/resources/tnextbuttonia.html index 3039376..184fe44 100644 --- a/doc/resources/tnextbuttonia.html +++ b/doc/resources/tnextbuttonia.html @@ -4,11 +4,10 @@ MHonArc Resources: TNEXTBUTTONIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: TNEXTBUTTON][Resources][TOC][Next: TNEXTINBUTTON]
    +

    TNEXTBUTTONIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TNEXTBUTTONIA>
    markup ...
    </TNEXTBUTTONIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -255,7 +258,7 @@

    Examples

     <TNextButtonIA chop>
    -<IMG SRC="tnextia.gif" ALT="[Thread Next]">
    +<img src="tnextia.png" alt="[Thread Next]">
     </TNextButtonIA>
     
    @@ -279,11 +282,16 @@

    See Also


    + + +
    [Prev: TNEXTBUTTON][Resources][TOC][Next: TNEXTINBUTTON]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tnextinbutton.html b/doc/resources/tnextinbutton.html new file mode 100644 index 0000000..bcc728e --- /dev/null +++ b/doc/resources/tnextinbutton.html @@ -0,0 +1,302 @@ + + + +MHonArc Resources: TNEXTINBUTTON + + + + +
    [Prev: TNEXTBUTTONIA][Resources][TOC][Next: TNEXTINBUTTONIA]
    + +
    +

    TNEXTINBUTTON

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TNEXTINBUTTON>
    +markup
    +</TNEXTINBUTTON>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TNEXTINBUTTON defines the replacement markup for the +resource variable $BUTTON(TNEXTIN)$ when there exists +a next message from the current message within a discussion thread. +See +TNEXTINBUTTONIA +for the replacement markup used with there is no next message. +

    +

    TNEXTINBUTTON differs from +TNEXTBUTTON in that it does +not cross discussion thread boundaries. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$MSG(TNEXTIN)$">Next in Thread</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    + +TNEXTBUTTON, +TNEXTINBUTTONIA, +TNEXTINLINK, +TNEXTTOPBUTTON, +TOPLINKS, +TPREVBUTTON, +TPREVINBUTTON, +TPREVTOPBUTTON + +

    + + +
    + + +
    [Prev: TNEXTBUTTONIA][Resources][TOC][Next: TNEXTINBUTTONIA]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tnextinbuttonia.html b/doc/resources/tnextinbuttonia.html new file mode 100644 index 0000000..92f8c37 --- /dev/null +++ b/doc/resources/tnextinbuttonia.html @@ -0,0 +1,289 @@ + + + +MHonArc Resources: TNEXTINBUTTONIA + + + + +
    [Prev: TNEXTINBUTTON][Resources][TOC][Next: TNEXTINLINK]
    + +
    +

    TNEXTINBUTTONIA

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TNEXTINBUTTONIA>
    +markup
    +</TNEXTINBUTTONIA>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TNEXTINBUTTON defines the replacement markup for the +resource variable $BUTTON(TNEXTIN)$ when there is no +next message from the current message within a discussion thread. +See +TNEXTINBUTTON +for the replacement markup used with there is a next message. +

    + + +
    +

    Default Setting

    + +
    +[Next in Thread]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TNEXTINBUTTON +

    + + +
    + + +
    [Prev: TNEXTINBUTTON][Resources][TOC][Next: TNEXTINLINK]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tnextinlink.html b/doc/resources/tnextinlink.html new file mode 100644 index 0000000..926c7cb --- /dev/null +++ b/doc/resources/tnextinlink.html @@ -0,0 +1,302 @@ + + + +MHonArc Resources: TNEXTINLINK + + + + +
    [Prev: TNEXTINBUTTONIA][Resources][TOC][Next: TNEXTINLINKIA]
    + +
    +

    TNEXTINLINK

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TNEXTINLINK>
    +markup
    +</TNEXTINLINK>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TNEXTINLINK defines the replacement markup for the +resource variable $LINK(TNEXTIN)$ when there exists +a next message from the current message within a discussion thread. +See +TNEXTINLINKIA +for the replacement markup used with there is no next message. +

    +

    TNEXTINLINK differs from +TNEXTLINK in that it does +not cross discussion thread boundaries. +

    + + +
    +

    Default Setting

    + +
    +<li>Next in thread:
    +<strong><a href="$MSG(TNEXTIN)$">$SUBJECT(TNEXTIN)$</a></strong>
    +</li>
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +BOTLINKS, +TNEXTINBUTTON, +TNEXTLINK, +TNEXTINLINKIA, +TNEXTTOPLINK, +TPREVLINK, +TPREVINLINK, +TPREVTOPLINK +

    + + +
    + + +
    [Prev: TNEXTINBUTTONIA][Resources][TOC][Next: TNEXTINLINKIA]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tnextinlinkia.html b/doc/resources/tnextinlinkia.html new file mode 100644 index 0000000..2526931 --- /dev/null +++ b/doc/resources/tnextinlinkia.html @@ -0,0 +1,288 @@ + + + +MHonArc Resources: TNEXTINLINKIA + + + + +
    [Prev: TNEXTINLINK][Resources][TOC][Next: TNEXTLINK]
    + +
    +

    TNEXTINLINKIA

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TNEXTINLINKIA>
    +markup
    +</TNEXTINLINKIA>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TNEXTINLINKIA defines the replacement markup for the +resource variable $LINK(TNEXTIN)$ when there is no +next message from the current message within a discussion thread. +See +TNEXTINLINK +for the replacement markup used with there is a next message. +

    + + +
    +

    Default Setting

    + +

    Nil. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TNEXTINLINK +

    + + +
    + + +
    [Prev: TNEXTINLINK][Resources][TOC][Next: TNEXTLINK]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tnextlink.html b/doc/resources/tnextlink.html index db77548..20352fb 100644 --- a/doc/resources/tnextlink.html +++ b/doc/resources/tnextlink.html @@ -4,11 +4,10 @@ MHonArc Resources: TNEXTLINK - -
    -MHonArc Resource List -
    - + + +
    [Prev: TNEXTINLINKIA][Resources][TOC][Next: TNEXTLINKIA]
    +

    TNEXTLINK

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TNEXTLINK>
    markup ...
    </TNEXTLINK>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -61,9 +60,9 @@

    Default Setting

     <TNextLink>
    -<LI>Next by Thread:
    -<STRONG><A HREF="$MSG(TNEXT)$">$SUBJECT(TNEXT)$</A></STRONG>
    -</LI>
    +<li>Next by Thread:
    +<strong><a href="$MSG(TNEXT)$">$SUBJECT(TNEXT)$</a></strong>
    +</li>
     </TNextLink>
     
    @@ -121,11 +120,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -240,6 +239,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -263,10 +266,10 @@

    Examples

     <TNextLink>
    -<LI>Next by Thread:
    -<STRONG><A HREF="$MSG(TNEXT)$">$SUBJECT(TNEXT)$</A></STRONG>,
    -<EM>$FROMNAME(TNEXT)$</EM>
    -</LI>
    +<li>Next by Thread:
    +<strong><a href="$MSG(TNEXT)$">$SUBJECT(TNEXT)$</a></strong>,
    +<em>$FROMNAME(TNEXT)$</em>
    +</li>
     </TNextLink>
     
    @@ -290,11 +293,16 @@

    See Also


    + + +
    [Prev: TNEXTINLINKIA][Resources][TOC][Next: TNEXTLINKIA]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tnextlinkia.html b/doc/resources/tnextlinkia.html index e178e6a..7d9f185 100644 --- a/doc/resources/tnextlinkia.html +++ b/doc/resources/tnextlinkia.html @@ -4,11 +4,10 @@ MHonArc Resources: TNEXTLINKIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: TNEXTLINK][Resources][TOC][Next: TNEXTPGLINK]
    +

    TNEXTLINKIA

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <TNEXTLINKIA>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -272,11 +275,16 @@

    See Also


    + + +
    [Prev: TNEXTLINK][Resources][TOC][Next: TNEXTPGLINK]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tnextpglink.html b/doc/resources/tnextpglink.html index 1ed63ba..4f52dbc 100644 --- a/doc/resources/tnextpglink.html +++ b/doc/resources/tnextpglink.html @@ -4,11 +4,10 @@ MHonArc Resources: TNEXTPGLINK - -
    -MHonArc Resource List -
    - + + +
    [Prev: TNEXTLINKIA][Resources][TOC][Next: TNEXTPGLINKIA]
    +

    TNEXTPGLINK

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TNEXTPGLINK>
    markup ...
    </TNEXTPGLINK>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -59,7 +58,7 @@

    Default Setting

     <TNextPgLink chop>
    -[<A HREF="$PG(TNEXT)$">Next Page</A>]
    +[<a href="$PG(TNEXT)$">Next Page</a>]
     </TNextPgLink>
     
    @@ -177,11 +176,16 @@

    See Also


    + + +
    [Prev: TNEXTLINKIA][Resources][TOC][Next: TNEXTPGLINKIA]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tnextpglinkia.html b/doc/resources/tnextpglinkia.html index 00fa82f..c234095 100644 --- a/doc/resources/tnextpglinkia.html +++ b/doc/resources/tnextpglinkia.html @@ -4,11 +4,10 @@ MHonArc Resources: TNEXTPGLINKIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: TNEXTPGLINK][Resources][TOC][Next: TNEXTTOPBUTTON]
    +

    TNEXTPGLINKIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TNEXTPGLINKIA>
    markup ...
    </TNEXTPGLINKIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -177,11 +176,16 @@

    See Also


    + + +
    [Prev: TNEXTPGLINK][Resources][TOC][Next: TNEXTTOPBUTTON]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tnexttopbutton.html b/doc/resources/tnexttopbutton.html new file mode 100644 index 0000000..c626877 --- /dev/null +++ b/doc/resources/tnexttopbutton.html @@ -0,0 +1,294 @@ + + + +MHonArc Resources: TNEXTTOPBUTTON + + + + +
    [Prev: TNEXTPGLINKIA][Resources][TOC][Next: TNEXTTOPBUTTONIA]
    + +
    +

    TNEXTTOPBUTTON

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TNEXTTOPBUTTON>
    +markup
    +</TNEXTTOPBUTTON>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TNEXTTOPBUTTON defines the replacement markup for the resource +variable $BUTTON(TNEXTTOP)$: button markup for first message +in next discussion thread. See +TNEXTTOPBUTTONIA +for the replace markup used when there is no next discussion thread. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$MSG(TNEXTTOP)$">Next Thread</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TNEXTBUTTON, +TNEXTINBUTTONIA, +TNEXTINLINK, +TNEXTTOPBUTTONIA, +TPREVBUTTON, +TPREVINBUTTON, +TPREVTOPBUTTON +

    + + +
    + + +
    [Prev: TNEXTPGLINKIA][Resources][TOC][Next: TNEXTTOPBUTTONIA]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tnexttopbuttonia.html b/doc/resources/tnexttopbuttonia.html new file mode 100644 index 0000000..84a5008 --- /dev/null +++ b/doc/resources/tnexttopbuttonia.html @@ -0,0 +1,288 @@ + + + +MHonArc Resources: TNEXTTOPBUTTONIA + + + + +
    [Prev: TNEXTTOPBUTTON][Resources][TOC][Next: TNEXTTOPLINK]
    + +
    +

    TNEXTTOPBUTTONIA

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TNEXTTOPBUTTONIA>
    +markup
    +</TNEXTTOPBUTTONIA>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TNEXTTOPBUTTONIA defines the replacement markup for the resource +variable $BUTTON(TNEXTTOP)$ when there is no next discussion +thread. +See TNEXTTOPBUTTON +for the replacement markup used when there is a next discussion thread. +

    + + +
    +

    Default Setting

    + +
    +[Next Thread]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TNEXTTOPBUTTON +

    + + +
    + + +
    [Prev: TNEXTTOPBUTTON][Resources][TOC][Next: TNEXTTOPLINK]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tnexttoplink.html b/doc/resources/tnexttoplink.html new file mode 100644 index 0000000..6b73f35 --- /dev/null +++ b/doc/resources/tnexttoplink.html @@ -0,0 +1,294 @@ + + + +MHonArc Resources: TNEXTTOPLINK + + + + +
    [Prev: TNEXTTOPBUTTONIA][Resources][TOC][Next: TNEXTTOPLINKIA]
    + +
    +

    TNEXTTOPLINK

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TNEXTTOPLINK>
    +markup
    +</TNEXTTOPLINK>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TNEXTTOPLINK defines the replacement markup for the resource +variable $LINK(TNEXTTOP)$: link markup for first message +in next discussion thread. See +TNEXTTOPLINKIA +for the replace markup used when there is no next discussion thread. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$MSG(TNEXTTOP)$">Next Thread</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TNEXTLINK, +TNEXTINLINKIA, +TNEXTINLINK, +TNEXTTOPLINKIA, +TPREVLINK, +TPREVINLINK, +TPREVTOPBUTTON +

    + + +
    + + +
    [Prev: TNEXTTOPBUTTONIA][Resources][TOC][Next: TNEXTTOPLINKIA]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tnexttoplinkia.html b/doc/resources/tnexttoplinkia.html new file mode 100644 index 0000000..149d31c --- /dev/null +++ b/doc/resources/tnexttoplinkia.html @@ -0,0 +1,288 @@ + + + +MHonArc Resources: TNEXTTOPLINKIA + + + + +
    [Prev: TNEXTTOPLINK][Resources][TOC][Next: TOPLINKS]
    + +
    +

    TNEXTTOPLINKIA

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TNEXTTOPLINKIA>
    +markup
    +</TNEXTTOPLINKIA>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TNEXTTOPLINKIA defines the replacement markup for the resource +variable $LINK(TNEXTTOP)$ when there is no next discussion +thread. +See TNEXTTOPLINK +for the replacement markup used when there is a next discussion thread. +

    + + +
    +

    Default Setting

    + +
    +[Next Thread]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TNEXTTOPLINK +

    + + +
    + + +
    [Prev: TNEXTTOPLINK][Resources][TOC][Next: TOPLINKS]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/toplinks.html b/doc/resources/toplinks.html index 90c49c6..6e30474 100644 --- a/doc/resources/toplinks.html +++ b/doc/resources/toplinks.html @@ -4,11 +4,10 @@ MHonArc Resources: TOPLINKS - -
    -MHonArc Resource List -
    - + + +
    [Prev: TNEXTTOPLINKIA][Resources][TOC][Next: TPREVBUTTON]
    +

    TOPLINKS

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <TOPLINKS>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -60,10 +59,10 @@

    Default Setting

     <TopLinks>
    -<HR>
    -$BUTTON(PREV)$$BUTTON(NEXT)$$BUTTON(TPREV)$$BUTTON(TNEXT)$[<A
    -HREF="$IDXFNAME$#$MSGNUM$">Date Index</A>][<A
    -HREF="$TIDXFNAME$#$MSGNUM$">Thread Index</A>]
    +<hr>
    +$BUTTON(PREV)$$BUTTON(NEXT)$$BUTTON(TPREV)$$BUTTON(TNEXT)$[<a
    +href="$IDXFNAME$#$MSGNUM$">Date Index</a>][<a
    +href="$TIDXFNAME$#$MSGNUM$">Thread Index</a>]
     </TopLinks>
     
    @@ -121,11 +120,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -240,6 +239,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -263,12 +266,12 @@

    Examples

     <TopLinks>
    -<HR>
    -$BUTTON(PREV)$$BUTTON(NEXT)$$BUTTON(TPREV)$$BUTTON(TNEXT)$<A
    -HREF="$IDXFNAME$#$MSGNUM$"><IMG
    -SRC="dateidx.gif" ALT="[Date Index]"></A><A
    -HREF="$TIDXFNAME$#$MSGNUM$"><IMG
    -SRC="thrdidx.gif" ALT="[Thread Index]"></A>]
    +<hr>
    +$BUTTON(PREV)$$BUTTON(NEXT)$$BUTTON(TPREV)$$BUTTON(TNEXT)$<a
    +href="$IDXFNAME$#$MSGNUM$"><img
    +src="dateidx.png" alt="[Date Index]"></a><a
    +href="$TIDXFNAME$#$MSGNUM$"><img
    +src="thrdidx.png" alt="[Thread Index]"></a>]
     </TopLinks>
     
    @@ -296,11 +299,16 @@

    See Also


    + + +
    [Prev: TNEXTTOPLINKIA][Resources][TOC][Next: TPREVBUTTON]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tprevbutton.html b/doc/resources/tprevbutton.html index 39138eb..8a33619 100644 --- a/doc/resources/tprevbutton.html +++ b/doc/resources/tprevbutton.html @@ -4,11 +4,10 @@ MHonArc Resources: TPREVBUTTON - -
    -MHonArc Resource List -
    - + + +
    [Prev: TOPLINKS][Resources][TOC][Next: TPREVBUTTONIA]
    +

    TPREVBUTTON

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TPREVBUTTON>
    markup ...
    </TPREVBUTTON>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -55,7 +54,7 @@

    Default Setting

     <TPrevButton chop>
    -[<A HREF="$MSG(TPREV)$">Thread Prev</A>]
    +[<a href="$MSG(TPREV)$">Thread Prev</a>]
     </TPrevButton>
     
    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -255,7 +258,7 @@

    Examples

     <TPrevButton chop>
    -<A HREF="$MSG(TPREV)$"><IMG SRC="tprev.gif" ALT="[Thread Prev]"></A>
    +<a href="$MSG(TPREV)$"><img src="tprev.png" alt="[Thread Prev]"></a>
     </TPrevButton>
     
    @@ -279,11 +282,16 @@

    See Also


    + + +
    [Prev: TOPLINKS][Resources][TOC][Next: TPREVBUTTONIA]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tprevbuttonia.html b/doc/resources/tprevbuttonia.html index 99c985b..30ccaf8 100644 --- a/doc/resources/tprevbuttonia.html +++ b/doc/resources/tprevbuttonia.html @@ -4,11 +4,10 @@ MHonArc Resources: TPREVBUTTONIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: TPREVBUTTON][Resources][TOC][Next: TPREVINBUTTON]
    +

    TPREVBUTTONIA

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <TPREVBUTTONIA>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -255,7 +258,7 @@

    Examples

     <TPrevButtonIA chop>
    -<IMG SRC="tprevia.gif" ALT="[Thread Prev]">
    +<img src="tprevia.png" alt="[Thread Prev]">
     </TPrevButtonIA>
     
    @@ -279,11 +282,16 @@

    See Also


    + + +
    [Prev: TPREVBUTTON][Resources][TOC][Next: TPREVINBUTTON]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tprevinbutton.html b/doc/resources/tprevinbutton.html new file mode 100644 index 0000000..a651a35 --- /dev/null +++ b/doc/resources/tprevinbutton.html @@ -0,0 +1,300 @@ + + + +MHonArc Resources: TPREVINBUTTON + + + + +
    [Prev: TPREVBUTTONIA][Resources][TOC][Next: TPREVINBUTTONIA]
    + +
    +

    TPREVINBUTTON

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TPREVINBUTTON>
    +markup
    +</TPREVINBUTTON>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TPREVINBUTTON defines the replacement markup for the +resource variable $BUTTON(TPREVIN)$ when there exists +a previous message from the current message within a discussion thread. +See +TPREVINBUTTONIA +for the replacement markup used with there is no previoud message. +

    +

    TPREVINBUTTON differs from +TPREVBUTTON in that it does +not cross discussion thread boundaries. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$MSG(TPREVIN)$">Prev in Thread</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TNEXTBUTTON, +TNEXTINBUTTON, +TNEXTINLINK, +TNEXTTOPBUTTON, +TOPLINKS, +TPREVBUTTON, +TPREVINBUTTONIA, +TPREVTOPBUTTON +

    + + +
    + + +
    [Prev: TPREVBUTTONIA][Resources][TOC][Next: TPREVINBUTTONIA]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tprevinbuttonia.html b/doc/resources/tprevinbuttonia.html new file mode 100644 index 0000000..a19c6a1 --- /dev/null +++ b/doc/resources/tprevinbuttonia.html @@ -0,0 +1,289 @@ + + + +MHonArc Resources: TPREVINBUTTONIA + + + + +
    [Prev: TPREVINBUTTON][Resources][TOC][Next: TPREVINLINK]
    + +
    +

    TPREVINBUTTONIA

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TPREVINBUTTONIA>
    +markup
    +</TPREVINBUTTONIA>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TPREVINBUTTONIA defines the replacement markup for the +resource variable $BUTTON(TPREVIN)$ when there is no +previous message from the current message within a discussion thread. +See +TPREVINBUTTON +for the replacement markup used with there is a previous message. +

    + + +
    +

    Default Setting

    + +
    +[Prev in Thread]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TPREVINBUTTON +

    + + +
    + + +
    [Prev: TPREVINBUTTON][Resources][TOC][Next: TPREVINLINK]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tprevinlink.html b/doc/resources/tprevinlink.html new file mode 100644 index 0000000..120dd84 --- /dev/null +++ b/doc/resources/tprevinlink.html @@ -0,0 +1,302 @@ + + + +MHonArc Resources: TPREVINLINK + + + + +
    [Prev: TPREVINBUTTONIA][Resources][TOC][Next: TPREVINLINKIA]
    + +
    +

    TPREVINLINK

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TPREVINLINK>
    +markup
    +</TPREVINLINK>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TPREVINLINK defines the replacement markup for the +resource variable $LINK(TPREVIN)$ when there exists +a previous message from the current message within a discussion thread. +See +TPREVINLINKIA +for the replacement markup used with there is no previoud message. +

    +

    TPREVINLINK differs from +TPREVLINK in that it does +not cross discussion thread boundaries. +

    + + +
    +

    Default Setting

    + +
    +<li>Previous in thread:
    +<strong><a href="$MSG(TPREVIN)$">$SUBJECT(TPREVIN)$</a></strong>
    +</li>
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +BOTLINKS, +TNEXTBUTTON, +TNEXTINLINK, +TNEXTTOPBUTTON, +TPREVBUTTON, +TPREVINBUTTON, +TPREVINLINKIA, +TPREVTOPBUTTON +

    + + +
    + + +
    [Prev: TPREVINBUTTONIA][Resources][TOC][Next: TPREVINLINKIA]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tprevinlinkia.html b/doc/resources/tprevinlinkia.html new file mode 100644 index 0000000..2918c36 --- /dev/null +++ b/doc/resources/tprevinlinkia.html @@ -0,0 +1,288 @@ + + + +MHonArc Resources: TPREVINLINKIA + + + + +
    [Prev: TPREVINLINK][Resources][TOC][Next: TPREVLINK]
    + +
    +

    TPREVINLINKIA

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TPREVINLINKIA>
    +markup
    +</TPREVINLINKIA>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TPREVINLINKIA defines the replacement markup for the +resource variable $LINK(TPREVIN)$ when there is no +previous message from the current message within a discussion thread. +See +TPREVINLINK +for the replacement markup used with there is a previoud message. +

    + + +
    +

    Default Setting

    + +

    Nil. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TPREVINLINK +

    + + +
    + + +
    [Prev: TPREVINLINK][Resources][TOC][Next: TPREVLINK]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tprevlink.html b/doc/resources/tprevlink.html index 0c41df0..7204679 100644 --- a/doc/resources/tprevlink.html +++ b/doc/resources/tprevlink.html @@ -4,11 +4,10 @@ MHonArc Resources: TPREVLINK - -
    -MHonArc Resource List -
    - + + +
    [Prev: TPREVINLINKIA][Resources][TOC][Next: TPREVLINKIA]
    +

    TPREVLINK

    @@ -18,12 +17,12 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    +
    Element

    <TPREVLINK>
    markup ...
    @@ -31,7 +30,7 @@

    Syntax

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -61,9 +60,9 @@

    Default Setting

     <TPrevLink>
    -<LI>Prev by Thread:
    -<STRONG><A HREF="$MSG(TPREV)$">$SUBJECT(TPREV)$</A></STRONG>
    -</LI>
    +<li>Previous by Thread:
    +<strong><a href="$MSG(TPREV)$">$SUBJECT(TPREV)$</a></strong>
    +</li>
     </TPrevLink>
     
    @@ -121,11 +120,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -240,6 +239,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -263,10 +266,10 @@

    Examples

     <TPrevLink>
    -<LI>Prev by Thread:
    -<STRONG><A HREF="$MSG(TPREV)$">$SUBJECT(TPREV)$</A></STRONG>,
    -<EM>$FROMNAME(TPREV)$</EM>
    -</LI>
    +<li>Prev by Thread:
    +<strong><a href="$MSG(TPREV)$">$SUBJECT(TPREV)$</a></strong>,
    +<em>$FROMNAME(TPREV)$</em>
    +</li>
     </TPrevLink>
     
    @@ -290,11 +293,16 @@

    See Also


    + + +
    [Prev: TPREVINLINKIA][Resources][TOC][Next: TPREVLINKIA]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tprevlinkia.html b/doc/resources/tprevlinkia.html index 7980947..a1bce9b 100644 --- a/doc/resources/tprevlinkia.html +++ b/doc/resources/tprevlinkia.html @@ -4,11 +4,10 @@ MHonArc Resources: TPREVLINKIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: TPREVLINK][Resources][TOC][Next: TPREVPGLINK]
    +

    TPREVLINKIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TPREVLINKIA>
    markup ...
    </TPREVLINKIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -113,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -232,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -272,11 +275,16 @@

    See Also


    + + +
    [Prev: TPREVLINK][Resources][TOC][Next: TPREVPGLINK]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tprevpglink.html b/doc/resources/tprevpglink.html index c11653d..a4b3659 100644 --- a/doc/resources/tprevpglink.html +++ b/doc/resources/tprevpglink.html @@ -4,11 +4,10 @@ MHonArc Resources: TPREVPGLINK - -
    -MHonArc Resource List -
    - + + +
    [Prev: TPREVLINKIA][Resources][TOC][Next: TPREVPGLINKIA]
    +

    TPREVPGLINK

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TPREVPGLINK>
    markup ...
    </TPREVPGLINK>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -59,7 +58,7 @@

    Default Setting

     <TPrevPgLink chop>
    -[<A HREF="$PG(TPREV)$">Prev Page</A>]
    +[<a href="$PG(TPREV)$">Prev Page</a>]
     </TPrevPgLink>
     
    @@ -177,11 +176,16 @@

    See Also


    + + +
    [Prev: TPREVLINKIA][Resources][TOC][Next: TPREVPGLINKIA]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tprevpglinkia.html b/doc/resources/tprevpglinkia.html index 2ca1c06..633a29c 100644 --- a/doc/resources/tprevpglinkia.html +++ b/doc/resources/tprevpglinkia.html @@ -4,11 +4,10 @@ MHonArc Resources: TPREVPGLINKIA - -
    -MHonArc Resource List -
    - + + +
    [Prev: TPREVPGLINK][Resources][TOC][Next: TPREVTOPBUTTON]
    +

    TPREVPGLINKIA

    @@ -18,20 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    +

    Element
    +

    <TPREVPGLINKIA>
    markup ...
    </TPREVPGLINKIA>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -177,11 +176,16 @@

    See Also


    + + +
    [Prev: TPREVPGLINK][Resources][TOC][Next: TPREVTOPBUTTON]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tprevtopbutton.html b/doc/resources/tprevtopbutton.html new file mode 100644 index 0000000..cc3c72e --- /dev/null +++ b/doc/resources/tprevtopbutton.html @@ -0,0 +1,296 @@ + + + +MHonArc Resources: TPREVTOPBUTTON + + + + +
    [Prev: TPREVPGLINKIA][Resources][TOC][Next: TPREVTOPBUTTONIA]
    + +
    +

    TPREVTOPBUTTON

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TPREVTOPBUTTON>
    +markup
    +</TPREVTOPBUTTON>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TPREVTOPBUTTON defines the replacement markup for the resource +variable $BUTTON(TPREVTOP)$: button markup for first message +in the previous discussion thread. See +TPREVTOPBUTTONIA +for the replace markup used when there is no previous discussion thread. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$MSG(TPREVTOP)$">Prev Thread</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    + +TNEXTBUTTON, +TNEXTINBUTTONIA, +TNEXTINLINK, +TNEXTTOPBUTTON, +TPREVBUTTON, +TPREVINBUTTON, +TPREVTOPBUTTONIA + +

    + + +
    + + +
    [Prev: TPREVPGLINKIA][Resources][TOC][Next: TPREVTOPBUTTONIA]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tprevtopbuttonia.html b/doc/resources/tprevtopbuttonia.html new file mode 100644 index 0000000..2b92901 --- /dev/null +++ b/doc/resources/tprevtopbuttonia.html @@ -0,0 +1,288 @@ + + + +MHonArc Resources: TPREVTOPBUTTONIA + + + + +
    [Prev: TPREVTOPBUTTON][Resources][TOC][Next: TPREVTOPLINK]
    + +
    +

    TPREVTOPBUTTONIA

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TPREVTOPBUTTONIA>
    +markup
    +</TPREVTOPBUTTONIA>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TPREVTOPBUTTONIA defines the replacement markup for the resource +variable $BUTTON(TPREVTOP)$ when there is no previous discussion +thread. +See TPREVTOPBUTTON +for the replacement markup used when there is a previous discussion thread. +

    + + +
    +

    Default Setting

    + +
    +[Next Thread]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TPREVTOPBUTTON +

    + + +
    + + +
    [Prev: TPREVTOPBUTTON][Resources][TOC][Next: TPREVTOPLINK]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tprevtoplink.html b/doc/resources/tprevtoplink.html new file mode 100644 index 0000000..1028c28 --- /dev/null +++ b/doc/resources/tprevtoplink.html @@ -0,0 +1,297 @@ + + + +MHonArc Resources: TPREVTOPLINK + + + + +
    [Prev: TPREVTOPBUTTONIA][Resources][TOC][Next: TPREVTOPLINKIA]
    + +
    +

    TPREVTOPLINK

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TPREVTOPLINK>
    +markup
    +</TPREVTOPLINK>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TPREVTOPLINK defines the replacement markup for the resource +variable $LINK(TPREVTOP)$: link markup for first message +in the previous discussion thread. See +TPREVTOPLINKIA +for the replace markup used when there is no previous discussion thread. +

    + + +
    +

    Default Setting

    + +
    +[<a href="$MSG(TPREVTOP)$">Prev Thread</a>]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    + +TNEXTLINK, +TNEXTINLINKIA, +TNEXTINLINK, +TNEXTTOPLINK, +TPREVLINK, +TPREVINLINK, +TPREVTOPBUTTON, +TPREVTOPLINKIA + +

    + + +
    + + +
    [Prev: TPREVTOPBUTTONIA][Resources][TOC][Next: TPREVTOPLINKIA]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tprevtoplinkia.html b/doc/resources/tprevtoplinkia.html new file mode 100644 index 0000000..288b526 --- /dev/null +++ b/doc/resources/tprevtoplinkia.html @@ -0,0 +1,288 @@ + + + +MHonArc Resources: TPREVTOPLINKIA + + + + +
    [Prev: TPREVTOPLINK][Resources][TOC][Next: TREVERSE]
    + +
    +

    TPREVTOPLINKIA

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    +<TPREVTOPLINKIA>
    +markup
    +</TPREVTOPLINKIA>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    TPREVTOPLINKIA defines the replacement markup for the resource +variable $LINK(TPREVTOP)$ when there is no previous discussion +thread. +See TPREVTOPLINK +for the replacement markup used when there is a previous discussion thread. +

    + + +
    +

    Default Setting

    + +
    +[Next Thread]
    +
    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TPREVTOPLINK +

    + + +
    + + +
    [Prev: TPREVTOPLINK][Resources][TOC][Next: TREVERSE]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/treverse.html b/doc/resources/treverse.html index 3634e14..1506e50 100644 --- a/doc/resources/treverse.html +++ b/doc/resources/treverse.html @@ -4,11 +4,10 @@ MHonArc Resources: TREVERSE - -
    -MHonArc Resource List -
    - + + +
    [Prev: TPREVTOPLINKIA][Resources][TOC][Next: TSINGLETXT]
    +

    TREVERSE

    @@ -18,15 +17,14 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_TREVERSE=[ 0 | 1 ]

    Element(s)
    -


    - +

    <TREVERSE>
    <NOTREVERSE>
    @@ -34,8 +32,7 @@

    Syntax

    Command-line Option(s)
    -


    --treverse
    +

    -treverse
    -notreverse

    @@ -95,11 +92,16 @@

    See Also


    + + +
    [Prev: TPREVTOPLINKIA][Resources][TOC][Next: TSINGLETXT]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tsingletxt.html b/doc/resources/tsingletxt.html index a0e5142..7077332 100644 --- a/doc/resources/tsingletxt.html +++ b/doc/resources/tsingletxt.html @@ -4,11 +4,10 @@ MHonArc Resources: TSINGLETXT - -
    -MHonArc Resource List -
    - + + +
    [Prev: TREVERSE][Resources][TOC][Next: TSLICE]
    +

    TSINGLETXT

    @@ -18,20 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    -<TSINGLETXT>
    +

    Element
    +

    <TSINGLETXT>
    markup ...
    </TSINGLETXT>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -61,8 +59,8 @@

    Default Setting

     <TSingleTxt>
    -<LI><STRONG>$SUBJECT$</STRONG>,
    -<EM>$FROMNAME$</EM>
    +<li><strong>$SUBJECT$</strong>,
    +<em>$FROMNAME$</em>
     </TSingleTxt>
     
    @@ -120,11 +118,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $MMDDYYYY$ @@ -175,6 +173,10 @@

    Resource Variables

    The subject text of the message without the anchor element. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $YYYYMMDD$ Message date in yyyy/mm/dd format. @@ -205,11 +207,16 @@

    See Also


    + + +
    [Prev: TREVERSE][Resources][TOC][Next: TSLICE]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tslice.html b/doc/resources/tslice.html index 9ddd1d8..493782c 100644 --- a/doc/resources/tslice.html +++ b/doc/resources/tslice.html @@ -4,11 +4,10 @@ MHonArc Resources: TSLICE - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSINGLETXT][Resources][TOC][Next: TSLICEBEG]
    +

    TSLICE

    @@ -18,23 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    -M2H_TSLICE=number:number +M2H_TSLICE=number:number:inclusive-flag

    -
    Element
    -


    -<TSLICE>
    -number:number
    +

    Element
    +

    <TSLICE>
    +number:number:inclusive-flag
    </TSLICE>

    -
    Command-line Option
    -

    --tslice number:number +

    Command-line Option
    +

    -tslice number:number:inclusive-flag

    @@ -44,21 +41,58 @@

    Syntax


    Description

    -

    TSLICE sets the size of the thread listing "slice" (ie. a portion -of the complete thread listing) when the -$TSLICE$ resource variable is used. The value -of the TSLICE resource is two numbers separated by a colon. +

    TSLICE sets the default argument values for the the +$TSLICE$ +resource variable: the thread listing +"slice" (ie. a portion of the complete thread listing). +The value of the TSLICE resource is two numbers and an inclusive flag, +where each value is separated by a colon. The first number is the number of messages listed before the current message in the thread slice. The second number is the number of messages listed after the current message. +The inclusive flag is either a 1 or +0. If 1, $TSLICE$ +will only include in the thread listing messages in the same thread +as the current thread. If 0, $TSLICE$ will +include messages in neighboring threads if before and/or after count +extend beyond the current thread. If the inclusive flag is not +set, then 0 will be used. +

    +

    The default values can be overridden by providing different +values as arguments to +$TSLICE$.

    + + + + + +
    NOTE

    The value of the TSLICE +resource is used to determine the number of messages to update, +before and after by thread, when a new message is added. To +insure that messages within a thread slice are updated when +a new message is added, make sure the before and after ranges +specified for TSLICE is +equal to maximum before and the maximum after range arguments +specifed in the uses of the +$TSLICE$ resource +variable. For example, if you have $TSLICE(0;4)$ and +$TSLICE(3;3)$ in message layout resources, you should +set TSLICE to 3:4. +

    +

    If you only use $TSLICE$ once, it is best to +set options for thread slice formatting via the +TSLICE resource so you will not have anything to worry about. +

    +
    +

    Default Setting

    -0:4
    +0:4:0
     
    @@ -76,13 +110,13 @@

    Examples

    current message. However, you may want to have the current message in the middle so the reader can see message that come before along with after the current message. The following causes the -previous two and next two messages to be listed, with the current -in the middle: +previous two and next two messages to be listed with the current +in the middle and only if the messages are part of the current thread:

     <TSlice>
    -2:2
    +2:2:1
     </TSlice>
     
    @@ -98,20 +132,46 @@

    Version

    See Also

    +$TSLICE$, TSLICEBEG, -TSLICEEND +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR


    + + +
    [Prev: TSINGLETXT][Resources][TOC][Next: TSLICEBEG]
    + +
    -00/10/28 11:13:12
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tslicebeg.html b/doc/resources/tslicebeg.html index 2014190..c216bf5 100644 --- a/doc/resources/tslicebeg.html +++ b/doc/resources/tslicebeg.html @@ -4,11 +4,10 @@ MHonArc Resources: TSLICEBEG - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSLICE][Resources][TOC][Next: TSLICECONTBEG]
    +

    TSLICEBEG

    @@ -18,20 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    -<TSLICEBEG>
    +

    Element
    +

    <TSLICEBEG>
    markup...
    </TSLICEBEG>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -48,16 +46,6 @@

    Description

    the THEAD resource. However, TSLICEBEG scope only covers the starting markup of the thread listing while THEAD will also includes the header markup for thread indexes. -Since the -TTOPBEGIN, -TLITXT, -TLIEND, -TSINGLETXT, -TSUBJECTBEG, -and -TTOPEND -resources are reused in thread slices, TSLICEBEG should normally -be equivalent to the thread listing start portion of THEAD.

    @@ -66,7 +54,7 @@

    Default Setting

     <TSliceBeg>
    -<BLOCKQUOTE><UL>
    +<blockquote><ul>
     </TSliceBeg>
     
    @@ -124,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -243,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -275,25 +267,46 @@

    Version

    See Also

    +$TSLICE$, +TSLICE, +TSLICECONTBEG, +TSLICECONTEND, TSLICEEND, -TTOPBEGIN, -TLITXT, -TLIEND, -TSINGLETXT, -TSUBJECTBEG, -TTOPEND +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR


    + + +
    [Prev: TSLICE][Resources][TOC][Next: TSLICECONTBEG]
    + +
    -00/10/28 11:13:12
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tslicecontbeg.html b/doc/resources/tslicecontbeg.html new file mode 100644 index 0000000..b556d77 --- /dev/null +++ b/doc/resources/tslicecontbeg.html @@ -0,0 +1,309 @@ + + + +MHonArc Resources: TSLICECONTBEG + + + + +
    [Prev: TSLICEBEG][Resources][TOC][Next: TSLICECONTEND]
    + +
    +

    TSLICECONTBEG

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICECONTBEG>
    +markup
    +</TSLICECONTBEG>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup before the continuation of a broken thread. +This resource functions the same as +TCONTBEGIN, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TCONTBEGIN resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR + +

    + + +
    + + +
    [Prev: TSLICEBEG][Resources][TOC][Next: TSLICECONTEND]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicecontend.html b/doc/resources/tslicecontend.html new file mode 100644 index 0000000..d2def01 --- /dev/null +++ b/doc/resources/tslicecontend.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICECONTEND + + + + +
    [Prev: TSLICECONTBEG][Resources][TOC][Next: TSLICEEND]
    + +
    +

    TSLICECONTEND

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICECONTEND>
    +markup
    +</TSLICECONTEND>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup after the continuation of a broken thread. +This resource functions the same as +TCONTEND, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TCONTEND resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICECONTBEG][Resources][TOC][Next: TSLICEEND]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tsliceend.html b/doc/resources/tsliceend.html index 0871e7a..0660458 100644 --- a/doc/resources/tsliceend.html +++ b/doc/resources/tsliceend.html @@ -4,11 +4,10 @@ MHonArc Resources: TSLICEEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSLICECONTEND][Resources][TOC][Next: TSLICEINDENTBEG]
    +

    TSLICEEND

    @@ -18,20 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    -<TSLICEEND>
    +

    Element
    +

    <TSLICEEND>
    markup...
    </TSLICEEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -48,16 +46,6 @@

    Description

    the TFOOT resource. However, TSLICEEND scope only covers the end markup of the thread listing while TFOOT will also includes the footer markup for thread indexes. -Since the -TTOPBEGIN, -TLITXT, -TLIEND, -TSINGLETXT, -TSUBJECTBEG, -and -TTOPEND -resources are reused in thread slices, TSLICEEND should normally -be equivalent to the thread listing end portion of TFOOT.

    @@ -65,9 +53,9 @@

    Description

    Default Setting

    -<TSliceBeg>
    -</UL></BLOCKQUOTE>
    -</TSliceBeg>
    +<TSliceEnd>
    +</ul></blockquote>
    +</TSliceEnd>
     
    @@ -124,11 +112,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $IDXFNAME$ @@ -243,6 +231,10 @@

    Resource Variables

    Title of thread index. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $TSLICE$ A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource. @@ -275,25 +267,46 @@

    Version

    See Also

    +$TSLICE$, +TSLICE, TSLICEBEG, -TTOPBEGIN, -TLITXT, -TLIEND, -TSINGLETXT, -TSUBJECTBEG, -TTOPEND +TSLICECONTBEG, +TSLICECONTEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR


    + + +
    [Prev: TSLICECONTEND][Resources][TOC][Next: TSLICEINDENTBEG]
    + +
    -00/10/28 11:13:12
    - - + +MHonArc
    -Copyright © 1998-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tsliceindentbeg.html b/doc/resources/tsliceindentbeg.html new file mode 100644 index 0000000..9509218 --- /dev/null +++ b/doc/resources/tsliceindentbeg.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICEINDENTBEG + + + + +
    [Prev: TSLICEEND][Resources][TOC][Next: TSLICEINDENTEND]
    + +
    +

    TSLICEINDENTBEG

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICEINDENTBEG>
    +markup
    +</TSLICEINDENTBEG>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup for opening a level when continuing a broken thread. +This resource functions the same as +TINDENTBEG, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TINDENTBEG resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICEEND][Resources][TOC][Next: TSLICEINDENTEND]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tsliceindentend.html b/doc/resources/tsliceindentend.html new file mode 100644 index 0000000..6fc1304 --- /dev/null +++ b/doc/resources/tsliceindentend.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICEINDENTEND + + + + +
    [Prev: TSLICEINDENTBEG][Resources][TOC][Next: TSLICELEVELS]
    + +
    +

    TSLICEINDENTEND

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICEINDENTEND>
    +markup
    +</TSLICEINDENTEND>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup for closing a level when continuing a broken thread. +This resource functions the same as +TINDENTEND, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TINDENTEND resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICEINDENTBEG][Resources][TOC][Next: TSLICELEVELS]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicelevels.html b/doc/resources/tslicelevels.html new file mode 100644 index 0000000..73a5799 --- /dev/null +++ b/doc/resources/tslicelevels.html @@ -0,0 +1,105 @@ + + + +MHonArc Resources: TSLICELEVELS + + + + +
    [Prev: TSLICEINDENTEND][Resources][TOC][Next: TSLICELIEND]
    + +
    +

    TSLICELEVELS

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    +M2H_TSLICELEVELS=number +

    +
    + +
    Element
    +

    <TSLICELEVELS>
    +number
    +</TSLICELEVELS>
    +

    +
    + +
    Command-line Option
    +

    -tslicelevels number +

    +
    + +
    + + +
    +

    Description

    + +

    TSLICELEVELS defines the maximum number of nested listings in thread +slices. Any threads that go over TSLICELEVELS in depth are flattened to +the value of TSLICELEVELS. This resource is helpful in preventing huge +indentations in deep threads which may cause text to be squished on the +right-side of an HTML viewer. +

    + + +
    +

    Default Setting

    + +

    Value of TLEVELS. +

    + + +
    +

    Resource Variables

    + +

    N/A +

    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +TLEVELS, +TSLICE +

    + + +
    + + +
    [Prev: TSLICEINDENTEND][Resources][TOC][Next: TSLICELIEND]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tsliceliend.html b/doc/resources/tsliceliend.html new file mode 100644 index 0000000..a472de8 --- /dev/null +++ b/doc/resources/tsliceliend.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICELIEND + + + + +
    [Prev: TSLICELEVELS][Resources][TOC][Next: TSLICELIENDCUR]
    + +
    +

    TSLICELIEND

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICELIEND>
    +markup
    +</TSLICELIEND>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Ending markup for a thread slice message listing. +This resource functions the same as +TLIEND, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TLIEND resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICELEVELS][Resources][TOC][Next: TSLICELIENDCUR]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tsliceliendcur.html b/doc/resources/tsliceliendcur.html new file mode 100644 index 0000000..4ff70f1 --- /dev/null +++ b/doc/resources/tsliceliendcur.html @@ -0,0 +1,307 @@ + + + +MHonArc Resources: TSLICELIENDCUR + + + + +
    [Prev: TSLICELIEND][Resources][TOC][Next: TSLICELINONE]
    + +
    +

    TSLICELIENDCUR

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICELIENDCUR>
    +markup
    +</TSLICELIENDCUR>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Ending markup for a thread slice message listing if current message. +This resource is applied over +TSLICELIEND if the message listing +being rendered for a thread slice is the current message. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSLICELIEND resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR + + +


    + + +
    [Prev: TSLICELIEND][Resources][TOC][Next: TSLICELINONE]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicelinone.html b/doc/resources/tslicelinone.html new file mode 100644 index 0000000..f8ce73a --- /dev/null +++ b/doc/resources/tslicelinone.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICELINONE + + + + +
    [Prev: TSLICELIENDCUR][Resources][TOC][Next: TSLICELINONEEND]
    + +
    +

    TSLICELINONE

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICELINONE>
    +markup
    +</TSLICELINONE>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup for a missing message in thread slice. +This resource functions the same as +TLINONE, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TLINONE resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICELIENDCUR][Resources][TOC][Next: TSLICELINONEEND]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicelinoneend.html b/doc/resources/tslicelinoneend.html new file mode 100644 index 0000000..9d34dd0 --- /dev/null +++ b/doc/resources/tslicelinoneend.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICELINONEEND + + + + +
    [Prev: TSLICELINONE][Resources][TOC][Next: TSLICELITXT]
    + +
    +

    TSLICELINONEEND

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICELINONEEND>
    +markup
    +</TSLICELINONEEND>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Ending markup for a missing message in thread slice. +This resource functions the same as +TLINNONEEND, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TLINNONEEND resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICELINONE][Resources][TOC][Next: TSLICELITXT]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicelitxt.html b/doc/resources/tslicelitxt.html new file mode 100644 index 0000000..7d19d1d --- /dev/null +++ b/doc/resources/tslicelitxt.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICELITXT + + + + +
    [Prev: TSLICELINONEEND][Resources][TOC][Next: TSLICELITXTCUR]
    + +
    +

    TSLICELITXT

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICELITXT>
    +markup
    +</TSLICELITXT>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Markup for a thread slice message listing. +This resource functions the same as +TLITXT, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TLITXT resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICELINONEEND][Resources][TOC][Next: TSLICELITXTCUR]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicelitxtcur.html b/doc/resources/tslicelitxtcur.html new file mode 100644 index 0000000..bf48b27 --- /dev/null +++ b/doc/resources/tslicelitxtcur.html @@ -0,0 +1,309 @@ + + + +MHonArc Resources: TSLICELITXTCUR + + + + +
    [Prev: TSLICELITXT][Resources][TOC][Next: TSLICESINGLETXT]
    + +
    +

    TSLICELITXTCUR

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICELITXTCUR>
    +markup
    +</TSLICELITXTCUR>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Markup for a thread slice message listing if current message. +This resource is used instead of +TSLICELITXT if rendering the current +message in a thread slice. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSLICELITXT resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    See TSLICETOPBEGCUR for +a usage example of this resource. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICELITXT][Resources][TOC][Next: TSLICESINGLETXT]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicesingletxt.html b/doc/resources/tslicesingletxt.html new file mode 100644 index 0000000..7fd517d --- /dev/null +++ b/doc/resources/tslicesingletxt.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICESINGLETXT + + + + +
    [Prev: TSLICELITXTCUR][Resources][TOC][Next: TSLICESINGLETXTCUR]
    + +
    +

    TSLICESINGLETXT

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICESINGLETXT>
    +markup
    +</TSLICESINGLETXT>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Markup for a thread slice listing with no follow-ups. +This resource functions the same as +TSINGLETXT, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSINGLETXT resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICELITXTCUR][Resources][TOC][Next: TSLICESINGLETXTCUR]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicesingletxtcur.html b/doc/resources/tslicesingletxtcur.html new file mode 100644 index 0000000..51cbd8c --- /dev/null +++ b/doc/resources/tslicesingletxtcur.html @@ -0,0 +1,309 @@ + + + +MHonArc Resources: TSLICESINGLETXTCUR + + + + +
    [Prev: TSLICESINGLETXT][Resources][TOC][Next: TSLICESUBJECTBEG]
    + +
    +

    TSLICESINGLETXTCUR

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICESINGLETXTCUR>
    +markup
    +</TSLICESINGLETXTCUR>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Markup for a thread slice message listing if current message. +This resource is used instead of +TSLICESINGLETXT if rendering +current message. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSLICESINGLETXT resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    See TSLICETOPBEGCUR for +a usage example of this resource. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICESINGLETXT][Resources][TOC][Next: TSLICESUBJECTBEG]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicesubjectbeg.html b/doc/resources/tslicesubjectbeg.html new file mode 100644 index 0000000..80a474c --- /dev/null +++ b/doc/resources/tslicesubjectbeg.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICESUBJECTBEG + + + + +
    [Prev: TSLICESINGLETXTCUR][Resources][TOC][Next: TSLICESUBJECTEND]
    + +
    +

    TSLICESUBJECTBEG

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICESUBJECTBEG>
    +markup
    +</TSLICESUBJECTBEG>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Markup before a subject based thread slice listing. +This resource functions the same as +TSUBJECTBEG, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSUBJECTBEG resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICESINGLETXTCUR][Resources][TOC][Next: TSLICESUBJECTEND]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicesubjectend.html b/doc/resources/tslicesubjectend.html new file mode 100644 index 0000000..6cd24ba --- /dev/null +++ b/doc/resources/tslicesubjectend.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICESUBJECTEND + + + + +
    [Prev: TSLICESUBJECTBEG][Resources][TOC][Next: TSLICESUBLISTBEG]
    + +
    +

    TSLICESUBJECTEND

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICESUBJECTEND>
    +markup
    +</TSLICESUBJECTEND>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Markup after a subject based thread slice listing. +This resource functions the same as +TSUBJECTEND, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSUBJECTEND resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICESUBJECTBEG][Resources][TOC][Next: TSLICESUBLISTBEG]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicesublistbeg.html b/doc/resources/tslicesublistbeg.html new file mode 100644 index 0000000..88b29e8 --- /dev/null +++ b/doc/resources/tslicesublistbeg.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICESUBLISTBEG + + + + +
    [Prev: TSLICESUBJECTEND][Resources][TOC][Next: TSLICESUBLISTEND]
    + +
    +

    TSLICESUBLISTBEG

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICESUBLISTBEG>
    +markup
    +</TSLICESUBLISTBEG>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup for starting a sub-thread. +This resource functions the same as +TSUBLISTBEG, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSUBLISTBEG resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICESUBJECTEND][Resources][TOC][Next: TSLICESUBLISTEND]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicesublistend.html b/doc/resources/tslicesublistend.html new file mode 100644 index 0000000..43b8fce --- /dev/null +++ b/doc/resources/tslicesublistend.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICESUBLISTEND + + + + +
    [Prev: TSLICESUBLISTBEG][Resources][TOC][Next: TSLICETOPBEG]
    + +
    +

    TSLICESUBLISTEND

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICESUBLISTEND>
    +markup
    +</TSLICESUBLISTEND>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup for ending a sub-thread. +This resource functions the same as +TSUBLISTEND, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSUBLISTEND resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICESUBLISTBEG][Resources][TOC][Next: TSLICETOPBEG]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicetopbeg.html b/doc/resources/tslicetopbeg.html new file mode 100644 index 0000000..f7bada8 --- /dev/null +++ b/doc/resources/tslicetopbeg.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICETOPBEG + + + + +
    [Prev: TSLICESUBLISTEND][Resources][TOC][Next: TSLICETOPBEGCUR]
    + +
    +

    TSLICETOPBEG

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICETOPBEG>
    +markup
    +</TSLICETOPBEG>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup for the root/start of a thread. +This resource functions the same as +TTOPBEG, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TTOPBEG resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEGCUR, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICESUBLISTEND][Resources][TOC][Next: TSLICETOPBEGCUR]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicetopbegcur.html b/doc/resources/tslicetopbegcur.html new file mode 100644 index 0000000..8585d4c --- /dev/null +++ b/doc/resources/tslicetopbegcur.html @@ -0,0 +1,329 @@ + + + +MHonArc Resources: TSLICETOPBEGCUR + + + + +
    [Prev: TSLICETOPBEG][Resources][TOC][Next: TSLICETOPEND]
    + +
    +

    TSLICETOPBEGCUR

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICETOPBEGCUR>
    +markup
    +</TSLICETOPBEGCUR>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup for the root/start of a thread if current message. +This resource is used instead of +TSLICETOPBEG if rendering the +current message. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSLICETOPBEG resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    The various TSLICE*CUR resource +allow you to provide a different rendering style for the current +message in a thread slice. For example, if the default layout +settings are being used for rendering thread slices, the following +resource settings can be used to have the current message show +up in grey within a thread slice: +

    +
    +<TSliceTopBeginCur>
    +<li><font color="#666666"><strong>$SUBJECTNA$</strong>,
    +<em>$FROMNAME$</em></font>&nbsp;<b>&lt;=</b>
    +</TSliceTopBeginCur>
    +
    +<TSliceLiTxtCur>
    +<li><font color="#666666"><strong>$SUBJECTNA$</strong>,
    +<em>$FROMNAME$</em></font>&nbsp;<b>&lt;=</b>
    +</TSliceLiTxtCur>
    +
    +<TSliceSingleTxtCur>
    +<li><font color="#666666"><strong>$SUBJECTNA$</strong>,
    +<em>$FROMNAME$</em></font>&nbsp;<b>&lt;=</b>
    +</TSliceSingleTxtCur>
    +
    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPEND, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICETOPBEG][Resources][TOC][Next: TSLICETOPEND]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicetopend.html b/doc/resources/tslicetopend.html new file mode 100644 index 0000000..f57f4f5 --- /dev/null +++ b/doc/resources/tslicetopend.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICETOPEND + + + + +
    [Prev: TSLICETOPBEGCUR][Resources][TOC][Next: TSLICETOPENDCUR]
    + +
    +

    TSLICETOPEND

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICETOPEND>
    +markup
    +</TSLICETOPEND>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup for the end of a thread. +This resource functions the same as +TTOPEND, but applies for thread +slice rendering for the $TSLICE$ resource variable. +

    + + +
    +

    Default Setting

    + +

    The value of the +TTOPEND resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPENDCUR +

    + + +
    + + +
    [Prev: TSLICETOPBEGCUR][Resources][TOC][Next: TSLICETOPENDCUR]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tslicetopendcur.html b/doc/resources/tslicetopendcur.html new file mode 100644 index 0000000..1f46551 --- /dev/null +++ b/doc/resources/tslicetopendcur.html @@ -0,0 +1,308 @@ + + + +MHonArc Resources: TSLICETOPENDCUR + + + + +
    [Prev: TSLICETOPEND][Resources][TOC][Next: TSORT]
    + +
    +

    TSLICETOPENDCUR

    + + +
    +

    Syntax

    + +
    + +
    Envariable
    +

    N/A +

    +
    + +
    Element
    +

    <TSLICETOPENDCUR>
    +markup
    +</TSLICETOPENDCUR>
    +

    +
    + +
    Command-line Option
    +

    N/A +

    +
    + +
    + + +
    +

    Description

    + +

    Thread slice markup for the end of a thread if current message. +This resource functions is used instead of +TSLICETOPEND if rendering the +current message. +

    + + +
    +

    Default Setting

    + +

    The value of the +TSLICETOPEND resource. +

    + + +
    +

    Resource Variables

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    $BUTTON$Button markup linking to a message.
    $DATE$The date of the message.
    $DDMMYYYY$Message date in dd/mm/yyyy format.
    $DOCURL$URL to documentation.
    $ENV$Value of an environment variable.
    $FROM$The complete text in the From: field of the message.
    $FROMADDR$The e-mail address in the From: field of the message.
    $FROMADDRDOMAIN$The e-mail address domain of the From: field of the message.
    $FROMADDRNAME$The e-mail address "username" (or local-part) of the From: field of the message.
    $FROMNAME$The human name of the person in the From: field of the message. If no human name is found, the username specified in the e-mail address is used.
    $GMTDATE$Current GMT date.
    $ICON$The context-type sensitive icon.
    $ICONURL$The URL to the context-type sensitive icon.
    $IDXFNAME$Filename of main index page.
    $IDXLABEL$Label for main index page.
    $IDXPREFIX$Prefix of filenames of main index pages.
    $IDXSIZE$Max number of messages that may be listed in index page.
    $IDXTITLE$The title of the main index page.
    $LINK$Link markup linking to a message.
    $LOCALDATE$Current local date.
    $MMDDYYYY$Message date in mm/dd/yyyy format.
    $MSG$Filename of message.
    $MSGGMTDATE$GMT date of current message.
    $MSGID$The message-id of the message.
    $MSGLOCALDATE$Local date of current message.
    $MSGNUM$The message number assigned to the message by MHonArc (includes leading zeros).
    $MSGPREFIX$Filename prefix for message files.
    $MSGTORDNUM$The ordinal message number of the current discussion thread.
    $NOTE$Message annotation.
    $NUMFOLUP$Number of explicit follow-ups to the message.
    $NUMOFMSG$Number of messages in the archive.
    $NUMOFPAGES$Number of index pages.
    $ORDNUM$The current listing number of the message.
    $OUTDIR$Pathname of archive.
    $PROG$Program name
    $SUBJECT$The subject text of the message, and if no arguments, wrapped in an anchor element that hyperlinks to the message.
    $SUBJECTNA$The subject text of the message without the anchor element.
    $TIDXFNAME$Filename of thread index page.
    $TIDXLABEL$Label for thread index page.
    $TIDXPREFIX$Prefix of filenames of thread index pages.
    $TIDXTITLE$Title of thread index.
    $TLEVEL$Numeric level of message in thread, starting with 0.
    $TSLICE$A slice of the thread listing relative to the current message. Size of slice determined by the TSLICE resource.
    $VERSION$Program version.
    $YYYYMMDD$Message date in yyyy/mm/dd format.
    + + +
    +

    Examples

    + +

    None. +

    + + +
    +

    Version

    + +

    2.5.0 +

    + + +
    +

    See Also

    + +

    +$TSLICE$, +TSLICE, +TSLICEBEG, +TSLICECONTBEG, +TSLICECONTEND, +TSLICEEND, +TSLICEINDENTBEG, +TSLICEINDENTEND, +TSLICELIEND, +TSLICELIENDCUR, +TSLICELINONE, +TSLICELINONEEND, +TSLICELITXT, +TSLICELITXTCUR, +TSLICESINGLETXT, +TSLICESINGLETXTCUR, +TSLICESUBJECTBEG, +TSLICESUBJECTEND, +TSLICESUBLISTBEG, +TSLICESUBLISTEND, +TSLICETOPBEG, +TSLICETOPBEGCUR, +TSLICETOPEND, +

    + + +
    + + +
    [Prev: TSLICETOPEND][Resources][TOC][Next: TSORT]
    + +
    +
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 2001, Earl Hood, mhonarc@mhonarc.org
    +
    + + + diff --git a/doc/resources/tsort.html b/doc/resources/tsort.html index f6b95d0..6939291 100644 --- a/doc/resources/tsort.html +++ b/doc/resources/tsort.html @@ -4,35 +4,33 @@ MHonArc Resources: TSORT - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSLICETOPENDCUR][Resources][TOC][Next: TSUBJECTBEG]
    +

    TSORT

    +

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_TSORT=[ 0 | 1 ]

    Element(s)
    -


    -<TSORT>
    +

    <TSORT>
    <NOTSORT>

    Command-line Option(s)
    -


    --tsort
    +

    -tsort
    -notsort

    @@ -40,6 +38,7 @@

    Syntax

    +

    Description

    TSORT determines if MHonArc sorts threads be date, or by @@ -48,30 +47,35 @@

    Description

    +

    Default Setting

    On

    +

    Resource Variables

    N/A

    +

    Examples

    None.

    +

    Version

    2.1.0

    +

    See Also

    @@ -82,14 +86,19 @@

    See Also


    + + +
    [Prev: TSLICETOPENDCUR][Resources][TOC][Next: TSUBJECTBEG]
    + +
    -00/10/28 11:13:10
    - - + +MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tsubjectbeg.html b/doc/resources/tsubjectbeg.html index dbb63c8..3585087 100644 --- a/doc/resources/tsubjectbeg.html +++ b/doc/resources/tsubjectbeg.html @@ -4,11 +4,10 @@ MHonArc Resources: TSUBJECTBEG - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSORT][Resources][TOC][Next: TSUBJECTEND]
    +

    TSUBJECTBEG

    @@ -18,20 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    -<TSUBJECTBEG>
    +

    Element
    +

    <TSUBJECTBEG>
    markup ...
    </TSUBJECTBEG>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -55,7 +53,7 @@

    Default Setting

     <TSubjectBeg>
    -<LI>&lt;Possible follow-up(s)&gt;</LI>
    +<li>&lt;Possible follow-up(s)&gt;</li>
     </TSubjectBeg>
     
    @@ -104,11 +102,16 @@

    See Also


    + + +
    [Prev: TSORT][Resources][TOC][Next: TSUBJECTEND]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tsubjectend.html b/doc/resources/tsubjectend.html index 352af67..1764c97 100644 --- a/doc/resources/tsubjectend.html +++ b/doc/resources/tsubjectend.html @@ -4,11 +4,10 @@ MHonArc Resources: TSUBJECTEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSUBJECTBEG][Resources][TOC][Next: TSUBLISTBEG]
    +

    TSUBJECTEND

    @@ -18,20 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    -<TSUBJECTEND>
    +

    Element
    +

    <TSUBJECTEND>
    markup ...
    </TSUBJECTEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -87,11 +85,16 @@

    See Also


    + + +
    [Prev: TSUBJECTBEG][Resources][TOC][Next: TSUBLISTBEG]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tsublistbeg.html b/doc/resources/tsublistbeg.html index f4ceb2a..90c1ed1 100644 --- a/doc/resources/tsublistbeg.html +++ b/doc/resources/tsublistbeg.html @@ -4,11 +4,10 @@ MHonArc Resources: TSUBLISTBEG - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSUBJECTEND][Resources][TOC][Next: TSUBLISTEND]
    +

    TSUBLISTBEG

    @@ -18,20 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    -<TSUBLISTBEG>
    +

    Element
    +

    <TSUBLISTBEG>
    markup ...
    </TSUBLISTBEG>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -52,7 +50,7 @@

    Default Setting

     <TSubListBeg>
    -<UL>
    +<ul>
     </TSubListBeg>
     
    @@ -170,11 +168,16 @@

    See Also


    + + +
    [Prev: TSUBJECTEND][Resources][TOC][Next: TSUBLISTEND]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tsublistend.html b/doc/resources/tsublistend.html index a089244..77618ee 100644 --- a/doc/resources/tsublistend.html +++ b/doc/resources/tsublistend.html @@ -4,11 +4,10 @@ MHonArc Resources: TSUBLISTEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSUBLISTBEG][Resources][TOC][Next: TSUBSORT]
    +

    TSUBLISTEND

    @@ -18,20 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    -<TSUBLISTEND>
    +

    Element
    +

    <TSUBLISTEND>
    markup ...
    </TSUBLISTEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -52,7 +50,7 @@

    Default Setting

     <TSubListEnd>
    -</UL>
    +</ul>
     </TSubListEnd>
     
    @@ -90,11 +88,16 @@

    See Also


    + + +
    [Prev: TSUBLISTBEG][Resources][TOC][Next: TSUBSORT]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/tsubsort.html b/doc/resources/tsubsort.html index 5d6018d..2378fa3 100644 --- a/doc/resources/tsubsort.html +++ b/doc/resources/tsubsort.html @@ -4,11 +4,10 @@ MHonArc Resources: TSUBSORT - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSUBLISTEND][Resources][TOC][Next: TTITLE]
    +

    TSUBSORT

    @@ -18,22 +17,20 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_TSUBSORT=[ 0 | 1 ]

    Element(s)
    -


    -<TSUBSORT>
    +

    <TSUBSORT>
    <NOTSUBSORT>

    Command-line Option(s)
    -


    --tsubsort
    +

    -tsubsort
    -notsubsort

    @@ -88,14 +85,19 @@

    See Also


    + + +
    [Prev: TSUBLISTEND][Resources][TOC][Next: TTITLE]
    + +
    -00/10/28 11:13:12
    - - + +MHonArc
    -Copyright © 1997-1999, Earl Hood, mhonarc@pobox.com
    +Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/ttitle.html b/doc/resources/ttitle.html index 500648f..7d4980e 100644 --- a/doc/resources/ttitle.html +++ b/doc/resources/ttitle.html @@ -4,11 +4,10 @@ MHonArc Resources: TTITLE - -
    -MHonArc Resource List -
    - + + +
    [Prev: TSUBSORT][Resources][TOC][Next: TTOPBEGIN]
    +

    TTITLE

    @@ -18,23 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_TTITLE=string

    -
    Element
    -


    -<TTITLE>
    +

    Element
    +

    <TTITLE>
    string
    </TTITLE>

    -
    Command-line Option
    -

    --ttitle string +

    Command-line Option
    +

    -ttitle string

    @@ -97,11 +94,16 @@

    See Also


    + + +
    [Prev: TSUBSORT][Resources][TOC][Next: TTOPBEGIN]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/ttopbegin.html b/doc/resources/ttopbegin.html index 15ab4e0..9bf0516 100644 --- a/doc/resources/ttopbegin.html +++ b/doc/resources/ttopbegin.html @@ -4,11 +4,10 @@ MHonArc Resources: TTOPBEGIN - -
    -MHonArc Resource List -
    - + + +
    [Prev: TTITLE][Resources][TOC][Next: TTOPEND]
    +

    TTOPBEGIN

    @@ -18,20 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    -<TTOPBEGIN>
    +

    Element
    +

    <TTOPBEGIN>
    markup ...
    </TTOPBEGIN>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -53,8 +51,8 @@

    Default Setting

     <TTopBegin>
    -<LI><STRONG>$SUBJECT$</STRONG>,
    -<EM>$FROMNAME$</EM>
    +<li><strong>$SUBJECT$</strong>,
    +<em>$FROMNAME$</em>
     </TTopBegin>
     
    @@ -112,11 +110,11 @@

    Resource Variables

    $ICON$ -The context-type sensistive icon. +The context-type sensitive icon. $ICONURL$ -The URL to the context-type sensistive icon. +The URL to the context-type sensitive icon. $MMDDYYYY$ @@ -167,6 +165,10 @@

    Resource Variables

    The subject text of the message without the anchor element. +$TLEVEL$ +Numeric level of message in thread, starting with 0. + + $YYYYMMDD$ Message date in yyyy/mm/dd format. @@ -194,45 +196,45 @@

    Examples

     <!--    TTOPBEGIN is the markup for the beginning of a thread, and the
             first message in a thread.
    -  -->
    +  -->
     <TTOPBEGIN>
    -<p>
    -<li><a $A_NAME$><strong>$SUBJECTNA$</strong></a><br>
    -<a $A_HREF$>$FROMNAME$</a>
    +<p>
    +<li><a $A_NAME$><strong>$SUBJECTNA$</strong></a><br>
    +<a $A_HREF$>$FROMNAME$</a>
     </TTOPBEGIN>
      
     <!--    TTOPEND is the markup for closing a main thread.
    -  -->
    +  -->
     <TTOPEND>
    -</li>
    -</p>
    +</li>
    +</p>
     </TTOPEND>
      
     <!--    TLITXT is the markup for a message *within* a thread
    -  -->
    +  -->
     <TLITXT>
    -<li><a $A_ATTR$>$FROMNAME$</a>
    +<li><a $A_ATTR$>$FROMNAME$</a>
     </TLITXT>
      
     <TLIEND>
    -</li>
    +</li>
     </TLIEND>
      
     <!--    TSINGLETXT is the markup for a message not in a thread.  I.e.
             it does not start a thread or is part of a thread.
    -  -->
    +  -->
     <TSINGLETXT>
    -<li><a $A_NAME$>$SUBJECTNA$</a>,
    -<a $A_HREF$>$FROMNAME$</a>
    -</li>
    +<li><a $A_NAME$>$SUBJECTNA$</a>,
    +<a $A_HREF$>$FROMNAME$</a>
    +</li>
     </TSINGLETXT>
      
     <!--    TSUBJECTBEG is any markup at the beginning of a sub-thread that
             is based on the subject of the message.  We just put in a
     	comment declaration so the reader will see nothing.
    -  -->
    +  -->
     <TSUBJECTBEG>
    -<!-- Possible follow-ups -->
    +<!-- Possible follow-ups -->
     </TSUBJECTBEG>
     
    @@ -264,11 +266,16 @@

    See Also


    + + +
    [Prev: TTITLE][Resources][TOC][Next: TTOPEND]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/ttopend.html b/doc/resources/ttopend.html index 398d98b..3cb4915 100644 --- a/doc/resources/ttopend.html +++ b/doc/resources/ttopend.html @@ -4,11 +4,10 @@ MHonArc Resources: TTOPEND - -
    -MHonArc Resource List -
    - + + +
    [Prev: TTOPBEGIN][Resources][TOC][Next: UMASK]
    +

    TTOPEND

    @@ -18,20 +17,19 @@

    Syntax

    -
    Envariable
    +
    Envariable

    N/A

    -
    Element
    -


    -<TTOPEND>
    +

    Element
    +

    <TTOPEND>
    markup ...
    </TTOPEND>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -51,7 +49,7 @@

    Default Setting

     <TTopEnd>
    -</LI>
    +</li>
     </TTopEnd>
     
    @@ -89,11 +87,16 @@

    See Also


    + + +
    [Prev: TTOPBEGIN][Resources][TOC][Next: UMASK]
    + +
    -00/10/28 11:13:12
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/umask.html b/doc/resources/umask.html index 24cbae5..b6b954d 100644 --- a/doc/resources/umask.html +++ b/doc/resources/umask.html @@ -4,11 +4,10 @@ MHonArc Resources: UMASK - -
    -MHonArc Resource List -
    - + + +
    [Prev: TTOPEND][Resources][TOC][Next: USELOCALTIME]
    +

    UMASK

    @@ -18,23 +17,21 @@

    Syntax

    -
    Envariable
    +
    Envariable

    M2H_UMASK=umask

    -
    Element
    -


    -<UMASK>
    +

    Element
    +

    <UMASK>
    umask
    </UMASK>

    -
    Command-line Option
    -

    --umask umask +

    Command-line Option
    +

    -umask umask

    @@ -74,7 +71,7 @@

    Examples

    -    % mhonarc -umask 022  ...
    +    shell> mhonarc -umask 022  ...
     
    @@ -93,11 +90,16 @@

    See Also


    + + +
    [Prev: TTOPEND][Resources][TOC][Next: USELOCALTIME]
    + +
    -00/10/28 11:13:11
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/uselocaltime.html b/doc/resources/uselocaltime.html index 1b26ff5..06e0d06 100644 --- a/doc/resources/uselocaltime.html +++ b/doc/resources/uselocaltime.html @@ -4,11 +4,10 @@ MHonArc Resources: USELOCALTIME - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: UMASK][Resources][TOC][Next: USINGLASTPG]
    +

    USELOCALTIME

    @@ -18,20 +17,18 @@

    Syntax

    -
    Envariable
    -

    -M2H_USELOCALTIME= [ 0 | 1 ] +

    Envariable
    +

    M2H_USELOCALTIME= [ 0 | 1 ]

    -
    Element
    -


    -<USELOCALTIME>
    +

    Element
    +

    <USELOCALTIME>
    <NOUSELOCALTIME>

    -
    Command-line Option
    +
    Command-line Option

    N/A

    @@ -97,14 +94,19 @@

    See Also


    + + +
    [Prev: UMASK][Resources][TOC][Next: USINGLASTPG]
    + +
    -00/10/28 11:13:12
    - - + +MHonArc
    -Copyright © 1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/usinglastpg.html b/doc/resources/usinglastpg.html index cbb7f21..8ba25f3 100644 --- a/doc/resources/usinglastpg.html +++ b/doc/resources/usinglastpg.html @@ -4,28 +4,26 @@ MHonArc Resources: USINGLASTPG - -
    -MHonArc Resource List -
    - + + +
    [Prev: USELOCALTIME][Resources][TOC][Next: VARREGEX]
    +

    USINGLASTPG

    +

    Syntax

    -
    Envariable
    -

    -M2H_USINGLASTPG= [ 0 | 1 ] +

    Envariable
    +

    M2H_USINGLASTPG= [ 0 | 1 ]

    Element(s)
    -


    -<USINGLASTPG>
    +

    <USINGLASTPG>
    <NOUSINGLASTPG>

    @@ -38,6 +36,7 @@

    Syntax

    +

    Description

    USINGLASTPG is a boolean resource to tell MHonArc if the @@ -60,30 +59,35 @@

    Description

    +

    Default Setting

    1

    +

    Resource Variables

    N/A

    +

    Examples

    None.

    +

    Version

    2.1.2

    +

    See Also

    MULTIPG @@ -91,14 +95,19 @@

    See Also


    + + +
    [Prev: USELOCALTIME][Resources][TOC][Next: VARREGEX]
    + +
    -00/10/28 11:13:13
    - - + +MHonArc
    -Copyright © 1998, Earl Hood, mhonarc@pobox.com
    +Copyright © 1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/varregex.html b/doc/resources/varregex.html index ba73ec0..d4c8a3d 100644 --- a/doc/resources/varregex.html +++ b/doc/resources/varregex.html @@ -4,11 +4,10 @@ MHonArc Resources: VARREGEX - -
    -MHonArc Resource List
    -
    - + + +
    [Prev: USINGLASTPG][Resources][TOC][Next: WEEKDAYS]
    +

    VARREGEX

    @@ -18,23 +17,20 @@

    Syntax

    -
    Envariable
    -

    -M2H_VARREGEX=Perl-regex +

    Envariable
    +

    M2H_VARREGEX=Perl-regex

    -
    Element
    -


    -<VARREGEX>
    +

    Element
    +

    <VARREGEX>
    Perl-regex
    </VARREGEX>

    -
    Command-line Option
    -


    --varregex Perl-regex +

    Command-line Option
    +

    -varregex Perl-regex

    @@ -49,9 +45,19 @@

    Description

    define a back reference that contains the name of the resource variable and its arguments surround by parentheses.

    -

    Do not mess with this resource unless you know what you are -doing. + + + + + +
    WARNING

    DO NOT MESS WITH THIS RESOURCE UNLESS YOU KNOW WHAT YOU ARE +DOING. If not set properly, page output can become munged. +One symptom of a bad VARREGEX setting is the occurrence of numerous +'$' characters in generated pages. Make sure to test +your VARREGEX setting before using it with production archives.

    +
    +


    @@ -97,14 +103,19 @@

    See Also


    + + +
    [Prev: USINGLASTPG][Resources][TOC][Next: WEEKDAYS]
    + +
    -00/10/28 11:13:13
    - - + +MHonArc
    -Copyright © 2000, Earl Hood, mhonarc@pobox.com
    +Copyright © 2000, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/weekdays.html b/doc/resources/weekdays.html index 7eca089..75e4509 100644 --- a/doc/resources/weekdays.html +++ b/doc/resources/weekdays.html @@ -4,11 +4,10 @@ MHonArc Resources: WEEKDAYS - -
    -MHonArc Resource List -
    - + + +
    [Prev: VARREGEX][Resources][TOC][Next: WEEKDAYSABR]
    +

    WEEKDAYS

    @@ -18,17 +17,15 @@

    Syntax

    -
    Envariable
    -

    -M2H_WEEKDAYS=day1:Envariable +

    M2H_WEEKDAYS=day1:day2:...:day7

    -
    Element
    -


    -<WEEKDAYS>
    +

    Element
    +

    <WEEKDAYS>
    day1:day2:...:day7
    @@ -36,9 +33,8 @@

    Syntax

    -
    Command-line Option
    -

    --weekdays day1:Command-line Option +

    -weekdays day1:day2:...:day7

    @@ -102,11 +98,16 @@

    See Also


    + + +
    [Prev: VARREGEX][Resources][TOC][Next: WEEKDAYSABR]
    + +
    -00/10/28 11:13:13
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/resources/weekdaysabr.html b/doc/resources/weekdaysabr.html index 109ee93..e078a86 100644 --- a/doc/resources/weekdaysabr.html +++ b/doc/resources/weekdaysabr.html @@ -4,11 +4,11 @@ MHonArc Resources: WEEKDAYSABR - -
    -MHonArc Resource List -
    - + + +
    [Prev: WEEKDAYS][Resources][TOC]  +
    +

    WEEKDAYSABR

    @@ -18,17 +18,15 @@

    Syntax

    -
    Envariable
    -

    -M2H_WEEKDAYSABR=day1:Envariable +

    M2H_WEEKDAYSABR=day1:day2:...:day7

    -
    Element
    -


    -<WEEKDAYSABR>
    +

    Element
    +

    <WEEKDAYSABR>
    day1:day2:...:day7
    @@ -36,9 +34,8 @@

    Syntax

    -
    Command-line Option
    -

    --weekdaysabr day1:Command-line Option +

    -weekdaysabr day1:day2:...:day7

    @@ -103,11 +100,17 @@

    See Also


    + + +
    [Prev: WEEKDAYS][Resources][TOC]  +
    + +
    -00/10/28 11:13:13
    - -MHonArc
    -Copyright © 1997-1998, Earl Hood, mhonarc@pobox.com
    +$Date: 2002/07/27 05:13:11 $
    + +MHonArc
    +Copyright © 1997-1998, Earl Hood, mhonarc@mhonarc.org
    diff --git a/doc/stampwb2.gif b/doc/stampwb2.gif deleted file mode 100644 index 83408d496c31a5ffb3065ed55005564fb03791e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29570 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 EKSvo7#Q*>R diff --git a/doc/up.png b/doc/up.png new file mode 100644 index 0000000000000000000000000000000000000000..cce379b9b26ae96b3afcd4b2a5635d52e8fd3167 GIT binary patch literal 799 zcmV+)1K|9LP)!bnaz5wU70Og$k0N0TK*Kz>WwE)$M z0Mn}g(`x|HW&qHI0MBdy&Zz;)oB+yS0Lfwi$A|*OssP2QXvLxd!dw8rs&&410KA$2 zyk!8iUjVU;0I^*Oux0?Qivz4_0j6;-rB48)aTTLt0HKHgpI8W;cmSME0GV$*lwuB& zRs@ec0EkvAgEatxSO$Pj3w>lnb4)O5Q#xir17)HIIB5-)*RE0004ANklil1Kt8J&uZlE~f_QxLKm|ob z@%R-K7e^=KkWWvCC@9Xyp+6m{0%!$D33l@#3W|YB3gdCe!%fJK$D#nJB04lAA*!gT zAh$R=g#j3*icTRO)(8itr$_jxYCCzw6&Ds1M=JuQy^K|yJ)rVnkQ`|uXKU>iTTonB zT&&9&YqmpRE&B?-MY0H42ASZ~mR6^f9)z?s#wbTVAbwC3u#?{Wi2>7u;v`ccaRJFdH9m1MEn92~GOW1y + + +mha-dbedit - make database edits to a MHonArc archive + + + + + + +
    + mha-dbedit - make database edits to a MHonArc archive +
    + +

    + + + + + +
    +

    +

    +

    NAME

    +

    mha-dbedit - make database edits to a MHonArc archive

    +

    +

    +
    +

    SYNOPSIS

    +

    mha-dbedit [options]

    +

    +

    +
    +

    DESCRIPTION

    +

    mha-dbedit is a utility program that is part of the MHonArc +software package. The program allows archive database edits to be +made without causing HTML pages to be touched.

    +

    The documentation for MHonArc is distributed in HTML format. +Due to its size and organization, it is not suited for manpage +format. Consult your system administrator for where the documentation +has been installed, or see AVAILABILITY on where you can +access the documentation on the web.

    +

    +

    +
    +

    EXAMPLE

    +

    Typical usage:

    +
    +  shell> mha-dbedit -rcfile res.mrc -outdir /path/to/archive
    +

    +

    +
    +

    AVAILABILITY

    +

    <http://www.mhonarc.org/>

    +

    +

    +
    +

    AUTHOR

    +

    Earl Hood, mhonarc@mhonarc.org

    + + +
    + mha-dbedit - make database edits to a MHonArc archive +
    + + + + diff --git a/doc/utils/mha-dbrecover.html b/doc/utils/mha-dbrecover.html new file mode 100644 index 0000000..f3b16c4 --- /dev/null +++ b/doc/utils/mha-dbrecover.html @@ -0,0 +1,104 @@ + + + +mha-dbrecover - rebuild a MHonArc archive database + + + + + + +
    + mha-dbrecover - rebuild a MHonArc archive database +
    + +

    + + + + + +
    +

    +

    +

    NAME

    +

    mha-dbrecover - rebuild a MHonArc archive database

    +

    +

    +
    +

    SYNOPSIS

    +

    mha-dbrecover [options]

    +

    +

    +
    +

    DESCRIPTION

    +

    mha-dbrecover is a utility program that is part of the MHonArc +software package. The program allows can be used to rebuild a +MHonArc archive database from the HTML message files. This allows +database recovery if the database gets corrupted or accidentally +deleted.

    +

    The documentation for MHonArc is distributed in HTML format. +Due to its size and organization, it is not suited for manpage +format. Consult your system administrator for where the documentation +has been installed, or see AVAILABILITY on where you can +access the documentation on the web.

    +

    +

    +
    +

    OPTIONS

    +

    mha-dbrecover takes all the options available to mhonarc along +with the following additional options:

    +
    +
    -dbr-startnum #
    +
    +
    +The starting message number to recover data from. This option is +useful if you have many message files in a directory, but you only +want to recover a subset of the files. +
    +
    +

    If this option is not specified, the starting number is 0.

    +
    +

    +
    -dbr-endnum #
    +
    +
    +The ending message number to recover data from. This option is +useful if you have many message files in a directory, but you only +want to recover a subset of the files. +
    +
    +

    If this option is not specified, all messages starting from +-dbr-startnum will be recovered.

    +
    +

    +

    NOTE: Only a subset of the options available to mhonarc +are actually supported since many options are not applicable for +recovering operations.

    +

    +

    +
    +

    AVAILABILITY

    +

    <http://www.mhonarc.org/>

    +

    +

    +
    +

    AUTHOR

    +

    Earl Hood, mhonarc@mhonarc.org

    + + +
    + mha-dbrecover - rebuild a MHonArc archive database +
    + + + + diff --git a/doc/utils/mha-decode.html b/doc/utils/mha-decode.html new file mode 100644 index 0000000..6dc08cc --- /dev/null +++ b/doc/utils/mha-decode.html @@ -0,0 +1,107 @@ + + + +mha-decode - Decode MIME messages + + + + + + +
    + mha-decode - Decode MIME messages +
    + +

    + + + + + +
    +

    +

    +

    NAME

    +

    mha-decode - Decode MIME messages

    +

    +

    +
    +

    SYNOPSIS

    +

    mha-decode [optionsmailfolder ...

    +

    mha-decode [options] -single msg.822

    +

    +

    +
    +

    DESCRIPTION

    +

    mha-decode is a utility program that is part of the MHonArc +software package. mha-decode provides basic MIME decoding for +mail messages.

    +

    If given mail folders as input, all messages within in the mail +folders will be decoded. All message parts are written to files. If a +filename is specified for a message part, that filename will be used +when writing the part to a file. If no filename is specified in the +message, a unique name will be used based upon the content-type of +the message part.

    +

    A single message can be decoded by using the -single option.

    +

    +

    +
    +

    OPTIONS

    +

    mha-decode takes options available to mhonarc, but only those +options affect parsing of mail folders are applicable: +-conlen, +-mhpattern, +-msgsep, +-noconlen, +-outdir, +-perlinc, +-rcfile, +-single, +-umask.

    +

    Also, mha-decode supports the following additional options:

    +
    +
    -dcd-digest
    +
    +
    +Run in message digest mode. When this option is specified, any +embedded message/rfc822 and message/news parts will be saved +instead of recursively decoding any parts contained within. +
    +

    +

    +

    +
    +

    NOTES

    +

    The documentation for MHonArc is distributed in HTML format. +Due to its size and organization, it is not suited for manpage +format. Consult your system administrator for where the documentation +has been installed, or see AVAILABILITY on where you can +access the documentation on the web.

    +

    +

    +
    +

    AVAILABILITY

    +

    <http://www.mhonarc.org/>

    +

    +

    +
    +

    AUTHOR

    +

    Earl Hood, mhonarc@mhonarc.org

    + + +
    + mha-decode - Decode MIME messages +
    + + + + diff --git a/etc/rules.mk b/etc/rules.mk new file mode 100644 index 0000000..765d432 --- /dev/null +++ b/etc/rules.mk @@ -0,0 +1,37 @@ +# $Id: rules.mk,v 1.3 2002/05/02 01:23:45 ehood Exp $ +##-----------------------------------------------------------------------## +## Common rules +##-----------------------------------------------------------------------## + +ifeq ($(_rules_mk),) +_rules_mk:=1 + +.PHONY: perlsyntax make_subdirs + +## Check syntax of perl source. +perl_syntax: $(PERL_FILES) + +## Individual rules for each source file +$(PERL_FILES): _perl_force + $(V)PERL5LIB="$(PERL_SEARCH_LIBS)" $(PERL) -c $@ + +## Rules to invoke make on specified sub-directories. +make_subdirs: $(SUBDIRS) + +$(SUBDIRS): _perl_force + @$(MAKE) -w -C $@ + + +## Bogus target to force execution of a rule +_perl_force: + +## Default pattern rules +%.pm: + PERL5LIB="$(PERL_SEARCH_LIBS)" $(PERL) -cw $@ + +%.pl: + PERL5LIB="$(PERL_SEARCH_LIBS)" $(PERL) -c $@ + + +endif +# NOTHING GOES BELOW THIS LINE diff --git a/etc/variables.mk b/etc/variables.mk new file mode 100644 index 0000000..8869c41 --- /dev/null +++ b/etc/variables.mk @@ -0,0 +1,61 @@ +# $Id: variables.mk,v 1.5 2002/05/28 05:24:41 ehood Exp $ +##-----------------------------------------------------------------------## +## Common variables +##-----------------------------------------------------------------------## + +ifeq ($(_variables_mk),) +_variables_mk:=1 + +## Programs +BZIP2 = /usr/bin/bzip2 +CHMOD = /bin/chmod +CP = /bin/cp +GZIP = /usr/bin/gzip +MKDIR = /bin/mkdir +MV = /bin/mv +PERL = /usr/local/bin/perl +RM = /bin/rm +TAR = /bin/tar +ZIP = zip + +## Path and pathname separators. +## NOTE: Unix pathname conventions should used when possible since +## Win32 systems do handle "/". However, PATHSEP should be +## be used since ":" under Win32 can be used in pathnames. +SEP = / +PATHSEP = : +ifneq ($(COMSPEC),) + # Win32 environment + SEP = \\ + PATHSEP = ; +endif + +## Path to projects releases root +ifeq ($(PROJECTS_RELEASES),) + PROJECTS_RELEASES = /mnt/WWW/customers/mhonarc.org/htdocs/release +endif + +## Set include search path +ifeq ($(PERL_SEARCH_LIBS),) + PERL_SEARCH_LIBS := $(TOP)/lib +endif + + +## List of perl files to check. If not set, default to all files +## ending with .pm and .pl. + +ifeq ($(PERL_PL_FILES),) + PERL_PL_FILES = $(strip $(wildcard *.pl)) +endif + +ifeq ($(PERL_PM_FILES),) + PERL_PM_FILES = $(strip $(wildcard *.pm)) +endif + +ifeq ($(PERL_FILES),) + PERL_FILES = $(PERL_PM_FILES) $(PERL_PL_FILES) +endif + + +endif +# NOTHING GOES BELOW THIS LINE diff --git a/examples/blog.mrc b/examples/blog.mrc new file mode 100644 index 0000000..10e03cf --- /dev/null +++ b/examples/blog.mrc @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + +index.shtml + + + + + + + +$IDXTITLE$ + + + +

    $IDXTITLE$

    +
    + + + + + + + + + + + + + + + + + + + + + + +$MSGID$ + + + + + + + + + + + + +

    $SUBJECTNA$

    +

    +Date: $MSGLOCALDATE$
    +From: $FROM$ +

    +
    + + + +

    + + + + + +: + + + + + +
    +
    + +

    + + + +in-reply-to +references + + + + + + + + + + + + + + + + + diff --git a/examples/date.mrc b/examples/date.mrc index c505ebe..983d089 100644 --- a/examples/date.mrc +++ b/examples/date.mrc @@ -1,6 +1,6 @@ - - - - + + -
    - - - + +
    + + + - +
    Last update: $LOCALDATE$
    $NUMOFMSG$ messages
    @@ -21,51 +26,73 @@ $NUMOFMSG$ messages

    Messages listed in chronological order. Listing format is the following:

    -* -Subject -(# of follow-ups) -From. +* +Subject From


    - + - - -* $SUBJECT:40$ -($NUMFOLUP$) $FROMNAME$
    -
    + +* $SUBJECT$ $FROMNAME$
    +
    + + - - + - + -default- subject:strong from:strong - + - + -default- subject:strong from:strong - + + + + +*/*;[20x22]/icons/generic.gif +application/*;[20x22]/icons/generic.gif +application/msword;[20x22]/icons/layout.gif +application/octet-stream;[20x22]/icons/binary.gif +application/pdf;[20x22]/icons/pdf.gif +application/postscript;[20x22]/icons/ps.gif +application/rtf;[20x22]/icons/layout.gif +application/x-csh;[20x22]/icons/script.gif +application/x-dvi;[20x22]/icons/dvi.gif +application/x-gtar;[20x22]/icons/tar.gif +application/x-gzip;[20x22]/icons/compressed.gif +application/x-ksh;[20x22]/icons/script.gif +application/x-latex;[20x22]/icons/tex.gif +application/x-patch;[20x22]/icons/patch.gif +application/x-script;[20x22]/icons/script.gif +application/x-sh;[20x22]/icons/script.gif +application/x-tar;[20x22]/icons/tar.gif +application/x-tex;[20x22]/icons/tex.gif +application/x-zip-compressed;[20x22]/icons/compressed.gif +application/zip;[20x22]/icons/compressed.gif +audio/*;[20x22]/icons/sound1.gif +chemical/*;[20x22]/icons/sphere2.gif +image/*;[20x22]/icons/image2.gif +message/external-body;[20x22]/icons/link.gif +multipart/*;[20x22]/icons/layout.gif +text/*;[20x22]/icons/text.gif +video/*;[20x22]/icons/movie.gif + - - -audio/basic:/icons/gsound.gif -image/gif:/icons/gimage.gif -image/jpeg:/icons/gimage.gif -image/tiff:/icons/ggraphic.gif -multipart/alternative:/icons/gmulti.gif -multipart/digest:/icons/gtext.gif -multipart/mixed:/icons/gdoc2.gif -multipart/parallel:/icons/gdoc.gif -text/enriched:/icons/gdoc.gif -text/html:/icons/gdoc.gif -text/plain:/icons/gletter.gif -unknown:/icons/gunknown.gif -video/mpeg:/icons/gmovie.gif - + +m2h_external::filter; useicon inline + diff --git a/examples/mha-preview b/examples/mha-preview new file mode 100755 index 0000000..a959a91 --- /dev/null +++ b/examples/mha-preview @@ -0,0 +1,266 @@ +#!/usr/local/bin/perl +##---------------------------------------------------------------------------## +## File: +## $Id: mha-preview,v 1.2 2002/05/03 20:52:43 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Custom MHonArc-based program that supports $X-MSG-PREVIEW$ +## resource variable using the callback API. +## +## Invoke program with -man option to see manpage. +##---------------------------------------------------------------------------## +## Copyright (C) 2002 Earl Hood, earl@earlhood.com +## This program is free software; you can redistribute it and/or modify +## it under the same terms as MHonArc itself. +##---------------------------------------------------------------------------## + +# Uncomment and modify the following if MHonArc libraries were not +# installed in a perl's site directory or in perl's normal search path. +#use lib qw(/path/to/mhonarc/libraries); + +package MHAPreview; + +use Getopt::Long; + +# Max size of preview text: This is the maximum amount that will be +# saved for each message. The resource variable length modifier can +# be used to always display less than max, but it is best to avoid +# doing that since it is a slow operation. We have a custom command-line +# option to set the max size if code change is not desired. +my $PreviewLen = 256; + +##-----------------------------------------------------------------------## +## Main Block +##-----------------------------------------------------------------------## + +MAIN: { + unshift(@INC, 'lib'); # Should I leave this line in? + + ## Grab options from @ARGV unique to this program + my %opts = ( ); + Getopt::Long::Configure('pass_through'); + GetOptions(\%opts, + 'prv-maxlen=i', + 'help', + 'man' + ); + usage(1) if $opts{'help'}; + usage(2) if $opts{'man'}; + + if ($opts{'prv-maxlen'} && ($opts{'prv-maxlen'} > 0)) { + $PreviewLen = $opts{'prv-maxlen'}; + } + + ## Reset pass-through of options + Getopt::Long::Configure('no_pass_through'); + + ## Initialize MHonArc + require 'mhamain.pl' || die qq/ERROR: Unable to require "mhamain.pl"\n/; + mhonarc::initialize(); + + ## Register callbacks for handling preview text + register_callbacks(); + + ## Process input. + mhonarc::process_input() ? exit(0) : exit($mhonarc::CODE); +} + +##-----------------------------------------------------------------------## +## Callback Functions +##-----------------------------------------------------------------------## + +sub register_callbacks { + $mhonarc::CBMessageBodyRead = \&msg_body_read; + $mhonarc::CBRcVarExpand = \&rc_var_expand; + $mhonarc::CBDbSave = \&db_save; +} + +sub msg_body_read { + my($fields, $html, $files) = @_; + my $mha_index = $fields->{'x-mha-index'}; + my $preview = extract_preview($html, $PreviewLen); + $X_MessagePreview{$mha_index} = $preview; +} + + +sub rc_var_expand { + my($mha_index, $var_name, $arg_str) = @_; + + # $X-MSG-PREVIEW(mesg_spec)$ + if ($var_name eq 'X-MSG-PREVIEW') { + # Use MHonArc function to support a mesg_spec argument + my ($lref, $key, $pos, $opt) = + mhonarc::compute_msg_pos($mha_index, $var_name, $arg_str); + return ($X_MessagePreview{$key}, 0, 1); + } + + # If we do not recognize $var_name, make sure to tell + # MHonArc we do not so it will try. + (undef, 0, 0); +} + + +sub db_save { + my($db_fh) = @_; + # Make sure variable is package qualified! + mhonarc::print_var($db_fh, 'MHAPreview::X_MessagePreview', + \%X_MessagePreview); +} + +##-----------------------------------------------------------------------## +## Support Functions +##-----------------------------------------------------------------------## + +sub extract_preview { + # Extracting the preview text of the message body is not as + # trivial as you may expect. We have to deal with HTML tags + # and entity references, but want to avoid the overhead of doing + # using a full-blown HTML parser. + + my $html = shift; # reference to HTML message body + my $prev_len = shift; # length of preview to extract + + my $text = ""; + my $html_len = length($$html); + my($pos, $sublen, $erlen, $real_len); + + for ( $pos=0, $sublen=$prev_len; $pos < $html_len; ) { + $text .= substr($$html, $pos, $sublen); + $pos += $sublen; + + # strip tags + $text =~ s/\A[^<]*>//; # clipped tag + $text =~ s/<[^>]*>//g; + $text =~ s/<[^>]*\Z//; # clipped tag + + # check for clipped entity reference + while (($pos < $html_len) && ($text =~ s/\&[^;]*\Z//)) { + $text .= substr($$html, $pos, 1); + ++$pos; + } + + # minimize whitespace + $text =~ s/\s+/ /g; + + # compute entity reference lengths to determine "real" character + # count and not raw character count. + $er_len = 0; + while ($text =~ /(\&[^;]+);/g) { + $er_len += length($1); + } + + # done if we have enough + $real_len = length($text)-$er_len; + if ($real_len >= $prev_len) { + if ($real_len < $html_len) { + $text .= '...'; + } + last; + } + + $sublen = $prev_len - (length($text)-$er_len); + } + + $text; +} + +sub usage { + require Pod::Usage; + my $verbose = shift; + if ($verbose == 0) { + Pod::Usage::pod2usage(-verbose => $verbose); + } else { + my $pager = $ENV{'PAGER'} || 'more'; + local(*PAGER); + my $fh = (-t STDOUT && open(PAGER, "|$pager")) ? \*PAGER : \*STDOUT; + Pod::Usage::pod2usage(-verbose => $verbose, + -output => $fh); + } + exit 0; +} + +##-----------------------------------------------------------------------## +__END__ + +=head1 NAME + +mha-preview - MHonArc front-end to support message preview variable + +=head1 SYNOPSIS + +S [I] [I]> + +=head1 DESCRIPTION + +B is an example program the utilizes MHonArc's callback +API to support the special resource variable C<$X-MSG-PREVIEW$>. +The C<$X-MSG-PREVIEW$> represents the initial text of a message body. +With this variable, index pages can contain be customized to give +a listing like some MUAs that provide a glimpse of the message body +in the mail listing of a mail folder. + +When extracting the preview text of the message body, all HTML tags +are removed and whitespace is compressed. + +B: If B is used for an archive, it should +always be used to process the archive. Otherwise, the message preview +data will be lost. + +=head1 OPTIONS + +B takes the same options available to B along +with the following additional options: + +=over + +=item C<-help> + +Print a usage summary of this program (this option overrides +B's C<-help> option). + +=item C<-man> + +Print the manpage for this program. + +=item C<-prv-maxlen> + +Maximum amount of characters of the message body to store for each +message. The default value is 256. + +=back + +=head1 NOTES + +=over + +=item * + +The functionality of this program could be placed into the +C library to avoid the need for this program and +to make it part of the locally installed B. This would +avoid the problem noted in the CAUTION mentioned +in the L. + +=item * + +The body preview resource variable may be worth putting into the +MHonArc code base directly. + +=back + +=head1 SEE ALSO + +mhonarc(1) + +=head1 LICENSE + +B comes with ABSOLUTELY NO WARRANTY and can be distributed +under the same terms as MHonArc itself. + +=head1 AUTHOR + +Earl Hood, earl@earlhood.com + +=cut + diff --git a/examples/mhasiteinit.pl b/examples/mhasiteinit.pl index bad0b10..6df19d8 100644 --- a/examples/mhasiteinit.pl +++ b/examples/mhasiteinit.pl @@ -1,31 +1,179 @@ #!/usr/local/bin/perl ##---------------------------------------------------------------------------## ## File: -## @(#) mhasiteinit.pl 1.1 99/08/11 23:21:53 +## $Id: mhasiteinit.pl,v 1.3 2002/03/14 15:30:57 ehood Exp $ ## Description: ## Site-specific initialization code for MHonArc. If used, it ## should be place in the MHonArc library directory as specified -## during initialization. The expressions in this file are -## executed everytime an archive is opened for processing. +## during initialization, or in a directory that perl checks +## when requiring libraries. +## +## >>> THE EXPRESSIONS IN THIS FILE ARE EXECUTED EVERYTIME AN +## >>> ARCHIVE IS OPENED FOR PROCESSING. ## ## Note, it is recommended to use a default resource file when -## at all possible. The file should only be used when a -## default resource file is not sufficient. +## possible. ##---------------------------------------------------------------------------## -## Set package to something other than "mhonarc" to protect ourselves -## from unintentially screwing with MHonArc's internals +## Set package to something other than "mhonarc" to protect ourselves +## from unintentionally screwing with MHonArc's internals package mhonarc_site_init; -## Uncomment the following to set the default LOCKMETHOD to flock. -## Flock is better than the directory file method if flock() is supported -## by your system. If using NFS mounted filesystems, make sure flock() -## under Perl works reliable over NFS. See the LOCKMETHOD resource -## page of the documentation for more information. +##--------------------------------------------------------------------------- +## Uncomment the following to set the default LOCKMETHOD to flock. +## Flock is better than the directory file method if flock() is supported +## by your system. If using NFS mounted filesystems, make sure flock() +## under Perl works reliable over NFS. See the LOCKMETHOD resource +## page of the documentation for more information. -#&mhonarc::set_lock_mode(&mhonarc::MHA_LOCK_MODE_DIR); +#&mhonarc::set_lock_mode(&mhonarc::MHA_LOCK_MODE_FLOCK); + +##--------------------------------------------------------------------------- +## Uncomment the following to set the callback function after a +## mail message header is read and before any other processing is done. +## Note, the function is called after any exclusion checks are +## performed by MHonArc. +## +## The function is invoked as follows: +## +## $boolean = &$mhonarc::CBMessageHeadRead( +## $fields_hash_ref, $raw_header_txt); +## +## Arguments: +## $fields_hash_ref +## Reference to hash containing parsed message header. Keys +## are the lowercase field names and the values are references +## to array contain the values for each field. If a field +## is only declared once in the header, the array will only +## contain one item. +## +## The hash also contains special keys represented the values +## MHonArc has extracted when parsing the message header. +## The values of these keys are regular scalars and NOT +## array references. The following summarizes the keys +## made available: +## +## x-mha-index +## The assigned index given to the message by MHonArc. +## x-mha-message-id +## The message-id MHonArc extracted. Note, if the +## message did not specified a message ID, MHonArc +## auto-generates one. +## x-mha-from +## Who MHonArc thinkgs the message is from. This value +## is controled by the FROMFIELDS resource. +## x-mha-subject +## The message subject. If no subject is defined, then +## the value is the empty string. +## x-mha-content-type +## The content-type of the message MHonArc will use for +## the message. +## +## $raw_header_txt +## The raw header data of the message. This data may be +## useful if pattern matches are desired against header +## data. +## +## Return Value: +## The return value is used by MHonArc to determine if the +## message should be excluded from any further processing. +## If the return value evaluates to true, then MHonArc will +## continue processing of the message. If the return value +## evaluates to false, the message will be excluded. +## +## Notes: +## . To distinquish between SINGLE operation mode and +## archive operation mode, you can check the $mhonarc::SINGLE +## variable. For example: +## +## if ($mhonarc::SINGLE) { +## # single message-based processing here +## } else { +## # archive-based processing here +## } +## +## . MHonArc resources exist that allow message exclusion +## capabilities: CHECKNOARCHIVE, EXPIREAGE, EXPIREDATE, +## and MSGEXCFILTER. If possible, use these resources +## to perform message exclusion filtering. + +#require 'head_routine.pl'; # make sure source of routine is loaded +#$mhonarc::CBMessageHeadRead = \&your_head_routine_name; + +##--------------------------------------------------------------------------- +## Uncomment the following to set the callback function after a +## mail message body has been read a converted. +## +## The function is invoked as follows: +## +## &$mhonarc::CBMessageBodyRead( +## $fields_hash_ref, $html_text_ref, $files_array_ref); +## +## Arguments: +## $fields_hash_ref +## Reference to hash containing parsed message header. The +## structure of this hash is the same as described for +## the $mhonarc::CBMessageHeadRead callback. +## +## $html_text_ref +## Reference to string contain the HTML markup for the +## body. Modifications to the referenced data will be +## reflected in the message page generated. Therefore, +## care should be observed when doing any modification. +## +## If MHonArc was unable to convert the body of the +## message, the following expression will evaluate to +## true: +## +## $$html_text_ref eq "" +## +## If this is the case, you could set the value +## of $$html_text_ref to something else to customize +## the warning text MHonArc uses in the message page +## written. +## +## $files_array_ref +## Reference to array of derived files when the body +## was converted. Each file is typically relative +## to $mhonarc::OUTDIR, unless it is a full pathname. +## the mhonarc::OSis_absolute_path($filename) can +## be used to determine if a file is an absolute +## pathname or not. Note, it is possible that a +## file could designate a directory; this indicates +## that the directory, and all files in the directory, +## are derived. +## +## Modifications to the array will affect the list +## of derived files MHonArc stores for the message. +## You can add files to the array if your routine +## creates files, but you can also delete items if +## your routine removes files; CAUTION: the HTML markup +## typically contains links to derived files so removing +## files could cause broken links unless $html_text_ref +## is modified to reflect the file deletions. +## +## Return Value: +## N/A +## +## Notes: +## . To distinquish between SINGLE operation mode and +## archive operation mode, you can check the $mhonarc::SINGLE +## variable. For example: +## +## if ($mhonarc::SINGLE) { +## # single message-based processing here +## } else { +## # archive-based processing here +## } +## +## . The $mhonarc::CBMessageBodyRead routine can be used +## to trigger automatic virus scanning of attachments. + +#require 'body_routine.pl'; # make sure source of routine is loaded +#$mhonarc::CBMessageBodyRead = \&your_body_routine_name; ##---------------------------------------------------------------------------## ## Make sure to return a true value for require(). +##---------------------------------------------------------------------------## 1; diff --git a/examples/mhonarc.vim b/examples/mhonarc.vim index 7848468..049069a 100644 --- a/examples/mhonarc.vim +++ b/examples/mhonarc.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: MHonArc Resource File " Maintainer: Earl Hood -" Last change: 01/06/10 17:47:56 +" Last change: $Date: 2002/07/27 05:13:13 $ " Adapted from the following: " Language: HTML @@ -56,7 +56,6 @@ syn keyword mhaTagName contained noconlen syn keyword mhaTagName contained datefields syn keyword mhaTagName contained daybegin syn keyword mhaTagName contained dayend -syn keyword mhaTagName contained dbfile syn keyword mhaTagName contained decodeheads syn keyword mhaTagName contained nodecodeheads syn keyword mhaTagName contained definederived @@ -71,6 +70,7 @@ syn keyword mhaTagName contained fieldorder syn keyword mhaTagName contained fieldsbeg syn keyword mhaTagName contained fieldsend syn keyword mhaTagName contained fieldstyles +syn keyword mhaTagName contained firstpglink syn keyword mhaTagName contained fldbeg syn keyword mhaTagName contained fldend syn keyword mhaTagName contained folrefs @@ -78,7 +78,6 @@ syn keyword mhaTagName contained nofolrefs syn keyword mhaTagName contained folupbegin syn keyword mhaTagName contained folupend syn keyword mhaTagName contained foluplitxt -syn keyword mhaTagName contained footer syn keyword mhaTagName contained fromfields syn keyword mhaTagName contained gmtdatefmt syn keyword mhaTagName contained gzipexe @@ -87,19 +86,20 @@ syn keyword mhaTagName contained nogzipfiles syn keyword mhaTagName contained gziplinks syn keyword mhaTagName contained nogziplinks syn keyword mhaTagName contained headbodysep -syn keyword mhaTagName contained header syn keyword mhaTagName contained htmlext syn keyword mhaTagName contained icons syn keyword mhaTagName contained idxfname syn keyword mhaTagName contained idxlabel syn keyword mhaTagName contained idxpgbegin syn keyword mhaTagName contained idxpgend +syn keyword mhaTagName contained idxpgssmarkup syn keyword mhaTagName contained idxprefix syn keyword mhaTagName contained idxsize syn keyword mhaTagName contained include syn keyword mhaTagName contained labelbeg syn keyword mhaTagName contained labelend syn keyword mhaTagName contained labelstyles +syn keyword mhaTagName contained lasttpglink syn keyword mhaTagName contained listbegin syn keyword mhaTagName contained listend syn keyword mhaTagName contained litemplate @@ -112,13 +112,14 @@ syn keyword mhaTagName contained main syn keyword mhaTagName contained nomain syn keyword mhaTagName contained maxsize syn keyword mhaTagName contained mhpattern +syn keyword mhaTagName contained mimealtprefs syn keyword mhaTagName contained mimeargs syn keyword mhaTagName contained mimedecoders syn keyword mhaTagName contained mimeexcs syn keyword mhaTagName contained mimefilters syn keyword mhaTagName contained modtime -syn keyword mhaTagName contained months syn keyword mhaTagName contained monthsabr +syn keyword mhaTagName contained months syn keyword mhaTagName contained msgbodyend syn keyword mhaTagName contained msgexcfilter syn keyword mhaTagName contained msgfoot @@ -130,29 +131,31 @@ syn keyword mhaTagName contained msgpgbegin syn keyword mhaTagName contained msgpgend syn keyword mhaTagName contained msgpgs syn keyword mhaTagName contained nomsgpgs +syn keyword mhaTagName contained msgpgssmarkup syn keyword mhaTagName contained msgprefix syn keyword mhaTagName contained msgsep syn keyword mhaTagName contained multipg syn keyword mhaTagName contained news syn keyword mhaTagName contained nonews -syn keyword mhaTagName contained nextbutton syn keyword mhaTagName contained nextbuttonia -syn keyword mhaTagName contained nextlink +syn keyword mhaTagName contained nextbutton syn keyword mhaTagName contained nextlinkia -syn keyword mhaTagName contained nextpglink +syn keyword mhaTagName contained nextlink syn keyword mhaTagName contained nextpglinkia -syn keyword mhaTagName contained note +syn keyword mhaTagName contained nextpglink +syn keyword mhaTagName contained nosubjecttxt syn keyword mhaTagName contained notedir syn keyword mhaTagName contained noteia +syn keyword mhaTagName contained note syn keyword mhaTagName contained otherindexes syn keyword mhaTagName contained perlinc syn keyword mhaTagName contained posixstrftime -syn keyword mhaTagName contained prevbutton syn keyword mhaTagName contained prevbuttonia -syn keyword mhaTagName contained prevlink +syn keyword mhaTagName contained prevbutton syn keyword mhaTagName contained prevlinkia -syn keyword mhaTagName contained prevpglink +syn keyword mhaTagName contained prevlink syn keyword mhaTagName contained prevpglinkia +syn keyword mhaTagName contained prevpglink syn keyword mhaTagName contained refsbegin syn keyword mhaTagName contained refsend syn keyword mhaTagName contained refslitxt @@ -177,6 +180,8 @@ syn keyword mhaTagName contained subsort syn keyword mhaTagName contained nosubsort syn keyword mhaTagName contained tcontbegin syn keyword mhaTagName contained tcontend +syn keyword mhaTagName contained textclipfunc +syn keyword mhaTagName contained tfirstpglink syn keyword mhaTagName contained tfoot syn keyword mhaTagName contained thead syn keyword mhaTagName contained thread @@ -185,35 +190,74 @@ syn keyword mhaTagName contained tidxfname syn keyword mhaTagName contained tidxlabel syn keyword mhaTagName contained tidxpgbegin syn keyword mhaTagName contained tidxpgend +syn keyword mhaTagName contained tidxpgssmarkup syn keyword mhaTagName contained tidxprefix syn keyword mhaTagName contained timezones syn keyword mhaTagName contained tindentbegin syn keyword mhaTagName contained tindentend syn keyword mhaTagName contained title +syn keyword mhaTagName contained tlasttpglink syn keyword mhaTagName contained tlevels syn keyword mhaTagName contained tliend -syn keyword mhaTagName contained tlinone syn keyword mhaTagName contained tlinoneend +syn keyword mhaTagName contained tlinone syn keyword mhaTagName contained tlitxt -syn keyword mhaTagName contained tnextbutton syn keyword mhaTagName contained tnextbuttonia -syn keyword mhaTagName contained tnextlink +syn keyword mhaTagName contained tnextbutton +syn keyword mhaTagName contained tnextinbuttonia +syn keyword mhaTagName contained tnextinbutton +syn keyword mhaTagName contained tnextinlinkia +syn keyword mhaTagName contained tnextinlink syn keyword mhaTagName contained tnextlinkia -syn keyword mhaTagName contained tnextpglink +syn keyword mhaTagName contained tnextlink syn keyword mhaTagName contained tnextpglinkia +syn keyword mhaTagName contained tnextpglink +syn keyword mhaTagName contained tnexttopbuttonia +syn keyword mhaTagName contained tnexttopbutton +syn keyword mhaTagName contained tnexttoplinkia +syn keyword mhaTagName contained tnexttoplink syn keyword mhaTagName contained toplinks -syn keyword mhaTagName contained tprevbutton syn keyword mhaTagName contained tprevbuttonia -syn keyword mhaTagName contained tprevlink +syn keyword mhaTagName contained tprevbutton +syn keyword mhaTagName contained tprevinbuttonia +syn keyword mhaTagName contained tprevinbutton +syn keyword mhaTagName contained tprevinlinkia +syn keyword mhaTagName contained tprevinlink syn keyword mhaTagName contained tprevlinkia -syn keyword mhaTagName contained tprevpglink +syn keyword mhaTagName contained tprevlink syn keyword mhaTagName contained tprevpglinkia +syn keyword mhaTagName contained tprevpglink +syn keyword mhaTagName contained tprevtopbuttonia +syn keyword mhaTagName contained tprevtopbutton +syn keyword mhaTagName contained tprevtoplinkia +syn keyword mhaTagName contained tprevtoplink syn keyword mhaTagName contained treverse syn keyword mhaTagName contained notreverse syn keyword mhaTagName contained tsingletxt -syn keyword mhaTagName contained tslice syn keyword mhaTagName contained tslicebeg +syn keyword mhaTagName contained tslicecontbegin +syn keyword mhaTagName contained tslicecontend syn keyword mhaTagName contained tsliceend +syn keyword mhaTagName contained tsliceindentbegin +syn keyword mhaTagName contained tsliceindentend +syn keyword mhaTagName contained tslicelevels +syn keyword mhaTagName contained tsliceliendcur +syn keyword mhaTagName contained tsliceliend +syn keyword mhaTagName contained tslicelinoneend +syn keyword mhaTagName contained tslicelinone +syn keyword mhaTagName contained tslicelitxtcur +syn keyword mhaTagName contained tslicelitxt +syn keyword mhaTagName contained tslice +syn keyword mhaTagName contained tslicesingletxtcur +syn keyword mhaTagName contained tslicesingletxt +syn keyword mhaTagName contained tslicesubjectbeg +syn keyword mhaTagName contained tslicesubjectend +syn keyword mhaTagName contained tslicesublistbeg +syn keyword mhaTagName contained tslicesublistend +syn keyword mhaTagName contained tslicetopbegincur +syn keyword mhaTagName contained tslicetopbegin +syn keyword mhaTagName contained tslicetopendcur +syn keyword mhaTagName contained tslicetopend syn keyword mhaTagName contained tsort syn keyword mhaTagName contained notsort syn keyword mhaTagName contained tsubjectbeg @@ -230,8 +274,8 @@ syn keyword mhaTagName contained uselocaltime syn keyword mhaTagName contained nouselocaltime syn keyword mhaTagName contained usinglastpg syn keyword mhaTagName contained nousinglastpg -syn keyword mhaTagName contained weekdays syn keyword mhaTagName contained weekdaysabr +syn keyword mhaTagName contained weekdays " END: MHonArc Tags " MHonArc legal arg names diff --git a/examples/subject.mrc b/examples/subject.mrc index f7d6dc9..0ba816f 100644 --- a/examples/subject.mrc +++ b/examples/subject.mrc @@ -1,10 +1,11 @@ - - - + + diff --git a/examples/utf-8.mrc b/examples/utf-8.mrc new file mode 100644 index 0000000..e0905bc --- /dev/null +++ b/examples/utf-8.mrc @@ -0,0 +1,102 @@ + + + + + + + +plain; mhonarc::htmlize; +us-ascii; mhonarc::htmlize; +default; MHonArc::UTF8::str2sgml; MHonArc/UTF8.pm + + + + + +MHonArc::UTF8::clip; MHonArc/UTF8.pm + + + + + + + + +$IDXTITLE$ + + + +

    $IDXTITLE$

    +
    + + + + + +$TIDXTITLE$ + + + +

    $TIDXTITLE$

    +
    + + + + + + +$SUBJECTNA$ + + + + + diff --git a/extras/README b/extras/README deleted file mode 100644 index 0e64da1..0000000 --- a/extras/README +++ /dev/null @@ -1,24 +0,0 @@ -README for MHonArc/extras - ---------------------------------------------------------------------------- -CONTENTS of directory: - -HtmlMail Program to pipe a mail/news message to a WWW client. See - comments at beginning of source file on how to use it. - -MosaicMail Program to pipe a mail/news message into NCSA Mosaic for X. - This program is similiar to HtmlMail, but it is written - to take advantage of loading in data into an *existing* - Mosaic session. See comments at beginning of source file - on how to use it. - -prsfrom.pl Contributer: A.R. Burgers, burgers@ecn.nl - Supply missing Date: and From: fields to mailboxes. - Documentation in POD format included in the source. - Use the pod2* utilities provided with Perl to convert - POD documentation into desired format. - -README This file. - ---------------------------------------------------------------------------- -Earl Hood, ehood@medusa.acs.uci.edu diff --git a/install.me b/install.me index 4bbcac0..8466d31 100755 --- a/install.me +++ b/install.me @@ -1,9 +1,9 @@ #!/usr/bin/perl ##---------------------------------------------------------------------------## ## File: -## @(#) install.me 1.16 01/04/06 00:28:49 +## $Id: install.me,v 1.18 2002/05/14 19:40:46 ehood Exp $ ## Author: -## Earl Hood, ehood@pobox.com +## Earl Hood, earl@earlhood.com ## Summary: ## Installation program for Perl applications. It is an alternative ## to the MakeMaker/Makefile.PL method for "pure" Perl applications. @@ -13,7 +13,7 @@ ## file to install is listed in the file with a prefix telling ## the installation program the type of file it is. ##---------------------------------------------------------------------------## -## Copyright (C) 1997-1999 Earl Hood, ehood@pobox.com +## Copyright (C) 1997-2002 Earl Hood, earl@earlhood.com ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -246,6 +246,7 @@ my %OptValues = (); libpath=s manpath=s nobin + nodep nodoc nolib noman @@ -302,7 +303,7 @@ my %OptValues = (); ############################################################################### { - my($dobin, $dolib, $dodoc, $doman); + my($dodep, $dobin, $dolib, $dodoc, $doman); ## Get installation files ## ---------------------- @@ -311,6 +312,8 @@ my %OptValues = (); $DefValues{'docpath'} .= $DIRSEP . $Files{'name'}[0] if $Files{'name'}[0]; + $dodep = defined($Files{'dep'}) && scalar(@{$Files{'dep'}}) && + !$OptValues{'nodep'}; $dobin = defined($Files{'bin'}) && scalar(@{$Files{'bin'}}) && !$OptValues{'nobin'}; $dolib = defined($Files{'lib'}) && scalar(@{$Files{'lib'}}) && @@ -322,6 +325,35 @@ my %OptValues = (); die "Nothing to install!\n" unless $dobin or $dolib or $dodoc or $doman; + ## Check for dependencies + ## ---------------------- + if ($dodep) { + print STDOUT "Checking dependencies:\n"; + my($mod); + my(@dont_exist) = (); + foreach $mod (@{$Files{'dep'}}) { + print STDOUT sprintf("\t%s %s ", $mod, ('.'x(30-length($mod)))); + if ($mod =~ /\.pl$/) { + eval { + require $mod; + }; + } else { + eval qq{ + require $mod; + }; + } + if ($@) { + print STDOUT "NOT OK!\n"; + push(@dont_exist, $mod); + } else { + print STDOUT "ok\n"; + } + } + if (@dont_exist) { + die "ERROR: Dependency check FAILED\n"; + } + } + ## Get path stuff ## -------------- if ($OptValues{'batch'}) { @@ -761,6 +793,7 @@ Options: -filelist : List of files to install (def="FILELIST") -manpath : Directory path to manpages -nobin : Do not install programs + -nodep : Skip module dependency check -nodoc : Do not install documentation -nolib : Do not install library files -noman : Do not install manpages diff --git a/lib/MHonArc/CharEnt.pm b/lib/MHonArc/CharEnt.pm new file mode 100644 index 0000000..a32cd9e --- /dev/null +++ b/lib/MHonArc/CharEnt.pm @@ -0,0 +1,222 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: CharEnt.pm,v 1.3 2002/04/13 00:58:09 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Module to deal with 8-bit character data conversion to +## (SGML) entity references. +##---------------------------------------------------------------------------## +## Copyright (C) 1997-2002 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +package MHonArc::CharEnt; + +use strict; + +##--------------------------------------------------------------------------- +## US-ASCII/Common characters +##--------------------------------------------------------------------------- + +my %ASCIIMap = ( + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0x22 => "quot", # ISOnum : Quotation mark + 0x26 => "amp", # ISOnum : Ampersand + 0x3C => "lt", # ISOnum : Less-than sign + 0x3E => "gt", # ISOnum : Greater-than sign + + 0xA0 => "nbsp", # ISOnum : NO-BREAK SPACE +); + +my %ASCIIMapReverse = reverse %ASCIIMap; + +##--------------------------------------------------------------------------- +## Loaded Maps +##--------------------------------------------------------------------------- + +# character => entity +my %char2ent_maps = ( + 'us-ascii' => \%ASCIIMap, +); +# entity => character +my %ent2char_maps = ( + 'us-ascii' => \%ASCIIMapReverse, +); + +##--------------------------------------------------------------------------- +## Charset specification to mapping +##--------------------------------------------------------------------------- + +my %CharsetMaps = ( + 'iso-8859-1' => 'MHonArc/CharEnt/ISO8859_1.pm', + 'iso-8859-2' => 'MHonArc/CharEnt/ISO8859_2.pm', + 'iso-8859-3' => 'MHonArc/CharEnt/ISO8859_3.pm', + 'iso-8859-4' => 'MHonArc/CharEnt/ISO8859_4.pm', + 'iso-8859-5' => 'MHonArc/CharEnt/ISO8859_5.pm', + 'iso-8859-6' => 'MHonArc/CharEnt/ISO8859_6.pm', + 'iso-8859-7' => 'MHonArc/CharEnt/ISO8859_7.pm', + 'iso-8859-8' => 'MHonArc/CharEnt/ISO8859_8.pm', + 'iso-8859-9' => 'MHonArc/CharEnt/ISO8859_9.pm', + 'iso-8859-10' => 'MHonArc/CharEnt/ISO8859_10.pm', + 'iso-8859-15' => 'MHonArc/CharEnt/ISO8859_15.pm', + 'latin1' => 'MHonArc/CharEnt/ISO8859_1.pm', + 'latin2' => 'MHonArc/CharEnt/ISO8859_2.pm', + 'latin3' => 'MHonArc/CharEnt/ISO8859_3.pm', + 'latin4' => 'MHonArc/CharEnt/ISO8859_4.pm', + 'latin5' => 'MHonArc/CharEnt/ISO8859_9.pm', + 'latin6' => 'MHonArc/CharEnt/ISO8859_10.pm', + 'latin9' => 'MHonArc/CharEnt/ISO8859_15.pm', + 'windows-1250'=> 'MHonArc/CharEnt/CP1250.pm', + 'windows-1252'=> 'MHonArc/CharEnt/CP1252.pm', +); + +my %ReverseCharsetMaps = ( + 'iso-8859-1' => 'MHonArc/CharEnt/ISO8859_1R.pm', + 'iso-8859-3' => 'MHonArc/CharEnt/ISO8859_3R.pm', + 'iso-8859-7' => 'MHonArc/CharEnt/ISO8859_7R.pm', + 'iso-8859-8' => 'MHonArc/CharEnt/ISO8859_8R.pm', + 'iso-8859-9' => 'MHonArc/CharEnt/ISO8859_9R.pm', + 'iso-8859-15' => 'MHonArc/CharEnt/ISO8859_15R.pm', + 'latin1' => 'MHonArc/CharEnt/ISO8859_1R.pm', + 'latin3' => 'MHonArc/CharEnt/ISO8859_3R.pm', + 'latin5' => 'MHonArc/CharEnt/ISO8859_9R.pm', + 'latin9' => 'MHonArc/CharEnt/ISO8859_15R.pm', +); + +############################################################################### +## Routines +############################################################################### + +##---------------------------------------------------------------------------## +## str2sgml converts a string encoded by $charset to an sgml +## string where special characters are converted to entity +## references. +## +## $return_data = MHonArc::CharEnt::str2sgml($data, $charset, $only8bit); +## +## If $only8bit is non-zero, than only 8-bit characters are +## translated. +## +sub str2sgml { + my $data = shift; + my $charset = lc shift; + my $only8bit = shift; + + my($ret, $offset, $len) = ('', 0, 0); + my($map, $char); + $charset =~ tr/_/-/; + + # Get mapping + $map = $char2ent_maps{$charset}; + $map = _load_charmap($charset) unless defined $map; + + # Convert string + $len = length($data); + while ($offset < $len) { + $char = unpack("C", substr($data, $offset++, 1)); + if ($only8bit && $char < 0xA0) { + $ret .= pack("C", $char); + } elsif ($map->{$char}) { + $ret .= join('', '&', $map->{$char}, ';'); + } elsif ($ASCIIMap{$char}) { + $ret .= join('', '&', $ASCIIMap{$char}, ';'); + } else { + $ret .= pack("C", $char); + } + } + $ret; +} + +##---------------------------------------------------------------------------## +## sgml2str converts a string with sdata character entity references +## to the raw character values denoted by a character set. +## +## $return_data = MHonArc::CharEnt::sgml2str($data, $charset); +## +sub sgml2str { + my $data = shift; + my $charset = lc shift; + my($map); + $charset =~ tr/_/-/; + + # Get mapping + $map = $ent2char_maps{$charset}; + $map = _reverse_load_charmap($charset) unless defined $map; + + # Convert character entites to raw values + $data =~ s/\&([\w\.\-]+); + /defined($map->{$1}) ? sprintf("%c", $map->{$1}) : + defined($ASCIIMapReverse{$1}) ? + sprintf("%c", $ASCIIMapReverse{$1}) : "&$1;" + /gex; + $data; +} + +##---------------------------------------------------------------------------## + +sub _load_charmap { + my $charset = shift; + my $map = undef; + + my $file = $CharsetMaps{$charset}; + if (!defined($file)) { + warn 'Warning: MHonArc::CharEnt: Unknown charset: ', $charset, "\n"; + $map = $char2ent_maps{$charset} = { }; + + } else { + delete $INC{$file}; + eval { + $map = $char2ent_maps{$charset} = require $file; + }; + if ($@) { + warn 'Warning: MHonArc::CharEnt: ', $@, "\n"; + $map = $char2ent_maps{$charset} = { }; + } + } + $map; +} + +sub _reverse_load_charmap { + my $charset = shift; + my $map = undef; + + my $file = $ReverseCharsetMaps{$charset}; + if (!defined($file)) { + if (!defined($map = $char2ent_maps{$charset})) { + $map = _load_charmap($charset); + } + $map = $ent2char_maps{$charset} = { reverse %$map }; + + } else { + delete $INC{$file}; + eval { + $map = $ent2char_maps{$charset} = require $file; + }; + if ($@) { + warn 'Warning: MHonArc::CharEnt: ', $@, "\n"; + $map = $ent2char_maps{$charset} = { }; + } + } + $map; +} + +##---------------------------------------------------------------------------## +1; + diff --git a/lib/MHonArc/CharEnt/CP1250.pm b/lib/MHonArc/CharEnt/CP1250.pm new file mode 100644 index 0000000..bb86500 --- /dev/null +++ b/lib/MHonArc/CharEnt/CP1250.pm @@ -0,0 +1,178 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: CP1250.pm,v 1.1 2001/09/05 14:16:03 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for Windows-1250 (WinLatin2) +##---------------------------------------------------------------------------## +## Copyright (C) 2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::CP1250; + +##--------------------------------------------------------------------------- +## Windows-1250: WinLatin2 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0x80, '#x20AC', # : EURO SIGN + 0x82, '#x201A', # : SINGLE LOW-9 QUOTATION MARK + 0x84, '#x201E', # : DOUBLE LOW-9 QUOTATION MARK + 0x85, '#x2026', # : HORIZONTAL ELLIPSIS + 0x86, '#x2020', # : DAGGER + 0x87, '#x2021', # : DOUBLE DAGGER + 0x89, '#x2030', # : PER MILLE SIGN + 0x8A, '#x0160', # : LATIN CAPITAL LETTER S WITH CARON + 0x8B, '#x2039', # : SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 0x8C, '#x015A', # : LATIN CAPITAL LETTER S WITH ACUTE + 0x8D, '#x0164', # : LATIN CAPITAL LETTER T WITH CARON + 0x8E, '#x017D', # : LATIN CAPITAL LETTER Z WITH CARON + 0x8F, '#x0179', # : LATIN CAPITAL LETTER Z WITH ACUTE + 0x91, '#x2018', # : LEFT SINGLE QUOTATION MARK + 0x92, '#x2019', # : RIGHT SINGLE QUOTATION MARK + 0x93, '#x201C', # : LEFT DOUBLE QUOTATION MARK + 0x94, '#x201D', # : RIGHT DOUBLE QUOTATION MARK + 0x95, '#x2022', # : BULLET + 0x96, '#x2013', # : EN DASH + 0x97, '#x2014', # : EM DASH + 0x99, '#x2122', # : TRADE MARK SIGN + 0x9A, '#x0161', # : LATIN SMALL LETTER S WITH CARON + 0x9B, '#x203A', # : SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 0x9C, '#x015B', # : LATIN SMALL LETTER S WITH ACUTE + 0x9D, '#x0165', # : LATIN SMALL LETTER T WITH CARON + 0x9E, '#x017E', # : LATIN SMALL LETTER Z WITH CARON + 0x9F, '#x017A', # : LATIN SMALL LETTER Z WITH ACUTE + 0xA1, 'caron', # ISOdia : CARON + 0xA2, 'breve', # ISOdia : BREVE + 0xA3, 'Lstrok', # ISOlat2: LATIN CAPITAL LETTER L WITH STROKE + 0xA4, 'curren', # ISOnum : CURRENCY SIGN + 0xA5, 'Aogon', # ISOlat2: LATIN CAPITAL LETTER A WITH OGONEK + 0xA6, 'brvbar', # ISOnum : BROKEN BAR + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'die', # ISOdia : DIAERESIS + 0xA9, 'copy', # ISOnum : COPYRIGHT SIGN + 0xAA, 'Scedil', # ISOlat2: LATIN CAPITAL LETTER S WITH CEDILLA + 0xAB, 'laquo', # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xAC, 'not', # ISOnum : NOT SIGN + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'reg', # ISOnum : REGISTERED SIGN + 0xAF, 'Zdot', # ISOlat2: LATIN CAPITAL LETTER Z WITH DOT + # ABOVE + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'plusmn', # ISOnum : PLUS-MINUS SIGN + 0xB2, 'ogon', # ISOdia : OGONEK + 0xB3, 'lstrok', # ISOlat2: LATIN SMALL LETTER L WITH STROKE + 0xB4, 'acute', # ISOdia : ACUTE ACCENT + 0xB5, 'micro', # ISOnum : MICRO SIGN + 0xB6, 'para', # ISOnum : PILCROW SIGN + 0xB7, 'middot', # ISOnum : MIDDLE DOT + 0xB8, 'cedil', # ISOdia : CEDILLA + 0xB9, 'aogon', # ISOlat2: LATIN SMALL LETTER A WITH OGONEK + 0xBA, 'scedil', # ISOlat2: LATIN SMALL LETTER S WITH CEDILLA + 0xBB, 'raquo', # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xBC, 'Lcaron', # ISOlat2: LATIN CAPITAL LETTER L WITH CARON + 0xBD, 'dblac', # ISOdia : DOUBLE ACUTE ACCENT + 0xBE, 'lcaron', # ISOlat2: LATIN SMALL LETTER L WITH CARON + 0xBF, 'zdot', # ISOlat2: LATIN SMALL LETTER Z WITH DOT ABOVE + 0xC0, 'Racute', # ISOlat2: LATIN CAPITAL LETTER R WITH ACUTE + 0xC1, 'Aacute', # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 0xC2, 'Acirc', # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 0xC3, 'Abreve', # ISOlat2: LATIN CAPITAL LETTER A WITH BREVE + 0xC4, 'Auml', # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 0xC5, 'Lacute', # ISOlat2: LATIN CAPITAL LETTER L WITH ACUTE + 0xC6, 'Cacute', # ISOlat2: LATIN CAPITAL LETTER C WITH ACUTE + 0xC7, 'Ccedil', # ISOlat2: LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8, 'Ccaron', # ISOlat2: LATIN CAPITAL LETTER C WITH CARON + 0xC9, 'Eacute', # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 0xCA, 'Eogon', # ISOlat2: LATIN CAPITAL LETTER E WITH OGONEK + 0xCB, 'Euml', # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 0xCC, 'Ecaron', # ISOlat2: LATIN CAPITAL LETTER E WITH CARON + 0xCD, 'Iacute', # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 0xCE, 'Icirc', # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 0xCF, 'Dcaron', # ISOlat2: LATIN CAPITAL LETTER D WITH CARON + 0xD0, 'Dstrok', # ISOlat2: LATIN CAPITAL LETTER D WITH STROKE + 0xD1, 'Nacute', # ISOlat2: LATIN CAPITAL LETTER N WITH ACUTE + 0xD2, 'Ncaron', # ISOlat2: LATIN CAPITAL LETTER N WITH CARON + 0xD3, 'Oacute', # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 0xD4, 'Ocirc', # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 0xD5, 'Odblac', # ISOlat2: LATIN CAPITAL LETTER O WITH DOUBLE + # ACUTE + 0xD6, 'Ouml', # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 0xD7, 'times', # ISOnum : MULTIPLICATION SIGN + 0xD8, 'Rcaron', # ISOlat2: LATIN CAPITAL LETTER R WITH CARON + 0xD9, 'Uring', # ISOlat2: LATIN CAPITAL LETTER U WITH RING + # ABOVE + 0xDA, 'Uacute', # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 0xDB, 'Udblac', # ISOlat2: LATIN CAPITAL LETTER U WITH DOUBLE + # ACUTE + 0xDC, 'Uuml', # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 0xDD, 'Yacute', # ISOlat2: LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE, 'Tcedil', # ISOlat2: LATIN CAPITAL LETTER T WITH CEDILLA + 0xDF, 'szlig', # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 0xE0, 'racute', # ISOlat2: LATIN SMALL LETTER R WITH ACUTE + 0xE1, 'aacute', # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 0xE2, 'acirc', # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3, 'abreve', # ISOlat2: LATIN SMALL LETTER A WITH BREVE + 0xE4, 'auml', # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 0xE5, 'lacute', # ISOlat2: LATIN SMALL LETTER L WITH ACUTE + 0xE6, 'cacute', # ISOlat2: LATIN SMALL LETTER C WITH ACUTE + 0xE7, 'ccedil', # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 0xE8, 'ccaron', # ISOlat2: LATIN SMALL LETTER C WITH CARON + 0xE9, 'eacute', # ISOlat1: LATIN SMALL LETTER E WITH ACUTE + 0xEA, 'eogon', # ISOlat2: LATIN SMALL LETTER E WITH OGONEK + 0xEB, 'euml', # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 0xEC, 'ecaron', # ISOlat2: LATIN SMALL LETTER E WITH CARON + 0xED, 'iacute', # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 0xEE, 'icirc', # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF, 'dcaron', # ISOlat2: LATIN SMALL LETTER D WITH CARON + 0xF0, 'dstrok', # ISOlat2: LATIN SMALL LETTER D WITH STROKE + 0xF1, 'nacute', # ISOlat2: LATIN SMALL LETTER N WITH ACUTE + 0xF2, 'ncaron', # ISOlat2: LATIN SMALL LETTER N WITH CARON + 0xF3, 'oacute', # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 0xF4, 'ocirc', # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5, 'odblac', # ISOlat2: LATIN SMALL LETTER O WITH DOUBLE + # ACUTE + 0xF6, 'ouml', # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 0xF7, 'divide', # ISOnum : DIVISION SIGN + 0xF8, 'rcaron', # ISOlat2: LATIN SMALL LETTER R WITH CARON + 0xF9, 'uring', # ISOlat2: LATIN SMALL LETTER U WITH RING ABOVE + 0xFA, 'uacute', # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 0xFB, 'udblac', # ISOlat2: LATIN SMALL LETTER U WITH DOUBLE + # ACUTE + 0xFC, 'uuml', # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 0xFD, 'yacute', # ISOlat1: LATIN SMALL LETTER Y WITH ACUTE + 0xFE, 'tcedil', # ISOlat2: LATIN SMALL LETTER T WITH CEDILLA + 0xFF, 'dot', # ISOdia : DOT ABOVE +}; diff --git a/lib/MHonArc/CharEnt/CP1252.pm b/lib/MHonArc/CharEnt/CP1252.pm new file mode 100644 index 0000000..9b6d630 --- /dev/null +++ b/lib/MHonArc/CharEnt/CP1252.pm @@ -0,0 +1,178 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: CP1252.pm,v 1.1 2001/09/05 13:43:48 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for Windows-1252 +##---------------------------------------------------------------------------## +## Copyright (C) 2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::CP1252; + +##--------------------------------------------------------------------------- +## Windows-1252: WinLatin1 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0x80, '#x20AC', # : EURO SIGN + 0x82, '#x201A', # : SINGLE LOW-9 QUOTATION MARK + 0x83, '#x0192', # : LATIN SMALL LETTER F WITH HOOK + 0x84, '#x201E', # : DOUBLE LOW-9 QUOTATION MARK + 0x85, '#x2026', # : HORIZONTAL ELLIPSIS + 0x86, '#x2020', # : DAGGER + 0x87, '#x2021', # : DOUBLE DAGGER + 0x88, '#x02C6', # : MODIFIER LETTER CIRCUMFLEX ACCENT + 0x89, '#x2030', # : PER MILLE SIGN + 0x8A, '#x0160', # : LATIN CAPITAL LETTER S WITH CARON + 0x8B, '#x2039', # : SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 0x8C, '#x0152', # : LATIN CAPITAL LIGATURE OE + 0x8E, '#x017D', # : LATIN CAPITAL LETTER Z WITH CARON + 0x91, '#x2018', # : LEFT SINGLE QUOTATION MARK + 0x92, '#x2019', # : RIGHT SINGLE QUOTATION MARK + 0x93, '#x201C', # : LEFT DOUBLE QUOTATION MARK + 0x94, '#x201D', # : RIGHT DOUBLE QUOTATION MARK + 0x95, '#x2022', # : BULLET + 0x96, '#x2013', # : EN DASH + 0x97, '#x2014', # : EM DASH + 0x98, '#x02DC', # : SMALL TILDE + 0x99, '#x2122', # : TRADE MARK SIGN + 0x9A, '#x0161', # : LATIN SMALL LETTER S WITH CARON + 0x9B, '#x203A', # : SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 0x9C, '#x0153', # : LATIN SMALL LIGATURE OE + 0x9E, '#x017E', # : LATIN SMALL LETTER Z WITH CARON + 0x9F, '#x0178', # : LATIN CAPITAL LETTER Y WITH DIAERESIS + 0xA1, 'iexcl', # ISOnum : INVERTED EXCLAMATION MARK + 0xA2, 'cent', # ISOnum : CENT SIGN + 0xA3, 'pound', # ISOnum : POUND SIGN + 0xA4, 'curren', # ISOnum : CURRENCY SIGN + 0xA5, 'yen', # ISOnum : YEN SIGN + 0xA6, 'brvbar', # ISOnum : BROKEN BAR + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'die', # ISOdia : DIAERESIS + 0xA9, 'copy', # ISOnum : COPYRIGHT SIGN + 0xAA, 'ordf', # ISOnum : FEMININE ORDINAL INDICATOR + 0xAB, 'laquo', # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xAC, 'not', # ISOnum : NOT SIGN + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'reg', # ISOnum : REGISTERED SIGN + 0xAF, 'macr', # ISOdia : OVERLINE (MACRON) + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'plusmn', # ISOnum : PLUS-MINUS SIGN + 0xB2, 'sup2', # ISOnum : SUPERSCRIPT TWO + 0xB3, 'sup3', # ISOnum : SUPERSCRIPT THREE + 0xB4, 'acute', # ISOdia : ACUTE ACCENT + 0xB5, 'micro', # ISOnum : MICRO SIGN + 0xB6, 'para', # ISOnum : PILCROW SIGN + 0xB7, 'middot', # ISOnum : MIDDLE DOT + 0xB8, 'cedil', # ISOdia : CEDILLA + 0xB9, 'sup1', # ISOnum : SUPERSCRIPT ONE + 0xBA, 'ordm', # ISOnum : MASCULINE ORDINAL INDICATOR + 0xBB, 'raquo', # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xBC, 'frac14', # ISOnum : VULGAR FRACTION ONE QUARTER + 0xBD, 'frac12', # ISOnum : VULGAR FRACTION ONE HALF + 0xBE, 'frac34', # ISOnum : VULGAR FRACTION THREE QUARTERS + 0xBF, 'iquest', # ISOnum : INVERTED QUESTION MARK + 0xC0, 'Agrave', # ISOlat1: LATIN CAPITAL LETTER A WITH GRAVE + 0xC1, 'Aacute', # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 0xC2, 'Acirc', # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 0xC3, 'Atilde', # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 0xC4, 'Auml', # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 0xC5, 'Aring', # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 0xC6, 'AElig', # ISOlat1: LATIN CAPITAL LETTER AE + 0xC7, 'Ccedil', # ISOlat1: LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8, 'Egrave', # ISOlat1: LATIN CAPITAL LETTER E WITH GRAVE + 0xC9, 'Eacute', # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 0xCA, 'Ecirc', # ISOlat1: LATIN CAPITAL LETTER E WITH + # CIRCUMFLEX + 0xCB, 'Euml', # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 0xCC, 'Igrave', # ISOlat1: LATIN CAPITAL LETTER I WITH GRAVE + 0xCD, 'Iacute', # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 0xCE, 'Icirc', # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 0xCF, 'Iuml', # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 0xD0, 'ETH', # ISOlat1: LATIN CAPITAL LETTER ETH (Icelandic) + 0xD1, 'Ntilde', # ISOlat1: LATIN CAPITAL LETTER N WITH TILDE + 0xD2, 'Ograve', # ISOlat1: LATIN CAPITAL LETTER O WITH GRAVE + 0xD3, 'Oacute', # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 0xD4, 'Ocirc', # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 0xD5, 'Otilde', # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 0xD6, 'Ouml', # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 0xD7, 'times', # ISOnum : MULTIPLICATION SIGN + 0xD8, 'Oslash', # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 0xD9, 'Ugrave', # ISOlat1: LATIN CAPITAL LETTER U WITH GRAVE + 0xDA, 'Uacute', # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 0xDB, 'Ucirc', # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 0xDC, 'Uuml', # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 0xDD, 'Yacute', # ISOlat1: LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE, 'THORN', # ISOlat1: LATIN CAPITAL LETTER THORN + # (Icelandic) + 0xDF, 'szlig', # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 0xE0, 'agrave', # ISOlat1: LATIN SMALL LETTER A WITH GRAVE + 0xE1, 'aacute', # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 0xE2, 'acirc', # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3, 'atilde', # ISOlat1: LATIN SMALL LETTER A WITH TILDE + 0xE4, 'auml', # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 0xE5, 'aring', # ISOlat1: LATIN SMALL LETTER A WITH RING ABOVE + 0xE6, 'aelig', # ISOlat1: LATIN SMALL LETTER AE + 0xE7, 'ccedil', # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 0xE8, 'egrave', # ISOlat1: LATIN SMALL LETTER E WITH GRAVE + 0xE9, 'eacute', # ISOlat1: LATIN SMALL LETTER E WITH ACUTE + 0xEA, 'ecirc', # ISOlat1: LATIN SMALL LETTER E WITH CIRCUMFLEX + 0xEB, 'euml', # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 0xEC, 'igrave', # ISOlat1: LATIN SMALL LETTER I WITH GRAVE + 0xED, 'iacute', # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 0xEE, 'icirc', # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF, 'iuml', # ISOlat1: LATIN SMALL LETTER I WITH DIAERESIS + 0xF0, 'eth', # ISOlat1: LATIN SMALL LETTER ETH (Icelandic) + 0xF1, 'ntilde', # ISOlat1: LATIN SMALL LETTER N WITH TILDE + 0xF2, 'ograve', # ISOlat1: LATIN SMALL LETTER O WITH GRAVE + 0xF3, 'oacute', # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 0xF4, 'ocirc', # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5, 'otilde', # ISOlat1: LATIN SMALL LETTER O WITH TILDE + 0xF6, 'ouml', # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 0xF7, 'divide', # ISOnum : DIVISION SIGN + 0xF8, 'oslash', # ISOlat1: LATIN SMALL LETTER O WITH STROKE + 0xF9, 'ugrave', # ISOlat1: LATIN SMALL LETTER U WITH GRAVE + 0xFA, 'uacute', # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 0xFB, 'ucirc', # ISOlat1: LATIN SMALL LETTER U WITH CIRCUMFLEX + 0xFC, 'uuml', # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 0xFD, 'yacute', # ISOlat1: LATIN SMALL LETTER Y WITH ACUTE + 0xFE, 'thorn', # ISOlat1: LATIN SMALL LETTER THORN + # (Icelandic) + 0xFF, 'yuml', # ISOlat1: LATIN SMALL LETTER Y WITH DIAERESIS +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_1.pm b/lib/MHonArc/CharEnt/ISO8859_1.pm new file mode 100644 index 0000000..d52c3ae --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_1.pm @@ -0,0 +1,151 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_1.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-1. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_1; + +##--------------------------------------------------------------------------- +## ISO-8859-1: Latin-1 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA1, 'iexcl', # ISOnum : INVERTED EXCLAMATION MARK + 0xA2, 'cent', # ISOnum : CENT SIGN + 0xA3, 'pound', # ISOnum : POUND SIGN + 0xA4, 'curren', # ISOnum : CURRENCY SIGN + 0xA5, 'yen', # ISOnum : YEN SIGN + 0xA6, 'brvbar', # ISOnum : BROKEN BAR + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'die', # ISOdia : DIAERESIS + 0xA9, 'copy', # ISOnum : COPYRIGHT SIGN + 0xAA, 'ordf', # ISOnum : FEMININE ORDINAL INDICATOR + 0xAB, 'laquo', # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xAC, 'not', # ISOnum : NOT SIGN + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'reg', # ISOnum : REGISTERED SIGN + 0xAF, 'macr', # ISOdia : OVERLINE (MACRON) + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'plusmn', # ISOnum : PLUS-MINUS SIGN + 0xB2, 'sup2', # ISOnum : SUPERSCRIPT TWO + 0xB3, 'sup3', # ISOnum : SUPERSCRIPT THREE + 0xB4, 'acute', # ISOdia : ACUTE ACCENT + 0xB5, 'micro', # ISOnum : MICRO SIGN + 0xB6, 'para', # ISOnum : PILCROW SIGN + 0xB7, 'middot', # ISOnum : MIDDLE DOT + 0xB8, 'cedil', # ISOdia : CEDILLA + 0xB9, 'sup1', # ISOnum : SUPERSCRIPT ONE + 0xBA, 'ordm', # ISOnum : MASCULINE ORDINAL INDICATOR + 0xBB, 'raquo', # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xBC, 'frac14', # ISOnum : VULGAR FRACTION ONE QUARTER + 0xBD, 'frac12', # ISOnum : VULGAR FRACTION ONE HALF + 0xBE, 'frac34', # ISOnum : VULGAR FRACTION THREE QUARTERS + 0xBF, 'iquest', # ISOnum : INVERTED QUESTION MARK + 0xC0, 'Agrave', # ISOlat1: LATIN CAPITAL LETTER A WITH GRAVE + 0xC1, 'Aacute', # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 0xC2, 'Acirc', # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 0xC3, 'Atilde', # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 0xC4, 'Auml', # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 0xC5, 'Aring', # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 0xC6, 'AElig', # ISOlat1: LATIN CAPITAL LETTER AE + 0xC7, 'Ccedil', # ISOlat1: LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8, 'Egrave', # ISOlat1: LATIN CAPITAL LETTER E WITH GRAVE + 0xC9, 'Eacute', # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 0xCA, 'Ecirc', # ISOlat1: LATIN CAPITAL LETTER E WITH + # CIRCUMFLEX + 0xCB, 'Euml', # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 0xCC, 'Igrave', # ISOlat1: LATIN CAPITAL LETTER I WITH GRAVE + 0xCD, 'Iacute', # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 0xCE, 'Icirc', # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 0xCF, 'Iuml', # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 0xD0, 'ETH', # ISOlat1: LATIN CAPITAL LETTER ETH (Icelandic) + 0xD1, 'Ntilde', # ISOlat1: LATIN CAPITAL LETTER N WITH TILDE + 0xD2, 'Ograve', # ISOlat1: LATIN CAPITAL LETTER O WITH GRAVE + 0xD3, 'Oacute', # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 0xD4, 'Ocirc', # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 0xD5, 'Otilde', # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 0xD6, 'Ouml', # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 0xD7, 'times', # ISOnum : MULTIPLICATION SIGN + 0xD8, 'Oslash', # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 0xD9, 'Ugrave', # ISOlat1: LATIN CAPITAL LETTER U WITH GRAVE + 0xDA, 'Uacute', # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 0xDB, 'Ucirc', # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 0xDC, 'Uuml', # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 0xDD, 'Yacute', # ISOlat1: LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE, 'THORN', # ISOlat1: LATIN CAPITAL LETTER THORN + # (Icelandic) + 0xDF, 'szlig', # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 0xE0, 'agrave', # ISOlat1: LATIN SMALL LETTER A WITH GRAVE + 0xE1, 'aacute', # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 0xE2, 'acirc', # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3, 'atilde', # ISOlat1: LATIN SMALL LETTER A WITH TILDE + 0xE4, 'auml', # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 0xE5, 'aring', # ISOlat1: LATIN SMALL LETTER A WITH RING ABOVE + 0xE6, 'aelig', # ISOlat1: LATIN SMALL LETTER AE + 0xE7, 'ccedil', # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 0xE8, 'egrave', # ISOlat1: LATIN SMALL LETTER E WITH GRAVE + 0xE9, 'eacute', # ISOlat1: LATIN SMALL LETTER E WITH ACUTE + 0xEA, 'ecirc', # ISOlat1: LATIN SMALL LETTER E WITH CIRCUMFLEX + 0xEB, 'euml', # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 0xEC, 'igrave', # ISOlat1: LATIN SMALL LETTER I WITH GRAVE + 0xED, 'iacute', # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 0xEE, 'icirc', # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF, 'iuml', # ISOlat1: LATIN SMALL LETTER I WITH DIAERESIS + 0xF0, 'eth', # ISOlat1: LATIN SMALL LETTER ETH (Icelandic) + 0xF1, 'ntilde', # ISOlat1: LATIN SMALL LETTER N WITH TILDE + 0xF2, 'ograve', # ISOlat1: LATIN SMALL LETTER O WITH GRAVE + 0xF3, 'oacute', # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 0xF4, 'ocirc', # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5, 'otilde', # ISOlat1: LATIN SMALL LETTER O WITH TILDE + 0xF6, 'ouml', # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 0xF7, 'divide', # ISOnum : DIVISION SIGN + 0xF8, 'oslash', # ISOlat1: LATIN SMALL LETTER O WITH STROKE + 0xF9, 'ugrave', # ISOlat1: LATIN SMALL LETTER U WITH GRAVE + 0xFA, 'uacute', # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 0xFB, 'ucirc', # ISOlat1: LATIN SMALL LETTER U WITH CIRCUMFLEX + 0xFC, 'uuml', # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 0xFD, 'yacute', # ISOlat1: LATIN SMALL LETTER Y WITH ACUTE + 0xFE, 'thorn', # ISOlat1: LATIN SMALL LETTER THORN + # (Icelandic) + 0xFF, 'yuml', # ISOlat1: LATIN SMALL LETTER Y WITH DIAERESIS +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_10.pm b/lib/MHonArc/CharEnt/ISO8859_10.pm new file mode 100644 index 0000000..5b03c62 --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_10.pm @@ -0,0 +1,148 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_10.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-10. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_10; + +##--------------------------------------------------------------------------- +## ISO-8859-10: Latin-6 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA1, 'Aogon', # ISOlat1: LATIN CAPITAL LETTER A WITH OGONEK + 0xA2, 'Emacr', # ISOlat2: LATIN CAPITAL LETTER E WITH MACRON + 0xA3, 'Gcedil', # ISOlat2: LATIN CAPITAL LETTER G WITH CEDILLA + 0xA4, 'Imacr', # ISOlat2: LATIN CAPITAL LETTER I WITH MACRON + 0xA5, 'Itilde', # ISOlat2: LATIN CAPITAL LETTER I WITH TILDE + 0xA6, 'Kcedil', # ISOlat2: LATIN CAPITAL LETTER K WITH CEDILLA + 0xA7, 'Lcedil', # ISOlat2: LATIN CAPITAL LETTER L WITH CEDILLA + 0xA8, 'Nacute', # ISOlat2: LATIN CAPITAL LETTER N WITH ACUTE + 0xA9, 'Rcedil', # ISOlat2: LATIN CAPITAL LETTER R WITH CEDILLA + 0xAA, 'Scaron', # ISOlat2: LATIN CAPITAL LETTER S WITH CARON + 0xAB, 'Tstrok', # ISOlat2: LATIN CAPITAL LETTER T WITH STROKE + 0xAC, 'Zcaron', # ISOlat2: LATIN CAPITAL LETTER Z WITH CARON + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'kgreen', # ISOlat2: LATIN SMALL LETTER KRA (Greenlandic) + 0xAF, 'end', # ISOlat?: LATIN SMALL LETTER END (Lappish) + 0xB0, 'dstrok', # ISOlat2: LATIN SMALL LETTER d WITH STROKE + 0xB1, 'aogon', # ISOlat2: LATIN SMALL LETTER a WITH OGONEK + 0xB2, 'emacr', # ISOlat2: LATIN SMALL LETTER e WITH MACRON + 0xB3, 'gcedil', # ISOlat2: LATIN SMALL LETTER g WITH CEDILLA + 0xB4, 'imacr', # ISOlat2: LATIN SMALL LETTER i WITH MACRON + 0xB5, 'itilde', # ISOlat2: LATIN SMALL LETTER i WITH TILDE + 0xB6, 'kcedil', # ISOlat2: LATIN SMALL LETTER k WITH CEDILLA + 0xB7, 'lcedil', # ISOlat2: LATIN SMALL LETTER l WITH CEDILLA + 0xB8, 'nacute', # ISOlat2: LATIN SMALL LETTER n WITH ACUTE + 0xB9, 'rcedil', # ISOlat2: LATIN SMALL LETTER r WITH CEDILLA + 0xBA, 'scaron', # ISOlat2: LATIN SMALL LETTER s WITH CARON + 0xBB, 'tstrok', # ISOlat2: LATIN SMALL LETTER t WITH STROKE + 0xBC, 'zcaron', # ISOlat2: LATIN SMALL LETTER z WITH CARON + 0xBD, 'sect', # ISOnum : SECTION SIGN + 0xBE, 'szlig', # ISOlat1: LATIN SMALL LETTER SHARP s (German) + 0xBF, 'eng', # ISOlat2: LATIN SMALL LETTER ENG (Lappish) + 0xC0, 'Amacr', # ISOlat2: LATIN CAPITAL LETTER A WITH MACRON + 0xC1, 'Aacute', # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 0xC2, 'Acirc', # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 0xC3, 'Atilde', # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 0xC4, 'Auml', # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 0xC5, 'Aring', # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 0xC6, 'AElig', # ISOlat1: LATIN CAPITAL LETTER AE + 0xC7, 'Iogon', # ISOlat2: LATIN CAPITAL LETTER I WITH OGONEK + 0xC8, 'Ccaron', # ISOlat2: LATIN CAPITAL LETTER C WITH CARON + 0xC9, 'Eacute', # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 0xCA, 'Eogon', # ISOlat2: LATIN CAPITAL LETTER E WITH OGONEK + 0xCB, 'Euml', # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 0xCC, 'Edot', # ISOlat2: LATIN CAPITAL LETTER E WITH + # DOT ABOVE + 0xCD, 'Iacute', # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 0xCE, 'Icirc', # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 0xCF, 'Iuml', # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 0xD0, 'Dstrok', # ISOlat2: LATIN CAPITAL LETTER D WITH STROKE + 0xD1, 'Ncedil', # ISOlat2: LATIN CAPITAL LETTER N WITH CEDILLA + 0xD2, 'Omacr', # ISOlat2: LATIN CAPITAL LETTER O WITH MACRON + 0xD3, 'Oacute', # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 0xD4, 'Ocirc', # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 0xD5, 'Otilde', # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 0xD6, 'Ouml', # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 0xD7, 'Utilde', # ISOlat2: LATIN CAPITAL LETTER U WITH TILDE + 0xD8, 'Oslash', # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 0xD9, 'Uogon', # ISOlat2: LATIN CAPITAL LETTER U WITH OGONEK + 0xDA, 'Uacute', # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 0xDB, 'Ucirc', # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 0xDC, 'Uuml', # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 0xDD, 'Yacute', # ISOlat1: LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE, 'THORN', # ISOlat1: LATIN CAPITAL LETTER THORN + # (Icelandic) + 0xDF, 'Umacr', # ISOlat2: LATIN CAPITAL LETTER U WITH MACRON + 0xE0, 'amacr', # ISOlat2: LATIN SMALL LETTER a WITH MACRON + 0xE1, 'aacute', # ISOlat1: LATIN SMALL LETTER a WITH ACUTE + 0xE2, 'acirc', # ISOlat1: LATIN SMALL LETTER a WITH CIRCUMFLEX + 0xE3, 'atilde', # ISOlat1: LATIN SMALL LETTER a WITH TILDE + 0xE4, 'auml', # ISOlat1: LATIN SMALL LETTER a WITH DIAERESIS + 0xE5, 'aring', # ISOlat1: LATIN SMALL LETTER a WITH RING ABOVE + 0xE6, 'aelig', # ISOlat1: LATIN SMALL LETTER ae + 0xE7, 'iogon', # ISOlat2: LATIN SMALL LETTER i WITH OGONEK + 0xE8, 'ccaron', # ISOlat2: LATIN SMALL LETTER c WITH CARON + 0xE9, 'eacute', # ISOlat1: LATIN SMALL LETTER e WITH ACUTE + 0xEA, 'eogon', # ISOlat2: LATIN SMALL LETTER e WITH OGONEK + 0xEB, 'euml', # ISOlat1: LATIN SMALL LETTER e WITH DIAERESIS + 0xEC, 'edot', # ISOlat2: LATIN SMALL LETTER e WITH DOT ABOVE + 0xED, 'iacute', # ISOlat1: LATIN SMALL LETTER i WITH ACUTE + 0xEE, 'icirc', # ISOlat1: LATIN SMALL LETTER i WITH CIRCUMFLEX + 0xEF, 'iuml', # ISOlat1: LATIN SMALL LETTER i WITH DIAERESIS + 0xF0, 'eth', # ISOlat1: LATIN SMALL LETTER ETH (Icelandic) + 0xF1, 'ncedil', # ISOlat2: LATIN SMALL LETTER n WITH CEDILLA + 0xF2, 'omacr', # ISOlat2: LATIN SMALL LETTER o WITH MACRON + 0xF3, 'oacute', # ISOlat1: LATIN SMALL LETTER o WITH ACUTE + 0xF4, 'ocirc', # ISOlat1: LATIN SMALL LETTER o WITH CIRCUMFLEX + 0xF5, 'otilde', # ISOlat1: LATIN SMALL LETTER o WITH TILDE + 0xF6, 'ouml', # ISOlat1: LATIN SMALL LETTER o WITH DIAERESIS + 0xF7, 'utilde', # ISOlat2: LATIN SMALL LETTER u WITH TILDE + 0xF8, 'oslash', # ISOlat1: LATIN SMALL LETTER o WITH STROKE + 0xF9, 'uogon', # ISOlat2: LATIN SMALL LETTER u WITH OGONEK + 0xFA, 'uacute', # ISOlat1: LATIN SMALL LETTER u WITH ACUTE + 0xFB, 'ucirc', # ISOlat1: LATIN SMALL LETTER u WITH CIRCUMFLEX + 0xFC, 'uuml', # ISOlat1: LATIN SMALL LETTER u WITH DIAERESIS + 0xFD, 'yacute', # ISOlat1: LATIN SMALL LETTER y WITH ACUTE + 0xFE, 'thorn', # ISOlat1: LATIN SMALL LETTER THORN (Icelandic) + 0xFF, 'umacr', # ISOlat2: LATIN SMALL LETTER u WITH MACRON +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_10R.pm b/lib/MHonArc/CharEnt/ISO8859_10R.pm new file mode 100644 index 0000000..3e660ee --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_10R.pm @@ -0,0 +1,144 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_10R.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Reverse mappings for ISO-8859-1. +##---------------------------------------------------------------------------## +## Copyright (C) 2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +package MHonArc::CharEnt::ISO8859_10R; + +##--------------------------------------------------------------------------- +## ISO-8859-10 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Entity Hex Code # ISO external entity and description + #-------------------------------------------------------------------------- + 'Aogon' => 0xA1, # ISOlat1: LATIN CAPITAL LETTER A WITH OGONEK + 'Emacr' => 0xA2, # ISOlat2: LATIN CAPITAL LETTER E WITH MACRON + 'Gcedil' => 0xA3, # ISOlat2: LATIN CAPITAL LETTER G WITH CEDILLA + 'Imacr' => 0xA4, # ISOlat2: LATIN CAPITAL LETTER I WITH MACRON + 'Itilde' => 0xA5, # ISOlat2: LATIN CAPITAL LETTER I WITH TILDE + 'Kcedil' => 0xA6, # ISOlat2: LATIN CAPITAL LETTER K WITH CEDILLA + 'Lcedil' => 0xA7, # ISOlat2: LATIN CAPITAL LETTER L WITH CEDILLA + 'Nacute' => 0xA8, # ISOlat2: LATIN CAPITAL LETTER N WITH ACUTE + 'Rcedil' => 0xA9, # ISOlat2: LATIN CAPITAL LETTER R WITH CEDILLA + 'Scaron' => 0xAA, # ISOlat2: LATIN CAPITAL LETTER S WITH CARON + 'Tstrok' => 0xAB, # ISOlat2: LATIN CAPITAL LETTER T WITH STROKE + 'Zcaron' => 0xAC, # ISOlat2: LATIN CAPITAL LETTER Z WITH CARON + 'shy' => 0xAD, # ISOnum : SOFT HYPHEN + 'kgreen' => 0xAE, # ISOlat2: LATIN SMALL LETTER KRA (Greenlandic) + 'end' => 0xAF, # ISOlat?: LATIN SMALL LETTER END (Lappish) + 'dstrok' => 0xB0, # ISOlat2: LATIN SMALL LETTER d WITH STROKE + 'aogon' => 0xB1, # ISOlat2: LATIN SMALL LETTER a WITH OGONEK + 'emacr' => 0xB2, # ISOlat2: LATIN SMALL LETTER e WITH MACRON + 'gcedil' => 0xB3, # ISOlat2: LATIN SMALL LETTER g WITH CEDILLA + 'imacr' => 0xB4, # ISOlat2: LATIN SMALL LETTER i WITH MACRON + 'itilde' => 0xB5, # ISOlat2: LATIN SMALL LETTER i WITH TILDE + 'kcedil' => 0xB6, # ISOlat2: LATIN SMALL LETTER k WITH CEDILLA + 'lcedil' => 0xB7, # ISOlat2: LATIN SMALL LETTER l WITH CEDILLA + 'nacute' => 0xB8, # ISOlat2: LATIN SMALL LETTER n WITH ACUTE + 'rcedil' => 0xB9, # ISOlat2: LATIN SMALL LETTER r WITH CEDILLA + 'scaron' => 0xBA, # ISOlat2: LATIN SMALL LETTER s WITH CARON + 'tstrok' => 0xBB, # ISOlat2: LATIN SMALL LETTER t WITH STROKE + 'zcaron' => 0xBC, # ISOlat2: LATIN SMALL LETTER z WITH CARON + 'sect' => 0xBD, # ISOnum : SECTION SIGN + 'szlig' => 0xBE, # ISOlat1: LATIN SMALL LETTER SHARP s (German) + 'eng' => 0xBF, # ISOlat2: LATIN SMALL LETTER ENG (Lappish) + 'Amacr' => 0xC0, # ISOlat2: LATIN CAPITAL LETTER A WITH MACRON + 'Aacute' => 0xC1, # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 'Acirc' => 0xC2, # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 'Atilde' => 0xC3, # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 'Auml' => 0xC4, # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 'Aring' => 0xC5, # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 'AElig' => 0xC6, # ISOlat1: LATIN CAPITAL LETTER AE + 'Iogon' => 0xC7, # ISOlat2: LATIN CAPITAL LETTER I WITH OGONEK + 'Ccaron' => 0xC8, # ISOlat2: LATIN CAPITAL LETTER C WITH CARON + 'Eacute' => 0xC9, # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 'Eogon' => 0xCA, # ISOlat2: LATIN CAPITAL LETTER E WITH OGONEK + 'Euml' => 0xCB, # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 'Edot' => 0xCC, # ISOlat2: LATIN CAPITAL LETTER E WITH + # DOT ABOVE + 'Iacute' => 0xCD, # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 'Icirc' => 0xCE, # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 'Iuml' => 0xCF, # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 'Dstrok' => 0xD0, # ISOlat2: LATIN CAPITAL LETTER D WITH STROKE + 'Ncedil' => 0xD1, # ISOlat2: LATIN CAPITAL LETTER N WITH CEDILLA + 'Omacr' => 0xD2, # ISOlat2: LATIN CAPITAL LETTER O WITH MACRON + 'Oacute' => 0xD3, # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 'Ocirc' => 0xD4, # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 'Otilde' => 0xD5, # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 'Ouml' => 0xD6, # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 'Utilde' => 0xD7, # ISOlat2: LATIN CAPITAL LETTER U WITH TILDE + 'Oslash' => 0xD8, # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 'Uogon' => 0xD9, # ISOlat2: LATIN CAPITAL LETTER U WITH OGONEK + 'Uacute' => 0xDA, # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 'Ucirc' => 0xDB, # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 'Uuml' => 0xDC, # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 'Yacute' => 0xDD, # ISOlat1: LATIN CAPITAL LETTER Y WITH ACUTE + 'THORN' => 0xDE, # ISOlat1: LATIN CAPITAL LETTER THORN + # (Icelandic) + 'Umacr' => 0xDF, # ISOlat2: LATIN CAPITAL LETTER U WITH MACRON + 'amacr' => 0xE0, # ISOlat2: LATIN SMALL LETTER a WITH MACRON + 'aacute' => 0xE1, # ISOlat1: LATIN SMALL LETTER a WITH ACUTE + 'acirc' => 0xE2, # ISOlat1: LATIN SMALL LETTER a WITH CIRCUMFLEX + 'atilde' => 0xE3, # ISOlat1: LATIN SMALL LETTER a WITH TILDE + 'auml' => 0xE4, # ISOlat1: LATIN SMALL LETTER a WITH DIAERESIS + 'aring' => 0xE5, # ISOlat1: LATIN SMALL LETTER a WITH RING ABOVE + 'aelig' => 0xE6, # ISOlat1: LATIN SMALL LETTER ae + 'iogon' => 0xE7, # ISOlat2: LATIN SMALL LETTER i WITH OGONEK + 'ccaron' => 0xE8, # ISOlat2: LATIN SMALL LETTER c WITH CARON + 'eacute' => 0xE9, # ISOlat1: LATIN SMALL LETTER e WITH ACUTE + 'eogon' => 0xEA, # ISOlat2: LATIN SMALL LETTER e WITH OGONEK + 'euml' => 0xEB, # ISOlat1: LATIN SMALL LETTER e WITH DIAERESIS + 'edot' => 0xEC, # ISOlat2: LATIN SMALL LETTER e WITH DOT ABOVE + 'iacute' => 0xED, # ISOlat1: LATIN SMALL LETTER i WITH ACUTE + 'icirc' => 0xEE, # ISOlat1: LATIN SMALL LETTER i WITH CIRCUMFLEX + 'iuml' => 0xEF, # ISOlat1: LATIN SMALL LETTER i WITH DIAERESIS + 'eth' => 0xF0, # ISOlat1: LATIN SMALL LETTER ETH (Icelandic) + 'ncedil' => 0xF1, # ISOlat2: LATIN SMALL LETTER n WITH CEDILLA + 'omacr' => 0xF2, # ISOlat2: LATIN SMALL LETTER o WITH MACRON + 'oacute' => 0xF3, # ISOlat1: LATIN SMALL LETTER o WITH ACUTE + 'ocirc' => 0xF4, # ISOlat1: LATIN SMALL LETTER o WITH CIRCUMFLEX + 'otilde' => 0xF5, # ISOlat1: LATIN SMALL LETTER o WITH TILDE + 'ouml' => 0xF6, # ISOlat1: LATIN SMALL LETTER o WITH DIAERESIS + 'utilde' => 0xF7, # ISOlat2: LATIN SMALL LETTER u WITH TILDE + 'oslash' => 0xF8, # ISOlat1: LATIN SMALL LETTER o WITH STROKE + 'uogon' => 0xF9, # ISOlat2: LATIN SMALL LETTER u WITH OGONEK + 'uacute' => 0xFA, # ISOlat1: LATIN SMALL LETTER u WITH ACUTE + 'ucirc' => 0xFB, # ISOlat1: LATIN SMALL LETTER u WITH CIRCUMFLEX + 'uuml' => 0xFC, # ISOlat1: LATIN SMALL LETTER u WITH DIAERESIS + 'yacute' => 0xFD, # ISOlat1: LATIN SMALL LETTER y WITH ACUTE + 'thorn' => 0xFE, # ISOlat1: LATIN SMALL LETTER THORN (Icelandic) + 'umacr' => 0xFF, # ISOlat2: LATIN SMALL LETTER u WITH MACRON +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_15.pm b/lib/MHonArc/CharEnt/ISO8859_15.pm new file mode 100644 index 0000000..0f937e2 --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_15.pm @@ -0,0 +1,152 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_15.pm,v 1.1 2002/04/13 00:58:11 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Jan Kraeber jmk@kraeber.de +## Description: +## Mappings for ISO-8859-15. +##---------------------------------------------------------------------------## +## Copyright (C) 1997-2002 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_15; + +##--------------------------------------------------------------------------- +## ISO-8859-15: Latin-9 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA1, 'iexcl', # ISOnum : INVERTED EXCLAMATION MARK + 0xA2, 'cent', # ISOnum : CENT SIGN + 0xA3, 'pound', # ISOnum : POUND SIGN + 0xA4, 'euro', # ISOlat9: EURO SIGN + 0xA5, 'yen', # ISOnum : YEN SIGN + 0xA6, 'Scaron', # ISOlat9: SCARON + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'scaron', # ISOlat9: SCARON SMALL + 0xA9, 'copy', # ISOnum : COPYRIGHT SIGN + 0xAA, 'ordf', # ISOnum : FEMININE ORDINAL INDICATOR + 0xAB, 'laquo', # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xAC, 'not', # ISOnum : NOT SIGN + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'reg', # ISOnum : REGISTERED SIGN + 0xAF, 'macr', # ISOdia : OVERLINE (MACRON) + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'plusmn', # ISOnum : PLUS-MINUS SIGN + 0xB2, 'sup2', # ISOnum : SUPERSCRIPT TWO + 0xB3, 'sup3', # ISOnum : SUPERSCRIPT THREE + 0xB4, 'Zcaron', # ISOlat9: ZCARON + 0xB5, 'micro', # ISOnum : MICRO SIGN + 0xB6, 'para', # ISOnum : PILCROW SIGN + 0xB7, 'middot', # ISOnum : MIDDLE DOT + 0xB8, 'zcaron', # ISOlat9: ZCARON SMALL + 0xB9, 'sup1', # ISOnum : SUPERSCRIPT ONE + 0xBA, 'ordm', # ISOnum : MASCULINE ORDINAL INDICATOR + 0xBB, 'raquo', # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xBC, 'OElig', # ISOlat9: OELIG + 0xBD, 'oelig', # ISOlat9: OELIG SMALL + 0xBE, 'Yuml', # ISOlat9: YUML + 0xBF, 'iquest', # ISOnum : INVERTED QUESTION MARK + 0xC0, 'Agrave', # ISOlat1: LATIN CAPITAL LETTER A WITH GRAVE + 0xC1, 'Aacute', # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 0xC2, 'Acirc', # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 0xC3, 'Atilde', # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 0xC4, 'Auml', # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 0xC5, 'Aring', # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 0xC6, 'AElig', # ISOlat1: LATIN CAPITAL LETTER AE + 0xC7, 'Ccedil', # ISOlat1: LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8, 'Egrave', # ISOlat1: LATIN CAPITAL LETTER E WITH GRAVE + 0xC9, 'Eacute', # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 0xCA, 'Ecirc', # ISOlat1: LATIN CAPITAL LETTER E WITH + # CIRCUMFLEX + 0xCB, 'Euml', # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 0xCC, 'Igrave', # ISOlat1: LATIN CAPITAL LETTER I WITH GRAVE + 0xCD, 'Iacute', # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 0xCE, 'Icirc', # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 0xCF, 'Iuml', # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 0xD0, 'ETH', # ISOlat1: LATIN CAPITAL LETTER ETH (Icelandic) + 0xD1, 'Ntilde', # ISOlat1: LATIN CAPITAL LETTER N WITH TILDE + 0xD2, 'Ograve', # ISOlat1: LATIN CAPITAL LETTER O WITH GRAVE + 0xD3, 'Oacute', # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 0xD4, 'Ocirc', # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 0xD5, 'Otilde', # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 0xD6, 'Ouml', # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 0xD7, 'times', # ISOnum : MULTIPLICATION SIGN + 0xD8, 'Oslash', # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 0xD9, 'Ugrave', # ISOlat1: LATIN CAPITAL LETTER U WITH GRAVE + 0xDA, 'Uacute', # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 0xDB, 'Ucirc', # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 0xDC, 'Uuml', # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 0xDD, 'Yacute', # ISOlat1: LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE, 'THORN', # ISOlat1: LATIN CAPITAL LETTER THORN + # (Icelandic) + 0xDF, 'szlig', # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 0xE0, 'agrave', # ISOlat1: LATIN SMALL LETTER A WITH GRAVE + 0xE1, 'aacute', # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 0xE2, 'acirc', # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3, 'atilde', # ISOlat1: LATIN SMALL LETTER A WITH TILDE + 0xE4, 'auml', # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 0xE5, 'aring', # ISOlat1: LATIN SMALL LETTER A WITH RING ABOVE + 0xE6, 'aelig', # ISOlat1: LATIN SMALL LETTER AE + 0xE7, 'ccedil', # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 0xE8, 'egrave', # ISOlat1: LATIN SMALL LETTER E WITH GRAVE + 0xE9, 'eacute', # ISOlat1: LATIN SMALL LETTER E WITH ACUTE + 0xEA, 'ecirc', # ISOlat1: LATIN SMALL LETTER E WITH CIRCUMFLEX + 0xEB, 'euml', # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 0xEC, 'igrave', # ISOlat1: LATIN SMALL LETTER I WITH GRAVE + 0xED, 'iacute', # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 0xEE, 'icirc', # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF, 'iuml', # ISOlat1: LATIN SMALL LETTER I WITH DIAERESIS + 0xF0, 'eth', # ISOlat1: LATIN SMALL LETTER ETH (Icelandic) + 0xF1, 'ntilde', # ISOlat1: LATIN SMALL LETTER N WITH TILDE + 0xF2, 'ograve', # ISOlat1: LATIN SMALL LETTER O WITH GRAVE + 0xF3, 'oacute', # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 0xF4, 'ocirc', # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5, 'otilde', # ISOlat1: LATIN SMALL LETTER O WITH TILDE + 0xF6, 'ouml', # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 0xF7, 'divide', # ISOnum : DIVISION SIGN + 0xF8, 'oslash', # ISOlat1: LATIN SMALL LETTER O WITH STROKE + 0xF9, 'ugrave', # ISOlat1: LATIN SMALL LETTER U WITH GRAVE + 0xFA, 'uacute', # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 0xFB, 'ucirc', # ISOlat1: LATIN SMALL LETTER U WITH CIRCUMFLEX + 0xFC, 'uuml', # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 0xFD, 'yacute', # ISOlat1: LATIN SMALL LETTER Y WITH ACUTE + 0xFE, 'thorn', # ISOlat1: LATIN SMALL LETTER THORN + # (Icelandic) + 0xFF, 'yuml', # ISOlat1: LATIN SMALL LETTER Y WITH DIAERESIS +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_15R.pm b/lib/MHonArc/CharEnt/ISO8859_15R.pm new file mode 100644 index 0000000..670d73a --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_15R.pm @@ -0,0 +1,148 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_15R.pm,v 1.1 2002/04/13 00:58:11 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Jan Kraeber jmk@kraeber.de +## Description: +## Reverse mappings for ISO-8859-15. +##---------------------------------------------------------------------------## +## Copyright (C) 1997-2002 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +package MHonArc::CharEnt::ISO8859_15R; + +##--------------------------------------------------------------------------- +## ISO-8859-15 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Entity Hex Code # ISO external entity and description + #-------------------------------------------------------------------------- + 'iexcl' => 0xA1, # ISOnum : INVERTED EXCLAMATION MARK + 'cent' => 0xA2, # ISOnum : CENT SIGN + 'pound' => 0xA3, # ISOnum : POUND SIGN + 'euro' => 0xA4, # ISOlat9: CURRENCY SIGN + 'yen' => 0xA5, # ISOnum : YEN SIGN + 'Scaron' => 0xA6, # ISOlat9: SCARON + 'sect' => 0xA7, # ISOnum : SECTION SIGN + 'scaron' => 0xA8, # ISOlat9: SCARON SMALL + 'copy' => 0xA9, # ISOnum : COPYRIGHT SIGN + 'ordf' => 0xAA, # ISOnum : FEMININE ORDINAL INDICATOR + 'laquo' => 0xAB, # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'not' => 0xAC, # ISOnum : NOT SIGN + 'shy' => 0xAD, # ISOnum : SOFT HYPHEN + 'reg' => 0xAE, # ISOnum : REGISTERED SIGN + 'macr' => 0xAF, # ISOdia : OVERLINE (MACRON) + 'deg' => 0xB0, # ISOnum : DEGREE SIGN + 'plusmn' => 0xB1, # ISOnum : PLUS-MINUS SIGN + 'sup2' => 0xB2, # ISOnum : SUPERSCRIPT TWO + 'sup3' => 0xB3, # ISOnum : SUPERSCRIPT THREE + 'Zcaron' => 0xB4, # ISOlat9: ZCARON + 'micro' => 0xB5, # ISOnum : MICRO SIGN + 'para' => 0xB6, # ISOnum : PILCROW SIGN + 'middot' => 0xB7, # ISOnum : MIDDLE DOT + 'zcaron' => 0xB8, # ISOlat9: ZCARON SMALL + 'sup1' => 0xB9, # ISOnum : SUPERSCRIPT ONE + 'ordm' => 0xBA, # ISOnum : MASCULINE ORDINAL INDICATOR + 'raquo' => 0xBB, # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'OElig' => 0xBC, # ISOlat9: OELIG + 'oelig' => 0xBD, # ISOlat9: OELIG SMALL + 'Yuml' => 0xBE, # ISOlat9: YUML + 'iquest' => 0xBF, # ISOnum : INVERTED QUESTION MARK + 'Agrave' => 0xC0, # ISOlat1: LATIN CAPITAL LETTER A WITH GRAVE + 'Aacute' => 0xC1, # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 'Acirc' => 0xC2, # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 'Atilde' => 0xC3, # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 'Auml' => 0xC4, # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 'Aring' => 0xC5, # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 'AElig' => 0xC6, # ISOlat1: LATIN CAPITAL LETTER AE + 'Ccedil' => 0xC7, # ISOlat1: LATIN CAPITAL LETTER C WITH CEDILLA + 'Egrave' => 0xC8, # ISOlat1: LATIN CAPITAL LETTER E WITH GRAVE + 'Eacute' => 0xC9, # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 'Ecirc' => 0xCA, # ISOlat1: LATIN CAPITAL LETTER E WITH + # CIRCUMFLEX + 'Euml' => 0xCB, # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 'Igrave' => 0xCC, # ISOlat1: LATIN CAPITAL LETTER I WITH GRAVE + 'Iacute' => 0xCD, # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 'Icirc' => 0xCE, # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 'Iuml' => 0xCF, # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 'ETH' => 0xD0, # ISOlat1: LATIN CAPITAL LETTER ETH (Icelandic) + 'Ntilde' => 0xD1, # ISOlat1: LATIN CAPITAL LETTER N WITH TILDE + 'Ograve' => 0xD2, # ISOlat1: LATIN CAPITAL LETTER O WITH GRAVE + 'Oacute' => 0xD3, # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 'Ocirc' => 0xD4, # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 'Otilde' => 0xD5, # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 'Ouml' => 0xD6, # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 'times' => 0xD7, # ISOnum : MULTIPLICATION SIGN + 'Oslash' => 0xD8, # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 'Ugrave' => 0xD9, # ISOlat1: LATIN CAPITAL LETTER U WITH GRAVE + 'Uacute' => 0xDA, # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 'Ucirc' => 0xDB, # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 'Uuml' => 0xDC, # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 'Yacute' => 0xDD, # ISOlat1: LATIN CAPITAL LETTER Y WITH ACUTE + 'THORN' => 0xDE, # ISOlat1: LATIN CAPITAL LETTER THORN + # (Icelandic) + 'szlig' => 0xDF, # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 'agrave' => 0xE0, # ISOlat1: LATIN SMALL LETTER A WITH GRAVE + 'aacute' => 0xE1, # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 'acirc' => 0xE2, # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 'atilde' => 0xE3, # ISOlat1: LATIN SMALL LETTER A WITH TILDE + 'auml' => 0xE4, # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 'aring' => 0xE5, # ISOlat1: LATIN SMALL LETTER A WITH RING ABOVE + 'aelig' => 0xE6, # ISOlat1: LATIN SMALL LETTER AE + 'ccedil' => 0xE7, # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 'egrave' => 0xE8, # ISOlat1: LATIN SMALL LETTER E WITH GRAVE + 'eacute' => 0xE9, # ISOlat1: LATIN SMALL LETTER E WITH ACUTE + 'ecirc' => 0xEA, # ISOlat1: LATIN SMALL LETTER E WITH CIRCUMFLEX + 'euml' => 0xEB, # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 'igrave' => 0xEC, # ISOlat1: LATIN SMALL LETTER I WITH GRAVE + 'iacute' => 0xED, # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 'icirc' => 0xEE, # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 'iuml' => 0xEF, # ISOlat1: LATIN SMALL LETTER I WITH DIAERESIS + 'eth' => 0xF0, # ISOlat1: LATIN SMALL LETTER ETH (Icelandic) + 'ntilde' => 0xF1, # ISOlat1: LATIN SMALL LETTER N WITH TILDE + 'ograve' => 0xF2, # ISOlat1: LATIN SMALL LETTER O WITH GRAVE + 'oacute' => 0xF3, # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 'ocirc' => 0xF4, # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 'otilde' => 0xF5, # ISOlat1: LATIN SMALL LETTER O WITH TILDE + 'ouml' => 0xF6, # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 'divide' => 0xF7, # ISOnum : DIVISION SIGN + 'oslash' => 0xF8, # ISOlat1: LATIN SMALL LETTER O WITH STROKE + 'ugrave' => 0xF9, # ISOlat1: LATIN SMALL LETTER U WITH GRAVE + 'uacute' => 0xFA, # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 'ucirc' => 0xFB, # ISOlat1: LATIN SMALL LETTER U WITH CIRCUMFLEX + 'uuml' => 0xFC, # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 'yacute' => 0xFD, # ISOlat1: LATIN SMALL LETTER Y WITH ACUTE + 'thorn' => 0xFE, # ISOlat1: LATIN SMALL LETTER THORN + # (Icelandic) + 'yuml' => 0xFF, # ISOlat1: LATIN SMALL LETTER Y WITH DIAERESIS +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_1R.pm b/lib/MHonArc/CharEnt/ISO8859_1R.pm new file mode 100644 index 0000000..ed9b517 --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_1R.pm @@ -0,0 +1,148 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_1R.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-1. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +package MHonArc::CharEnt::ISO8859_1R; + +##--------------------------------------------------------------------------- +## ISO-8859-1 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Entity Hex Code # ISO external entity and description + #-------------------------------------------------------------------------- + 'iexcl' => 0xA1, # ISOnum : INVERTED EXCLAMATION MARK + 'cent' => 0xA2, # ISOnum : CENT SIGN + 'pound' => 0xA3, # ISOnum : POUND SIGN + 'curren' => 0xA4, # ISOnum : CURRENCY SIGN + 'yen' => 0xA5, # ISOnum : YEN SIGN + 'brvbar' => 0xA6, # ISOnum : BROKEN BAR + 'sect' => 0xA7, # ISOnum : SECTION SIGN + 'die' => 0xA8, # ISOdia : DIAERESIS + 'copy' => 0xA9, # ISOnum : COPYRIGHT SIGN + 'ordf' => 0xAA, # ISOnum : FEMININE ORDINAL INDICATOR + 'laquo' => 0xAB, # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'not' => 0xAC, # ISOnum : NOT SIGN + 'shy' => 0xAD, # ISOnum : SOFT HYPHEN + 'reg' => 0xAE, # ISOnum : REGISTERED SIGN + 'macr' => 0xAF, # ISOdia : OVERLINE (MACRON) + 'deg' => 0xB0, # ISOnum : DEGREE SIGN + 'plusmn' => 0xB1, # ISOnum : PLUS-MINUS SIGN + 'sup2' => 0xB2, # ISOnum : SUPERSCRIPT TWO + 'sup3' => 0xB3, # ISOnum : SUPERSCRIPT THREE + 'acute' => 0xB4, # ISOdia : ACUTE ACCENT + 'micro' => 0xB5, # ISOnum : MICRO SIGN + 'para' => 0xB6, # ISOnum : PILCROW SIGN + 'middot' => 0xB7, # ISOnum : MIDDLE DOT + 'cedil' => 0xB8, # ISOdia : CEDILLA + 'sup1' => 0xB9, # ISOnum : SUPERSCRIPT ONE + 'ordm' => 0xBA, # ISOnum : MASCULINE ORDINAL INDICATOR + 'raquo' => 0xBB, # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'frac14' => 0xBC, # ISOnum : VULGAR FRACTION ONE QUARTER + 'frac12' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'half' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'frac34' => 0xBE, # ISOnum : VULGAR FRACTION THREE QUARTERS + 'iquest' => 0xBF, # ISOnum : INVERTED QUESTION MARK + 'Agrave' => 0xC0, # ISOlat1: LATIN CAPITAL LETTER A WITH GRAVE + 'Aacute' => 0xC1, # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 'Acirc' => 0xC2, # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 'Atilde' => 0xC3, # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 'Auml' => 0xC4, # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 'Aring' => 0xC5, # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 'AElig' => 0xC6, # ISOlat1: LATIN CAPITAL LETTER AE + 'Ccedil' => 0xC7, # ISOlat1: LATIN CAPITAL LETTER C WITH CEDILLA + 'Egrave' => 0xC8, # ISOlat1: LATIN CAPITAL LETTER E WITH GRAVE + 'Eacute' => 0xC9, # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 'Ecirc' => 0xCA, # ISOlat1: LATIN CAPITAL LETTER E WITH + # CIRCUMFLEX + 'Euml' => 0xCB, # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 'Igrave' => 0xCC, # ISOlat1: LATIN CAPITAL LETTER I WITH GRAVE + 'Iacute' => 0xCD, # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 'Icirc' => 0xCE, # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 'Iuml' => 0xCF, # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 'ETH' => 0xD0, # ISOlat1: LATIN CAPITAL LETTER ETH (Icelandic) + 'Ntilde' => 0xD1, # ISOlat1: LATIN CAPITAL LETTER N WITH TILDE + 'Ograve' => 0xD2, # ISOlat1: LATIN CAPITAL LETTER O WITH GRAVE + 'Oacute' => 0xD3, # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 'Ocirc' => 0xD4, # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 'Otilde' => 0xD5, # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 'Ouml' => 0xD6, # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 'times' => 0xD7, # ISOnum : MULTIPLICATION SIGN + 'Oslash' => 0xD8, # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 'Ugrave' => 0xD9, # ISOlat1: LATIN CAPITAL LETTER U WITH GRAVE + 'Uacute' => 0xDA, # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 'Ucirc' => 0xDB, # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 'Uuml' => 0xDC, # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 'Yacute' => 0xDD, # ISOlat1: LATIN CAPITAL LETTER Y WITH ACUTE + 'THORN' => 0xDE, # ISOlat1: LATIN CAPITAL LETTER THORN + # (Icelandic) + 'szlig' => 0xDF, # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 'agrave' => 0xE0, # ISOlat1: LATIN SMALL LETTER A WITH GRAVE + 'aacute' => 0xE1, # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 'acirc' => 0xE2, # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 'atilde' => 0xE3, # ISOlat1: LATIN SMALL LETTER A WITH TILDE + 'auml' => 0xE4, # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 'aring' => 0xE5, # ISOlat1: LATIN SMALL LETTER A WITH RING ABOVE + 'aelig' => 0xE6, # ISOlat1: LATIN SMALL LETTER AE + 'ccedil' => 0xE7, # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 'egrave' => 0xE8, # ISOlat1: LATIN SMALL LETTER E WITH GRAVE + 'eacute' => 0xE9, # ISOlat1: LATIN SMALL LETTER E WITH ACUTE + 'ecirc' => 0xEA, # ISOlat1: LATIN SMALL LETTER E WITH CIRCUMFLEX + 'euml' => 0xEB, # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 'igrave' => 0xEC, # ISOlat1: LATIN SMALL LETTER I WITH GRAVE + 'iacute' => 0xED, # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 'icirc' => 0xEE, # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 'iuml' => 0xEF, # ISOlat1: LATIN SMALL LETTER I WITH DIAERESIS + 'eth' => 0xF0, # ISOlat1: LATIN SMALL LETTER ETH (Icelandic) + 'ntilde' => 0xF1, # ISOlat1: LATIN SMALL LETTER N WITH TILDE + 'ograve' => 0xF2, # ISOlat1: LATIN SMALL LETTER O WITH GRAVE + 'oacute' => 0xF3, # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 'ocirc' => 0xF4, # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 'otilde' => 0xF5, # ISOlat1: LATIN SMALL LETTER O WITH TILDE + 'ouml' => 0xF6, # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 'divide' => 0xF7, # ISOnum : DIVISION SIGN + 'oslash' => 0xF8, # ISOlat1: LATIN SMALL LETTER O WITH STROKE + 'ugrave' => 0xF9, # ISOlat1: LATIN SMALL LETTER U WITH GRAVE + 'uacute' => 0xFA, # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 'ucirc' => 0xFB, # ISOlat1: LATIN SMALL LETTER U WITH CIRCUMFLEX + 'uuml' => 0xFC, # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 'yacute' => 0xFD, # ISOlat1: LATIN SMALL LETTER Y WITH ACUTE + 'thorn' => 0xFE, # ISOlat1: LATIN SMALL LETTER THORN + # (Icelandic) + 'yuml' => 0xFF, # ISOlat1: LATIN SMALL LETTER Y WITH DIAERESIS +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_2.pm b/lib/MHonArc/CharEnt/ISO8859_2.pm new file mode 100644 index 0000000..53cfd5b --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_2.pm @@ -0,0 +1,149 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_2.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-2. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_2; + +##--------------------------------------------------------------------------- +## ISO-8859-2: Latin-2 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA1, 'Aogon', # ISOlat2: LATIN CAPITAL LETTER A WITH OGONEK + 0xA2, 'breve', # ISOdia : BREVE + 0xA3, 'Lstrok', # ISOlat2: LATIN CAPITAL LETTER L WITH STROKE + 0xA4, 'curren', # ISOnum : CURRENCY SIGN + 0xA5, 'Lcaron', # ISOlat2: LATIN CAPITAL LETTER L WITH CARON + 0xA6, 'Sacute', # ISOlat2: LATIN CAPITAL LETTER S WITH ACUTE + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'die', # ISOdia : DIAERESIS + 0xA9, 'Scaron', # ISOlat2: LATIN CAPITAL LETTER S WITH CARON + 0xAA, 'Scedil', # ISOlat2: LATIN CAPITAL LETTER S WITH CEDILLA + 0xAB, 'Tcaron', # ISOlat2: LATIN CAPITAL LETTER T WITH CARON + 0xAC, 'Zacute', # ISOlat2: LATIN CAPITAL LETTER Z WITH ACUTE + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'Zcaron', # ISOlat2: LATIN CAPITAL LETTER Z WITH CARON + 0xAF, 'Zdot', # ISOlat2: LATIN CAPITAL LETTER Z WITH DOT + # ABOVE + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'aogon', # ISOlat2: LATIN SMALL LETTER A WITH OGONEK + 0xB2, 'ogon', # ISOdia : OGONEK + 0xB3, 'lstrok', # ISOlat2: LATIN SMALL LETTER L WITH STROKE + 0xB4, 'acute', # ISOdia : ACUTE ACCENT + 0xB5, 'lcaron', # ISOlat2: LATIN SMALL LETTER L WITH CARON + 0xB6, 'sacute', # ISOlat2: LATIN SMALL LETTER S WITH ACUTE + 0xB7, 'caron', # ISOdia : CARON + 0xB8, 'cedil', # ISOdia : CEDILLA + 0xB9, 'scaron', # ISOlat2: LATIN SMALL LETTER S WITH CARON + 0xBA, 'scedil', # ISOlat2: LATIN SMALL LETTER S WITH CEDILLA + 0xBB, 'tcaron', # ISOlat2: LATIN SMALL LETTER T WITH CARON + 0xBC, 'zacute', # ISOlat2: LATIN SMALL LETTER Z WITH ACUTE + 0xBD, 'dblac', # ISOdia : DOUBLE ACUTE ACCENT + 0xBE, 'zcaron', # ISOlat2: LATIN SMALL LETTER Z WITH CARON + 0xBF, 'zdot', # ISOlat2: LATIN SMALL LETTER Z WITH DOT ABOVE + 0xC0, 'Racute', # ISOlat2: LATIN CAPITAL LETTER R WITH ACUTE + 0xC1, 'Aacute', # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 0xC2, 'Acirc', # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 0xC3, 'Abreve', # ISOlat2: LATIN CAPITAL LETTER A WITH BREVE + 0xC4, 'Auml', # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 0xC5, 'Lacute', # ISOlat2: LATIN CAPITAL LETTER L WITH ACUTE + 0xC6, 'Cacute', # ISOlat2: LATIN CAPITAL LETTER C WITH ACUTE + 0xC7, 'Ccedil', # ISOlat2: LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8, 'Ccaron', # ISOlat2: LATIN CAPITAL LETTER C WITH CARON + 0xC9, 'Eacute', # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 0xCA, 'Eogon', # ISOlat2: LATIN CAPITAL LETTER E WITH OGONEK + 0xCB, 'Euml', # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 0xCC, 'Ecaron', # ISOlat2: LATIN CAPITAL LETTER E WITH CARON + 0xCD, 'Iacute', # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 0xCE, 'Icirc', # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 0xCF, 'Dcaron', # ISOlat2: LATIN CAPITAL LETTER D WITH CARON + 0xD0, 'Dstrok', # ISOlat2: LATIN CAPITAL LETTER D WITH STROKE + 0xD1, 'Nacute', # ISOlat2: LATIN CAPITAL LETTER N WITH ACUTE + 0xD2, 'Ncaron', # ISOlat2: LATIN CAPITAL LETTER N WITH CARON + 0xD3, 'Oacute', # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 0xD4, 'Ocirc', # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 0xD5, 'Odblac', # ISOlat2: LATIN CAPITAL LETTER O WITH DOUBLE + # ACUTE + 0xD6, 'Ouml', # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 0xD7, 'times', # ISOnum : MULTIPLICATION SIGN + 0xD8, 'Rcaron', # ISOlat2: LATIN CAPITAL LETTER R WITH CARON + 0xD9, 'Uring', # ISOlat2: LATIN CAPITAL LETTER U WITH RING + # ABOVE + 0xDA, 'Uacute', # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 0xDB, 'Udblac', # ISOlat2: LATIN CAPITAL LETTER U WITH DOUBLE + # ACUTE + 0xDC, 'Uuml', # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 0xDD, 'Yacute', # ISOlat2: LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE, 'Tcedil', # ISOlat2: LATIN CAPITAL LETTER T WITH CEDILLA + 0xDF, 'szlig', # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 0xE0, 'racute', # ISOlat2: LATIN SMALL LETTER R WITH ACUTE + 0xE1, 'aacute', # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 0xE2, 'acirc', # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3, 'abreve', # ISOlat2: LATIN SMALL LETTER A WITH BREVE + 0xE4, 'auml', # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 0xE5, 'lacute', # ISOlat2: LATIN SMALL LETTER L WITH ACUTE + 0xE6, 'cacute', # ISOlat2: LATIN SMALL LETTER C WITH ACUTE + 0xE7, 'ccedil', # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 0xE8, 'ccaron', # ISOlat2: LATIN SMALL LETTER C WITH CARON + 0xE9, 'eacute', # ISOlat1: LATIN SMALL LETTER E WITH ACUTE + 0xEA, 'eogon', # ISOlat2: LATIN SMALL LETTER E WITH OGONEK + 0xEB, 'euml', # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 0xEC, 'ecaron', # ISOlat2: LATIN SMALL LETTER E WITH CARON + 0xED, 'iacute', # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 0xEE, 'icirc', # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF, 'dcaron', # ISOlat2: LATIN SMALL LETTER D WITH CARON + 0xF0, 'dstrok', # ISOlat2: LATIN SMALL LETTER D WITH STROKE + 0xF1, 'nacute', # ISOlat2: LATIN SMALL LETTER N WITH ACUTE + 0xF2, 'ncaron', # ISOlat2: LATIN SMALL LETTER N WITH CARON + 0xF3, 'oacute', # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 0xF4, 'ocirc', # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5, 'odblac', # ISOlat2: LATIN SMALL LETTER O WITH DOUBLE + # ACUTE + 0xF6, 'ouml', # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 0xF7, 'divide', # ISOnum : DIVISION SIGN + 0xF8, 'rcaron', # ISOlat2: LATIN SMALL LETTER R WITH CARON + 0xF9, 'uring', # ISOlat2: LATIN SMALL LETTER U WITH RING ABOVE + 0xFA, 'uacute', # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 0xFB, 'udblac', # ISOlat2: LATIN SMALL LETTER U WITH DOUBLE + # ACUTE + 0xFC, 'uuml', # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 0xFD, 'yacute', # ISOlat1: LATIN SMALL LETTER Y WITH ACUTE + 0xFE, 'tcedil', # ISOlat2: LATIN SMALL LETTER T WITH CEDILLA + 0xFF, 'dot', # ISOdia : DOT ABOVE +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_3.pm b/lib/MHonArc/CharEnt/ISO8859_3.pm new file mode 100644 index 0000000..1e092dd --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_3.pm @@ -0,0 +1,155 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_3.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-3. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_3; + +##--------------------------------------------------------------------------- +## ISO-8859-3: Latin-3 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA1, 'Hstrok', # ISOlat2: LATIN CAPITAL LETTER H WITH STROKE + 0xA2, 'breve', # ISOdia : BREVE + 0xA3, 'pound', # ISOnum : POUND SIGN + 0xA4, 'curren', # ISOnum : CURRENCY SIGN + 0xA6, 'Hcirc', # ISOlat2: LATIN CAPITAL LETTER H WITH + # CIRCUMFLEX + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'die', # ISOdia : DIAERESIS + 0xA9, 'Idot', # ISOlat2: LATIN CAPITAL LETTER I WITH DOT + # ABOVE + 0xAA, 'Scedil', # ISOlat2: LATIN CAPITAL LETTER S WITH CEDILLA + 0xAB, 'Gbreve', # ISOlat2: LATIN CAPITAL LETTER G WITH BREVE + 0xAC, 'Jcirc', # ISOlat2: LATIN CAPITAL LETTER J WITH + # CIRCUMFLEX + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAF, 'Zdot', # ISOlat2: LATIN CAPITAL LETTER Z WITH DOT + # ABOVE + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'hstrok', # ISOlat2: LATIN SMALL LETTER H WITH STROKE + 0xB2, 'sup2', # ISOnum : SUPERSCRIPT TWO + 0xB3, 'sup3', # ISOnum : SUPERSCRIPT THREE + 0xB4, 'acute', # ISOdia : ACUTE ACCENT + 0xB5, 'micro', # ISOnum : MICRO SIGN + 0xB6, 'hcirc', # ISOlat2: LATIN SMALL LETTER H WITH + # CIRCUMFLEX + 0xB7, 'middot', # ISOnum : MIDDLE DOT + 0xB8, 'cedil', # ISOdia : CEDILLA + 0xB9, 'inodot', # ISOlat2: LATIN SMALL LETTER I DOTLESS + 0xBA, 'scedil', # ISOlat2: LATIN SMALL LETTER S WITH CEDILLA + 0xBB, 'gbreve', # ISOlat2: LATIN SMALL LETTER G WITH BREVE + 0xBC, 'jcirc', # ISOlat2: LATIN SMALL LETTER J WITH CIRCUMFLEX + 0xBD, 'frac12', # ISOnum : VULGAR FRACTION ONE HALF + 0xBF, 'zdot', # ISOlat2: LATIN SMALL LETTER Z WITH DOT ABOVE + 0xC0, 'Agrave', # ISOlat1: LATIN CAPITAL LETTER A WITH GRAVE + 0xC1, 'Aacute', # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 0xC2, 'Acirc', # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 0xC4, 'Auml', # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 0xC5, 'Cdot', # ISOlat2: LATIN CAPITAL LETTER C WITH DOT + # ABOVE + 0xC6, 'Ccirc', # ISOlat2: LATIN CAPITAL LETTER C WITH + # CIRCUMFLEX + 0xC7, 'Ccedil', # ISOlat2: LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8, 'Egrave', # ISOlat1: LATIN CAPITAL LETTER E WITH GRAVE + 0xC9, 'Eacute', # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 0xCA, 'Ecirc', # ISOlat2: LATIN CAPITAL LETTER E WITH + # CIRCUMFLEX + 0xCB, 'Euml', # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 0xCC, 'Igrave', # ISOlat1: LATIN CAPITAL LETTER I WITH GRAVE + 0xCD, 'Iacute', # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 0xCE, 'Icirc', # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 0xCF, 'Iuml', # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 0xD1, 'Ntilde', # ISOlat1: LATIN CAPITAL LETTER N WITH TILDE + 0xD2, 'Ograve', # ISOlat1: LATIN CAPITAL LETTER O WITH GRAVE + 0xD3, 'Oacute', # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 0xD4, 'Ocirc', # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 0xD5, 'Gdot', # ISOlat2: LATIN CAPITAL LETTER G WITH DOT + # ABOVE + 0xD6, 'Ouml', # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 0xD7, 'times', # ISOnum : MULTIPLICATION SIGN + 0xD8, 'Gcirc', # ISOlat2: LATIN CAPITAL LETTER G WITH + # CIRCUMFLEX + 0xD9, 'Ugrave', # ISOlat1: LATIN CAPITAL LETTER U WITH GRAVE + # ABOVE + 0xDA, 'Uacute', # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 0xDB, 'Ucirc', # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 0xDC, 'Uuml', # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 0xDD, 'Ubreve', # ISOlat2: LATIN CAPITAL LETTER U WITH BREVE + 0xDE, 'Scirc', # ISOlat2: LATIN CAPITAL LETTER S WITH + # CIRCUMFLEX + 0xDF, 'szlig', # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 0xE0, 'agrave', # ISOlat1: LATIN SMALL LETTER A WITH GRAVE + 0xE1, 'aacute', # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 0xE2, 'acirc', # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE4, 'auml', # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 0xE5, 'cdot', # ISOlat2: LATIN SMALL LETTER C WITH DOT ABOVE + 0xE6, 'ccirce', # ISOlat2: LATIN SMALL LETTER C WITH + # CIRCUMFLEX + 0xE7, 'ccedil', # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 0xE8, 'egrave', # ISOlat1: LATIN SMALL LETTER E WITH GRAVE + 0xE9, 'eacute', # ISOlat2: LATIN SMALL LETTER E WITH ACUTE + 0xEA, 'ecirc', # ISOlat2: LATIN SMALL LETTER E WITH + # CIRCUMFLEX + 0xEB, 'euml', # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 0xEC, 'igrave', # ISOlat1: LATIN SMALL LETTER I WITH GRAVE + 0xED, 'iacute', # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 0xEE, 'icirc', # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF, 'iuml', # ISOlat1: LATIN SMALL LETTER I WITH DIAERESIS + 0xF1, 'ntilde', # ISOlat1: LATIN SMALL LETTER N WITH TILDE + 0xF2, 'ograve', # ISOlat1: LATIN SMALL LETTER O WITH GRAVE + 0xF3, 'oacute', # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 0xF4, 'ocirc', # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5, 'gdot', # ISOlat2: LATIN SMALL LETTER G WITH DOT ABOVE + 0xF6, 'ouml', # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 0xF7, 'divide', # ISOnum : DIVISION SIGN + 0xF8, 'gcirc', # ISOlat2: LATIN SMALL LETTER G WITH + # CIRCUMFLEX + 0xF9, 'ugrave', # ISOlat1: LATIN SMALL LETTER U WITH GRAVE + 0xFA, 'uacute', # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 0xFB, 'ucirc', # ISOlat1: LATIN SMALL LETTER U WITH + # CIRCUMFLEX + 0xFC, 'uuml', # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 0xFD, 'ubreve', # ISOlat2: LATIN SMALL LETTER U WITH BREVE + 0xFE, 'scirc', # ISOlat2: LATIN SMALL LETTER S WITH + # CIRCUMFLEX + 0xFF, 'dot', # ISOdia : DOT ABOVE +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_3R.pm b/lib/MHonArc/CharEnt/ISO8859_3R.pm new file mode 100644 index 0000000..15df28b --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_3R.pm @@ -0,0 +1,152 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_3R.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-1. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +package MHonArc::CharEnt::ISO8859_3R; + +##--------------------------------------------------------------------------- +## ISO-8859-3 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Entity Hex Code # ISO external entity and description + #-------------------------------------------------------------------------- + 'Hstrok' => 0xA1, # ISOlat2: LATIN CAPITAL LETTER H WITH STROKE + 'breve' => 0xA2, # ISOdia : BREVE + 'pound' => 0xA3, # ISOnum : POUND SIGN + 'curren' => 0xA4, # ISOnum : CURRENCY SIGN + 'Hcirc' => 0xA6, # ISOlat2: LATIN CAPITAL LETTER H WITH + # CIRCUMFLEX + 'sect' => 0xA7, # ISOnum : SECTION SIGN + 'die' => 0xA8, # ISOdia : DIAERESIS + 'Idot' => 0xA9, # ISOlat2: LATIN CAPITAL LETTER I WITH DOT + # ABOVE + 'Scedil' => 0xAA, # ISOlat2: LATIN CAPITAL LETTER S WITH CEDILLA + 'Gbreve' => 0xAB, # ISOlat2: LATIN CAPITAL LETTER G WITH BREVE + 'Jcirc' => 0xAC, # ISOlat2: LATIN CAPITAL LETTER J WITH + # CIRCUMFLEX + 'shy' => 0xAD, # ISOnum : SOFT HYPHEN + 'Zdot' => 0xAF, # ISOlat2: LATIN CAPITAL LETTER Z WITH DOT + # ABOVE + 'deg' => 0xB0, # ISOnum : DEGREE SIGN + 'hstrok' => 0xB1, # ISOlat2: LATIN SMALL LETTER H WITH STROKE + 'sup2' => 0xB2, # ISOnum : SUPERSCRIPT TWO + 'sup3' => 0xB3, # ISOnum : SUPERSCRIPT THREE + 'acute' => 0xB4, # ISOdia : ACUTE ACCENT + 'micro' => 0xB5, # ISOnum : MICRO SIGN + 'hcirc' => 0xB6, # ISOlat2: LATIN SMALL LETTER H WITH + # CIRCUMFLEX + 'middot' => 0xB7, # ISOnum : MIDDLE DOT + 'cedil' => 0xB8, # ISOdia : CEDILLA + 'inodot' => 0xB9, # ISOlat2: LATIN SMALL LETTER I DOTLESS + 'scedil' => 0xBA, # ISOlat2: LATIN SMALL LETTER S WITH CEDILLA + 'gbreve' => 0xBB, # ISOlat2: LATIN SMALL LETTER G WITH BREVE + 'jcirc' => 0xBC, # ISOlat2: LATIN SMALL LETTER J WITH CIRCUMFLEX + 'frac12' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'half' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'zdot' => 0xBF, # ISOlat2: LATIN SMALL LETTER Z WITH DOT ABOVE + 'Agrave' => 0xC0, # ISOlat1: LATIN CAPITAL LETTER A WITH GRAVE + 'Aacute' => 0xC1, # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 'Acirc' => 0xC2, # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 'Auml' => 0xC4, # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 'Cdot' => 0xC5, # ISOlat2: LATIN CAPITAL LETTER C WITH DOT + # ABOVE + 'Ccirc' => 0xC6, # ISOlat2: LATIN CAPITAL LETTER C WITH + # CIRCUMFLEX + 'Ccedil' => 0xC7, # ISOlat2: LATIN CAPITAL LETTER C WITH CEDILLA + 'Egrave' => 0xC8, # ISOlat1: LATIN CAPITAL LETTER E WITH GRAVE + 'Eacute' => 0xC9, # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 'Ecirc' => 0xCA, # ISOlat2: LATIN CAPITAL LETTER E WITH + # CIRCUMFLEX + 'Euml' => 0xCB, # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 'Igrave' => 0xCC, # ISOlat1: LATIN CAPITAL LETTER I WITH GRAVE + 'Iacute' => 0xCD, # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 'Icirc' => 0xCE, # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 'Iuml' => 0xCF, # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 'Ntilde' => 0xD1, # ISOlat1: LATIN CAPITAL LETTER N WITH TILDE + 'Ograve' => 0xD2, # ISOlat1: LATIN CAPITAL LETTER O WITH GRAVE + 'Oacute' => 0xD3, # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 'Ocirc' => 0xD4, # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 'Gdot' => 0xD5, # ISOlat2: LATIN CAPITAL LETTER G WITH DOT + # ABOVE + 'Ouml' => 0xD6, # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 'times' => 0xD7, # ISOnum : MULTIPLICATION SIGN + 'Gcirc' => 0xD8, # ISOlat2: LATIN CAPITAL LETTER G WITH + # CIRCUMFLEX + 'Ugrave' => 0xD9, # ISOlat1: LATIN CAPITAL LETTER U WITH GRAVE + # ABOVE + 'Uacute' => 0xDA, # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 'Ucirc' => 0xDB, # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 'Uuml' => 0xDC, # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 'Ubreve' => 0xDD, # ISOlat2: LATIN CAPITAL LETTER U WITH BREVE + 'Scirc' => 0xDE, # ISOlat2: LATIN CAPITAL LETTER S WITH + # CIRCUMFLEX + 'szlig' => 0xDF, # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 'agrave' => 0xE0, # ISOlat1: LATIN SMALL LETTER A WITH GRAVE + 'aacute' => 0xE1, # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 'acirc' => 0xE2, # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 'auml' => 0xE4, # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 'cdot' => 0xE5, # ISOlat2: LATIN SMALL LETTER C WITH DOT ABOVE + 'ccirce' => 0xE6, # ISOlat2: LATIN SMALL LETTER C WITH + # CIRCUMFLEX + 'ccedil' => 0xE7, # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 'egrave' => 0xE8, # ISOlat1: LATIN SMALL LETTER E WITH GRAVE + 'eacute' => 0xE9, # ISOlat2: LATIN SMALL LETTER E WITH ACUTE + 'ecirc' => 0xEA, # ISOlat2: LATIN SMALL LETTER E WITH + # CIRCUMFLEX + 'euml' => 0xEB, # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 'igrave' => 0xEC, # ISOlat1: LATIN SMALL LETTER I WITH GRAVE + 'iacute' => 0xED, # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 'icirc' => 0xEE, # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 'iuml' => 0xEF, # ISOlat1: LATIN SMALL LETTER I WITH DIAERESIS + 'ntilde' => 0xF1, # ISOlat1: LATIN SMALL LETTER N WITH TILDE + 'ograve' => 0xF2, # ISOlat1: LATIN SMALL LETTER O WITH GRAVE + 'oacute' => 0xF3, # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 'ocirc' => 0xF4, # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 'gdot' => 0xF5, # ISOlat2: LATIN SMALL LETTER G WITH DOT ABOVE + 'ouml' => 0xF6, # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 'divide' => 0xF7, # ISOnum : DIVISION SIGN + 'gcirc' => 0xF8, # ISOlat2: LATIN SMALL LETTER G WITH + # CIRCUMFLEX + 'ugrave' => 0xF9, # ISOlat1: LATIN SMALL LETTER U WITH GRAVE + 'uacute' => 0xFA, # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 'ucirc' => 0xFB, # ISOlat1: LATIN SMALL LETTER U WITH + # CIRCUMFLEX + 'uuml' => 0xFC, # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 'ubreve' => 0xFD, # ISOlat2: LATIN SMALL LETTER U WITH BREVE + 'scirc' => 0xFE, # ISOlat2: LATIN SMALL LETTER S WITH + # CIRCUMFLEX + 'dot' => 0xFF, # ISOdia : DOT ABOVE +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_4.pm b/lib/MHonArc/CharEnt/ISO8859_4.pm new file mode 100644 index 0000000..b1c1b56 --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_4.pm @@ -0,0 +1,147 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_4.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-4. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_4; + +##--------------------------------------------------------------------------- +## ISO-8859-4: Latin-4 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA1, 'Aogon', # ISOlat2: LATIN CAPITAL LETTER A WITH OGONEK + 0xA2, 'kgreen', # ISOlat2: LATIN SMALL LETTER KRA (Greenlandic) + 0xA3, 'Rcedil', # ISOlat2: LATIN CAPITAL LETTER R WITH CEDILLA + 0xA4, 'curren', # ISOnum : CURRENCY SIGN + 0xA5, 'Itilde', # ISOlat2: LATIN CAPITAL LETTER I WITH TILDE + 0xA6, 'Lcedil', # ISOlat2: LATIN CAPITAL LETTER L WITH CEDILLA + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'die', # ISOdia : DIAERESIS + 0xA9, 'Scaron', # ISOlat2: LATIN CAPITAL LETTER S WITH CARON + 0xAA, 'Emacr', # ISOlat2: LATIN CAPITAL LETTER E WITH MACRON + 0xAB, 'Gcedil', # ISOlat2: LATIN CAPITAL LETTER G WITH CEDILLA + 0xAC, 'Tstrok', # ISOlat2: LATIN CAPITAL LETTER T WITH STROKE + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'Zcaron', # ISOlat2: LATIN CAPITAL LETTER Z WITH CARON + 0xAF, 'macr', # ISOdia : MACRON + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'aogon', # ISOlat2: LATIN SMALL LETTER A WITH OGONEK + 0xB2, 'ogon', # ISOdia : OGONEK + 0xB3, 'rcedil', # ISOlat2: LATIN SMALL LETTER R WITH CEDILLA + 0xB4, 'acute', # ISOdia : ACUTE ACCENT + 0xB5, 'itilde', # ISOlat2: LATIN SMALL LETTER I WITH TILDE + 0xB6, 'lcedil', # ISOlat2: LATIN SMALL LETTER L WITH CEDILLA + 0xB7, 'caron', # ISOdia : CARON + 0xB8, 'cedil', # ISOdia : CEDILLA + 0xB9, 'scaron', # ISOlat2: LATIN SMALL LETTER S WITH CARON + 0xBA, 'emacr', # ISOlat2: LATIN SMALL LETTER E WITH MACRON + 0xBB, 'gcedil', # ISOlat2: LATIN SMALL LETTER G WITH CEDILLA + 0xBC, 'tstrok', # ISOlat2: LATIN SMALL LETTER J WITH STROKE + 0xBD, 'ENG', # ISOlat2: LATIN CAPITAL LETTER ENG (Lappish) + 0xBE, 'zcaron', # ISOlat2: LATIN SMALL LETTER Z WITH CARON + 0xBF, 'eng', # ISOlat2: LATIN SMALL LETTER ENG (Lappish) + 0xC0, 'Amacr', # ISOlat1: LATIN CAPITAL LETTER A WITH MACRON + 0xC1, 'Aacute', # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 0xC2, 'Acirc', # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 0xC3, 'Atilde', # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 0xC4, 'Auml', # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 0xC5, 'Aring', # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 0xC6, 'AElig', # ISOlat1: LATIN CAPITAL LETTER AE + 0xC7, 'Iogon', # ISOlat2: LATIN CAPITAL LETTER I WITH OGONEK + 0xC8, 'Ccaron', # ISOlat2: LATIN CAPITAL LETTER C WITH CARON + 0xC9, 'Eacute', # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 0xCA, 'Eogon', # ISOlat2: LATIN CAPITAL LETTER E WITH OGONEK + 0xCB, 'Euml', # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 0xCC, 'Edot', # ISOlat1: LATIN CAPITAL LETTER E WITH DOT + # ABOVE + 0xCD, 'Iacute', # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 0xCE, 'Icirc', # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 0xCF, 'Imacr', # ISOlat2: LATIN CAPITAL LETTER I WITH MACRON + 0xD0, 'Dstrok', # ISOlat2: LATIN CAPITAL LETTER D WITH STROKE + 0xD1, 'Ncedil', # ISOlat2: LATIN CAPITAL LETTER N WITH CEDILLA + 0xD2, 'Omacr', # ISOlat2: LATIN CAPITAL LETTER O WITH MACRON + 0xD3, 'Kcedil', # ISOlat2: LATIN CAPITAL LETTER K WITH CEDILLA + 0xD4, 'Ocirc', # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 0xD5, 'Otilde', # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 0xD6, 'Ouml', # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 0xD7, 'times', # ISOnum : MULTIPLICATION SIGN + 0xD8, 'Oslash', # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 0xD9, 'Uogon', # ISOlat2: LATIN CAPITAL LETTER U WITH OGONEK + 0xDA, 'Uacute', # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 0xDB, 'Ucirc', # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 0xDC, 'Uuml', # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 0xDD, 'Utilde', # ISOlat2: LATIN CAPITAL LETTER U WITH TILDE + 0xDE, 'Umacr', # ISOlat2: LATIN CAPITAL LETTER U WITH MACRON + 0xDF, 'szlig', # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 0xE0, 'amacr', # ISOlat1: LATIN SMALL LETTER A WITH MACRON + 0xE1, 'aacute', # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 0xE2, 'acirc', # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3, 'atilde', # ISOlat1: LATIN SMALL LETTER A WITH TILDE + 0xE4, 'auml', # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 0xE5, 'aring', # ISOlat1: LATIN SMALL LETTER A WITH RING ABOVE + 0xE6, 'aelig', # ISOlat1: LATIN SMALL LETTER AE + 0xE7, 'iogon', # ISOlat2: LATIN SMALL LETTER I WITH OGONEK + 0xE8, 'ccaron', # ISOlat2: LATIN SMALL LETTER C WITH CARON + 0xE9, 'eacute', # ISOlat2: LATIN SMALL LETTER E WITH ACUTE + 0xEA, 'eogon', # ISOlat2: LATIN SMALL LETTER E WITH OGONEK + 0xEB, 'euml', # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 0xEC, 'edot', # ISOlat2: LATIN SMALL LETTER E WITH DOT ABOVE + 0xED, 'iacute', # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 0xEE, 'icirc', # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF, 'imacr', # ISOlat2: LATIN SMALL LETTER I WITH MACRON + 0xF0, 'dstrok', # ISOlat2: LATIN SMALL LETTER D WITH STROKE + 0xF1, 'ncedil', # ISOlat2: LATIN SMALL LETTER N WITH CEDILLA + 0xF2, 'omacr', # ISOlat2: LATIN SMALL LETTER O WITH MACRON + 0xF3, 'kcedil', # ISOlat2: LATIN SMALL LETTER K WITH CEDILLA + 0xF4, 'ocirc', # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5, 'otilde', # ISOlat1: LATIN SMALL LETTER O WITH TILDE + 0xF6, 'ouml', # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 0xF7, 'divide', # ISOnum : DIVISION SIGN + 0xF8, 'oslash', # ISOlat1: LATIN SMALL LETTER O WITH STROKE + 0xF9, 'uogon', # ISOlat2: LATIN SMALL LETTER U WITH OGONEK + 0xFA, 'uacute', # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 0xFB, 'ucirc', # ISOlat1: LATIN SMALL LETTER U WITH + # CIRCUMFLEX + 0xFC, 'uuml', # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 0xFD, 'utilde', # ISOlat2: LATIN SMALL LETTER U WITH TILDE + 0xFE, 'umacr', # ISOlat2: LATIN SMALL LETTER U WITH MACRON + 0xFF, 'dot', # ISOdia : DOT ABOVE +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_5.pm b/lib/MHonArc/CharEnt/ISO8859_5.pm new file mode 100644 index 0000000..2d32bcb --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_5.pm @@ -0,0 +1,152 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_5.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-5. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_5; + +##--------------------------------------------------------------------------- +## ISO-8859-5: Cyrillic +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA1, 'IOcy', # ISOcyr1: CYRILLIC CAPITAL LETTER IO + 0xA2, 'DJcy', # ISOcyr2: CYRILLIC CAPITAL LETTER DJE + # (Serbocroatian) + 0xA3, 'GJcy', # ISOcyr2: CYRILLIC CAPITAL LETTER GJE + # (Macedonian) + 0xA4, 'IEcy', # ISOcyr1: CYRILLIC CAPITAL LETTER UKRAINIAN IE + 0xA5, 'DScy', # ISOcyr2: CYRILLIC CAPITAL LETTER DZE + # (Macedonian) + 0xA6, 'Iukcy', # ISOcyr2: CYRILLIC CAPITAL LETTER + # BYELORUSSIAN-UKRAINIAN I + 0xA7, 'YIcy', # ISOcyr2: CYRILLIC CAPITAL LETTER YI + # (Ukrainian) + 0xA8, 'Jukcy', # ISOcyr2: CYRILLIC CAPITAL LETTER JE + 0xA9, 'LJcy', # ISOcyr2: CYRILLIC CAPITAL LETTER LJE + 0xAA, 'NJcy', # ISOcyr2: CYRILLIC CAPITAL LETTER NJE + 0xAB, 'TSHcy', # ISOcyr2: CYRILLIC CAPITAL LETTER TSHE + # (Serbocroatian) + 0xAC, 'KJcy', # ISOcyr2: CYRILLIC CAPITAL LETTER KJE + # (Macedonian) + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'Ubrcy', # ISOcyr2: CYRILLIC CAPITAL LETTER SHORT U + # (Byelorussian) + 0xAF, 'DZcy', # ISOcyr2: CYRILLIC CAPITAL LETTER DZHE + 0xB0, 'Acy', # ISOcyr1: CYRILLIC CAPITAL LETTER A + 0xB1, 'Bcy', # ISOcyr1: CYRILLIC CAPITAL LETTER BE + 0xB2, 'Vcy', # ISOcyr1: CYRILLIC CAPITAL LETTER VE + 0xB3, 'Gcy', # ISOcyr1: CYRILLIC CAPITAL LETTER GHE + 0xB4, 'Dcy', # ISOcyr1: CYRILLIC CAPITAL LETTER DE + 0xB5, 'IEcy', # ISOcyr1: CYRILLIC CAPITAL LETTER IE + 0xB6, 'ZHcy', # ISOcyr1: CYRILLIC CAPITAL LETTER ZHE + 0xB7, 'Zcy', # ISOcyr1: CYRILLIC CAPITAL LETTER ZE + 0xB8, 'Icy', # ISOcyr1: CYRILLIC CAPITAL LETTER I + 0xB9, 'Jcy', # ISOcyr1: CYRILLIC CAPITAL LETTER SHORT I + 0xBA, 'Kcy', # ISOcyr1: CYRILLIC CAPITAL LETTER KA + 0xBB, 'Lcy', # ISOcyr1: CYRILLIC CAPITAL LETTER EL + 0xBC, 'Mcy', # ISOcyr1: CYRILLIC CAPITAL LETTER EM + 0xBD, 'Ncy', # ISOcyr1: CYRILLIC CAPITAL LETTER EN + 0xBE, 'Ocy', # ISOcyr1: CYRILLIC CAPITAL LETTER O + 0xBF, 'Pcy', # ISOcyr1: CYRILLIC CAPITAL LETTER PE + 0xC0, 'Rcy', # ISOcyr1: CYRILLIC CAPITAL LETTER ER + 0xC1, 'Scy', # ISOcyr1: CYRILLIC CAPITAL LETTER ES + 0xC2, 'Tcy', # ISOcyr1: CYRILLIC CAPITAL LETTER TE + 0xC3, 'Ucy', # ISOcyr1: CYRILLIC CAPITAL LETTER U + 0xC4, 'Fcy', # ISOcyr1: CYRILLIC CAPITAL LETTER EF + 0xC5, 'KHcy', # ISOcyr1: CYRILLIC CAPITAL LETTER HA + 0xC6, 'TScy', # ISOcyr1: CYRILLIC CAPITAL LETTER TSE + 0xC7, 'CHcy', # ISOcyr1: CYRILLIC CAPITAL LETTER CHE + 0xC8, 'SHcy', # ISOcyr1: CYRILLIC CAPITAL LETTER SHA + 0xC9, 'SHCHcy', # ISOcyr1: CYRILLIC CAPITAL LETTER SHCHA + 0xCA, 'HARDcy', # ISOcyr1: CYRILLIC CAPITAL LETTER HARD SIGN + 0xCB, 'Ycy', # ISOcyr1: CYRILLIC CAPITAL LETTER YERU + 0xCC, 'SOFTcy', # ISOcyr1: CYRILLIC CAPITAL LETTER SOFT SIGN + 0xCD, 'Ecy', # ISOcyr1: CYRILLIC CAPITAL LETTER E + 0xCE, 'YUcy', # ISOcyr1: CYRILLIC CAPITAL LETTER YU + 0xCF, 'YAcy', # ISOcyr1: CYRILLIC CAPITAL LETTER YA + 0xD0, 'acy', # ISOcyr1: CYRILLIC SMALL LETTER A + 0xD1, 'bcy', # ISOcyr1: CYRILLIC SMALL LETTER BE + 0xD2, 'vcy', # ISOcyr1: CYRILLIC SMALL LETTER VE + 0xD3, 'gcy', # ISOcyr1: CYRILLIC SMALL LETTER GHE + 0xD4, 'dcy', # ISOcyr1: CYRILLIC SMALL LETTER DE + 0xD5, 'iecy', # ISOcyr1: CYRILLIC SMALL LETTER IE + 0xD6, 'zhcy', # ISOcyr1: CYRILLIC SMALL LETTER ZHE + 0xD7, 'zcy', # ISOcyr1: CYRILLIC SMALL LETTER ZE + 0xD8, 'icy', # ISOcyr1: CYRILLIC SMALL LETTER I + 0xD9, 'jcy', # ISOcyr1: CYRILLIC SMALL LETTER SHORT I + 0xDA, 'kcy', # ISOcyr1: CYRILLIC SMALL LETTER KA + 0xDB, 'lcy', # ISOcyr1: CYRILLIC SMALL LETTER EL + 0xDC, 'mcy', # ISOcyr1: CYRILLIC SMALL LETTER EM + 0xDD, 'ncy', # ISOcyr1: CYRILLIC SMALL LETTER EN + 0xDE, 'ocy', # ISOcyr1: CYRILLIC SMALL LETTER O + 0xDF, 'pcy', # ISOcyr1: CYRILLIC SMALL LETTER PE + 0xE0, 'rcy', # ISOcyr1: CYRILLIC SMALL LETTER ER + 0xE1, 'scy', # ISOcyr1: CYRILLIC SMALL LETTER ES + 0xE2, 'tcy', # ISOcyr1: CYRILLIC SMALL LETTER TE + 0xE3, 'ucy', # ISOcyr1: CYRILLIC SMALL LETTER U + 0xE4, 'fcy', # ISOcyr1: CYRILLIC SMALL LETTER EF + 0xE5, 'khcy', # ISOcyr1: CYRILLIC SMALL LETTER HA + 0xE6, 'tscy', # ISOcyr1: CYRILLIC SMALL LETTER TSE + 0xE7, 'chcy', # ISOcyr1: CYRILLIC SMALL LETTER CHE + 0xE8, 'shcy', # ISOcyr1: CYRILLIC SMALL LETTER SHA + 0xE9, 'shchcy', # ISOcyr1: CYRILLIC SMALL LETTER SHCHA + 0xEA, 'hardcy', # ISOcyr1: CYRILLIC SMALL LETTER HARD SIGN + 0xEB, 'ycy', # ISOcyr1: CYRILLIC SMALL LETTER YERU + 0xEC, 'softcy', # ISOcyr1: CYRILLIC SMALL LETTER SOFT SIGN + 0xED, 'ecy', # ISOcyr1: CYRILLIC SMALL LETTER E + 0xEE, 'yucy', # ISOcyr1: CYRILLIC SMALL LETTER YU + 0xEF, 'yacy', # ISOcyr1: CYRILLIC SMALL LETTER YA + 0xF0, 'numero', # ISOcyr1: NUMERO SIGN + 0xF1, 'iocy', # ISOcyr1: CYRILLIC SMALL LETTER IO + 0xF2, 'djcy', # ISOcyr2: CYRILLIC SMALL LETTER DJE + # (Serbocroatian) + 0xF3, 'gjcy', # ISOcyr2: CYRILLIC SMALL LETTER GJE + # (Macedonian) + 0xF4, 'iecy', # ISOcyr1: CYRILLIC SMALL LETTER UKRAINIAN IE + 0xF5, 'dscy', # ISOcyr2: CYRILLIC SMALL LETTER DZE + # (Macedonian) + 0xF6, 'iukcy', # ISOcyr2: CYRILLIC SMALL LETTER + # BYELORUSSIAN-UKRAINIAN I + 0xF7, 'yicy', # ISOcyr2: CYRILLIC SMALL LETTER YI + # (Ukrainian) + 0xF8, 'jsercy', # ISOcyr2: CYRILLIC SMALL LETTER JE + 0xF9, 'ljcy', # ISOcyr2: CYRILLIC SMALL LETTER LJE + 0xFA, 'njcy', # ISOcyr2: CYRILLIC SMALL LETTER NJE + 0xFB, 'tshcy', # ISOcyr2: CYRILLIC SMALL LETTER TSHE + # (Serbocroatian) + 0xFC, 'kjcy', # ISOcyr2: CYRILLIC SMALL LETTER KJE + # (Macedonian) + 0xFD, 'sect', # ISOnum : SECTION SIGN + 0xFE, 'ubrcy', # ISOcyr2: CYRILLIC SMALL LETTER SHORT U + # (Byelorussian) + 0xFF, 'dzcy', # ISOcyr2: CYRILLIC SMALL LETTER DZHE +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_6.pm b/lib/MHonArc/CharEnt/ISO8859_6.pm new file mode 100644 index 0000000..ddd77ff --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_6.pm @@ -0,0 +1,94 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_6.pm,v 1.1 2001/08/19 09:53:55 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-6. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_6; + +##--------------------------------------------------------------------------- +## ISO-8859-6: Arabic +##--------------------------------------------------------------------------- +## Note: There is no ISO entities for arabic characters. Some of +## the following are non-standard entity references. 'ISOarbc' +## is used as the entity defining the Arabic entities. + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA4, 'curren', # ISOnum : CURRENCY SIGN + 0xAC, 'arcomma', # ISOarbc: ARABIC COMMA + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xBB, 'arsemi', # ISOarbc: ARABIC SEMICOLON + 0xBF, 'arquest', # ISOarbc: ARABIC QUESTION MARK + 0xC1, 'hamz', # ISOarbc: ARABIC LETTER HAMZA + 0xC2, 'alefmadd', # ISOarbc: ARABIC LETTER ALEF WITH MADDA ABOVE + 0xC3, 'alefhamz', # ISOarbc: ARABIC LETTER ALEF WITH HAMZA ABOVE + 0xC4, 'wawhamz', # ISOarbc: ARABIC LETTER WAW WITH HAMZA ABOVE + 0xC5, 'alefhamz', # ISOarbc: ARABIC LETTER ALEF WITH HAMZA BELOW + 0xC6, 'yehhamz', # ISOarbc: ARABIC LETTER YEH WITH HAMZA ABOVE + 0xC7, 'alef', # ISOarbc: ARABIC LETTER ALEF + 0xC8, 'beh', # ISOarbc: ARABIC LETTER BEH + 0xC9, 'tehmarb', # ISOarbc: ARABIC LETTER TEH MARBUTA + 0xCA, 'teh', # ISOarbc: ARABIC LETTER TEH + 0xCB, 'theh', # ISOarbc: ARABIC LETTER THEH + 0xCC, 'jeem', # ISOarbc: ARABIC LETTER JEEM + 0xCD, 'hah', # ISOarbc: ARABIC LETTER HAH + 0xCE, 'khah', # ISOarbc: ARABIC LETTER KHAH + 0xCF, 'dal', # ISOarbc: ARABIC LETTER DAL + 0xD0, 'thal', # ISOarbc: ARABIC LETTER THAL + 0xD1, 'reh', # ISOarbc: ARABIC LETTER REH + 0xD2, 'zain', # ISOarbc: ARABIC LETTER ZAIN + 0xD3, 'seen', # ISOarbc: ARABIC LETTER SEEN + 0xD4, 'sheen', # ISOarbc: ARABIC LETTER SHEEN + 0xD5, 'sad', # ISOarbc: ARABIC LETTER SAD + 0xD6, 'dad', # ISOarbc: ARABIC LETTER DAD + 0xD7, 'tah', # ISOarbc: ARABIC LETTER TAH + 0xD8, 'zah', # ISOarbc: ARABIC LETTER ZAH + 0xD9, 'ain', # ISOarbc: ARABIC LETTER AIN + 0xDA, 'ghain', # ISOarbc: ARABIC LETTER GHAIN + 0xE0, 'tatweel', # ISOarbc: ARABIC TATWEEL + 0xE1, 'feh', # ISOarbc: ARABIC LETTER FEH + 0xE2, 'qaf', # ISOarbc: ARABIC LETTER QAF + 0xE3, 'kaf', # ISOarbc: ARABIC LETTER KAF + 0xE4, 'lam', # ISOarbc: ARABIC LETTER LAM + 0xE5, 'meem', # ISOarbc: ARABIC LETTER MEEM + 0xE6, 'noon', # ISOarbc: ARABIC LETTER NOON + 0xE7, 'heh', # ISOarbc: ARABIC LETTER HEH + 0xE8, 'waw', # ISOarbc: ARABIC LETTER WAW + 0xE9, 'alefmaks', # ISOarbc: ARABIC LETTER ALEF MAKSURA + 0xEA, 'yeh', # ISOarbc: ARABIC LETTER YEH + 0xEB, 'fathatan', # ISOarbc: ARABIC FATHATAN + 0xEC, 'dammatan', # ISOarbc: ARABIC DAMMATAN + 0xED, 'kasratan', # ISOarbc: ARABIC KASRATAN + 0xEE, 'fatha', # ISOarbc: ARABIC FATHA + 0xEF, 'damma', # ISOarbc: ARABIC DAMMA + 0xF0, 'kasra', # ISOarbc: ARABIC KASRA + 0xF1, 'shadda', # ISOarbc: ARABIC SHADDA + 0xF2, 'sukun', # ISOarbc: ARABIC SUKUN +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_7.pm b/lib/MHonArc/CharEnt/ISO8859_7.pm new file mode 100644 index 0000000..11a3dbc --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_7.pm @@ -0,0 +1,148 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_7.pm,v 1.1 2001/08/19 09:53:56 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-7. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_7; + +##--------------------------------------------------------------------------- +## ISO-8859-7: Greek +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA1, 'lsquo', # ISOnum : SINGLE HIGH-REVERSED-9 QUOTATION + # MARK + 0xA2, 'rsquo', # ISOnum : RIGHT SINGLE QUOTATION MARK + 0xA3, 'pound', # ISOnum : POUND SIGN + 0xA6, 'brvbar', # ISOnum : BROKEN BAR + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'die', # ISOdia : DIAERESIS + 0xA9, 'copy', # ISOnum : COPYRIGHT SIGN + 0xAB, 'laquo', # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xAC, 'not', # ISOnum : NOT SIGN + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAF, 'mdash', # ISOpub : EM DASH + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'plusmn', # ISOnum : PLUS-MINUS SIGN + 0xB2, 'sup2', # ISOnum : SUPERSCRIPT TWO + 0xB3, 'sup3', # ISOnum : SUPERSCRIPT THREE + 0xB4, 'acute', # ISOdia : ACUTE ACCENT + 0xB5, 'diagr', # ISOgrk?: ACUTE ACCENT AND DIAERESIS + # (Tonos and Dialytika) + 0xB6, 'Aacgr', # ISOgrk2: GREEK CAPITAL LETTER ALPHA WITH + # ACUTE + 0xB7, 'middot', # ISOnum : MIDDLE DOT + 0xB8, 'Eacgr', # ISOgrk2: GREEK CAPITAL LETTER EPSILON WITH + # ACUTE + 0xB9, 'EEacgr', # ISOgrk2: GREEK CAPITAL LETTER ETA WITH ACUTE + 0xBA, 'Iacgr', # ISOgrk2: GREEK CAPITAL LETTER IOTA WITH ACUTE + 0xBB, 'raquo', # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xBC, 'Oacgr', # ISOgrk2: GREEK CAPITAL LETTER OMICRON WITH + # ACUTE + 0xBD, 'frac12', # ISOnum : VULGAR FRACTION ONE HALF + 0xBE, 'Uacgr', # ISOgrk2: GREEK CAPITAL LETTER UPSILON WITH + # ACUTE + 0xBF, 'OHacgr', # ISOgrk2: GREEK CAPITAL LETTER OMEGA WITH + # ACUTE + 0xC0, 'idiagr', # ISOgrk2: GREEK SMALL LETTER IOTA WITH ACUTE + # AND DIAERESIS + 0xC1, 'Agr', # ISOgrk1: GREEK CAPITAL LETTER ALPHA + 0xC2, 'Bgr', # ISOgrk1: GREEK CAPITAL LETTER BETA + 0xC3, 'Ggr', # ISOgrk1: GREEK CAPITAL LETTER GAMMA + 0xC4, 'Dgr', # ISOgrk1: GREEK CAPITAL LETTER DELTA + 0xC5, 'Egr', # ISOgrk1: GREEK CAPITAL LETTER EPSILON + 0xC6, 'Zgr', # ISOgrk1: GREEK CAPITAL LETTER ZETA + 0xC7, 'EEgr', # ISOgrk1: GREEK CAPITAL LETTER ETA + 0xC8, 'THgr', # ISOgrk1: GREEK CAPITAL LETTER THETA + 0xC9, 'Igr', # ISOgrk1: GREEK CAPITAL LETTER IOTA + 0xCA, 'Kgr', # ISOgrk1: GREEK CAPITAL LETTER KAPPA + 0xCB, 'Lgr', # ISOgrk1: GREEK CAPITAL LETTER LAMDA + 0xCC, 'Mgr', # ISOgrk1: GREEK CAPITAL LETTER MU + 0xCD, 'Ngr', # ISOgrk1: GREEK CAPITAL LETTER NU + 0xCE, 'Xgr', # ISOgrk1: GREEK CAPITAL LETTER XI + 0xCF, 'Ogr', # ISOgrk1: GREEK CAPITAL LETTER OMICRON + 0xD0, 'Pgr', # ISOgrk1: GREEK CAPITAL LETTER PI + 0xD1, 'Rgr', # ISOgrk1: GREEK CAPITAL LETTER RHO + 0xD3, 'Sgr', # ISOgrk1: GREEK CAPITAL LETTER SIGMA + 0xD4, 'Tgr', # ISOgrk1: GREEK CAPITAL LETTER TAU + 0xD5, 'Ugr', # ISOgrk1: GREEK CAPITAL LETTER UPSILON + 0xD6, 'PHgr', # ISOgrk1: GREEK CAPITAL LETTER PHI + 0xD7, 'KHgr', # ISOgrk1: GREEK CAPITAL LETTER CHI + 0xD8, 'PSgr', # ISOgrk1: GREEK CAPITAL LETTER PSI + 0xD9, 'OHgr', # ISOgrk1: GREEK CAPITAL LETTER OMEGA + 0xDA, 'Idigr', # ISOgrk2: GREEK CAPITAL LETTER IOTA WITH + # DIAERESIS + 0xDB, 'Udigr', # ISOgrk2: GREEK CAPITAL LETTER UPSILON WITH + # DIAERESIS + 0xDC, 'aacgr', # ISOgrk2: GREEK SMALL LETTER ALPHA WITH ACUTE + 0xDD, 'eacgr', # ISOgrk2: GREEK SMALL LETTER EPSILON WITH + # ACUTE + 0xDE, 'eeacgr', # ISOgrk2: GREEK SMALL LETTER ETA WITH ACUTE + 0xDF, 'iacgr', # ISOgrk2: GREEK SMALL LETTER IOTA WITH ACUTE + 0xE0, 'udiagr', # ISOgrk2: GREEK SMALL LETTER UPSILON WITH + # ACUTE AND DIAERESIS + 0xE1, 'agr', # ISOgrk1: GREEK SMALL LETTER ALPHA + 0xE2, 'bgr', # ISOgrk1: GREEK SMALL LETTER BETA + 0xE3, 'ggr', # ISOgrk1: GREEK SMALL LETTER GAMMA + 0xE4, 'dgr', # ISOgrk1: GREEK SMALL LETTER DELTA + 0xE5, 'egr', # ISOgrk1: GREEK SMALL LETTER EPSILON + 0xE6, 'zgr', # ISOgrk1: GREEK SMALL LETTER ZETA + 0xE7, 'eegr', # ISOgrk1: GREEK SMALL LETTER ETA + 0xE8, 'thgr', # ISOgrk1: GREEK SMALL LETTER THETA + 0xE9, 'igr', # ISOgrk1: GREEK SMALL LETTER IOTA + 0xEA, 'kgr', # ISOgrk1: GREEK SMALL LETTER KAPPA + 0xEB, 'lgr', # ISOgrk1: GREEK SMALL LETTER LAMDA + 0xEC, 'mgr', # ISOgrk1: GREEK SMALL LETTER MU + 0xED, 'ngr', # ISOgrk1: GREEK SMALL LETTER NU + 0xEE, 'xgr', # ISOgrk1: GREEK SMALL LETTER XI + 0xEF, 'ogr', # ISOgrk1: GREEK SMALL LETTER OMICRON + 0xF0, 'pgr', # ISOgrk1: GREEK SMALL LETTER PI + 0xF1, 'rgr', # ISOgrk1: GREEK SMALL LETTER RHO + 0xF2, 'sfgr', # ISOgrk1: GREEK SMALL LETTER FINAL SIGMA + 0xF3, 'sgr', # ISOgrk1: GREEK SMALL LETTER SIGMA + 0xF4, 'tgr', # ISOgrk1: GREEK SMALL LETTER TAU + 0xF5, 'ugr', # ISOgrk1: GREEK SMALL LETTER UPSILON + 0xF6, 'phgr', # ISOgrk1: GREEK SMALL LETTER PHI + 0xF7, 'khgr', # ISOgrk1: GREEK SMALL LETTER CHI + 0xF8, 'psgr', # ISOgrk1: GREEK SMALL LETTER PSI + 0xF9, 'ohgr', # ISOgrk1: GREEK SMALL LETTER OMEGA + 0xFA, 'idigr', # ISOgrk2: GREEK SMALL LETTER IOTA WITH + # DIAERESIS + 0xFB, 'udigr', # ISOgrk2: GREEK SMALL LETTER UPSILON WITH + # DIAERESIS + 0xFC, 'oacgr', # ISOgrk2: GREEK SMALL LETTER OMICRON WITH + # ACUTE + 0xFD, 'uacgr', # ISOgrk2: GREEK SMALL LETTER UPSILON WITH + # ACUTE + 0xFE, 'ohacgr', # ISOgrk2: GREEK SMALL LETTER OMEGA WITH ACUTE +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_7R.pm b/lib/MHonArc/CharEnt/ISO8859_7R.pm new file mode 100644 index 0000000..5e6ee2b --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_7R.pm @@ -0,0 +1,145 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_7R.pm,v 1.1 2001/08/19 09:53:56 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-1. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +package MHonArc::CharEnt::ISO8859_7R; + +##--------------------------------------------------------------------------- +## ISO-8859-7 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Entity Hex Code # ISO external entity and description + #-------------------------------------------------------------------------- + 'lsquo' => 0xA1, # ISOnum : SINGLE HIGH-REVERSED-9 QUOTATION + # MARK + 'rsquo' => 0xA2, # ISOnum : RIGHT SINGLE QUOTATION MARK + 'pound' => 0xA3, # ISOnum : POUND SIGN + 'brvbar' => 0xA6, # ISOnum : BROKEN BAR + 'sect' => 0xA7, # ISOnum : SECTION SIGN + 'die' => 0xA8, # ISOdia : DIAERESIS + 'copy' => 0xA9, # ISOnum : COPYRIGHT SIGN + 'laquo' => 0xAB, # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'not' => 0xAC, # ISOnum : NOT SIGN + 'shy' => 0xAD, # ISOnum : SOFT HYPHEN + 'mdash' => 0xAF, # ISOpub : EM DASH + 'deg' => 0xB0, # ISOnum : DEGREE SIGN + 'plusmn' => 0xB1, # ISOnum : PLUS-MINUS SIGN + 'sup2' => 0xB2, # ISOnum : SUPERSCRIPT TWO + 'sup3' => 0xB3, # ISOnum : SUPERSCRIPT THREE + 'acute' => 0xB4, # ISOdia : ACUTE ACCENT + 'diagr' => 0xB5, # ISOgrk?: ACUTE ACCENT AND DIAERESIS + # (Tonos and Dialytika) + 'Aacgr' => 0xB6, # ISOgrk2: GREEK CAPITAL LETTER ALPHA WITH + # ACUTE + 'middot' => 0xB7, # ISOnum : MIDDLE DOT + 'Eacgr' => 0xB8, # ISOgrk2: GREEK CAPITAL LETTER EPSILON WITH + # ACUTE + 'EEacgr' => 0xB9, # ISOgrk2: GREEK CAPITAL LETTER ETA WITH ACUTE + 'Iacgr' => 0xBA, # ISOgrk2: GREEK CAPITAL LETTER IOTA WITH ACUTE + 'raquo' => 0xBB, # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'Oacgr' => 0xBC, # ISOgrk2: GREEK CAPITAL LETTER OMICRON WITH + # ACUTE + 'frac12' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'half' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'Uacgr' => 0xBE, # ISOgrk2: GREEK CAPITAL LETTER UPSILON WITH + # ACUTE + 'OHacgr' => 0xBF, # ISOgrk2: GREEK CAPITAL LETTER OMEGA WITH + # ACUTE + 'idiagr' => 0xC0, # ISOgrk2: GREEK SMALL LETTER IOTA WITH ACUTE + # AND DIAERESIS + 'Agr' => 0xC1, # ISOgrk1: GREEK CAPITAL LETTER ALPHA + 'Bgr' => 0xC2, # ISOgrk1: GREEK CAPITAL LETTER BETA + 'Ggr' => 0xC3, # ISOgrk1: GREEK CAPITAL LETTER GAMMA + 'Dgr' => 0xC4, # ISOgrk1: GREEK CAPITAL LETTER DELTA + 'Egr' => 0xC5, # ISOgrk1: GREEK CAPITAL LETTER EPSILON + 'Zgr' => 0xC6, # ISOgrk1: GREEK CAPITAL LETTER ZETA + 'EEgr' => 0xC7, # ISOgrk1: GREEK CAPITAL LETTER ETA + 'THgr' => 0xC8, # ISOgrk1: GREEK CAPITAL LETTER THETA + 'Igr' => 0xC9, # ISOgrk1: GREEK CAPITAL LETTER IOTA + 'Kgr' => 0xCA, # ISOgrk1: GREEK CAPITAL LETTER KAPPA + 'Lgr' => 0xCB, # ISOgrk1: GREEK CAPITAL LETTER LAMDA + 'Mgr' => 0xCC, # ISOgrk1: GREEK CAPITAL LETTER MU + 'Ngr' => 0xCD, # ISOgrk1: GREEK CAPITAL LETTER NU + 'Xgr' => 0xCE, # ISOgrk1: GREEK CAPITAL LETTER XI + 'Ogr' => 0xCF, # ISOgrk1: GREEK CAPITAL LETTER OMICRON + 'Pgr' => 0xD0, # ISOgrk1: GREEK CAPITAL LETTER PI + 'Rgr' => 0xD1, # ISOgrk1: GREEK CAPITAL LETTER RHO + 'Sgr' => 0xD3, # ISOgrk1: GREEK CAPITAL LETTER SIGMA + 'Tgr' => 0xD4, # ISOgrk1: GREEK CAPITAL LETTER TAU + 'Ugr' => 0xD5, # ISOgrk1: GREEK CAPITAL LETTER UPSILON + 'PHgr' => 0xD6, # ISOgrk1: GREEK CAPITAL LETTER PHI + 'KHgr' => 0xD7, # ISOgrk1: GREEK CAPITAL LETTER CHI + 'PSgr' => 0xD8, # ISOgrk1: GREEK CAPITAL LETTER PSI + 'OHgr' => 0xD9, # ISOgrk1: GREEK CAPITAL LETTER OMEGA + 'Idigr' => 0xDA, # ISOgrk2: GREEK CAPITAL LETTER IOTA WITH + # DIAERESIS + 'Udigr' => 0xDB, # ISOgrk2: GREEK CAPITAL LETTER UPSILON WITH + # DIAERESIS + 'aacgr' => 0xDC, # ISOgrk2: GREEK SMALL LETTER ALPHA WITH ACUTE + 'eacgr' => 0xDD, # ISOgrk2: GREEK SMALL LETTER EPSILON WITH + # ACUTE + 'eeacgr' => 0xDE, # ISOgrk2: GREEK SMALL LETTER ETA WITH ACUTE + 'iacgr' => 0xDF, # ISOgrk2: GREEK SMALL LETTER IOTA WITH ACUTE + 'udiagr' => 0xE0, # ISOgrk2: GREEK SMALL LETTER UPSILON WITH + # ACUTE AND DIAERESIS + 'agr' => 0xE1, # ISOgrk1: GREEK SMALL LETTER ALPHA + 'bgr' => 0xE2, # ISOgrk1: GREEK SMALL LETTER BETA + 'ggr' => 0xE3, # ISOgrk1: GREEK SMALL LETTER GAMMA + 'dgr' => 0xE4, # ISOgrk1: GREEK SMALL LETTER DELTA + 'egr' => 0xE5, # ISOgrk1: GREEK SMALL LETTER EPSILON + 'zgr' => 0xE6, # ISOgrk1: GREEK SMALL LETTER ZETA + 'eegr' => 0xE7, # ISOgrk1: GREEK SMALL LETTER ETA + 'thgr' => 0xE8, # ISOgrk1: GREEK SMALL LETTER THETA + 'igr' => 0xE9, # ISOgrk1: GREEK SMALL LETTER IOTA + 'kgr' => 0xEA, # ISOgrk1: GREEK SMALL LETTER KAPPA + 'lgr' => 0xEB, # ISOgrk1: GREEK SMALL LETTER LAMDA + 'mgr' => 0xEC, # ISOgrk1: GREEK SMALL LETTER MU + 'ngr' => 0xED, # ISOgrk1: GREEK SMALL LETTER NU + 'xgr' => 0xEE, # ISOgrk1: GREEK SMALL LETTER XI + 'ogr' => 0xEF, # ISOgrk1: GREEK SMALL LETTER OMICRON + 'pgr' => 0xF0, # ISOgrk1: GREEK SMALL LETTER PI + 'rgr' => 0xF1, # ISOgrk1: GREEK SMALL LETTER RHO + 'sfgr' => 0xF2, # ISOgrk1: GREEK SMALL LETTER FINAL SIGMA + 'sgr' => 0xF3, # ISOgrk1: GREEK SMALL LETTER SIGMA + 'tgr' => 0xF4, # ISOgrk1: GREEK SMALL LETTER TAU + 'ugr' => 0xF5, # ISOgrk1: GREEK SMALL LETTER UPSILON + 'phgr' => 0xF6, # ISOgrk1: GREEK SMALL LETTER PHI + 'khgr' => 0xF7, # ISOgrk1: GREEK SMALL LETTER CHI + 'psgr' => 0xF8, # ISOgrk1: GREEK SMALL LETTER PSI + 'ohgr' => 0xF9, # ISOgrk1: GREEK SMALL LETTER OMEGA + 'idigr' => 0xFA, # ISOgrk2: GREEK SMALL LETTER IOTA WITH + # DIAERESIS + 'udigr' => 0xFB, # ISOgrk2: GREEK SMALL LETTER UPSILON WITH + # DIAERESIS + 'oacgr' => 0xFC, # ISOgrk2: GREEK SMALL LETTER OMICRON WITH + # ACUTE + 'uacgr' => 0xFD, # ISOgrk2: GREEK SMALL LETTER UPSILON WITH + # ACUTE + 'ohacgr' => 0xFE, # ISOgrk2: GREEK SMALL LETTER OMEGA WITH ACUTE +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_8.pm b/lib/MHonArc/CharEnt/ISO8859_8.pm new file mode 100644 index 0000000..8892075 --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_8.pm @@ -0,0 +1,104 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_8.pm,v 1.1 2001/08/19 09:53:56 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-8. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_8; + +##--------------------------------------------------------------------------- +## ISO-8859-8: Hebrew +##--------------------------------------------------------------------------- +## Note: There is no ISO entities for hebrew characters. ISOamso +## defines a few characters, but they are for math purposes. +## Some of the following are non-standard entity references. +## 'ISOhbrw' is used as the entity defining the Hebrew entities. + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA2, 'cent', # ISOnum : CENT SIGN + 0xA3, 'pound', # ISOnum : POUND SIGN + 0xA4, 'curren', # ISOnum : CURRENCY SIGN + 0xA5, 'yen', # ISOnum : YEN SIGN + 0xA6, 'brvbar', # ISOnum : BROKEN BAR + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'die', # ISOdia : DIAERESIS + 0xA9, 'copy', # ISOnum : COPYRIGHT SIGN + 0xAA, 'times', # ISOnum : MULTIPLICATION SIGN + 0xAB, 'laquo', # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xAC, 'not', # ISOnum : NOT SIGN + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'reg', # ISOnum : REGISTERED SIGN + 0xAF, 'macr', # ISOdia : OVERLINE (MACRON) + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'plusmn', # ISOnum : PLUS-MINUS SIGN + 0xB2, 'sup2', # ISOnum : SUPERSCRIPT TWO + 0xB3, 'sup3', # ISOnum : SUPERSCRIPT THREE + 0xB4, 'acute', # ISOdia : ACUTE ACCENT + 0xB5, 'micro', # ISOnum : MICRO SIGN + 0xB6, 'para', # ISOnum : PILCROW SIGN + 0xB7, 'middot', # ISOnum : MIDDLE DOT + 0xB8, 'cedil', # ISOdia : CEDILLA + 0xB9, 'sup1', # ISOnum : SUPERSCRIPT ONE + 0xBA, 'divide', # ISOlat1: DIVISION SIGN + 0xBB, 'raquo', # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xBC, 'frac14', # ISOnum : VULGAR FRACTION ONE QUARTER + 0xBD, 'frac12', # ISOnum : VULGAR FRACTION ONE HALF + 0xBE, 'frac34', # ISOnum : VULGAR FRACTION THREE QUARTERS + 0xDF, 'dlowbar', # ISOnum?: DOUBLE LOW LINE + 0xE0, 'alef', # ISOhbrw: HEBREW LETTER ALEF + 0xE1, 'bet', # ISOhbrw: HEBREW LETTER BET + 0xE2, 'gimel', # ISOhbrw: HEBREW LETTER GIMEL + 0xE3, 'dalet', # ISOhbrw: HEBREW LETTER DALET + 0xE4, 'he', # ISOhbrw: HEBREW LETTER HE + 0xE5, 'vav', # ISOhbrw: HEBREW LETTER VAV + 0xE6, 'zayin', # ISOhbrw: HEBREW LETTER ZAYIN + 0xE7, 'het', # ISOhbrw: HEBREW LETTER HET + 0xE8, 'tet', # ISOhbrw: HEBREW LETTER TET + 0xE9, 'yod', # ISOhbrw: HEBREW LETTER YOD + 0xEA, 'fkaf', # ISOhbrw: HEBREW LETTER FINAL KAF + 0xEB, 'kaf', # ISOhbrw: HEBREW LETTER KAF + 0xEC, 'lamed', # ISOhbrw: HEBREW LETTER LAMED + 0xED, 'fmem', # ISOhbrw: HEBREW LETTER FINAL MEM + 0xEE, 'mem', # ISOhbrw: HEBREW LETTER MEM + 0xEF, 'fnun', # ISOhbrw: HEBREW LETTER FINAL NUN + 0xF0, 'nun', # ISOhbrw: HEBREW LETTER NUN + 0xF1, 'samekh', # ISOhbrw: HEBREW LETTER SAMEKH + 0xF2, 'ayin', # ISOhbrw: HEBREW LETTER AYIN + 0xF3, 'fpe', # ISOhbrw: HEBREW LETTER FINAL PE + 0xF4, 'pe', # ISOhbrw: HEBREW LETTER PE + 0xF5, 'ftsadi', # ISOhbrw: HEBREW LETTER FINAL TSADI + 0xF6, 'tsadi', # ISOhbrw: HEBREW LETTER TSADI + 0xF7, 'qof', # ISOhbrw: HEBREW LETTER QOF + 0xF8, 'resh', # ISOhbrw: HEBREW LETTER RESH + 0xF9, 'shin', # ISOhbrw: HEBREW LETTER SHIN + 0xFA, 'tav', # ISOhbrw: HEBREW LETTER TAV +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_8R.pm b/lib/MHonArc/CharEnt/ISO8859_8R.pm new file mode 100644 index 0000000..c77ac1a --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_8R.pm @@ -0,0 +1,97 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_8R.pm,v 1.1 2001/08/19 09:53:56 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-1. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +package MHonArc::CharEnt::ISO8859_8R; + +##--------------------------------------------------------------------------- +## ISO-8859-8 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Entity Hex Code # ISO external entity and description + #-------------------------------------------------------------------------- + 'cent' => 0xA2, # ISOnum : CENT SIGN + 'pound' => 0xA3, # ISOnum : POUND SIGN + 'curren' => 0xA4, # ISOnum : CURRENCY SIGN + 'yen' => 0xA5, # ISOnum : YEN SIGN + 'brvbar' => 0xA6, # ISOnum : BROKEN BAR + 'sect' => 0xA7, # ISOnum : SECTION SIGN + 'die' => 0xA8, # ISOdia : DIAERESIS + 'copy' => 0xA9, # ISOnum : COPYRIGHT SIGN + 'times' => 0xAA, # ISOnum : MULTIPLICATION SIGN + 'laquo' => 0xAB, # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'not' => 0xAC, # ISOnum : NOT SIGN + 'shy' => 0xAD, # ISOnum : SOFT HYPHEN + 'reg' => 0xAE, # ISOnum : REGISTERED SIGN + 'macr' => 0xAF, # ISOdia : OVERLINE (MACRON) + 'deg' => 0xB0, # ISOnum : DEGREE SIGN + 'plusmn' => 0xB1, # ISOnum : PLUS-MINUS SIGN + 'sup2' => 0xB2, # ISOnum : SUPERSCRIPT TWO + 'sup3' => 0xB3, # ISOnum : SUPERSCRIPT THREE + 'acute' => 0xB4, # ISOdia : ACUTE ACCENT + 'micro' => 0xB5, # ISOnum : MICRO SIGN + 'para' => 0xB6, # ISOnum : PILCROW SIGN + 'middot' => 0xB7, # ISOnum : MIDDLE DOT + 'cedil' => 0xB8, # ISOdia : CEDILLA + 'sup1' => 0xB9, # ISOnum : SUPERSCRIPT ONE + 'divide' => 0xBA, # ISOlat1: DIVISION SIGN + 'raquo' => 0xBB, # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'frac14' => 0xBC, # ISOnum : VULGAR FRACTION ONE QUARTER + 'frac12' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'half' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'frac34' => 0xBE, # ISOnum : VULGAR FRACTION THREE QUARTERS + 'dlowbar' => 0xDF, # ISOnum?: DOUBLE LOW LINE + 'alef' => 0xE0, # ISOhbrw: HEBREW LETTER ALEF + 'bet' => 0xE1, # ISOhbrw: HEBREW LETTER BET + 'gimel' => 0xE2, # ISOhbrw: HEBREW LETTER GIMEL + 'dalet' => 0xE3, # ISOhbrw: HEBREW LETTER DALET + 'he' => 0xE4, # ISOhbrw: HEBREW LETTER HE + 'vav' => 0xE5, # ISOhbrw: HEBREW LETTER VAV + 'zayin' => 0xE6, # ISOhbrw: HEBREW LETTER ZAYIN + 'het' => 0xE7, # ISOhbrw: HEBREW LETTER HET + 'tet' => 0xE8, # ISOhbrw: HEBREW LETTER TET + 'yod' => 0xE9, # ISOhbrw: HEBREW LETTER YOD + 'fkaf' => 0xEA, # ISOhbrw: HEBREW LETTER FINAL KAF + 'kaf' => 0xEB, # ISOhbrw: HEBREW LETTER KAF + 'lamed' => 0xEC, # ISOhbrw: HEBREW LETTER LAMED + 'fmem' => 0xED, # ISOhbrw: HEBREW LETTER FINAL MEM + 'mem' => 0xEE, # ISOhbrw: HEBREW LETTER MEM + 'fnun' => 0xEF, # ISOhbrw: HEBREW LETTER FINAL NUN + 'nun' => 0xF0, # ISOhbrw: HEBREW LETTER NUN + 'samekh' => 0xF1, # ISOhbrw: HEBREW LETTER SAMEKH + 'ayin' => 0xF2, # ISOhbrw: HEBREW LETTER AYIN + 'fpe' => 0xF3, # ISOhbrw: HEBREW LETTER FINAL PE + 'pe' => 0xF4, # ISOhbrw: HEBREW LETTER PE + 'ftsadi' => 0xF5, # ISOhbrw: HEBREW LETTER FINAL TSADI + 'tsadi' => 0xF6, # ISOhbrw: HEBREW LETTER TSADI + 'qof' => 0xF7, # ISOhbrw: HEBREW LETTER QOF + 'resh' => 0xF8, # ISOhbrw: HEBREW LETTER RESH + 'shin' => 0xF9, # ISOhbrw: HEBREW LETTER SHIN + 'tav' => 0xFA, # ISOhbrw: HEBREW LETTER TAV +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_9.pm b/lib/MHonArc/CharEnt/ISO8859_9.pm new file mode 100644 index 0000000..4832c31 --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_9.pm @@ -0,0 +1,150 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_9.pm,v 1.1 2001/08/19 09:53:56 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-9. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +############################################################################### +## Mapping arrays for characters to entity references +############################################################################### + +package MHonArc::CharEnt::ISO8859_9; + +##--------------------------------------------------------------------------- +## ISO-8859-9: Latin-5 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Hex Code Entity Ref # ISO external entity and description + #-------------------------------------------------------------------------- + 0xA1, 'iexcl', # ISOnum : INVERTED EXCLAMATION MARK + 0xA2, 'cent', # ISOnum : CENT SIGN + 0xA3, 'pound', # ISOnum : POUND SIGN + 0xA4, 'curren', # ISOnum : CURRENCY SIGN + 0xA5, 'yen', # ISOnum : YEN SIGN + 0xA6, 'brvbar', # ISOnum : BROKEN BAR + 0xA7, 'sect', # ISOnum : SECTION SIGN + 0xA8, 'die', # ISOdia : DIAERESIS + 0xA9, 'copy', # ISOnum : COPYRIGHT SIGN + 0xAA, 'ordf', # ISOnum : FEMININE ORDINAL INDICATOR + 0xAB, 'laquo', # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xAC, 'not', # ISOnum : NOT SIGN + 0xAD, 'shy', # ISOnum : SOFT HYPHEN + 0xAE, 'reg', # ISOnum : REGISTERED SIGN + 0xAF, 'macr', # ISOdia : OVERLINE (MACRON) + 0xB0, 'deg', # ISOnum : DEGREE SIGN + 0xB1, 'plusmn', # ISOnum : PLUS-MINUS SIGN + 0xB2, 'sup2', # ISOnum : SUPERSCRIPT TWO + 0xB3, 'sup3', # ISOnum : SUPERSCRIPT THREE + 0xB4, 'acute', # ISOdia : ACUTE ACCENT + 0xB5, 'micro', # ISOnum : MICRO SIGN + 0xB6, 'para', # ISOnum : PILCROW SIGN + 0xB7, 'middot', # ISOnum : MIDDLE DOT + 0xB8, 'cedil', # ISOdia : CEDILLA + 0xB9, 'sup1', # ISOnum : SUPERSCRIPT ONE + 0xBA, 'ordm', # ISOnum : MASCULINE ORDINAL INDICATOR + 0xBB, 'raquo', # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 0xBC, 'frac14', # ISOnum : VULGAR FRACTION ONE QUARTER + 0xBD, 'frac12', # ISOnum : VULGAR FRACTION ONE HALF + 0xBE, 'frac34', # ISOnum : VULGAR FRACTION THREE QUARTERS + 0xBF, 'iquest', # ISOnum : INVERTED QUESTION MARK + 0xC0, 'Agrave', # ISOlat1: LATIN CAPITAL LETTER A WITH GRAVE + 0xC1, 'Aacute', # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 0xC2, 'Acirc', # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 0xC3, 'Atilde', # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 0xC4, 'Auml', # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 0xC5, 'Aring', # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 0xC6, 'AElig', # ISOlat1: LATIN CAPITAL LETTER AE + 0xC7, 'Ccedil', # ISOlat1: LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8, 'Egrave', # ISOlat1: LATIN CAPITAL LETTER E WITH GRAVE + 0xC9, 'Eacute', # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 0xCA, 'Ecirc', # ISOlat1: LATIN CAPITAL LETTER E WITH + # CIRCUMFLEX + 0xCB, 'Euml', # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 0xCC, 'Igrave', # ISOlat1: LATIN CAPITAL LETTER I WITH GRAVE + 0xCD, 'Iacute', # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 0xCE, 'Icirc', # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 0xCF, 'Iuml', # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 0xD0, 'Gbreve', # ISOlat2: LATIN CAPITAL LETTER G WITH BREVE + 0xD1, 'Ntilde', # ISOlat1: LATIN CAPITAL LETTER N WITH TILDE + 0xD2, 'Ograve', # ISOlat1: LATIN CAPITAL LETTER O WITH GRAVE + 0xD3, 'Oacute', # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 0xD4, 'Ocirc', # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 0xD5, 'Otilde', # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 0xD6, 'Ouml', # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 0xD7, 'times', # ISOnum : MULTIPLICATION SIGN + 0xD8, 'Oslash', # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 0xD9, 'Ugrave', # ISOlat1: LATIN CAPITAL LETTER U WITH GRAVE + 0xDA, 'Uacute', # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 0xDB, 'Ucirc', # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 0xDC, 'Uuml', # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 0xDD, 'Idot', # ISOlat2: LATIN CAPITAL LETTER I WITH DOT + # ABOVE + 0xDE, 'Scedil', # ISOlat2: LATIN CAPITAL LETTER S WITH CEDILLA + 0xDF, 'szlig', # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 0xE0, 'agrave', # ISOlat1: LATIN SMALL LETTER A WITH GRAVE + 0xE1, 'aacute', # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 0xE2, 'acirc', # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3, 'atilde', # ISOlat1: LATIN SMALL LETTER A WITH TILDE + 0xE4, 'auml', # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 0xE5, 'aring', # ISOlat1: LATIN SMALL LETTER A WITH RING ABOVE + 0xE6, 'aelig', # ISOlat1: LATIN SMALL LETTER AE + 0xE7, 'ccedil', # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 0xE8, 'egrave', # ISOlat1: LATIN SMALL LETTER E WITH GRAVE + 0xE9, 'eacute', # ISOlat1: LATIN SMALL LETTER E WITH ACUTE + 0xEA, 'eogon', # ISOlat2: LATIN SMALL LETTER E WITH OGONEK + 0xEB, 'euml', # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 0xEC, 'edot', # ISOlat2: LATIN SMALL LETTER E WITH DOT ABOVE + 0xED, 'iacute', # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 0xEE, 'icirc', # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF, 'imacr', # ISOlat2: LATIN SMALL LETTER I WITH MACRON + 0xF0, 'gbreve', # ISOlat2: LATIN SMALL LETTER G WITH BREVE + 0xF1, 'ntilde', # ISOlat1: LATIN SMALL LETTER N WITH TILDE + 0xF2, 'ograve', # ISOlat1: LATIN SMALL LETTER O WITH GRAVE + 0xF3, 'oacute', # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 0xF4, 'ocirc', # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5, 'otilde', # ISOlat1: LATIN SMALL LETTER O WITH TILDE + 0xF6, 'ouml', # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 0xF7, 'divide', # ISOlat1: DIVISION SIGN + 0xF8, 'oslash', # ISOlat1: LATIN SMALL LETTER O WITH STROKE + 0xF9, 'ugrave', # ISOlat1: LATIN SMALL LETTER U WITH GRAVE + 0xFA, 'uacute', # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 0xFB, 'ucirc', # ISOlat1: LATIN SMALL LETTER U WITH CIRCUMFLEX + 0xFC, 'uuml', # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 0xFD, 'inodot', # ISOlat2: LATIN SMALL LETTER I DOTLESS + 0xFE, 'scedil', # ISOlat2: LATIN SMALL LETTER S WITH CEDILLA + 0xFF, 'yuml', # ISOlat1: LATIN SMALL LETTER Y WITH DIAERESIS +}; diff --git a/lib/MHonArc/CharEnt/ISO8859_9R.pm b/lib/MHonArc/CharEnt/ISO8859_9R.pm new file mode 100644 index 0000000..cc23b77 --- /dev/null +++ b/lib/MHonArc/CharEnt/ISO8859_9R.pm @@ -0,0 +1,147 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: ISO8859_9R.pm,v 1.1 2001/08/19 09:53:56 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## Mappings for ISO-8859-1. +##---------------------------------------------------------------------------## +## Copyright (C) 1997,2001 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +package MHonArc::CharEnt::ISO8859_9R; + +##--------------------------------------------------------------------------- +## ISO-8859-9 +##--------------------------------------------------------------------------- + ++{ + #-------------------------------------------------------------------------- + # Entity Hex Code # ISO external entity and description + #-------------------------------------------------------------------------- + 'iexcl' => 0xA1, # ISOnum : INVERTED EXCLAMATION MARK + 'cent' => 0xA2, # ISOnum : CENT SIGN + 'pound' => 0xA3, # ISOnum : POUND SIGN + 'curren' => 0xA4, # ISOnum : CURRENCY SIGN + 'yen' => 0xA5, # ISOnum : YEN SIGN + 'brvbar' => 0xA6, # ISOnum : BROKEN BAR + 'sect' => 0xA7, # ISOnum : SECTION SIGN + 'die' => 0xA8, # ISOdia : DIAERESIS + 'copy' => 0xA9, # ISOnum : COPYRIGHT SIGN + 'ordf' => 0xAA, # ISOnum : FEMININE ORDINAL INDICATOR + 'laquo' => 0xAB, # ISOnum : LEFT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'not' => 0xAC, # ISOnum : NOT SIGN + 'shy' => 0xAD, # ISOnum : SOFT HYPHEN + 'reg' => 0xAE, # ISOnum : REGISTERED SIGN + 'macr' => 0xAF, # ISOdia : OVERLINE (MACRON) + 'deg' => 0xB0, # ISOnum : DEGREE SIGN + 'plusmn' => 0xB1, # ISOnum : PLUS-MINUS SIGN + 'sup2' => 0xB2, # ISOnum : SUPERSCRIPT TWO + 'sup3' => 0xB3, # ISOnum : SUPERSCRIPT THREE + 'acute' => 0xB4, # ISOdia : ACUTE ACCENT + 'micro' => 0xB5, # ISOnum : MICRO SIGN + 'para' => 0xB6, # ISOnum : PILCROW SIGN + 'middot' => 0xB7, # ISOnum : MIDDLE DOT + 'cedil' => 0xB8, # ISOdia : CEDILLA + 'sup1' => 0xB9, # ISOnum : SUPERSCRIPT ONE + 'ordm' => 0xBA, # ISOnum : MASCULINE ORDINAL INDICATOR + 'raquo' => 0xBB, # ISOnum : RIGHT-POINTING DOUBLE ANGLE + # QUOTATION MARK + 'frac14' => 0xBC, # ISOnum : VULGAR FRACTION ONE QUARTER + 'frac12' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'half' => 0xBD, # ISOnum : VULGAR FRACTION ONE HALF + 'frac34' => 0xBE, # ISOnum : VULGAR FRACTION THREE QUARTERS + 'iquest' => 0xBF, # ISOnum : INVERTED QUESTION MARK + 'Agrave' => 0xC0, # ISOlat1: LATIN CAPITAL LETTER A WITH GRAVE + 'Aacute' => 0xC1, # ISOlat1: LATIN CAPITAL LETTER A WITH ACUTE + 'Acirc' => 0xC2, # ISOlat1: LATIN CAPITAL LETTER A WITH + # CIRCUMFLEX + 'Atilde' => 0xC3, # ISOlat1: LATIN CAPITAL LETTER A WITH TILDE + 'Auml' => 0xC4, # ISOlat1: LATIN CAPITAL LETTER A WITH + # DIAERESIS + 'Aring' => 0xC5, # ISOlat1: LATIN CAPITAL LETTER A WITH RING + # ABOVE + 'AElig' => 0xC6, # ISOlat1: LATIN CAPITAL LETTER AE + 'Ccedil' => 0xC7, # ISOlat1: LATIN CAPITAL LETTER C WITH CEDILLA + 'Egrave' => 0xC8, # ISOlat1: LATIN CAPITAL LETTER E WITH GRAVE + 'Eacute' => 0xC9, # ISOlat1: LATIN CAPITAL LETTER E WITH ACUTE + 'Ecirc' => 0xCA, # ISOlat1: LATIN CAPITAL LETTER E WITH + # CIRCUMFLEX + 'Euml' => 0xCB, # ISOlat1: LATIN CAPITAL LETTER E WITH + # DIAERESIS + 'Igrave' => 0xCC, # ISOlat1: LATIN CAPITAL LETTER I WITH GRAVE + 'Iacute' => 0xCD, # ISOlat1: LATIN CAPITAL LETTER I WITH ACUTE + 'Icirc' => 0xCE, # ISOlat1: LATIN CAPITAL LETTER I WITH + # CIRCUMFLEX + 'Iuml' => 0xCF, # ISOlat1: LATIN CAPITAL LETTER I WITH + # DIAERESIS + 'Gbreve' => 0xD0, # ISOlat2: LATIN CAPITAL LETTER G WITH BREVE + 'Ntilde' => 0xD1, # ISOlat1: LATIN CAPITAL LETTER N WITH TILDE + 'Ograve' => 0xD2, # ISOlat1: LATIN CAPITAL LETTER O WITH GRAVE + 'Oacute' => 0xD3, # ISOlat1: LATIN CAPITAL LETTER O WITH ACUTE + 'Ocirc' => 0xD4, # ISOlat1: LATIN CAPITAL LETTER O WITH + # CIRCUMFLEX + 'Otilde' => 0xD5, # ISOlat1: LATIN CAPITAL LETTER O WITH TILDE + 'Ouml' => 0xD6, # ISOlat1: LATIN CAPITAL LETTER O WITH + # DIAERESIS + 'times' => 0xD7, # ISOnum : MULTIPLICATION SIGN + 'Oslash' => 0xD8, # ISOlat1: LATIN CAPITAL LETTER O WITH STROKE + 'Ugrave' => 0xD9, # ISOlat1: LATIN CAPITAL LETTER U WITH GRAVE + 'Uacute' => 0xDA, # ISOlat1: LATIN CAPITAL LETTER U WITH ACUTE + 'Ucirc' => 0xDB, # ISOlat1: LATIN CAPITAL LETTER U WITH + # CIRCUMFLEX + 'Uuml' => 0xDC, # ISOlat1: LATIN CAPITAL LETTER U WITH + # DIAERESIS + 'Idot' => 0xDD, # ISOlat2: LATIN CAPITAL LETTER I WITH DOT + # ABOVE + 'Scedil' => 0xDE, # ISOlat2: LATIN CAPITAL LETTER S WITH CEDILLA + 'szlig' => 0xDF, # ISOlat1: LATIN SMALL LETTER SHARP S (German) + 'agrave' => 0xE0, # ISOlat1: LATIN SMALL LETTER A WITH GRAVE + 'aacute' => 0xE1, # ISOlat1: LATIN SMALL LETTER A WITH ACUTE + 'acirc' => 0xE2, # ISOlat1: LATIN SMALL LETTER A WITH CIRCUMFLEX + 'atilde' => 0xE3, # ISOlat1: LATIN SMALL LETTER A WITH TILDE + 'auml' => 0xE4, # ISOlat1: LATIN SMALL LETTER A WITH DIAERESIS + 'aring' => 0xE5, # ISOlat1: LATIN SMALL LETTER A WITH RING ABOVE + 'aelig' => 0xE6, # ISOlat1: LATIN SMALL LETTER AE + 'ccedil' => 0xE7, # ISOlat1: LATIN SMALL LETTER C WITH CEDILLA + 'egrave' => 0xE8, # ISOlat1: LATIN SMALL LETTER E WITH GRAVE + 'eacute' => 0xE9, # ISOlat1: LATIN SMALL LETTER E WITH ACUTE + 'eogon' => 0xEA, # ISOlat2: LATIN SMALL LETTER E WITH OGONEK + 'euml' => 0xEB, # ISOlat1: LATIN SMALL LETTER E WITH DIAERESIS + 'edot' => 0xEC, # ISOlat2: LATIN SMALL LETTER E WITH DOT ABOVE + 'iacute' => 0xED, # ISOlat1: LATIN SMALL LETTER I WITH ACUTE + 'icirc' => 0xEE, # ISOlat1: LATIN SMALL LETTER I WITH CIRCUMFLEX + 'imacr' => 0xEF, # ISOlat2: LATIN SMALL LETTER I WITH MACRON + 'gbreve' => 0xF0, # ISOlat2: LATIN SMALL LETTER G WITH BREVE + 'ntilde' => 0xF1, # ISOlat1: LATIN SMALL LETTER N WITH TILDE + 'ograve' => 0xF2, # ISOlat1: LATIN SMALL LETTER O WITH GRAVE + 'oacute' => 0xF3, # ISOlat1: LATIN SMALL LETTER O WITH ACUTE + 'ocirc' => 0xF4, # ISOlat1: LATIN SMALL LETTER O WITH CIRCUMFLEX + 'otilde' => 0xF5, # ISOlat1: LATIN SMALL LETTER O WITH TILDE + 'ouml' => 0xF6, # ISOlat1: LATIN SMALL LETTER O WITH DIAERESIS + 'divide' => 0xF7, # ISOlat1: DIVISION SIGN + 'oslash' => 0xF8, # ISOlat1: LATIN SMALL LETTER O WITH STROKE + 'ugrave' => 0xF9, # ISOlat1: LATIN SMALL LETTER U WITH GRAVE + 'uacute' => 0xFA, # ISOlat1: LATIN SMALL LETTER U WITH ACUTE + 'ucirc' => 0xFB, # ISOlat1: LATIN SMALL LETTER U WITH CIRCUMFLEX + 'uuml' => 0xFC, # ISOlat1: LATIN SMALL LETTER U WITH DIAERESIS + 'inodot' => 0xFD, # ISOlat2: LATIN SMALL LETTER I DOTLESS + 'scedil' => 0xFE, # ISOlat2: LATIN SMALL LETTER S WITH CEDILLA + 'yuml' => 0xFF, # ISOlat1: LATIN SMALL LETTER Y WITH DIAERESIS +}; diff --git a/lib/MHonArc/CharEnt/Makefile b/lib/MHonArc/CharEnt/Makefile new file mode 100644 index 0000000..ab01630 --- /dev/null +++ b/lib/MHonArc/CharEnt/Makefile @@ -0,0 +1,15 @@ +# $Id: Makefile,v 1.1 2002/04/01 07:34:02 ehood Exp $ + +.PHONY: default + +TOP = ../../.. +SUBDIRS = \ + # End SUBDIRS + +include $(TOP)/etc/variables.mk + + +default: perl_syntax + + +include $(TOP)/etc/rules.mk diff --git a/lib/MHonArc/Makefile b/lib/MHonArc/Makefile new file mode 100644 index 0000000..fda08af --- /dev/null +++ b/lib/MHonArc/Makefile @@ -0,0 +1,20 @@ +# $Id: Makefile,v 1.2 2002/07/20 02:02:13 ehood Exp $ + +.PHONY: default + +TOP = ../.. +SUBDIRS = \ + CharEnt \ + # End SUBDIRS + +PERL_PM_FILES = \ + CharEnt.pm \ + # End PERL_PM_FILES + +include $(TOP)/etc/variables.mk + + +default: make_subdirs perl_syntax + + +include $(TOP)/etc/rules.mk diff --git a/lib/MHonArc/UTF8.pm b/lib/MHonArc/UTF8.pm new file mode 100644 index 0000000..4d1be15 --- /dev/null +++ b/lib/MHonArc/UTF8.pm @@ -0,0 +1,144 @@ +##---------------------------------------------------------------------------## +## File: +## $Id: UTF8.pm,v 1.2 2002/07/27 05:13:14 ehood Exp $ +## Author: +## Earl Hood earl@earlhood.com +## Description: +## CHARSETCONVERTER module that support conversion to UTF-8 via +## Unicode::MapUTF8 module. It also requires versions of perl +## that support 'use utf8' pragma. +##---------------------------------------------------------------------------## +## Copyright (C) 2002 Earl Hood, earl@earlhood.com +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA +##---------------------------------------------------------------------------## + +package MHonArc::UTF8; + +use strict; +use Unicode::String; +use Unicode::MapUTF8 qw( + to_utf8 utf8_charset_alias utf8_supported_charset +); + +BEGIN { + utf8_charset_alias({ 'windows-1250' => 'cp1250' }); + utf8_charset_alias({ 'windows-1252' => 'cp1252' }); +} + +my %HTMLSpecials = ( + '"' => '"', + '&' => '&', + '<' => '<', + '>' => '>', +); + +sub entify { + use utf8; + my $str = shift; + $str =~ s/(["&<>])/$HTMLSpecials{$1}/g; + $str; +} + +sub str2sgml{ + my $charset = lc($_[1]); + my $str; + + if ($charset eq 'utf-8' || $charset eq 'utf8') { + use utf8; + ($str = $_[0]) =~ s/(["&<>])/$HTMLSpecials{$1}/g; + return $str; + } + + if (utf8_supported_charset($charset)) { + $str = to_utf8({-string => $_[0], -charset => $charset}); + { + use utf8; + $str =~ s/(["&<>])/$HTMLSpecials{$1}/g; + } + + } else { + warn qq/Warning: Unable to convert "$charset" to UTF-8\n/; + ($str = $_[0]) =~ s/(["&<>])/$HTMLSpecials{$1}/g; + } + $str; +} + +sub clip { + use utf8; + my $str = \shift; # Prevent unnecessary copy. + my $len = shift; # Clip length + my $is_html = shift; # If entity references should be considered + my $has_tags = shift; # If html tags should be stripped + + my $u = Unicode::String::utf8($$str); + + if (!$is_html) { + return $u->substr(0, $len); + } + + my $text = Unicode::String::utf8(""); + my $subtext; + my $html_len = $u->length; + my($pos, $sublen, $erlen, $real_len); + my $er_len = 0; + + for ( $pos=0, $sublen=$len; $pos < $html_len; ) { + $subtext = $u->substr($pos, $sublen); + $pos += $sublen; + + # strip tags + if ($has_tags) { + $subtext =~ s/\A[^<]*>//; # clipped tag + $subtext =~ s/<[^>]*>//g; + $subtext =~ s/<[^>]*\Z//; # clipped tag + } + + # check for clipped entity reference + if (($pos < $html_len) && ($subtext =~ /\&[^;]*\Z/)) { + my $semi = $u->index(';', $pos); + if ($semi < 0) { + # malformed entity reference + $subtext .= $u->substr($pos); + $pos = $html_len; + } else { + $subtext .= $u->substr($pos, $semi-$pos+1) + if $semi > $pos; + $pos = $semi+1; + } + } + + # compute entity reference lengths to determine "real" character + # count and not raw character count. + while ($subtext =~ /(\&[^;]+);/g) { + $er_len += length($1); + } + + $text .= $subtext; + + # done if we have enough + $real_len = $text->length - $er_len; + if ($real_len >= $len) { + last; + } + $sublen = $len - ($text->length - $er_len); + } + $text; +} + +##---------------------------------------------------------------------------## +1; +__END__ diff --git a/lib/Makefile b/lib/Makefile new file mode 100644 index 0000000..0677d74 --- /dev/null +++ b/lib/Makefile @@ -0,0 +1,16 @@ +# $Id: Makefile,v 1.2 2002/04/01 07:33:37 ehood Exp $ + +.PHONY: default + +TOP = .. +SUBDIRS = \ + MHonArc \ + # End SUBDIRS + +include $(TOP)/etc/variables.mk + + +default: make_subdirs perl_syntax + + +include $(TOP)/etc/rules.mk diff --git a/lib/base64.pl b/lib/base64.pl index 625eecf..76b9738 100644 --- a/lib/base64.pl +++ b/lib/base64.pl @@ -1,9 +1,9 @@ #!/usr/bin/perl # base64.pl -- A perl package to handle MIME-style BASE64 encoding # A. P. Barrett , October 1993 -# $Revision: 1.4 $$Date: 1994/08/11 16:08:51 $ +# $Revision: 2.2 $$Date: 2001/09/05 11:53:01 $ # -# @(#) base64.pl 2.1 98/03/02 20:24:23 +# $Id: base64.pl,v 2.2 2001/09/05 11:53:01 ehood Exp $ # # Modified March 21, 1996 by ehood@convex.com # -> Changes to base64'uudecode to strip out any begin/end @@ -29,12 +29,12 @@ package base64; # Synopsis: # require 'base64.pl'; # -# $uuencode_string = &base64'b64touu($base64_string); -# $binary_string = &base64'b64decode($base64_string); -# $base64_string = &base64'uutob64($uuencode_string); -# $base64_string = &base64'b64encode($binary_string); -# $uuencode_string = &base64'uuencode($binary_string); -# $binary_string = &base64'uudecode($uuencode_string); +# $uuencode_string = &base64::b64touu($base64_string); +# $binary_string = &base64::b64decode($base64_string); +# $base64_string = &base64::uutob64($uuencode_string); +# $base64_string = &base64::b64encode($binary_string); +# $uuencode_string = &base64::uuencode($binary_string); +# $binary_string = &base64::uudecode($uuencode_string); # # uuencode and base64 input strings may contain multiple lines, # but may not contain any headers or trailers. (For uuencode, @@ -68,8 +68,8 @@ package base64; sub b64touu { - local ($_) = @_; - local ($result); + local ($_) = shift; + my ($result); # zap bad characters and translate others to uuencode alphabet eval qq{ @@ -145,8 +145,8 @@ sub uutob64 sub b64encode { local ($_) = @_; - local ($chunk); - local ($result); + my ($chunk); + my ($result); # break into chunks of 45 input chars, use perl's builtin # uuencoder to convert each chunk to uuencode format, @@ -206,8 +206,8 @@ sub uuencode sub uudecode { - local ($_) = @_; - local ($result); + local ($_) = shift; + my $result = ''; # strip out begin/end lines (ehood, 1996/03/21) s/^\s*begin[^\n]+\n//; @@ -215,7 +215,8 @@ sub uudecode # use perl's builtin uudecoder to convert each line while (s/^([^\n]+\n?)//) { - $result .= unpack("u", $1); + last if substr($1, 0, 1) eq '`'; + $result .= unpack('u', $1); } # return result diff --git a/lib/ewhutil.pl b/lib/ewhutil.pl index c36ec20..464e148 100644 --- a/lib/ewhutil.pl +++ b/lib/ewhutil.pl @@ -1,12 +1,12 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) ewhutil.pl 2.7 00/02/08 10:04:07 +## $Id: ewhutil.pl,v 2.8 2001/08/25 19:52:48 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Generic utility routines ##---------------------------------------------------------------------------## -## Copyright (C) 1996-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1996-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -35,12 +35,13 @@ package mhonarc; ##--------------------------------------------------------------------------- ## Remove duplicates in an array. +## Returns list with duplicates removed. ## sub remove_dups { - local(*array) = shift; - return () unless scalar(@array); - my %dup = (); - @array = grep(!$dup{$_}++, @array); + my $a = shift; + return () unless scalar(@$a); + my %dup = (); + grep(!$dup{$_}++, @$a); } ##--------------------------------------------------------------------------- diff --git a/lib/iso2022jp.pl b/lib/iso2022jp.pl index 028d9f7..d9c2012 100644 --- a/lib/iso2022jp.pl +++ b/lib/iso2022jp.pl @@ -1,13 +1,17 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) iso2022jp.pl 1.2 00/01/15 17:54:50 +## $Id: iso2022jp.pl,v 1.7 2002/07/28 23:21:53 ehood Exp $ ## Author(s): -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## NIIBE Yutaka gniibe@mri.co.jp +## Takashi P.KATOH p-katoh@shiratori.riec.tohoku.ac.jp ## Description: ## Library defines routine to process iso-2022-jp data. ##---------------------------------------------------------------------------## -## Copyright (C) 1995-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-2002 +## Earl Hood, mhonarc@mhonarc.org +## NIIBE Yutaka, gniibe@mri.co.jp +## Takashi P.KATOH, p-katoh@shiratori.riec.tohoku.ac.jp ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -36,7 +40,7 @@ package iso_2022_jp; ## str2html(): Convert an iso-2022-jp string into HTML. Function ## interface similiar as iso8859.pl function. ## -sub str2html { jp2022_to_html($_[0], 0); } +sub str2html { jp2022_to_html($_[0], 1); } ##---------------------------------------------------------------------------## ## Function to convert ISO-2022-JP data into HTML. Function is based @@ -50,12 +54,6 @@ package iso_2022_jp; ## M. Ohta, K. Handa, "ISO-2022-JP-2: Multilingual Extension of ## ISO-2022-JP", 12/23/1993. (Pages=6) ## -## Author of function: -## NIIBE Yutaka gniibe@mri.co.jp -## (adapted for mhtxtplain.pl by Earl Hood ) -## (some changes made to remove use of $& and few other optimizations) -## (extracted as separate, general, function from mhtxtplain.pl) -## sub jp2022_to_html { my($body) = shift; my($nourl) = shift; @@ -65,28 +63,8 @@ sub jp2022_to_html { $ret = ""; foreach (@lines) { - # Process preceding ASCII text - while(1) { - if (s/^([^\033]+)//) { # ASCII plain text - $ascii_text = $1; - - # Replace meta characters in ASCII plain text - $ascii_text =~ s%\&%\&%g; - $ascii_text =~ s%<%\<%g; - $ascii_text =~ s%>%\>%g; - ## Convert URLs to hyperlinks - $ascii_text =~ s%($HUrlExp)%$1%gio - unless $nourl; - - $ret .= $ascii_text; - } elsif (s/(\033\.[A-F])//) { # G2 Designate Sequence - $ret .= $1; - } elsif (s/(\033N[ -])//) { # Single Shift Sequence - $ret .= $1; - } else { - last; - } - } + # a trick to process preceding ASCII text + $_ = "\033(B" . $_ unless /^\033/; # Process Each Segment while(1) { @@ -101,7 +79,7 @@ sub jp2022_to_html { $ascii_text =~ s%<%\<%g; $ascii_text =~ s%>%\>%g; ## Convert URLs to hyperlinks - $ascii_text =~ s%($HUrlExp)%$1%gio + $ascii_text =~ s%($HUrlExp)%$1%gio unless $nourl; $ret .= $ascii_text; @@ -133,11 +111,95 @@ sub jp2022_to_html { } } + # remove a `trick' + $ret =~ s/^\033\(B//; + $ret .= "\n"; } ($ret); } + +##---------------------------------------------------------------------------## +## clip($str, $length, $html): Clip an iso-2022-jp string. +## +## The last argument $html specifies '&' should be treated +## as HTML character or not. +## (i.e., the length of '&' will be 1 if $html). +## +sub clip { # &clip($str, 10, 1); + my($str) = shift; + my($length) = shift; + my($html) = shift; + my($tags) = shift; # Not implemented, yet + my($ret, $inascii); + local($_) = $str; + + $ret = ""; + # a trick to process preceding ASCII text + $_ = "\033(B" . $_ unless /^\033/; + + # Process Each Segment + CLIP: while(1) { + if (s/^(\033\([BJ])//) { # Single Byte Segment + $inascii = 1; + $ret .= $1; + while(1) { + if (s/^([^\033])//) { # ASCII plain text + if ($html) { + if ($1 eq '&') { + s/^([^\;]*\;)//; + $ret .= "&$1"; + } else { + $ret .= $1; + } + } else { + $ret .= $1; + } + $length--; + } elsif (s/(\033\.[A-F])//) { # G2 Designate Sequence + $ret .= $1; + } elsif (s/(\033N[ -])//) { # Single Shift Sequence + $ret .= $1; + $length--; + } else { + last; + } + last CLIP if ($length <= 0); + } + } elsif (s/^(\033\$[\@AB]|\033\$\([CD])//) { # Double Byte Segment + $inascii = 0; + $ret .= $1; + while (1) { + if (s/^([!-~][!-~])//) { # Double Char plain text + $ret .= $1; + $length -= 2; + } elsif (s/(\033\.[A-F])//) { # G2 Designate Sequence + $ret .= $1; + } elsif (s/(\033N[ -])//) { # Single Shift Sequence + $ret .= $1; + $length--; + } else { + last; + } + last CLIP if ($length <= 0); + } + } else { + # Something wrong in text + $ret .= $_; + last; + } + } + + # remove a `trick' + $ret =~ s/^\033\(B//; + + # Shuold we check the last \033\([BJ] sequence? + # (I believe it is too paranoid). + $ret .= "\033(B" unless $inascii; + + ($ret); +} ##---------------------------------------------------------------------------## 1; diff --git a/lib/iso8859.pl b/lib/iso8859.pl index 2595740..b22ad1e 100644 --- a/lib/iso8859.pl +++ b/lib/iso8859.pl @@ -1,12 +1,12 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) iso8859.pl 2.4 99/08/13 22:10:35 +## $Id: iso8859.pl,v 2.5 2001/09/17 16:08:49 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Routines to process data encoded in iso8859 character sets. ##---------------------------------------------------------------------------## -## Copyright (C) 1996-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1996-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff --git a/lib/mhamain.pl b/lib/mhamain.pl index 0dbe3f2..20ca748 100644 --- a/lib/mhamain.pl +++ b/lib/mhamain.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhamain.pl 2.23 01/06/10 17:37:25 +## $Id: mhamain.pl,v 2.45 2002/07/28 23:24:35 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Main library for MHonArc. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-2001 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -27,10 +27,12 @@ package mhonarc; -$VERSION = "2.4.9"; +require 5; + +$VERSION = "2.5.10"; $VINFO =< $b } grep(/$MHPATTERN/o, readdir(MAILDIR)); closedir(MAILDIR); - foreach (@files) { + + local($_); + MHFILE: foreach (@files) { $mesgfile = "${mbox}${DIRSEP}${_}"; - if (!($fh = &file_open($mesgfile))) { - warn "\nWarning: Unable to open message $mesgfile\n"; - next; + eval { + $fh = file_open($mesgfile); + }; + if ($@) { + warn $@, + qq/...Skipping "$mesgfile"\n/; + next MHFILE; } print STDOUT "." unless $QUIET; - $mesg = ''; - ($index,$from,$date,$sub,$header) = - &read_mail_header($fh, *mesg, *fields); + ($index, $fields) = read_mail_header($fh); # Process message if valid - if ($index ne '') { - ($From{$index},$Date{$index},$Subject{$index}) = - ($from,$date,$sub); - $MsgHead{$index} = $mesg; - + if ($index) { if ($ADD && !$SLOW) { $AddIndex{$index} = 1; } $IndexNum{$index} = &getNewMsgNum(); - $Message{$index} = &read_mail_body( $fh, $index, - $header, - *fields, + $fields, $NoMsgPgs); # Check if conserving memory if ($SLOW && $DoArchive) { - &output_mail($index, 1, 1); - $Update{$IndexNum{$index}} = 1; + output_mail($index, 1, 1); + if (defined($IndexNum{$index})) { + $Update{$IndexNum{$index}} = 1; + } } if ($SLOW || !$DoArchive) { delete $MsgHead{$index}; @@ -358,9 +351,15 @@ sub doit { } else { if ($mbox eq "-") { $fh = $MhaStdin; - } elsif (!($fh = &file_open($mbox))) { - warn "\nWarning: Unable to open $mbox\n"; - next; + } else { + eval { + $fh = file_open($mbox); + }; + if ($@) { + warn $@, + qq/...Skipping "$mbox"\n/; + next MAILFOLDER; + } } $MBOX = 1; $MH = 0; @@ -368,27 +367,21 @@ sub doit { # while (<$fh>) { last if /$FROM/o; } MBOX: while (!eof($fh)) { print STDOUT "." unless $QUIET; - $mesg = ''; - ($index,$from,$date,$sub,$header) = - &read_mail_header($fh, *mesg, *fields); - - if ($index ne '') { - ($From{$index},$Date{$index},$Subject{$index}) = - ($from,$date,$sub); - $MsgHead{$index} = $mesg; + ($index, $fields) = read_mail_header($fh); + if ($index) { if ($ADD && !$SLOW) { $AddIndex{$index} = 1; } $IndexNum{$index} = &getNewMsgNum(); - - $Message{$index} = &read_mail_body( + $Message{$index} = read_mail_body( $fh, $index, - $header, - *fields, + $fields, $NoMsgPgs); if ($SLOW && $DoArchive) { - &output_mail($index, 1, 1); - $Update{$IndexNum{$index}} = 1; + output_mail($index, 1, 1); + if (defined($IndexNum{$index})) { + $Update{$IndexNum{$index}} = 1; + } } if ($SLOW || !$DoArchive) { delete $MsgHead{$index}; @@ -396,7 +389,7 @@ sub doit { } } else { - &read_mail_body($fh, $index, $header, *fields, 1); + read_mail_body($fh, $index, $fields, 1); } } close($fh); @@ -416,6 +409,7 @@ sub doit { print STDOUT "No new messages\n" unless $QUIET; return 1; } + $NewMsgCnt = $NumOfMsgs - $i; ## Write pages &write_pages(); @@ -426,8 +420,9 @@ sub doit { ## write_pages writes out all archive pages and db ## sub write_pages { - local($i, $key, $index, $tmp, $tmp2); + my($i, $j, $key, $index, $tmp, $tmp2); my(@array2); + my($mloc, $tloc); ## Remove old message if hit maximum size or expiration if (($MAXSIZE && ($NumOfMsgs > $MAXSIZE)) || @@ -445,7 +440,6 @@ sub write_pages { &ign_signals(); ## Expiration based upon time - my($mloc, $tloc); foreach $index (sort_messages(0,0,0,0)) { last unless ($MAXSIZE && ($NumOfMsgs > $MAXSIZE)) || @@ -472,7 +466,7 @@ sub write_pages { $Update{$IndexNum{$TListOrder[$tloc+$i]}} = 1 if $tloc-$i >= $#TListOrder; } - foreach (split(/$bs/o, $FollowOld{$index})) { + foreach (@{$FollowOld{$index}}) { $Update{$IndexNum{$_}} = 1; } } @@ -494,10 +488,10 @@ sub write_pages { @Index2MLoc{@MListOrder} = (0 .. $#MListOrder); ## Compute follow up messages - &compute_follow_ups(\@MListOrder); + compute_follow_ups(\@MListOrder); - ## Compute thread information (sets ThreadList, TListOrder, Index2TLoc) - &compute_threads(); + ## Compute thread information (sets ThreadList, TListOrder, Index2TLoc) + compute_threads(); ## Check for which messages to update when adding to archive if ($ADD) { @@ -510,7 +504,7 @@ sub write_pages { $i = 0; foreach $index (@MListOrder) { ## Check for New follow-up links - if ($FollowOld{$index} ne $Follow{$index}) { + if (is_follow_ups_diff($index)) { $Update{$IndexNum{$index}} = 1; } ## Check if new message; must update links in prev/next msgs @@ -530,7 +524,7 @@ sub write_pages { if $i < $#MListOrder; } ## Check for New reference links - foreach (split(/$X/o, $Refs{$index})) { + foreach (@{$Refs{$index}}) { $tmp = $MsgId{$_}; if (defined($IndexNum{$tmp}) && $AddIndex{$tmp}) { $Update{$IndexNum{$index}} = 1; @@ -555,6 +549,16 @@ sub write_pages { if $i > 0; $Update{$IndexNum{$TListOrder[$i+1]}} = 1 if $i < $#TListOrder; + + $tloc = $Index2TLoc{$index}; + for ($j=2; $j <= $TSliceNBefore; ++$j) { + $Update{$IndexNum{$TListOrder[$tloc-$j]}} = 1 + if $tloc-$j >= 0; + } + for ($j=2; $j <= $TSliceNAfter; ++$j) { + $Update{$IndexNum{$TListOrder[$tloc+$j]}} = 1 + if $tloc-$j >= $#TListOrder; + } } $i++; } @@ -563,7 +567,7 @@ sub write_pages { ## Compute total number of pages $i = $NumOfPages; - &compute_page_total(); + compute_page_total(); ## Update all pages for $LASTPG$ if ($UsingLASTPG && ($i != $NumOfPages)) { @@ -574,17 +578,17 @@ sub write_pages { ##------------## ## Write Data ## ##------------## - &ign_signals(); # Ignore termination signals + ign_signals(); # Ignore termination signals print STDOUT "\n" unless $QUIET; ## Write indexes and mail - &write_mail() unless $NoMsgPgs; - &write_main_index() if $MAIN; - &write_thread_index() if $THREAD; + write_mail() unless $NoMsgPgs; + write_main_index() if $MAIN; + write_thread_index() if $THREAD; ## Write database print STDOUT "Writing database ...\n" unless $QUIET; - &output_db($DBPathName); + output_db($DBPathName); ## Write any alternate indexes $IdxMinPg = 0; $TIdxMinPg = 0; @@ -594,41 +598,56 @@ sub write_pages { ## find other index resource file IDXFIND: { - if (! -e $rc) { - $rcfile = join($DIRSEP, $OUTDIR, $rc); - if (! -e $rcfile) { - # look thru @INC to find file - local($_); - foreach (@INC) { - $rcfile = join($DIRSEP, $_, $rc); - if (-e $rcfile) { - last IDXFIND; - } - } - warn qq/Warning: Unable to find resource file "$rc"\n/; - next OTHERIDX; - } - - } else { + if (-e $rc) { + # in current working directory $rcfile = $rc; + last IDXFIND; + } + if (defined $MainRcDir) { + # check if located with main resource file + $rcfile = join($DIRSEP, $MainRcDir, $rc); + last IDXFIND if -e $rcfile; } + if (defined $ENV{'HOME'}) { + # check if in home directory + $rcfile = join($DIRSEP, $ENV{'HOME'}, $rc); + last IDXFIND if -e $rcfile; + } + + # check if in archive directory + $rcfile = join($DIRSEP, $OUTDIR, $rc); + last IDXFIND if -e $rcfile; + + # look thru @INC to find file + local($_); + foreach (@INC) { + $rcfile = join($DIRSEP, $_, $rc); + if (-e $rcfile) { + last IDXFIND; + } + } + warn qq/Warning: Unable to find resource file "$rc"\n/; + next OTHERIDX; } ## read resource file and print index - if (&read_fmt_file($rcfile)) { + if (read_fmt_file($rcfile)) { if ($THREAD) { @TListOrder = (); - &write_thread_index(); + write_thread_index(); } else { @MListOrder = (); - &write_main_index(); + write_main_index(); } } } - print STDOUT "$NumOfMsgs messages\n" unless $QUIET; + unless ($QUIET) { + print STDOUT "$NewMsgCnt new messages\n" if $NewMsgCnt > 0; + print STDOUT "$NumOfMsgs total messages\n"; + } -} +} ## End: write_pages() ##--------------------------------------------------------------------------- ## Compute follow-ups @@ -636,20 +655,17 @@ sub write_pages { sub compute_follow_ups { my $idxlst = shift; my($index, $tmp, $tmp2); - my(@array); %Follow = (); foreach $index (@$idxlst) { $FolCnt{$index} = 0 unless $FolCnt{$index}; - if ( defined($Refs{$index}) && - (@array = split(/$X/o, $Refs{$index}))) { - - $tmp2 = $array[$#array]; + if (defined($Refs{$index}) && scalar(@{$Refs{$index}})) { + $tmp2 = $Refs{$index}->[-1]; next unless defined($MsgId{$tmp2}) && defined($IndexNum{$MsgId{$tmp2}}); $tmp = $MsgId{$tmp2}; - if ($Follow{$tmp}) { $Follow{$tmp} .= $bs . $index; } - else { $Follow{$tmp} = $index; } + if ($Follow{$tmp}) { push(@{$Follow{$tmp}}, $index); } + else { $Follow{$tmp} = [ $index ]; } ++$FolCnt{$tmp}; } } @@ -673,7 +689,7 @@ sub compute_page_total { ## array containing indexes of messages to output. ## sub write_mail { - local($hack) = (0); + my($hack) = (0); print STDOUT "Writing mail " unless $QUIET; if ($SLOW && !$ADD) { @@ -683,7 +699,7 @@ sub write_mail { foreach $index (@MListOrder) { print STDOUT "." unless $QUIET; - &output_mail($index, $AddIndex{$index}, 0); + output_mail($index, $AddIndex{$index}, 0); } if ($hack) { @@ -695,40 +711,44 @@ sub write_mail { ##--------------------------------------------------------------------------- ## read_mail_header() is responsible for parsing the header of -## a mail message. +## a mail message and loading message information into hash +## structures. +## +## ($index, $header_fields_ref) = read_mail_header($filehandle); ## sub read_mail_header { - local($handle, *mesg, *fields) = @_; - my(%l2o, $header, $index, $date, $tmp, @array); - local(@refs); - local($from, $sub, $msgid); + my $handle = shift; + my($index, $date, $tmp); + my($from, $sub, $msgid, $ctype); local($_); - $header = &readmail::MAILread_file_header($handle, *fields, *l2o); - @refs = (); - @array = (); + my @refs = (); + my @array = (); + my($fields, $header) = readmail::MAILread_file_header($handle); ##---------------------------## ## Check for no archive flag ## ##---------------------------## if ( $CheckNoArchive && - ($fields{'restrict'} =~ /no-external-archive/i || - $fields{'x-no-archive'} =~ /yes/i) ) { - return ("", "", "", "", ""); + ((defined($fields->{'restrict'}) && + grep { /no-external-archive/i } @{$fields->{'restrict'}}) || + (defined($fields->{'x-no-archive'}) && + grep { /yes/i } @{$fields->{'x-no-archive'}})) ) { + return undef; } ##----------------------------------## ## Check for user-defined exclusion ## ##----------------------------------## - if ( $MsgExcFilter ) { - return ("", "", "", "", "") if &mhonarc::message_exclude($header); + if ($MsgExcFilter) { + return undef if mhonarc::message_exclude($header); } ##------------## ## Get Msg-ID ## ##------------## - $msgid = $fields{'message-id'} || $fields{'msg-id'} || - $fields{'content-id'}; + $msgid = $fields->{'message-id'}[0] || $fields->{'msg-id'}[0] || + $fields->{'content-id'}[0]; if (defined($msgid)) { if ($msgid =~ /<([^>]*)>/) { $msgid = $1; @@ -754,34 +774,33 @@ sub read_mail_header { ## Return if message already exists in archive if ($msgid && defined($MsgId{$msgid})) { - return ("", "", "", "", ""); + return undef; } ##----------## ## Get date ## ##----------## - $date = ""; $index = ""; + $date = ""; foreach (@DateFields) { - next unless $fields{$_}; + next unless defined($fields->{$_}); ## Treat received field specially if ($_ eq 'received') { - @array = split(/;/, - (split(/$readmail::FieldSep/o, $fields{$_}))[0]); + @array = split(/;/, $fields->{$_}[0]); $date = pop @array; ## Any other field should just be a date } else { - $date = (split(/$readmail::FieldSep/o, $fields{$_}))[0]; + $date = $fields->{$_}[0]; } $date =~ s/^\s+//; $date =~ s/\s+$//; ## See if time_t can be determined. - if (($date =~ /\w/) && (@array = &parse_date($date))) { - $index = &get_time_from_date(@array[1..$#array]); + if (($date =~ /\w/) && (@array = parse_date($date))) { + $index = get_time_from_date(@array[1..$#array]); last; } } - if ($index eq "") { + if (!$index) { warn qq/\nWarning: Could not parse date for message\n/, qq/ Message-Id: <$msgid>\n/; # Use current time @@ -790,19 +809,19 @@ sub read_mail_header { $date = &time2str("", $index, 1) unless $date =~ /\S/; } - ## Return if message too old to add + ## Return if message too old to add (note, $index just contains time). if (&expired_time($index)) { - return ("", "", "", "", ""); + return undef; } ##-------------## ## Get Subject ## ##-------------## - if (defined($fields{'subject'}) and $fields{'subject'} =~ /\S/) { - ($sub = $fields{'subject'}) =~ s/\s+$//; + if (defined($fields->{'subject'}) && ($fields->{'subject'}[0] =~ /\S/)) { + ($sub = $fields->{'subject'}[0]) =~ s/\s+$//; $sub = subject_strip($sub) if $SubStripCode; } else { - $sub = 'No Subject'; + $sub = ''; } ##----------## @@ -810,74 +829,91 @@ sub read_mail_header { ##----------## $from = ""; foreach (@FromFields) { - next unless $fields{$_}; - $from = $fields{$_}; + next unless defined $fields->{$_}; + $from = $fields->{$_}[0]; last; } - $from = 'Anonymous' unless $from; + $from = 'Unknown' unless $from; ##----------------## ## Get References ## ##----------------## - if (defined($tmp = $fields{'references'})) { + if (defined($fields->{'references'})) { + $tmp = $fields->{'references'}[0]; while ($tmp =~ s/<([^<>]+)>//) { push(@refs, $1); } } - if (defined($tmp = $fields{'in-reply-to'})) { - my $irtoid = ""; - while ($tmp =~ s/<([^<>]+)>//) { $irtoid = $1 }; - push(@refs, $irtoid) if $irtoid; + if (defined($fields->{'in-reply-to'})) { + my $irtoid; + foreach (@{$fields->{'in-reply-to'}}) { + $tmp = $_; + $irtoid = ""; + while ($tmp =~ s/<([^<>]+)>//) { $irtoid = $1 }; + push(@refs, $irtoid) if $irtoid; + } + } + @refs = remove_dups(\@refs); # Remove duplicate msg-ids + + ##------------------## + ## Get Content-Type ## + ##------------------## + if (defined($fields->{'content-type'})) { + ($ctype = $fields->{'content-type'}[0]) =~ m%^\s*([\w\-\./]+)%; + $ctype = lc ($1 || 'text/plain'); + } else { + $ctype = 'text/plain'; } - - ##------------------------## - ## Create HTML for header ## - ##------------------------## - $mesg .= &htmlize_header(*fields, *l2o); ## Insure uniqueness of index $index .= $X . sprintf("%d",$LastMsgNum+1); - if ($fields{'content-type'}) { - ($tmp = $fields{'content-type'}) =~ m%^\s*([\w-\./]+)%; - $tmp = $1 || 'text/plain'; - $tmp =~ tr/A-Z/a-z/; - } else { - $tmp = 'text/plain'; + ## Set mhonarc fields. Note how values are NOT arrays. + $fields->{'x-mha-index'} = $index; + $fields->{'x-mha-message-id'} = $msgid; + $fields->{'x-mha-from'} = $from; + $fields->{'x-mha-subject'} = $sub; + $fields->{'x-mha-content-type'} = $ctype; + + ## Invoke callback if defined + if (defined($CBMessageHeadRead) && defined(&$CBMessageHeadRead)) { + return undef unless &$CBMessageHeadRead($fields, $header); } - $ContentType{$index} = $tmp; + $From{$index} = $from; + $Date{$index} = $date; + $Subject{$index} = $sub; + $MsgHead{$index} = htmlize_header($fields); + $ContentType{$index} = $ctype; if ($msgid) { $MsgId{$msgid} = $index; $NewMsgId{$msgid} = $index; # Track new message-ids $Index2MsgId{$index} = $msgid; } - &remove_dups(*refs); # Remove duplicate msg-ids - $Refs{$index} = join($X, @refs) if (@refs); - ($index,$from,$date,$sub,$header); + $Refs{$index} = [ @refs ] if (@refs); + + ($index, $fields); } ##--------------------------------------------------------------------------- ## read_mail_body() reads in the body of a message. The returned ## filtered body is in $ret. ## +## $html = read_mail_body($fh, $index, $fields_hash_ref, +## $skipConversion); +## sub read_mail_body { - local($handle, $index, $header, *fields, $skip) = @_; + my($handle, $index, $fields, $skip) = @_; my($ret, $data) = ('', ''); - my(@files) = (); + my(@files); local($_); - ## Define "globals" for use by filters - ## NOTE: This stuff can be handled better, and will be done - ## when/if I get around to rewriting mhonarc in (OO) Perl 5. - $MHAmsgnum = &fmt_msgnum($IndexNum{$index}) unless $skip; - ## Slurp up message body ## UUCP mailbox if ($MBOX) { - if ($CONLEN && $fields{"content-length"}) { # Check for content-length - my($len, $cnt) = ($fields{"content-length"}, 0); + if ($CONLEN && defined($fields->{"content-length"})) { + my($len, $cnt) = ($fields->{"content-length"}[0], 0); if ($len) { while (<$handle>) { $cnt += length($_); # Increment byte count @@ -903,28 +939,44 @@ sub read_mail_body { $data = <$handle>; } - ## Filter data return '' if $skip; - $fields{'content-type'} = 'text/plain' - if (!defined($fields{'content-type'})) || - ($fields{'content-type'} !~ /\S/); - ($ret, @files) = &readmail::MAILread_body($header, $data, - $fields{'content-type'}, - $fields{'content-transfer-encoding'}); - if ($ret) { - # no-op - } else { + + ## Invoke callback if defined + if (defined($CBRawMessageBodyRead) && defined(&$CBRawMessageBodyRead)) { + &$CBRawMessageBodyRead($fields, \$data); + } + + ## Define "globals" for use by filters + ## NOTE: This stuff can be handled better, and will be done + ## when/if I get around to rewriting mhonarc in (OO) Perl 5. + $MHAindex = $index; + $MHAmsgnum = &fmt_msgnum($IndexNum{$index}); + $MHAmsgid = $Index2MsgId{$index}; + + ## Filter data + ($ret, @files) = &readmail::MAILread_body($fields, \$data); + $ret = '' unless defined $ret; + @files = ( ) unless @files; + + ## Invoke callback if defined + if (defined($CBMessageBodyRead) && defined(&$CBMessageBodyRead)) { + &$CBMessageBodyRead($fields, \$ret, \@files); + } + + if (!defined($ret) || $ret eq "") { $ret = join('', - "
    \n", - "
    Warning
    \n", - "
    Could not process message with given Content-Type: \n", - "", &htmlize($fields{'content-type'}), "\n", - "
    \n", - "
    \n" + "
    \n", + "
    Warning
    \n", + "
    Unable to process data: \n", + "", + htmlize($fields->{'content-type'}[0] || 'text/plain'), + "\n", + "
    \n", + "
    \n" ); } if (@files) { - $Derived{$index} = join($X, @files); + $Derived{$index} = [ @files ]; } $ret; } @@ -935,28 +987,49 @@ sub read_mail_body { ## $force => flag if mail is written and not editted, regardless ## $nocustom => ignore sections with user customization ## +## This function returns ($msgnum, $filename) if everything went +## okay, but no calls to this routine check the return values. +## sub output_mail { - local($index, $force, $nocustom) = @_; - local($msgi, $tmp, $tmp2, $template, @array2); - local($filepathname, $tmppathname, $i_p0, $filename, $msghandle, - $msginfh, $drvfh); - local($adding) = ($ADD && !$force && !$SINGLE); - - $i_p0 = &fmt_msgnum($IndexNum{$index}); + my($index, $force, $nocustom) = @_; + my($msgi, $tmp, $tmp2, $template, @array2); + my($msghandle, $msginfh, $drvfh); + + my $msgnum = $IndexNum{$index}; + if (!$SINGLE && !defined($msgnum)) { + # Something bad must have happened to message, so we just + # quietly return. + return; + } - $filename = &msgnum_filename($IndexNum{$index}); - $filepathname = join($DIRSEP, $OUTDIR, $filename); - $tmppathname = join($DIRSEP, $OUTDIR, "msgtmp.$$"); + my $adding = ($ADD && !$force && !$SINGLE); + my $i_p0 = fmt_msgnum($msgnum); + my $filename = msgnum_filename($msgnum); + my $filepathname = join($DIRSEP, $OUTDIR, $filename); + my $tmppathname = join($DIRSEP, $OUTDIR, "msgtmp.$$"); if ($adding) { - return ($i_p0,$filename) unless $Update{$IndexNum{$index}}; + return ($i_p0, $filename) unless $Update{$msgnum}; #&file_rename($filepathname, $tmppathname); - $msginfh = &file_open($filepathname); + eval { + $msginfh = file_open($filepathname); + }; + if ($@) { + # Something is screwed up with archive: We try to delete + # message from database since message file appears to have + # disappeared + warn $@, + qq/...Will attempt to remove message and continue on\n/; + delmsg($index); + + # Nothing else to do, so return. + return; + } } if ($SINGLE) { - $msghandle = 'STDOUT'; + $msghandle = \*STDOUT; } else { - $msghandle = &file_create($tmppathname, $GzipFiles); + $msghandle = file_create($tmppathname, $GzipFiles); } ## Output HTML header @@ -968,8 +1041,11 @@ sub output_mail { if (!$nocustom) { #&defineIndex2MsgId(); - ($template = $SSMARKUP) =~ s/$VarExp/&replace_li_var($1,$index)/geo; - print $msghandle $template; + $template = ($MSGPGSSMARKUP ne '') ? $MSGPGSSMARKUP : $SSMARKUP; + if ($template ne '') { + $template =~ s/$VarExp/&replace_li_var($1,$index)/geo; + print $msghandle $template; + } # Output comments -- more informative, but can be used for # error recovering. @@ -983,16 +1059,15 @@ sub output_mail { #ContentType if (defined($Refs{$index})) { - foreach (split(/$X/o, $Refs{$index})) { + foreach (@{$Refs{$index}}) { print $msghandle - "\n"; + "\n"; #Reference-Id } } if (defined($Derived{$index})) { - foreach (split(/$X/o, $Derived{$index})) { - print $msghandle - "\n"; + foreach (@{$Derived{$index}}) { + print $msghandle "\n"; } } print $msghandle "\n"; @@ -1103,12 +1178,11 @@ sub output_mail { ($template = $MSGBODYEND) =~ s/$VarExp/&replace_li_var($1,$index)/geo; print $msghandle $template; if (!$nocustom && $DoFolRefs && defined($Follow{$index})) { - @array2 = split(/$bs/o, $Follow{$index}); - if ($#array2 >= 0) { + if (scalar(@{$Follow{$index}})) { ($template = $FOLUPBEGIN) =~ s/$VarExp/&replace_li_var($1,$index)/geo; print $msghandle $template; - foreach (@array2) { + foreach (@{$Follow{$index}}) { ($template = $FOLUPLITXT) =~ s/$VarExp/&replace_li_var($1,$_)/geo; print $msghandle $template; @@ -1126,10 +1200,9 @@ sub output_mail { } print $msghandle "\n"; if (!$nocustom && $DoFolRefs && defined($Refs{$index})) { - @array2 = split(/$X/o, $Refs{$index}); $tmp2 = 0; # flag for when first ref printed - if ($#array2 >= 0) { - foreach (@array2) { + if (scalar(@{$Refs{$index}})) { + foreach (@{$Refs{$index}}) { next unless defined($MsgId{$_}); next unless defined($IndexNum{$MsgId{$_}}); if (!$tmp2) { @@ -1186,41 +1259,48 @@ sub output_mail { close($msginfh); #&file_remove($tmppathname); } - &file_rename($tmppathname, $filepathname) unless $SINGLE; + file_rename($tmppathname, $filepathname) unless $SINGLE; ## Create user defined files foreach (keys %UDerivedFile) { ($tmp = $_) =~ s/$VarExp/&replace_li_var($1,$index)/geo; $tmp2 = join($DIRSEP, $OUTDIR, $tmp); - if ($drvfh = &file_create($tmp2, $GzipFiles)) { + if ($drvfh = file_create($tmp2, $GzipFiles)) { ($template = $UDerivedFile{$_}) =~ s/$VarExp/&replace_li_var($1,$index)/geo; print $drvfh $template; close($drvfh); - if ($Derived{$index}) { - $Derived{$index} .= $X . $tmp; + if (defined($Derived{$index})) { + push(@{$Derived{$index}}, $tmp); } else { - $Derived{$index} = $tmp; + $Derived{$index} = [ $tmp ]; } } else { warn "Warning: Unable to create $tmp2\n"; } } - if (defined($Derived{$index}) && - (@array2 = split(/$X/o, $Derived{$index}))) { - &remove_dups(*array2); - $Derived{$index} = join($X, @array2); + if (defined($Derived{$index})) { + $Derived{$index} = [ remove_dups($Derived{$index}) ]; } ## Set modification times -- Use eval incase OS does not support utime. if ($MODTIME && !$SINGLE) { eval { - $tmp = &get_time_from_index($index); - @array2 = split(/$X/o, $Derived{$index}); - grep($_ = $OUTDIR . $DIRSEP . $_, @array2); + $tmp = get_time_from_index($index); + if (defined($Derived{$index})) { + @array2 = @{$Derived{$index}}; + grep($_ = $OUTDIR . $DIRSEP . $_, @array2); + } else { + @array2 = ( ); + } unshift(@array2, $filepathname); - &file_utime($tmp, $tmp, @array2); + file_utime($tmp, $tmp, @array2); }; + if ($@) { + warn qq/\nWarning: Your platform does not support setting file/, + qq/ modification times\n/; + $MODTIME = 0; + } } ($i_p0, $filename); @@ -1234,13 +1314,12 @@ sub output_mail { ## delmsg delets a message from the archive. ## sub delmsg { - local($key) = @_; - local($filename); - local($pathname); + my($key) = @_; + my($pathname); #&defineIndex2MsgId(); - $msgnum = $IndexNum{$key}; return 0 if ($msgnum eq ''); - $filename = join($DIRSEP, $OUTDIR, &msgnum_filename($msgnum)); + my $msgnum = $IndexNum{$key}; return 0 if ($msgnum eq ''); + my $filename = join($DIRSEP, $OUTDIR, &msgnum_filename($msgnum)); delete $ContentType{$key}; delete $Date{$key}; delete $From{$key}; @@ -1248,15 +1327,14 @@ sub delmsg { delete $Refs{$key}; delete $Subject{$key}; delete $MsgId{$Index2MsgId{$key}}; - &file_remove($filename) unless $KeepOnRmm; - foreach $filename (split(/$X/o, $Derived{$key})) { - $pathname = (&OSis_absolute_path($filename)) ? - $filename : - join($DIRSEP, $OUTDIR, $filename); + file_remove($filename) unless $KeepOnRmm; + foreach $filename (@{$Derived{$key}}) { + $pathname = (OSis_absolute_path($filename)) ? + $filename : join($DIRSEP, $OUTDIR, $filename); if (-d $pathname) { - &dir_remove($pathname) unless $KeepOnRmm; + dir_remove($pathname) unless $KeepOnRmm; } else { - &file_remove($pathname) unless $KeepOnRmm; + file_remove($pathname) unless $KeepOnRmm; } } delete $Derived{$key}; @@ -1268,12 +1346,12 @@ sub delmsg { ## Routine to convert a msgid to an anchor ## sub link_refmsgid { - local($refmsgid, $onlynew) = @_; + my($refmsgid, $onlynew) = @_; if (defined($MsgId{$refmsgid}) && defined($IndexNum{$MsgId{$refmsgid}}) && (!$onlynew || $NewMsgId{$refmsgid})) { - local($lreftmpl) = $MSGIDLINK; + my($lreftmpl) = $MSGIDLINK; $lreftmpl =~ s/$VarExp/&replace_li_var($1,$MsgId{$refmsgid})/geo; $lreftmpl; } else { diff --git a/lib/mhdb.pl b/lib/mhdb.pl index 35691f7..369f2f2 100644 --- a/lib/mhdb.pl +++ b/lib/mhdb.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhdb.pl 2.15 01/06/10 17:38:53 +## $Id: mhdb.pl,v 2.22 2002/07/27 05:13:13 ehood Exp $ ## Author: ## Earl Hood mhonarc@mhonarc.org ## Description: ## MHonArc library defining routines for outputing database. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-2001 Earl Hood, mhonarc@mhonarc.org +## Copyright (C) 1995-2002 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -38,8 +38,13 @@ sub output_db { my($pathname) = shift; my $tmpfile = $pathname . "$$"; - local(*DB); + ## Invoke pre-save callback + if (defined($CBDbPreSave) && defined(&$CBDbPreSave)) { + return unless &$CBDbPreSave($pathname, $tmpfile); + } + + local(*DB); if (!open(DB, ">$tmpfile")) { warn qq/ERROR: Unable to create "$tmpfile": $!\n/; return 0; @@ -76,23 +81,35 @@ sub output_db { print_var(\*DB,'UDerivedFile',\%UDerivedFile); print_var(\*DB,'ZoneUD', \%ZoneUD); -print_var(\*DB,'readmail::MIMECharSetConverters', - \%readmail::MIMECharSetConverters); -print_var(\*DB,'readmail::MIMECharSetConvertersSrc', - \%readmail::MIMECharSetConvertersSrc); -print_var(\*DB,'readmail::MIMEDecoders', - \%readmail::MIMEDecoders); -print_var(\*DB,'readmail::MIMEDecodersSrc', - \%readmail::MIMEDecodersSrc); -print_var(\*DB,'readmail::MIMEFilters', - \%readmail::MIMEFilters); -print_var(\*DB,'readmail::MIMEFiltersSrc', - \%readmail::MIMEFiltersSrc); +unless ($IsDefault{'CHARSETCONVERTERS'}) { + print_var(\*DB,'readmail::MIMECharSetConverters', + \%readmail::MIMECharSetConverters); + print_var(\*DB,'readmail::MIMECharSetConvertersSrc', + \%readmail::MIMECharSetConvertersSrc); +} +unless ($IsDefault{'MIMEDECODERS'}) { + print_var(\*DB,'readmail::MIMEDecoders', + \%readmail::MIMEDecoders); + print_var(\*DB,'readmail::MIMEDecodersSrc', + \%readmail::MIMEDecodersSrc); +} +unless ($IsDefault{'MIMEFILTERS'}) { + print_var(\*DB,'readmail::MIMEFilters', + \%readmail::MIMEFilters); + print_var(\*DB,'readmail::MIMEFiltersSrc', + \%readmail::MIMEFiltersSrc); +} print_var(\*DB,'readmail::MIMEFiltersArgs', - \%readmail::MIMEFiltersArgs); + \%readmail::MIMEFiltersArgs) + unless $IsDefault{'MIMEARGS'}; if (%readmail::MIMEExcs) { - print_var(\*DB,'readmail::MIMEExcs', - \%readmail::MIMEExcs); + print_var(\*DB,'readmail::MIMEExcs', + \%readmail::MIMEExcs) + unless $IsDefault{'MIMEEXCS'}; +} +unless ($IsDefault{'MIMEALTPREFS'}) { + print_var(\*DB,'MIMEAltPrefs', + \@MIMEAltPrefs); } print_var(\*DB,'DateFields', \@DateFields) unless $IsDefault{'DATEFIELDS'}; @@ -143,6 +160,7 @@ sub output_db { print_var(\*DB,'NOURL', \$NOURL); print_var(\*DB,'NoMsgPgs', \$NoMsgPgs); print_var(\*DB,'NoSubjectThreads', \$NoSubjectThreads); +print_var(\*DB,'NoSubjectTxt', \$NoSubjectTxt); print_var(\*DB,'NoteDir', \$NoteDir); print_var(\*DB,'POSIXstrftime', \$POSIXstrftime); print_var(\*DB,'THREAD', \$THREAD); @@ -153,9 +171,17 @@ sub output_db { print_var(\*DB,'UsingLASTPG', \$UsingLASTPG); print_var(\*DB,'VarExp', \$VarExp); +print_var(\*DB,'MSGPGSSMARKUP', \$MSGPGSSMARKUP); +print_var(\*DB,'IDXPGSSMARKUP', \$IDXPGSSMARKUP); +print_var(\*DB,'TIDXPGSSMARKUP', \$TIDXPGSSMARKUP); print_var(\*DB,'SSMARKUP', \$SSMARKUP); print_var(\*DB,'SpamMode', \$SpamMode); +if (!$IsDefault{'TEXTCLIPFUNC'}) { + print_var(\*DB,'TextClipFunc', \$TextClipFunc); + print_var(\*DB,'TextClipSrc', \$TextClipSrc); +}; + # Main index resources print_var(\*DB,'AUTHSORT', \$AUTHSORT); print_var(\*DB,'NOSORT', \$NOSORT); @@ -174,6 +200,8 @@ sub output_db { print_var(\*DB,'LIBEG', \$LIBEG) unless $IsDefault{'LIBEG'}; print_var(\*DB,'LIEND', \$LIEND) unless $IsDefault{'LIEND'}; print_var(\*DB,'LITMPL', \$LITMPL) unless $IsDefault{'LITMPL'}; +print_var(\*DB,'FIRSTPGLINK', \$FIRSTPGLINK) unless $IsDefault{'FIRSTPGLINK'}; +print_var(\*DB,'LASTPGLINK', \$LASTPGLINK) unless $IsDefault{'LASTPGLINK'}; print_var(\*DB,'NEXTPGLINK', \$NEXTPGLINK) unless $IsDefault{'NEXTPGLINK'}; print_var(\*DB,'NEXTPGLINKIA', \$NEXTPGLINKIA) unless $IsDefault{'NEXTPGLINKIA'}; @@ -205,6 +233,10 @@ sub output_db { print_var(\*DB,'TLINONE', \$TLINONE) unless $IsDefault{'TLINONE'}; print_var(\*DB,'TLINONEEND', \$TLINONEEND) unless $IsDefault{'TLINONEEND'}; print_var(\*DB,'TLITXT', \$TLITXT) unless $IsDefault{'TLITXT'}; +print_var(\*DB,'TFIRSTPGLINK', \$TFIRSTPGLINK) + unless $IsDefault{'TFIRSTPGLINK'}; +print_var(\*DB,'TLASTPGLINK', \$TLASTPGLINK) + unless $IsDefault{'TLASTPGLINK'}; print_var(\*DB,'TNEXTPGLINK', \$TNEXTPGLINK) unless $IsDefault{'TNEXTPGLINK'}; print_var(\*DB,'TNEXTPGLINKIA',\$TNEXTPGLINKIA) unless $IsDefault{'TNEXTPGLINKIA'}; @@ -220,6 +252,49 @@ sub output_db { print_var(\*DB,'TTOPBEG', \$TTOPBEG) unless $IsDefault{'TTOPBEG'}; print_var(\*DB,'TTOPEND', \$TTOPEND) unless $IsDefault{'TTOPEND'}; +print_var(\*DB,'TSLICESINGLETXT', \$TSLICESINGLETXT) + unless $IsDefault{'TSLICESINGLETXT'}; +print_var(\*DB,'TSLICETOPBEG', \$TSLICETOPBEG) + unless $IsDefault{'TSLICETOPBEG'}; +print_var(\*DB,'TSLICETOPEND', \$TSLICETOPEND) + unless $IsDefault{'TSLICETOPEND'}; +print_var(\*DB,'TSLICESUBLISTBEG', \$TSLICESUBLISTBEG) + unless $IsDefault{'TSLICESUBLISTBEG'}; +print_var(\*DB,'TSLICESUBLISTEND', \$TSLICESUBLISTEND) + unless $IsDefault{'TSLICESUBLISTEND'}; +print_var(\*DB,'TSLICELEVELS', \$TSLICELEVELS) + unless $IsDefault{'TSLICELEVELS'}; +print_var(\*DB,'TSLICELITXT', \$TSLICELITXT) + unless $IsDefault{'TSLICELITXT'}; +print_var(\*DB,'TSLICELIEND', \$TSLICELIEND) + unless $IsDefault{'TSLICELIEND'}; +print_var(\*DB,'TSLICELINONE', \$TSLICELINONE) + unless $IsDefault{'TSLICELINONE'}; +print_var(\*DB,'TSLICELINONEEND', \$TSLICELINONEEND) + unless $IsDefault{'TSLICELINONEEND'}; +print_var(\*DB,'TSLICESUBJECTBEG', \$TSLICESUBJECTBEG) + unless $IsDefault{'TSLICESUBJECTBEG'}; +print_var(\*DB,'TSLICESUBJECTEND', \$TSLICESUBJECTEND) + unless $IsDefault{'TSLICESUBJECTEND'}; +print_var(\*DB,'TSLICEINDENTBEG', \$TSLICEINDENTBEG) + unless $IsDefault{'TSLICEINDENTBEG'}; +print_var(\*DB,'TSLICEINDENTEND', \$TSLICEINDENTEND) + unless $IsDefault{'TSLICEINDENTEND'}; +print_var(\*DB,'TSLICECONTBEG', \$TSLICECONTBEG) + unless $IsDefault{'TSLICECONTBEG'}; +print_var(\*DB,'TSLICECONTEND', \$TSLICECONTEND) + unless $IsDefault{'TSLICECONTEND'}; +print_var(\*DB,'TSLICESINGLETXTCUR', \$TSLICESINGLETXTCUR) + unless $IsDefault{'TSLICESINGLETXTCUR'}; +print_var(\*DB,'TSLICETOPBEGCUR', \$TSLICETOPBEGCUR) + unless $IsDefault{'TSLICETOPBEGCUR'}; +print_var(\*DB,'TSLICETOPENDCUR', \$TSLICETOPENDCUR) + unless $IsDefault{'TSLICETOPENDCUR'}; +print_var(\*DB,'TSLICELITXTCUR', \$TSLICELITXTCUR) + unless $IsDefault{'TSLICELITXTCUR'}; +print_var(\*DB,'TSLICELIENDCUR', \$TSLICELIENDCUR) + unless $IsDefault{'TSLICELIENDCUR'}; + ## Other resources print_var(\*DB,'BOTLINKS', \$BOTLINKS) unless $IsDefault{'BOTLINKS'}; print_var(\*DB,'FIELDSBEG', \$FIELDSBEG) unless $IsDefault{'FIELDSBEG'}; @@ -258,23 +333,62 @@ sub output_db { print_var(\*DB,'TNEXTBUTTON', \$TNEXTBUTTON) unless $IsDefault{'TNEXTBUTTON'}; print_var(\*DB,'TNEXTBUTTONIA',\$TNEXTBUTTONIA) unless $IsDefault{'TNEXTBUTTONIA'}; +print_var(\*DB,'TNEXTINBUTTON', \$TNEXTINBUTTON) + unless $IsDefault{'TNEXTINBUTTON'}; +print_var(\*DB,'TNEXTINBUTTONIA', \$TNEXTINBUTTONIA) + unless $IsDefault{'TNEXTINBUTTONIA'}; +print_var(\*DB,'TNEXTINLINK', \$TNEXTINLINK) + unless $IsDefault{'TNEXTINLINK'}; +print_var(\*DB,'TNEXTINLINKIA', \$TNEXTINLINKIA) + unless $IsDefault{'TNEXTINLINKIA'}; print_var(\*DB,'TNEXTLINK', \$TNEXTLINK) unless $IsDefault{'TNEXTLINK'}; print_var(\*DB,'TNEXTLINKIA', \$TNEXTLINKIA) unless $IsDefault{'TNEXTLINKIA'}; print_var(\*DB,'TOPLINKS', \$TOPLINKS) unless $IsDefault{'TOPLINKS'}; print_var(\*DB,'TPREVBUTTON', \$TPREVBUTTON) unless $IsDefault{'TPREVBUTTON'}; print_var(\*DB,'TPREVBUTTONIA',\$TPREVBUTTONIA) unless $IsDefault{'TPREVBUTTONIA'}; +print_var(\*DB,'TPREVINBUTTON', \$TPREVINBUTTON) + unless $IsDefault{'TPREVINBUTTON'}; +print_var(\*DB,'TPREVINBUTTONIA', \$TPREVINBUTTONIA) + unless $IsDefault{'TPREVINBUTTONIA'}; +print_var(\*DB,'TPREVINLINK', \$TPREVINLINK) + unless $IsDefault{'TPREVINLINK'}; +print_var(\*DB,'TPREVINLINKIA', \$TPREVINLINKIA) + unless $IsDefault{'TPREVINLINKIA'}; print_var(\*DB,'TPREVLINK', \$TPREVLINK) unless $IsDefault{'TPREVLINK'}; print_var(\*DB,'TPREVLINKIA', \$TPREVLINKIA) unless $IsDefault{'TPREVLINKIA'}; print_var(\*DB,'TSLICEBEG', \$TSLICEBEG) unless $IsDefault{'TSLICEBEG'}; print_var(\*DB,'TSLICEEND', \$TSLICEEND) unless $IsDefault{'TSLICEEND'}; print_var(\*DB,'TSliceNBefore',\$TSliceNBefore); print_var(\*DB,'TSliceNAfter', \$TSliceNAfter); +print_var(\*DB,'TSliceInclusive', \$TSliceInclusive); +print_var(\*DB,'TNEXTTOPBUTTON', \$TNEXTTOPBUTTON) + unless $IsDefault{'TNEXTTOPBUTTON'}; +print_var(\*DB,'TNEXTTOPBUTTONIA', \$TNEXTTOPBUTTONIA) + unless $IsDefault{'TNEXTTOPBUTTONIA'}; +print_var(\*DB,'TNEXTTOPLINK', \$TNEXTTOPLINK) + unless $IsDefault{'TNEXTTOPLINK'}; +print_var(\*DB,'TNEXTTOPLINKIA', \$TNEXTTOPLINKIA) + unless $IsDefault{'TNEXTTOPLINKIA'}; +print_var(\*DB,'TPREVTOPBUTTON', \$TPREVTOPBUTTON) + unless $IsDefault{'TPREVTOPBUTTON'}; +print_var(\*DB,'TPREVTOPBUTTONIA', \$TPREVTOPBUTTONIA) + unless $IsDefault{'TPREVTOPBUTTONIA'}; +print_var(\*DB,'TPREVTOPLINK', \$TPREVTOPLINK) + unless $IsDefault{'TPREVTOPLINK'}; +print_var(\*DB,'TPREVTOPLINKIA', \$TPREVTOPLINKIA) + unless $IsDefault{'TPREVTOPLINKIA'}; print_var(\*DB,'UMASK', \$UMASK); } -print DB "1;\n"; # for require + ## Invoke save callback + if (defined($CBDbSave) && defined(&$CBDbSave)) { + &$CBDbSave(\*DB); + } + + ## Make sure file ends with a true value + print DB "1;\n"; close(DB); @@ -302,32 +416,67 @@ sub print_var { print $fh qq/\$$name='/, escape_str($$ref), qq/'/; print $fh qq/ unless defined(\$$name)/ if $d; print $fh qq/;\n/; - return + return; } if (ref($ref) eq 'HASH') { - my($key, $value); - print $fh "%$name=(\n"; + my($key, $value, $sep); + if (defined($name)) { + print $fh "%$name=(\n"; + $sep = "\n"; + } else { + print $fh '{'; + $sep = ""; + } while (($key, $value) = each(%$ref)) { print $fh qq/'/, escape_str($key), qq/',/; + if (ref($value)) { + print_var($fh, undef, $value, 0); + print $fh ",\n"; + next; + } if (defined($value)) { - print $fh qq/'/, escape_str($value), qq/',\n/; + print $fh qq/'/, escape_str($value), qq/',/, $sep; } else { - print $fh "undef,\n"; + print $fh 'undef,', $sep; } } - print $fh ");\n"; - return + if (defined($name)) { + print $fh ");\n"; + } else { + print $fh '}'; + } + return; } if (ref($ref) eq 'ARRAY') { local $_; - print $fh "\@$name=(\n"; + my $sep; + if (defined($name)) { + print $fh "\@$name=(\n"; + $sep = "\n"; + } else { + print $fh '['; + $sep = ""; + } foreach (@$ref) { - print $fh qq/'/, escape_str($_), qq/',\n/; + if (ref($_)) { + print_var($fh, undef, $_, 0); + print $fh ",\n"; + next; + } + if (defined($_)) { + print $fh qq/'/, escape_str($_), qq/',/, $sep; + } else { + print $fh 'undef,', $sep; + } + } + if (defined($name)) { + print $fh ");\n"; + } else { + print $fh ']'; } - print $fh ");\n"; - return + return; } print $fh qq/\$$name='/, escape_str($ref), qq/'/; diff --git a/lib/mhdysub.pl b/lib/mhdysub.pl index 8445736..0011c31 100644 --- a/lib/mhdysub.pl +++ b/lib/mhdysub.pl @@ -1,14 +1,14 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhdysub.pl 2.4 99/07/25 02:02:34 +## $Id: mhdysub.pl,v 2.6 2002/06/07 17:45:09 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Definition of create_routines() that creates routines are ## runtime. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1996-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1996-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -119,6 +119,9 @@ sub create_routines { sub get_base_subject { my($ret) = ($Subject{$_[0]}); 1 while $ret =~ s/$SubReplyRxp//io; + if ($ret eq "") { + return $NoSubjectTxt; + } $ret; } EndOfRoutine diff --git a/lib/mhexternal.pl b/lib/mhexternal.pl index 8f31de6..dd1a1ac 100644 --- a/lib/mhexternal.pl +++ b/lib/mhexternal.pl @@ -1,8 +1,8 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhexternal.pl 2.8 01/04/10 21:36:40 +## $Id: mhexternal.pl,v 2.10 2001/10/06 14:02:38 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Library defines a routine for MHonArc to filter content-types ## that cannot be directly filtered into HTML, but a linked to an @@ -19,7 +19,7 @@ ## ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -66,7 +66,10 @@ package m2h_external; ## ## forceinline Inline image data, always ## +## frame Draw a frame around the attachment link. +## ## iconurl="url" Use "url" for location of icon to use. +## The quotes are required around the url. ## ## inline Inline image data by default if ## content-disposition not defined. @@ -101,7 +104,7 @@ package m2h_external; ## problems. ## sub filter { - local($header, *fields, *data, $isdecode, $args) = @_; + my($fields, $data, $isdecode, $args) = @_; my($ret, $filename, $urlfile, $disp); require 'mhmimetypes.pl'; @@ -115,8 +118,6 @@ sub filter { my $inline = 0; my $inext = ''; my $intype = ''; - my $iconurl = ''; - my $icon_mu = ''; my $target = ''; my $path = ''; my $subdir = $args =~ /\bsubdir\b/i; @@ -136,12 +137,12 @@ sub filter { } ## Get content-type - ($ctype) = $fields{'content-type'} =~ m%^\s*([\w\-\./]+)%; + ($ctype) = $fields->{'content-type'}[0] =~ m%^\s*([\w\-\./]+)%; $ctype =~ tr/A-Z/a-z/; $type = (mhonarc::get_mime_ext($ctype))[1]; ## Get disposition - ($disp, $nameparm) = &readmail::MAILhead_get_disposition(*fields); + ($disp, $nameparm) = readmail::MAILhead_get_disposition($fields); $name = $nameparm if $usename; &debug("Content-type: $ctype", "Disposition: $disp; filename=$nameparm", @@ -189,14 +190,6 @@ sub filter { $inline = ($args =~ /\binline\b/i); } - ## Check if using icon - if ($args =~ /\buseicon\b/i) { - $iconurl = $mhonarc::Icons{$ctype} || $mhonarc::Icons{'unknown'}; - if ($args =~ /\biconurl="([^"]+)"/i) { $iconurl = $1; } - $icon_mu = qq/ / - if $iconurl; - } - ## Check if target specified if ($args =~ /target="([^"]+)"/i) { $target = $1; } elsif ($args =~ /target=(\S+)/i) { $target = $1; } @@ -204,7 +197,7 @@ sub filter { $target = qq/ TARGET="$target"/ if $target; ## Write file - $filename = mhonarc::write_attachment($ctype, \$data, $path, $name, $inext); + $filename = mhonarc::write_attachment($ctype, $data, $path, $name, $inext); ($urlfile = $filename) =~ s/([^\w.\-\/])/sprintf("%%%X",unpack("C",$1))/ge; &debug("File-written: $filename") if $debug; @@ -221,16 +214,67 @@ sub filter { ## Create HTML markup if ($inline) { - $ret = "

    " . &htmlize($fields{'content-description'}) . "

    \n" - if ($fields{'content-description'}); - $ret .= qq|

    \n|; + $ret = "

    ".htmlize($fields->{'content-description'}[0])."

    \n" + if (defined $fields{'content-description'}); + $ret .= qq|

    \n|; } else { - $ret = qq|

    $icon_mu| . - (&htmlize($fields{'content-description'}) || - $nameparm || $type) . - qq|

    \n|; + my $namelabel = $nameparm || $urlfile; + my $desc = htmlize($fields->{'content-description'}[0]) || + $type; + # check if using icon + my($icon_mu, $iconurl, $iw, $ih); + if ($args =~ /\buseicon\b/i) { + if ($args =~ /\biconurl="([^"]+)"/i) { + $iconurl = $1; + if ($iconurl =~ s/\[(\d+)x(\d+)\]//) { + ($iw, $ih) = ($1, $2); + } + } else { + ($iconurl, $iw, $ih) = mhonarc::get_icon_url($ctype); + } + if ($iconurl) { + $icon_mu = join('', 'Attachment:$icon_mu +$namelabel
    +Description: $desc

    +EOT + } else { + $ret =<Attachment: +$namelabel
    +Description: $desc

    +EOT + } + } else { + if ($icon_mu) { + $ret =< +$icon_mu +$namelabel
    +Description: $desc +EOT + } else { + $ret =< +Attachment: +$namelabel
    +Description: $desc +EOT + } + } } ($ret, $path || $filename); } diff --git a/lib/mhfile.pl b/lib/mhfile.pl index 0bf2c77..663d21c 100644 --- a/lib/mhfile.pl +++ b/lib/mhfile.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhfile.pl 2.4 99/06/25 14:13:41 +## $Id: mhfile.pl,v 2.6 2002/05/14 00:04:40 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## File routines for MHonArc ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1997-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1997-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -27,12 +27,14 @@ package mhonarc; +use Symbol; + ##---------------------------------------------------------------------------## sub file_open { - local($file) = shift; - local($handle) = q/mhonarc::FOPEN/ . ++$_fo_cnt; - local($gz) = $file =~ /\.gz$/i; + my($file) = shift; + my($handle) = gensym; + my($gz) = $file =~ /\.gz$/i; if ($gz) { return $handle if open($handle, "$GzipExe -cd $file |"); @@ -47,9 +49,9 @@ sub file_open { } sub file_create { - local($file) = shift; - local($gz) = shift; - local($handle) = q/mhonarc::FCREAT/ . ++$_fc_cnt; + my($file) = shift; + my($gz) = shift; + my($handle) = gensym; if ($gz) { $file .= ".gz" unless $file =~ /\.gz$/; @@ -65,8 +67,8 @@ sub file_exists { } sub file_copy { - local($src, $dst) = ($_[0], $_[1]); - local($gz) = $src =~ /\.gz$/i; + my($src, $dst) = ($_[0], $_[1]); + my($gz) = $src =~ /\.gz$/i; if ($gz || (-e "$src.gz")) { $src .= ".gz" unless $gz; @@ -76,8 +78,8 @@ sub file_copy { } sub file_rename { - local($src, $dst) = ($_[0], $_[1]); - local($gz) = $src =~ /\.gz$/i; + my($src, $dst) = ($_[0], $_[1]); + my($gz) = $src =~ /\.gz$/i; if ($gz || (-e "$src.gz")) { $src .= ".gz" unless $gz; @@ -89,15 +91,15 @@ sub file_rename { } sub file_remove { - local($file) = shift; + my($file) = shift; unlink($file); unlink("$file.gz"); } sub file_utime { - local($atime) = shift; - local($mtime) = shift; + my($atime) = shift; + my($mtime) = shift; foreach (@_) { utime($atime, $mtime, $_, "$_.gz"); } @@ -106,19 +108,19 @@ sub file_utime { ##---------------------------------------------------------------------------## sub dir_remove { - local($file) = shift; + my($file) = shift; if (-d $file) { - local(@files) = (); - + local(*DIR); + local($_); if (!opendir(DIR, $file)) { warn qq{Warning: Unable to open "$file"\n}; return 0; } - @files = grep(!/^(\.|\..)$/i, readdir(DIR)); + my @files = grep(!/^(\.|\..)$/i, readdir(DIR)); closedir(DIR); foreach (@files) { - &dir_remove($file . $mhonarc'DIRSEP . $_); + &dir_remove($file . $mhonarc::DIRSEP . $_); } if (!rmdir($file)) { warn qq{Warning: Unable to remove "$file": $!\n}; diff --git a/lib/mhidxrc.pl b/lib/mhidxrc.pl index e5eb3b1..44b13ce 100644 --- a/lib/mhidxrc.pl +++ b/lib/mhidxrc.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhidxrc.pl 2.7 00/10/28 10:47:42 +## $Id: mhidxrc.pl,v 2.11 2001/11/23 20:42:39 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## MHonArc library defining values for various index resources ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1996-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1996-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -49,7 +49,7 @@ sub mhidxrc_set_vars { ## Beginning of main index page unless ($IDXPGBEG) { $IDXPGBEG =<<'EndOfStr'; - + $IDXTITLE$ @@ -130,7 +130,7 @@ sub mhidxrc_set_vars { ## Beginning of thread index page unless ($TIDXPGBEG) { $TIDXPGBEG =<<'EndOfStr'; - + $TIDXTITLE$ @@ -212,12 +212,12 @@ sub mhidxrc_set_vars { ## Template for the start of subject based section unless ($TSUBJECTBEG) { - $TSUBJECTBEG = "
  • <Possible follow-up(s)>
  • \n"; + $TSUBJECTBEG = "
  • <Possible follow-ups>
  • \n"; $IsDefault{'TSUBJECTBEG'} = 1; } ## Template for the end of subject based section unless ($TSUBJECTEND) { - $TSUBJECTEND = ""; + $TSUBJECTEND = " "; $IsDefault{'TSUBJECTEND'} = 1; } @@ -259,6 +259,7 @@ sub mhidxrc_set_vars { ## } +## Thread Slice Resources unless ($TSLICEBEG) { $TSLICEBEG = "
      \n"; $IsDefault{'TSLICEBEG'} = 1; @@ -268,6 +269,93 @@ sub mhidxrc_set_vars { $IsDefault{'TSLICEEND'} = 1; } +if ($TSLICELEVELS < 0) { + $TSLICELEVELS = $TLEVELS; + $IsDefault{'TSLICELEVELS'} = 1; +} + +unless ($TSLICESINGLETXT) { + $TSLICESINGLETXT = $TSINGLETXT; + $IsDefault{'TSLICESINGLETXT'} = 1; +} +unless ($TSLICETOPBEG) { + $TSLICETOPBEG = $TTOPBEG; + $IsDefault{'TSLICETOPBEG'} = 1; +} +unless ($TSLICETOPEND) { + $TSLICETOPEND = $TTOPEND; + $IsDefault{'TSLICETOPEND'} = 1; +} +unless ($TSLICESUBLISTBEG) { + $TSLICESUBLISTBEG = $TSUBLISTBEG; + $IsDefault{'TSLICESUBLISTBEG'} = 1; +} +unless ($TSLICESUBLISTEND) { + $TSLICESUBLISTEND = $TSUBLISTEND; + $IsDefault{'TSLICESUBLISTEND'} = 1; +} +unless ($TSLICELITXT) { + $TSLICELITXT = $TLITXT; + $IsDefault{'TSLICELITXT'} = 1; +} +unless ($TSLICELIEND) { + $TSLICELIEND = $TLIEND; + $IsDefault{'TSLICELIEND'} = 1; +} +unless ($TSLICELINONE) { + $TSLICELINONE = $TLINONE; + $IsDefault{'TSLICELINONE'} = 1; +} +unless ($TSLICELINONEEND) { + $TSLICELINONEEND = $TLINONEEND; + $IsDefault{'TSLICELINONEEND'} = 1; +} +unless ($TSLICESUBJECTBEG) { + $TSLICESUBJECTBEG = $TSUBJECTBEG; + $IsDefault{'TSLICESUBJECTBEG'} = 1; +} +unless ($TSLICESUBJECTEND) { + $TSLICESUBJECTEND = $TSUBJECTEND; + $IsDefault{'TSLICESUBJECTEND'} = 1; +} +unless ($TSLICEINDENTBEG) { + $TSLICEINDENTBEG = $TINDENTBEG; + $IsDefault{'TSLICEINDENTBEG'} = 1; +} +unless ($TSLICEINDENTEND) { + $TSLICEINDENTEND = $TINDENTEND; + $IsDefault{'TSLICEINDENTEND'} = 1; +} +unless ($TSLICECONTBEG) { + $TSLICECONTBEG = $TCONTBEG; + $IsDefault{'TSLICECONTBEG'} = 1; +} +unless ($TSLICECONTEND) { + $TSLICECONTEND = $TCONTEND; + $IsDefault{'TSLICECONTEND'} = 1; +} + +unless ($TSLICESINGLETXTCUR) { + $TSLICESINGLETXTCUR = $TSLICESINGLETXT; + $IsDefault{'TSLICESINGLETXTCUR'} = 1; +} +unless ($TSLICETOPBEGCUR) { + $TSLICETOPBEGCUR = $TSLICETOPBEG; + $IsDefault{'TSLICETOPBEGCUR'} = 1; +} +unless ($TSLICETOPENDCUR) { + $TSLICETOPENDCUR = $TSLICETOPEND; + $IsDefault{'TSLICETOPENDCUR'} = 1; +} +unless ($TSLICELITXTCUR) { + $TSLICELITXTCUR = $TSLICELITXT; + $IsDefault{'TSLICELITXTCUR'} = 1; +} +unless ($TSLICELIENDCUR) { + $TSLICELIENDCUR = $TSLICELIEND; + $IsDefault{'TSLICELIENDCUR'} = 1; +} + ##-------------------## ## Message resources ## ##-------------------## @@ -285,10 +373,10 @@ sub mhidxrc_set_vars { ## Beginning of message page unless ($MSGPGBEG) { $MSGPGBEG =<<'EndOfStr'; - + -$SUBJECTNA:72$ +$SUBJECTNA$ EndOfStr $MSGPGBEG .= qq|\n| @@ -382,7 +470,25 @@ sub mhidxrc_set_vars { $TPREVBUTTONIA = '[Thread Prev]', $IsDefault{'TPREVBUTTONIA'} = 1 unless $TPREVBUTTONIA; -## Next message in thread link +$TNEXTINBUTTON = '[Next in Thread]', + $IsDefault{'TNEXTINBUTTON'} = 1 unless $TNEXTINBUTTON; +$TNEXTINBUTTONIA = '[Next in Thread]', + $IsDefault{'TNEXTINBUTTONIA'} = 1 unless $TNEXTINBUTTONIA; +$TPREVINBUTTON = '[Prev in Thread]', + $IsDefault{'TPREVINBUTTON'} = 1 unless $TPREVINBUTTON; +$TPREVINBUTTONIA = '[Prev in Thread]', + $IsDefault{'TPREVINBUTTONIA'} = 1 unless $TPREVINBUTTONIA; + +$TNEXTTOPBUTTON = '[Next Thread]', + $IsDefault{'TNEXTTOPBUTTON'} = 1 unless $TNEXTTOPBUTTON; +$TNEXTTOPBUTTONIA = '[Next Thread]', + $IsDefault{'TNEXTTOPBUTTONIA'} = 1 unless $TNEXTTOPBUTTONIA; +$TPREVTOPBUTTON = '[Prev Thread]', + $IsDefault{'TPREVTOPBUTTON'} = 1 unless $TPREVTOPBUTTON; +$TPREVTOPBUTTONIA = '[Prev Thread]', + $IsDefault{'TPREVTOPBUTTONIA'} = 1 unless $TPREVTOPBUTTONIA; + +## Next message by thread link unless ($TNEXTLINK) { $TNEXTLINK =<<'EndOfStr';
    • Next by thread: @@ -391,23 +497,69 @@ sub mhidxrc_set_vars { EndOfStr $IsDefault{'TNEXTLINK'} = 1; } - ## Inactive next message in thread link $TNEXTLINKIA = '', $IsDefault{'TNEXTLINKIA'} = 1 unless $TNEXTLINKIA; -## Previous message in thread link +## Previous message by thread link unless ($TPREVLINK) { $TPREVLINK =<<'EndOfStr'; -
    • Prev by thread: +
    • Previous by thread: $SUBJECT(TPREV)$
    • EndOfStr $IsDefault{'TPREVLINK'} = 1; } - ## Inactive previous message in thread link $TPREVLINKIA = '', $IsDefault{'TPREVLINKIA'} = 1 unless $TPREVLINKIA; +## Next message within thread link +unless ($TNEXTINLINK) { + $TNEXTINLINK =<<'EndOfStr'; +
    • Next in thread: +$SUBJECT(TNEXTIN)$ +
    • +EndOfStr + $IsDefault{'TNEXTINLINK'} = 1; +} +## Inactive next message within thread link +$TNEXTINLINKIA = '', $IsDefault{'TNEXTINLINKIA'} = 1 unless $TNEXTINLINKIA; + +## Previous message within thread link +unless ($TPREVINLINK) { + $TPREVINLINK =<<'EndOfStr'; +
    • Previous in thread: +$SUBJECT(TPREVIN)$ +
    • +EndOfStr + $IsDefault{'TPREVINLINK'} = 1; +} +## Inactive previous message within thread link +$TPREVINLINKIA = '', $IsDefault{'TPREVINLINKIA'} = 1 unless $TPREVINLINKIA; + +## Next thread +unless ($TNEXTTOPLINK) { + $TNEXTTOPLINK =<<'EndOfStr'; +
    • Next thread: +$SUBJECT(TNEXTTOP)$ +
    • +EndOfStr + $IsDefault{'TNEXTTOPLINK'} = 1; +} +## Inactive next thread +$TNEXTTOPLINKIA = '', $IsDefault{'TNEXTTOPLINKIA'} = 1 unless $TNEXTTOPLINKIA; + +## Previous thread +unless ($TPREVTOPLINK) { + $TPREVTOPLINK =<<'EndOfStr'; +
    • Previous thread: +$SUBJECT(TPREVTOP)$ +
    • +EndOfStr + $IsDefault{'TPREVTOPLINK'} = 1; +} +## Inactive prev thread +$TPREVTOPLINKIA = '', $IsDefault{'TPREVTOPLINKIA'} = 1 unless $TPREVTOPLINKIA; + ## Top links in message if (!$TOPLINKS) { $TOPLINKS = "
      \n"; @@ -499,13 +651,22 @@ sub mhidxrc_set_vars { ## Next/previous main/thread index page links ## ##--------------------------------------------## +$FIRSTPGLINK = '[First Page]', + $IsDefault{'FIRSTPGLINK'} = 1 unless $FIRSTPGLINK; +$LASTPGLINK = '[Last Page]', + $IsDefault{'LASTPGLINK'} = 1 unless $LASTPGLINK; $NEXTPGLINK = '[Next Page]', $IsDefault{'NEXTPGLINK'} = 1 unless $NEXTPGLINK; $PREVPGLINK = '[Prev Page]', $IsDefault{'PREVPGLINK'} = 1 unless $PREVPGLINK; -$TNEXTPGLINK = '[Next Page]', + +$TFIRSTPGLINK = '[First Page]', + $IsDefault{'TFIRSTPGLINK'} = 1 unless $TFIRSTPGLINK; +$TLASTPGLINK = '[Last Page]', + $IsDefault{'TLASTPGLINK'} = 1 unless $TLASTPGLINK; +$TNEXTPGLINK = '[Next Page]', $IsDefault{'TNEXTPGLINK'} = 1 unless $TNEXTPGLINK; -$TPREVPGLINK = '[Prev Page]', +$TPREVPGLINK = '[Prev Page]', $IsDefault{'TPREVPGLINK'} = 1 unless $TPREVPGLINK; $NEXTPGLINKIA = '[Next Page]', diff --git a/lib/mhindex.pl b/lib/mhindex.pl index 903c11d..260ea35 100644 --- a/lib/mhindex.pl +++ b/lib/mhindex.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhindex.pl 1.6 99/10/01 02:03:44 +## $Id: mhindex.pl,v 1.10 2002/06/27 04:56:41 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Main index routines for mhonarc ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,12 +31,12 @@ package mhonarc; ## write_main_index outputs main index of archive ## sub write_main_index { - local($onlypg) = @_; - local($MLCP); - local($outhandle, $i, $i_p0, $filename, $tmpl, $isfirst, $tmp, - $mlfh, $mlinfh, $tmpfile, $offstart, $offend); + my $onlypg = shift; + my($outhandle, $i, $i_p0, $filename, $tmpl, $isfirst, $tmp, + $offstart, $offend); + local($PageNum, $PageSize); # XXX: Use in replace_li_vars() + my($totalpgs); local(*a); - local($PageNum, $PageSize, $totalpgs); &compute_page_total(); $PageNum = $onlypg || 1; @@ -51,7 +51,6 @@ sub write_main_index { next if $PageNum < $IdxMinPg; $isfirst = 1; - $MLCP = 0; if ($MULTIIDX) { $offstart = ($PageNum-1) * $IDXSIZE; @@ -85,20 +84,13 @@ sub write_main_index { $outhandle = 'STDOUT'; } else { - if ($ADD && &file_exists($IDXPATHNAME)) { - $tmpfile = join($DIRSEP, $OUTDIR, "tmp.$$"); - &file_rename($IDXPATHNAME, $tmpfile); - ($mlinfh = &file_open($tmpfile)) - || die("ERROR: Unable to open $tmpfile\n"); - $MLCP = 1; - } - ($outhandle = &file_create($IDXPATHNAME, $GzipFiles)) || + $outhandle = &file_create($IDXPATHNAME, $GzipFiles) || die("ERROR: Unable to create $IDXPATHNAME\n"); } print STDOUT "Writing $IDXPATHNAME ...\n" unless $QUIET; ## Print top part of index - &output_maillist_head($outhandle, $mlinfh); + &output_maillist_head($outhandle); ## Output links to messages @@ -109,9 +101,9 @@ sub write_main_index { } } elsif ($SUBSORT) { - local($prevsub) = ''; + my($prevsub) = ''; foreach $index (@a) { - if (($tmp = &get_base_subject($index)) ne $prevsub) { + if (($tmp = get_base_subject($index)) ne $prevsub) { $prevsub = $tmp; if (!$isfirst) { ($tmpl = $SUBJECTEND) =~ @@ -153,8 +145,8 @@ sub write_main_index { print $outhandle $tmpl; } else { - local($prevdate) = ''; - local($time); + my($prevdate) = ''; + my($time); foreach $index (@a) { $time = &get_time_from_index($index); $tmp = join("", $UseLocalTime ? (localtime($time))[3,4,5] : @@ -180,12 +172,8 @@ sub write_main_index { } ## Print bottom part of index - &output_maillist_foot($outhandle, $mlinfh); + &output_maillist_foot($outhandle); close($outhandle) unless $IDXONLY; - if ($MLCP) { - close($mlinfh); - &file_remove($tmpfile); - } } } @@ -193,48 +181,23 @@ sub write_main_index { ## output_maillist_head() outputs the beginning of the index page. ## sub output_maillist_head { - local($handle, $cphandle) = @_; - local($tmp, $index, $headfh); - $index = ""; - - ($tmp = $SSMARKUP) =~ s/$VarExp/&replace_li_var($1,'')/geo; - print $handle $tmp; + my $handle = shift; + local $index = ""; + my($tmp); + + $tmp = ($IDXPGSSMARKUP ne '') ? $IDXPGSSMARKUP : $SSMARKUP; + if ($tmp ne '') { + $tmp =~ s/$VarExp/&replace_li_var($1,'')/geo; + print $handle $tmp; + } print $handle "\n"; ## Output title ($tmp = $IDXPGBEG) =~ s/$VarExp/&replace_li_var($1,'')/geo; print $handle $tmp; - print $handle "\n"; - if ($MLCP) { - while (<$cphandle>) { last if /\n"; - if ($headfh = &file_open($HEADER)) { - while (<$headfh>) { print $handle $_; } - close($headfh); - } else { - warn "Warning: Unable to open header: $HEADER\n"; - } - if ($MLCP) { - while (<$cphandle>) { last if /\n"; - } elsif ($MLCP) { # Preserve maillist header - while (<$cphandle>) { - print $handle $_; - last if /\n", - "\n"; - } - - print $handle "\n"; + ## Output start of index ($tmp = $LIBEG) =~ s/$VarExp/&replace_li_var($1,'')/geo; print $handle $tmp; } @@ -243,41 +206,13 @@ sub output_maillist_head { ## output_maillist_foot() outputs the end of the index page. ## sub output_maillist_foot { - local($handle, $cphandle) = @_; - local($tmp, $index, $footfh); - $index = ""; + my $handle = shift; + local $index = ""; + my($tmp); + ## Close message listing ($tmp = $LIEND) =~ s/$VarExp/&replace_li_var($1,'')/geo; print $handle $tmp; - print $handle "\n"; - - ## Skip past index in old maillist file - if ($MLCP) { - while (<$cphandle>) { last if /\n"; - if ($footfh = &file_open($FOOTER)) { - while (<$footfh>) { print $handle $_; } - close($footfh); - } else { - warn "Warning: Unable to open footer: $FOOTER\n"; - } - if ($MLCP) { - while (<$cphandle>) { last if /\n"; - } elsif ($MLCP) { # Preserve maillist footer - while (<$cphandle>) { - print $handle $_; - last if /\n", - "\n"; - } &output_doclink($handle); @@ -294,12 +229,12 @@ sub output_maillist_foot { sub output_doclink { local($handle) = ($_[0]); if (!$NODOC && $DOCURL) { - print $handle "
      \n"; + print $handle "
      \n"; print $handle - "
      \n", + "
      \n", "Mail converted by ", - qq|MHonArc $VERSION\n|, - "
      \n"; + qq|MHonArc $VERSION\n|, + "
      \n"; } } diff --git a/lib/mhinit.pl b/lib/mhinit.pl index 1c59a3b..6f4bbaf 100644 --- a/lib/mhinit.pl +++ b/lib/mhinit.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhinit.pl 2.23 01/06/10 17:35:46 +## $Id: mhinit.pl,v 2.36 2002/07/27 05:13:13 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Initialization stuff for MHonArc. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -27,6 +27,48 @@ package mhonarc; +##---------------------------------------------------------------------------## +## Callbacks +## We only declare once so custom front-ends do not have to +## re-register each time. This basically serves as a summary +## of the callbacks available. +##---------------------------------------------------------------------------## + +## After message body is read and converted: +## &invoke($fields_hash_ref, $html_text_ref, $files_array_ref); +$CBMessageBodyRead = undef + unless defined($CBMessageBodyRead); + +## Right before database file is loaded: +## $do_load = &invoke($pathname); +$CBDbPreLoad = undef + unless defined($CBDbPreLoad); + +## Right before database file is written: +## $do_save = &invoke($pathname, $tmp_pathname); +$CBDbPreSave = undef + unless defined($CBDbPreSave); + +## When data has been written: +## $do_save = &invoke($db_fh); +$CBDbSave = undef + unless defined($CBDbSave); + +## After message header is parsed: +## $do_not_exclude = &invoke($fields_hash_ref, $raw_header_txt); +$CBMessageHeadRead = undef + unless defined($CBMessageHeadRead); + +## After message body is read from input +## &invoke($fields_hash_ref, $raw_data_ref); +$CBRawMessageBodyRead = undef + unless defined($CBRawMessageBodyRead); + +## When a resource variable is being expanded: +## ($result, $recurse, $canclip) = &invoke($index, $varname, $arg); +$CBRcVarExpand = undef + unless defined($CBRcVarExpand); + ##---------------------------------------------------------------------------## sub mhinit_vars { @@ -175,6 +217,7 @@ sub mhinit_vars { ## Message information variables +$NewMsgCnt = 0; # Total number of new messages $NumOfMsgs = 0; # Total number of messages $LastMsgNum = -1; # Message number of last message %Message = (); # Message indexes to bodies @@ -231,143 +274,23 @@ sub mhinit_vars { $IdxPageNum = 0; # Page to output if genidx $DBPathName = ''; # Full pathname of database file -##---------------------------------------------------------------------- -## BEGIN readmail.pl variable settings -##---------------------------------------------------------------------- -## Default filters -## -%readmail::MIMEFilters = ( - # Content-type Filter - #------------------------------------------------------------------- - "application/ms-tnef", "m2h_null::filter", - "application/octet-stream", "m2h_external::filter", - "application/x-patch", "m2h_text_plain::filter", - "message/delivery-status", "m2h_text_plain::filter", - "message/external-body", "m2h_msg_extbody::filter", - "message/partial", "m2h_text_plain::filter", - "text/enriched", "m2h_text_enriched::filter", - "text/html", "m2h_text_html::filter", - "text/plain", "m2h_text_plain::filter", - "text/richtext", "m2h_text_enriched::filter", - "text/setext", "m2h_text_setext::filter", - "text/tab-separated-values", "m2h_text_tsv::filter", - "text/x-html", "m2h_text_html::filter", - "text/x-setext", "m2h_text_setext::filter", - - "application/*", "m2h_external::filter", - "audio/*", "m2h_external::filter", - "chemical/*", "m2h_external::filter", - "image/*", "m2h_external::filter", - "model/*", "m2h_external::filter", - "text/*", "m2h_text_plain::filter", - "video/*", "m2h_external::filter", - - "x-sun-attachment", "m2h_text_plain::filter", -); -%readmail::MIMEFiltersSrc = ( - # Content-type Filter - #------------------------------------------------------------------- - "application/ms-tnef", "mhnull.pl", - "application/octet-stream", "mhexternal.pl", - "application/x-patch", "mhtxtplain.pl", - "message/delivery-status", "mhtxtplain.pl", - "message/external-body", "mhmsgextbody.pl", - "message/partial", "mhtxtplain.pl", - "text/enriched", "mhtxtenrich.pl", - "text/html", "mhtxthtml.pl", - "text/plain", "mhtxtplain.pl", - "text/richtext", "mhtxtenrich.pl", - "text/setext", "mhtxtsetext.pl", - "text/tab-separated-values", "mhtxttsv.pl", - "text/x-html", "mhtxthtml.pl", - "text/x-setext", "mhtxtsetext.pl", - - "application/*", "mhexternal.pl", - "audio/*", "mhexternal.pl", - "chemical/*", "mhexternal.pl", - "image/*", "mhexternal.pl", - "model/*", "mhexternal.pl", - "text/*", "mhtxtplain.pl", - "video/*", "mhexternal.pl", - - "x-sun-attachment", "mhtxtplain.pl", -); - -## Default filter arguments -## -%readmail::MIMEFiltersArgs = ( - # Content-type Arguments - #------------------------------------------------------------------- - "image/gif", "inline", - "image/jpeg", "inline", - "image/x-xbitmap", "inline", - "image/x-xbm", "inline", -); - -## Charset filters -## -%readmail::MIMECharSetConverters = ( - # Character set Converter Function - #------------------------------------------------------------------- - "plain", "mhonarc::htmlize", - "us-ascii", "mhonarc::htmlize", - "iso-8859-1", "mhonarc::htmlize", - "iso-8859-2", "iso_8859::str2sgml", - "iso-8859-3", "iso_8859::str2sgml", - "iso-8859-4", "iso_8859::str2sgml", - "iso-8859-5", "iso_8859::str2sgml", - "iso-8859-6", "iso_8859::str2sgml", - "iso-8859-7", "iso_8859::str2sgml", - "iso-8859-8", "iso_8859::str2sgml", - "iso-8859-9", "iso_8859::str2sgml", - "iso-8859-10", "iso_8859::str2sgml", - "iso-2022-jp", "iso_2022_jp::str2html", - "latin1", "mhonarc::htmlize", - "latin2", "iso_8859::str2sgml", - "latin3", "iso_8859::str2sgml", - "latin4", "iso_8859::str2sgml", - "latin5", "iso_8859::str2sgml", - "latin6", "iso_8859::str2sgml", - "default", "-ignore-", -); -%readmail::MIMECharSetConvertersSrc = ( - # Character set Converter Function - #------------------------------------------------------------------- - "plain", undef, - "us-ascii", undef, - "iso-8859-1", undef, - "iso-8859-2", "iso8859.pl", - "iso-8859-3", "iso8859.pl", - "iso-8859-4", "iso8859.pl", - "iso-8859-5", "iso8859.pl", - "iso-8859-6", "iso8859.pl", - "iso-8859-7", "iso8859.pl", - "iso-8859-8", "iso8859.pl", - "iso-8859-9", "iso8859.pl", - "iso-8859-10", "iso8859.pl", - "iso-2022-jp", "iso2022jp.pl", - "latin1", undef, - "latin2", "iso8859.pl", - "latin3", "iso8859.pl", - "latin4", "iso8859.pl", - "latin5", "iso8859.pl", - "latin6", "iso8859.pl", - "default", undef, -); - -##------------------------------------------------------------------------ -## END readmail.pl variable settings -##------------------------------------------------------------------------ +## Initialize readmail variables +mhinit_readmail_vars(); ## Variable to hold function for converting message header text. $MHeadCnvFunc = "mhonarc::htmlize"; ## Regexp for variable detection -$VarExp = $ENV{'M2H_VARREGEX'} || '\$([^\$]*)\$'; +$VarExp = $ENV{'M2H_VARREGEX'}; +$VarExp = '\$([^\$]*)\$' if !defined($VarExp) || $VarExp !~ /\S/; ## Regexp for address/msg-id detection (looks like cussing in cartoons) $AddrExp = '[^()<>@,;:\/\s"\'&|]+@[^()<>@,;:\/\s"\'&|]+'; +## Text clipping function and source file: Set in mhopt.pl. +$TextClipFunc = undef; +$TextClipSrc = undef; + ## Grab environment variable settings ## $AFS = $ENV{'M2H_AFS'} || 0; @@ -375,16 +298,13 @@ sub mhinit_vars { $DBFILE = $ENV{'M2H_DBFILE'} || (($MSDOS || $VMS) ? "mhonarc.db": ".mhonarc.db"); $DOCURL = $ENV{'M2H_DOCURL'} || - 'http://www.oac.uci.edu/indiv/ehood/mhonarc.html'; -$FOOTER = $ENV{'M2H_FOOTER'} || ""; -$HEADER = $ENV{'M2H_HEADER'} || ""; + 'http://www.mhonarc.org/'; $IDXNAME = ""; # Set in get_resources() $IDXPREFIX = $ENV{'M2H_IDXPREFIX'} || "mail"; $TIDXPREFIX= $ENV{'M2H_TIDXPREFIX'} || "thrd"; $IDXSIZE = $ENV{'M2H_IDXSIZE'} || 0; $TIDXNAME = ""; # Set in get_resources() $OUTDIR = $ENV{'M2H_OUTDIR'} || $CURDIR; -$FMTFILE = $ENV{'M2H_RCFILE'} || ""; $TTITLE = $ENV{'M2H_TTITLE'} || "Mail Thread Index"; $TITLE = $ENV{'M2H_TITLE'} || "Mail Index"; $MAILTOURL = $ENV{'M2H_MAILTOURL'} || ""; @@ -396,14 +316,17 @@ sub mhinit_vars { $LOCKDELAY = $ENV{'M2H_LOCKDELAY'} || 3; $MAXSIZE = $ENV{'M2H_MAXSIZE'} || 0; $TLEVELS = $ENV{'M2H_TLEVELS'} || 3; +$TSLICELEVELS = + $ENV{'M2H_TSLICELEVELS'} || -1; $MHPATTERN = $ENV{'M2H_MHPATTERN'} || '^\d+$'; $DefRcFile = $ENV{'M2H_DEFRCFILE'} || ''; $HtmlExt = $ENV{'M2H_HTMLEXT'} || "html"; $MsgPrefix = $ENV{'M2H_MSGPREFIX'} || "msg"; $DefRcName = $ENV{'M2H_DEFRCNAME'} || - (($MSDOS || $VMS) ? "mhonarc.rc": ".mhonarc.rc"); + (($MSDOS || $VMS) ? "mhonarc.mrc": ".mhonarc.mrc"); $GzipExe = $ENV{'M2H_GZIPEXE'} || 'gzip'; $SpamMode = $ENV{'M2H_SPAMMODE'} || 0; +$MainRcDir = undef; # Set in read_resource_file() $GMTDateFmt = $ENV{'M2H_GMTDATEFMT'} || ''; $LocalDateFmt = $ENV{'M2H_LOCALDATEFMT'} || ''; @@ -414,6 +337,8 @@ sub mhinit_vars { $MsgGMTDateFmt = $ENV{'M2H_MSGGMTDATEFMT'} || ''; $MsgLocalDateFmt= $ENV{'M2H_MSGLOCALDATEFMT'} || ''; +$NoSubjectTxt = $ENV{'M2H_NOSUBJECTTXT'} || '[no subject]'; + $NoteDir = $ENV{'M2H_NOTEDIR'} || 'notes'; $LockMethod = $ENV{'M2H_LOCKMETHOD'} || 'directory'; @@ -462,6 +387,8 @@ sub mhinit_vars { $DoFolRefs = defined($ENV{'M2H_FOLREFS'}) ? $ENV{'M2H_FOLREFS'} : 1; $UsingLASTPG = defined($ENV{'M2H_USINGLASTPG'}) ? $ENV{'M2H_USINGLASTPG'} : 1; +@FMTFILE = defined($ENV{'M2H_RCFILE'}) ? + ($ENV{'M2H_RCFILE'}) : (); @OtherIdxs = defined($ENV{'M2H_OTHERINDEXES'}) ? split(/:/, $ENV{'M2H_OTHERINDEXES'}) : (); @PerlINC = defined($ENV{'M2H_PERLINC'}) ? @@ -471,8 +398,9 @@ sub mhinit_vars { @FromFields = defined($ENV{'M2H_FROMFIELDS'}) ? split(/:/, $ENV{'M2H_FROMFIELDS'}) : (); -($TSliceNBefore, $TSliceNAfter) = defined($ENV{'M2H_TSLICE'}) ? - split(/:/, $ENV{'M2H_TSLICE'}) : (0, 0); +($TSliceNBefore, $TSliceNAfter, $TSliceInclusive) = + defined($ENV{'M2H_TSLICE'}) ? + split(/[:;]/, $ENV{'M2H_TSLICE'}) : (0, 4, 0); ## Code for modify addresses in headers $AddressModify = $ENV{'M2H_ADDRESSMODIFYCODE'} || ""; @@ -508,7 +436,10 @@ sub mhinit_vars { $RMM = 0; # Flag if removing messages $SCAN = 0; # Flag if doing an archive scan -$SSMARKUP = ''; # Initial markup of all pages +$MSGPGSSMARKUP = ''; # Initial markup of message pages +$IDXPGSSMARKUP = ''; # Initial markup of index pages +$TIDXPGSSMARKUP = ''; # Initial markup of thread index pages +$SSMARKUP = ''; # (Default) initial markup of all pages $IDXLABEL = ''; # Label for main index $LIBEG = ''; # List open template for main index @@ -540,8 +471,29 @@ sub mhinit_vars { $TCONTBEG = ''; # Thread continue open $TCONTEND = ''; # Thread continue close -$TSLICEBEG = ''; # Start of thread slice -$TSLICEEND = ''; # End of thread slice +$TSLICEBEG = ''; # Start of thread slice +$TSLICEEND = ''; # End of thread slice +$TSLICESINGLETXT = ''; # Single/lone thread entry template +$TSLICETOPBEG = ''; # Top of a thread begin template +$TSLICETOPEND = ''; # Top of a thread end template +$TSLICESUBLISTBEG = ''; # Sub-thread list open +$TSLICESUBLISTEND = ''; # Sub-thread list close +$TSLICELITXT = ''; # Thread list item text +$TSLICELIEND = ''; # Thread list item end +$TSLICELINONE = ''; # List item for missing message in thread +$TSLICELINONEEND = ''; # List item end for missing message in thread +$TSLICESUBJECTBEG = ''; # Pre-text for subject-based items +$TSLICESUBJECTEND = ''; # Post-text for subject-based items +$TSLICEINDENTBEG = ''; # Thread indent open +$TSLICEINDENTEND = ''; # Thread indent close +$TSLICECONTBEG = ''; # Thread continue open +$TSLICECONTEND = ''; # Thread continue close + +$TSLICESINGLETXTCUR = ''; # Current Single/lone thread entry template +$TSLICETOPBEGCUR = ''; # Current Top of a thread begin template +$TSLICETOPENDCUR = ''; # Current Top of a thread end template +$TSLICELITXTCUR = ''; # Thread list current item text +$TSLICELIENDCUR = ''; # Thread list current item end $MSGFOOT = ''; # Message footer $MSGHEAD = ''; # Message header @@ -571,11 +523,32 @@ sub mhinit_vars { $TNEXTBUTTONIA = ''; # Thread Next inactive button template $TPREVBUTTON = ''; # Thread Previous button template $TPREVBUTTONIA = ''; # Thread Previous inactive button template + +$TNEXTTOPBUTTON = ''; # Next Thread button template +$TNEXTTOPBUTTONIA = ''; # Next Thread inactive button template +$TPREVTOPBUTTON = ''; # Previous Thread button template +$TPREVTOPBUTTONIA = ''; # Previous Thread inactive button template + +$TNEXTINBUTTON = ''; # Within Thread Next button template +$TNEXTINBUTTONIA = ''; # Within Thread Next inactive button template +$TPREVINBUTTON = ''; # Within Thread Previous button template +$TPREVINBUTTONIA = ''; # Within Thread Previous inactive button template + $TNEXTLINK = ''; # Thread Next link template $TNEXTLINKIA = ''; # Thread Next inactive link template $TPREVLINK = ''; # Thread Previous link template $TPREVLINKIA = ''; # Thread Previous inactive link template +$TNEXTTOPLINK = ''; # Next Thread link template +$TNEXTTOPLINKIA = ''; # Next Thread inactive link template +$TPREVTOPLINK = ''; # Previous Thread link template +$TPREVTOPLINKIA = ''; # Previous Thread inactive link template + +$TNEXTINLINK = ''; # Within Thread Next link template +$TNEXTINLINKIA = ''; # Within Thread Next inactive link template +$TPREVINLINK = ''; # Within Thread Previous link template +$TPREVINLINKIA = ''; # Within Thread Previous inactive link template + $IDXPGBEG = ''; # Beginning of main index page $IDXPGEND = ''; # Ending of main index page $TIDXPGBEG = ''; # Beginning of thread index page @@ -584,11 +557,15 @@ sub mhinit_vars { $MSGPGBEG = ''; # Beginning of message page $MSGPGEND = ''; # Ending of message page +$FIRSTPGLINK = ''; # First page link template +$LASTPGLINK = ''; # Last page link template $NEXTPGLINK = ''; # Next page link template $NEXTPGLINKIA = ''; # Next page inactive link template $PREVPGLINK = ''; # Previous page link template $PREVPGLINKIA = ''; # Previous page inactive link template +$TFIRSTPGLINK = ''; # First thread page link template +$TLASTPGLINK = ''; # Last thread page link template $TNEXTPGLINK = ''; # Thread next page link template $TNEXTPGLINKIA = ''; # Thread next page inactive link template $TPREVPGLINK = ''; # Thread previous page link template @@ -613,10 +590,161 @@ sub mhinit_vars { %CustomRcVars = (); $X = "\034"; # Value separator (should equal $;) - # NOTE: Older versions used this variable for - # the multiple field separator in parsed - # message headers. $readmail::FieldSep should - # now be used (readmail.pl). + # NOTE: Older versions used this variable as + # the list value separator. Its use should + # now only be for extracting time from + # indexes of messages or for processing + # old version data. + +} + +##---------------------------------------------------------------------------## + +sub mhinit_readmail_vars { + +##---------------------------------------------------------------------- +## Default filters +## +%readmail::MIMEFilters = ( + # Content-type Filter + #------------------------------------------------------------------- + "application/ms-tnef", "m2h_null::filter", + "application/octet-stream", "m2h_external::filter", + "application/x-patch", "m2h_text_plain::filter", + "message/delivery-status", "m2h_text_plain::filter", + "message/external-body", "m2h_msg_extbody::filter", + "message/partial", "m2h_text_plain::filter", + "text/enriched", "m2h_text_enriched::filter", + "text/html", "m2h_text_html::filter", + "text/plain", "m2h_text_plain::filter", + "text/richtext", "m2h_text_enriched::filter", + "text/setext", "m2h_text_setext::filter", + "text/tab-separated-values", "m2h_text_tsv::filter", + "text/x-html", "m2h_text_html::filter", + "text/x-setext", "m2h_text_setext::filter", + + "application/*", "m2h_external::filter", + "audio/*", "m2h_external::filter", + "chemical/*", "m2h_external::filter", + "image/*", "m2h_external::filter", + "model/*", "m2h_external::filter", + "text/*", "m2h_text_plain::filter", + "video/*", "m2h_external::filter", + + "x-sun-attachment", "m2h_text_plain::filter", +); +%readmail::MIMEFiltersSrc = ( + # Content-type Filter + #------------------------------------------------------------------- + "application/ms-tnef", "mhnull.pl", + "application/octet-stream", "mhexternal.pl", + "application/x-patch", "mhtxtplain.pl", + "message/delivery-status", "mhtxtplain.pl", + "message/external-body", "mhmsgextbody.pl", + "message/partial", "mhtxtplain.pl", + "text/enriched", "mhtxtenrich.pl", + "text/html", "mhtxthtml.pl", + "text/plain", "mhtxtplain.pl", + "text/richtext", "mhtxtenrich.pl", + "text/setext", "mhtxtsetext.pl", + "text/tab-separated-values", "mhtxttsv.pl", + "text/x-html", "mhtxthtml.pl", + "text/x-setext", "mhtxtsetext.pl", + + "application/*", "mhexternal.pl", + "audio/*", "mhexternal.pl", + "chemical/*", "mhexternal.pl", + "image/*", "mhexternal.pl", + "model/*", "mhexternal.pl", + "text/*", "mhtxtplain.pl", + "video/*", "mhexternal.pl", + + "x-sun-attachment", "mhtxtplain.pl", +); +$IsDefault{'MIMEFILTERS'} = 1; + +## Default filter arguments +## +%readmail::MIMEFiltersArgs = ( + # Content-type Arguments + #------------------------------------------------------------------- + 'm2h_external::filter', 'inline', +); +$IsDefault{'MIMEARGS'} = 1; + +## Charset filters +## +%readmail::MIMECharSetConverters = ( + # Character set Converter Function + #------------------------------------------------------------------- + "plain", "mhonarc::htmlize", + "us-ascii", "mhonarc::htmlize", + "iso-8859-1", "mhonarc::htmlize", + "iso-8859-2", "MHonArc::CharEnt::str2sgml", + "iso-8859-3", "MHonArc::CharEnt::str2sgml", + "iso-8859-4", "MHonArc::CharEnt::str2sgml", + "iso-8859-5", "MHonArc::CharEnt::str2sgml", + "iso-8859-6", "MHonArc::CharEnt::str2sgml", + "iso-8859-7", "MHonArc::CharEnt::str2sgml", + "iso-8859-8", "MHonArc::CharEnt::str2sgml", + "iso-8859-9", "MHonArc::CharEnt::str2sgml", + "iso-8859-10", "MHonArc::CharEnt::str2sgml", + "iso-8859-15", "MHonArc::CharEnt::str2sgml", + "iso-2022-jp", "iso_2022_jp::str2html", + "latin1", "mhonarc::htmlize", + "latin2", "MHonArc::CharEnt::str2sgml", + "latin3", "MHonArc::CharEnt::str2sgml", + "latin4", "MHonArc::CharEnt::str2sgml", + "latin5", "MHonArc::CharEnt::str2sgml", + "latin6", "MHonArc::CharEnt::str2sgml", + "latin9", "MHonArc::CharEnt::str2sgml", + "windows-1250", "MHonArc::CharEnt::str2sgml", + "windows-1252", "MHonArc::CharEnt::str2sgml", + "default", "-ignore-", +); +%readmail::MIMECharSetConvertersSrc = ( + # Character set Converter Function + #------------------------------------------------------------------- + "plain", undef, + "us-ascii", undef, + "iso-8859-1", undef, + "iso-8859-2", "MHonArc/CharEnt.pm", + "iso-8859-3", "MHonArc/CharEnt.pm", + "iso-8859-4", "MHonArc/CharEnt.pm", + "iso-8859-5", "MHonArc/CharEnt.pm", + "iso-8859-6", "MHonArc/CharEnt.pm", + "iso-8859-7", "MHonArc/CharEnt.pm", + "iso-8859-8", "MHonArc/CharEnt.pm", + "iso-8859-9", "MHonArc/CharEnt.pm", + "iso-8859-10", "MHonArc/CharEnt.pm", + "iso-8859-15", "MHonArc/CharEnt.pm", + "iso-2022-jp", "iso2022jp.pl", + "latin1", undef, + "latin2", "MHonArc/CharEnt.pm", + "latin3", "MHonArc/CharEnt.pm", + "latin4", "MHonArc/CharEnt.pm", + "latin5", "MHonArc/CharEnt.pm", + "latin6", "MHonArc/CharEnt.pm", + "latin9", "MHonArc/CharEnt.pm", + "windows-1250", "MHonArc/CharEnt.pm", + "windows-1252", "MHonArc/CharEnt.pm", + "default", undef, +); +$IsDefault{'CHARSETCONVERTERS'} = 1; + +## Content-Transfer-Encoding decoders: +## readmail.pl has a default set, so we just use it. +$IsDefault{'MIMEDECODERS'} = 1; + +## Content-Types to exclude: +## Nothing is excluded by default. +$IsDefault{'MIMEEXCS'} = 1; + +## Content-type multipart/alternative preferences +## Note: The variable is not a readmail package variable, but it +## is used to set readmail package properties. +@MIMEAltPrefs = ( ); +$IsDefault{'MIMEALTPREFS'} = 1; } diff --git a/lib/mhlock.pl b/lib/mhlock.pl index 0e2f567..4f08a4f 100644 --- a/lib/mhlock.pl +++ b/lib/mhlock.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhlock.pl 1.2 99/07/13 00:48:29 +## $Id: mhlock.pl,v 1.3 2001/09/17 16:10:40 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Lock functions for MHonArc. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1997-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1997-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff --git a/lib/mhmimetypes.pl b/lib/mhmimetypes.pl index 3fffeb4..ae56f6c 100644 --- a/lib/mhmimetypes.pl +++ b/lib/mhmimetypes.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhmimetypes.pl 1.6 01/06/10 17:37:44 +## $Id: mhmimetypes.pl,v 1.9 2002/05/02 17:20:04 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## MIME type mappings. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1998,1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1998,1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -181,6 +181,8 @@ package mhonarc; 'image/ief', 'ief:IEF image', 'image/ifs', 'ifs:IFS image', 'image/jpeg', 'jpg,jpeg,jpe:JPEG image', + 'image/pbm', 'pbm:Portable bitmap', + 'image/pgm', 'pgm:Portable graymap', 'image/png', 'png:PNG image', 'image/tiff', 'tif,tiff:TIFF image', 'image/vnd', 'dwg:VND image', @@ -204,6 +206,9 @@ package mhonarc; 'image/x-xwd', 'xwd:X window dump', 'image/x-xwindowdump', 'xwd:X window dump', + 'message/rfc822', '822:Mail message', + 'message/news', '822:News post', + 'model/iges', 'iges:IGES model', 'model/vrml', 'wrl:VRML model', 'model/mesh', 'mesh:Mesh model', diff --git a/lib/mhmsgextbody.pl b/lib/mhmsgextbody.pl index 4f496a7..66b53fb 100644 --- a/lib/mhmsgextbody.pl +++ b/lib/mhmsgextbody.pl @@ -1,8 +1,8 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhmsgextbody.pl 1.1 99/09/28 23:17:50 +## $Id: mhmsgextbody.pl,v 1.3 2001/09/05 15:48:15 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Library defines routine to filter message/external-body parts to ## HTML for MHonArc. @@ -12,7 +12,7 @@ ## ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1999-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -42,10 +42,11 @@ package m2h_msg_extbody; ## direct access to the file. ## sub filter { - local($header, *fields, *data, $isdecode, $args) = @_; + my($fields, $data, $isdecode, $args) = @_; + $args = '' unless defined $args; # grab content-type - my $ctype = (split(/$readmail::FieldSep/o, $fields{'content-type'}))[0]; + my $ctype = $fields->{'content-type'}[0]; return '' unless $ctype =~ /\S/; # parse argument string @@ -55,14 +56,13 @@ sub filter { my $parms = readmail::MAILparse_parameter_str($ctype, 1); my $access_type = lc $parms->{'access-type'}{'value'}; $access_type =~ s/\s//g; - my $cdesc = $fields{'content-description'} || ""; + my $cdesc = $fields->{'content-description'}[0] || ""; - local(%dfields, %dfl2o); - $data =~ s/\A\s+//; - my $dheader = readmail::MAILread_header(*data, *dfields, *dfl2o); - my $dctype = $dfields{'content-type'} || ""; - my $dcte = $dfields{'content-transfer-encoding'} || ""; - my $dmd5 = $dfields{'content-md5'} || ""; + $$data =~ s/\A\s+//; + my $dfields = readmail::MAILread_header($data); + my $dctype = $dfields->{'content-type'}[0] || ""; + my $dcte = $dfields->{'content-transfer-encoding'}[0] || ""; + my $dmd5 = $dfields->{'content-md5'}[0] || ""; my $size = $parms->{'size'}{'value'} || ""; my $perms = $parms->{'permission'}{'value'} || ""; my $expires = $parms->{'expiration'}{'value'} || ""; @@ -94,6 +94,8 @@ sub filter { if $size; $ret .= qq|Transfer-mode: $mode
      \n| if $mode; + $ret .= qq|Expires: $expires
      \n| + if $expires; $ret .= qq|Username/password may be required.
      \n| if $access_type eq 'ftp'; $ret .= "
    \n"; @@ -113,6 +115,8 @@ sub filter { $ret .= qq|MD5: $dmd5
    \n| if $dmd5; $ret .= qq|Size: $size bytes
    \n| if $size; + $ret .= qq|Expires: $expires
    \n| + if $expires; $ret .= qq|File accessible from the following domain: | . qq|$site
    \n| if $site; $ret .= "
    \n"; @@ -136,7 +140,10 @@ sub filter { if $dctype; $ret .= qq|MD5: $dmd5
    \n| if $dmd5; - $ret .= qq|Size: $size bytes
    \n| if $size; + $ret .= qq|Size: $size bytes
    \n| + if $size; + $ret .= qq|Expires: $expires
    \n| + if $expires; $ret .= "
    \n"; last ATYPE; } diff --git a/lib/mhmsgfile.pl b/lib/mhmsgfile.pl index 483f47b..d653125 100644 --- a/lib/mhmsgfile.pl +++ b/lib/mhmsgfile.pl @@ -1,15 +1,15 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhmsgfile.pl 1.4 99/08/04 23:14:15 +## $Id: mhmsgfile.pl,v 1.6 2001/09/17 16:10:28 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## MHonArc library for dealing with HTML message files. Mainly ## for parsing existing message files inorder to extract archive ## related data. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1998-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1998-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -115,13 +115,13 @@ sub load_data_from_msg_file { } if (defined($href->{'reference'})) { - $Refs{$index} = join($X, @{$href->{'reference'}}); + $Refs{$index} = $href->{'reference'}; } elsif (defined($href->{'reference-id'})) { # older versions - $Refs{$index} = join($X, @{$href->{'reference-id'}}); + $Refs{$index} = $href->{'reference-id'}; } if (defined($href->{'derived'})) { - $Derived{$index} = join($X, @{$href->{'derived'}}); + $Derived{$index} = $href->{'derived'}; } $IndexNum{$index} = int($msgnum); diff --git a/lib/mhnote.pl b/lib/mhnote.pl index e1f5fbc..8fbb3f1 100644 --- a/lib/mhnote.pl +++ b/lib/mhnote.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhnote.pl 1.2 99/06/25 14:21:43 +## $Id: mhnote.pl,v 1.3 2001/09/17 16:10:26 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Annotation routine for MHonArc. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff --git a/lib/mhnull.pl b/lib/mhnull.pl index 63cb570..5ea4376 100644 --- a/lib/mhnull.pl +++ b/lib/mhnull.pl @@ -1,8 +1,8 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhnull.pl 1.5 01/06/10 17:35:03 +## $Id: mhnull.pl,v 1.7 2001/09/17 16:10:30 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Library defines the null filter routine for MHonArc. Its use ## is for dropping unwanted data from messages. @@ -12,7 +12,7 @@ ## ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1998,1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1998,1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -33,9 +33,9 @@ package m2h_null; sub filter { - local($header, *fields, *data, $isdecode, $args) = @_; - my($ctype) = $fields{'content-type'} =~ m%^\s*([\w\-\./]+)%; - my($disp, $nameparm) = &readmail::MAILhead_get_disposition(*fields); + my($fields, $data, $isdecode, $args) = @_; + my($ctype) = $fields->{'content-type'}[0] =~ m%^\s*([\w\-\./]+)%; + my($disp, $nameparm) = readmail::MAILhead_get_disposition($fields); join("", '

    <<', ($disp ? "$disp: " : ""), ($nameparm ? $nameparm : $ctype), diff --git a/lib/mhopt.pl b/lib/mhopt.pl index 0ee8cb2..2bc86a9 100644 --- a/lib/mhopt.pl +++ b/lib/mhopt.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhopt.pl 2.20 01/04/10 21:36:41 +## $Id: mhopt.pl,v 2.30 2002/07/27 05:13:13 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Routines to set options for MHonArc. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1997-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1997-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -63,6 +63,7 @@ sub get_resources { "expireage=i", # Time in seconds from current if message expires "folrefs", # Print links to explicit follow-ups/references "footer=s", # File containing user text for bottom of index page + # (option no longer applicable) "force", # Perform archive operation even if unable to lock "fromfields=s", # Fields that contains the "from" of a message "genidx", # Generate an index based upon archive contents @@ -71,6 +72,7 @@ sub get_resources { "gzipfiles", # Gzip files "gziplinks", # Add ".gz" extensions to files "header=s", # File containing user text for top of index page + # (option no longer applicable) "htmlext=s", # Extension for HTML files "idxfname=s", # Filename of index page "idxprefix=s", # Filename prefix for multi-page main index @@ -127,6 +129,8 @@ sub get_resources { "nosubsort", # Do not sort by subject "nosubjectthreads", # Do not do subject based threading + "nosubjecttxt=s", + # Text to use if message has no subject "notedir", # Location of notes "notetext=s@", # Text data of note "nothread", # Do not create threaded index @@ -176,6 +180,8 @@ sub get_resources { "tlevels=i", # Maximum # of nested lists in threaded index "treverse", # Reverse order of thread listing "tslice=s", # Set size of thread slice listing + "tslicelevels=i", + # Maximum # of nested lists in thread slices "tsort", # List threads by date "tsubsort", # List threads by subject "umask=i", # Set umask of process @@ -198,7 +204,9 @@ sub get_resources { ## Check std{in,out,err} options DUP: { - $MhaStdin = \*STDIN; + $MhaStdin = \*STDIN; + #$MhaStdout = \*STDOUT; + #$MhaStderr = \*STDERR; STDOUTERR: { if (defined($opt{'stdout'}) && !ref($opt{'stdout'})) { open(STDOUT, ">>$opt{'stdout'}") || @@ -276,26 +284,33 @@ sub get_resources { require 'mhrmm.pl' if $RMM; require 'mhnote.pl' if $ANNOTATE; + print STDOUT "This is MHonArc v$VERSION, Perl $] $^O\n" unless $QUIET; + ## Evaluate site local initialization delete($INC{'mhasiteinit.pl'}); # force re-evaluation eval { require 'mhasiteinit.pl'; }; # ignore status ## Read default resource file - if ($DefRcFile) { - &read_fmt_file($DefRcFile); - } else { - $tmp = join($DIRSEP, $ENV{'HOME'}, $DefRcName); - if (! -e $tmp) { - local $_; - foreach (@INC) { - if (-e join($DIRSEP, $_, 'mhamain.pl')) { - $tmp = join($DIRSEP, $_, $DefRcName); - last; - } + DEFRCFILE: { + if ($DefRcFile) { + read_fmt_file($DefRcFile); + last DEFRCFILE; + } + if (defined $ENV{'HOME'}) { + # check if in home directory + $tmp = join($DIRSEP, $ENV{'HOME'}, $DefRcName); + if (-e $tmp) { + read_fmt_file($tmp); + last DEFRCFILE; } } - if (-e $tmp) { - &read_fmt_file($tmp); + local $_; + foreach (@INC) { + $tmp = join($DIRSEP, $_, $DefRcName); + if (-e $tmp) { + read_fmt_file($tmp); + last DEFRCFILE; + } } } @@ -339,6 +354,10 @@ sub get_resources { (!-e join($DIRSEP, $OUTDIR, ".mail2html.db")); $DBPathName = join($DIRSEP, $OUTDIR, $DBFILE); + ## Invoke preload callback + if (defined($CBDbPreLoad) && defined(&$CBDbPreLoad)) { + &$CBDbPreLoad($DBPathName); + } if (-e $DBPathName) { print STDOUT "Reading database ...\n" unless $QUIET; @@ -356,9 +375,20 @@ sub get_resources { ## Check for 1.x archive, and update data as needed if ($DbVERSION =~ /^1\./) { - print STDOUT "Updating database data to 2.0 ...\n" + print STDOUT "Updating database $DbVERSION data ...\n" unless $QUIET; &update_data_1_to_2(); + &update_data_2_1_to_later(); + &update_data_2_4_to_later(); + } + ## Check for 2.[0-4] archive + if ($DbVERSION =~ /^2\.[0-4]\./) { + print STDOUT "Updating database $DbVERSION data ...\n" + unless $QUIET; + if ($DbVERSION =~ /^2\.[01]\./) { + &update_data_2_1_to_later(); + } + &update_data_2_4_to_later(); } ## Set %Follow here just incase it does not get recomputed @@ -413,8 +443,8 @@ sub get_resources { unshift(@PerlINC, @array); } - &remove_dups(*OtherIdxs); - &remove_dups(*PerlINC); + @OtherIdxs = remove_dups(\@OtherIdxs); + @PerlINC = remove_dups(\@PerlINC); ## Require mail parsing library unshift(@INC, @PerlINC); @@ -423,6 +453,8 @@ sub get_resources { require 'readmail.pl' || die("ERROR: Unable to require readmail.pl\n"); $readmail::FormatHeaderFunc = \&mhonarc::htmlize_header; $MHeadCnvFunc = \&readmail::MAILdecode_1522_str; + readmail::MAILset_alternative_prefs(@MIMEAltPrefs); + $IsDefault{'MIMEALTPREFS'} = !scalar(@MIMEAltPrefs); } ## Get other command-line options @@ -430,9 +462,7 @@ sub get_resources { $DBPathName = join($DIRSEP, $OUTDIR, $DBFILE); $DOCURL = $opt{'docurl'} if $opt{'docurl'}; - $FOOTER = $opt{'footer'} if $opt{'footer'}; $FROM = $opt{'msgsep'} if $opt{'msgsep'}; - $HEADER = $opt{'header'} if $opt{'header'}; $IDXPREFIX = $opt{'idxprefix'} if $opt{'idxprefix'}; $IDXSIZE = $opt{'idxsize'} if defined($opt{'idxsize'}); $IDXSIZE *= -1 if $IDXSIZE < 0; @@ -447,7 +477,9 @@ sub get_resources { $TTITLE = $opt{'ttitle'} if $opt{'ttitle'}; $MsgPrefix = $opt{'msgprefix'} if defined($opt{'msgprefix'}); $GzipExe = $opt{'gzipexe'} if $opt{'gzipexe'}; - $VarExp = $opt{'varregex'} if $opt{'varregex'}; + $VarExp = $opt{'varregex'} if $opt{'varregex'} && + ($opt{'varregex'} =~ /\S/); + $TSLICELEVELS = $opt{'tslicelevels'} if $opt{'tslicelevels'}; $IDXNAME = $opt{'idxfname'} || $IDXNAME || $ENV{'M2H_IDXFNAME'} || "maillist.$HtmlExt"; @@ -467,6 +499,8 @@ sub get_resources { $SubStripCode = $opt{'subjectstripcode'} if $opt{'subjectstripcode'}; $MsgExcFilter = $opt{'msgexcfilter'} if defined($opt{'msgexcfilter'}); + $NoSubjectTxt = $opt{'nosubjecttxt'} if $opt{'nosubjecttxt'}; + $IdxPageNum = $opt{'pagenum'} if defined($opt{'pagenum'}); ## Determine location of message note files @@ -540,8 +574,8 @@ sub get_resources { @FromFields = split(/:/, $opt{'fromfields'}) if $opt{'fromfields'}; foreach (@FromFields) { s/\s//g; tr/A-Z/a-z/; } - ($TSliceNBefore, $TSliceNAfter) = split(/:/, $opt{'tslice'}) - if $opt{'tslice'}; + ($TSliceNBefore, $TSliceNAfter, $TSliceInclusive) = + split(/[:;]/, $opt{'tslice'}) if $opt{'tslice'}; @Months = split(/:/, $opt{'months'}) if defined($opt{'months'}); @months = split(/:/, $opt{'monthsabr'}) if defined($opt{'monthsabr'}); @@ -608,6 +642,19 @@ sub get_resources { require 'mhthread.pl'; require 'mhdb.pl' unless $SCAN || $IDXONLY || !$DoArchive; + ## Load text clipping function + if (defined($TextClipSrc)) { + eval { require $TextClipSrc; }; + if ($@) { warn qq/Warning: $@\n/; } + } + if (!defined($TextClipFunc) || !defined(&$TextClipFunc)) { + $TextClipFunc = \&clip_text; + $TextClipSrc = undef; + $IsDefault{'TEXTCLIPFUNC'} = 1; + } else { + $IsDefault{'TEXTCLIPFUNC'} = 0; + } + ## Predefine %Index2TLoc in case of message deletion if (@TListOrder) { @Index2TLoc{@TListOrder} = (0 .. $#TListOrder); @@ -645,6 +692,11 @@ sub get_resources { delete($ContentType{''}); delete($Refs{''}); + # update DOCURL if default old value + if ($DOCURL eq 'http://www.oac.uci.edu/indiv/ehood/mhonarc.html') { + $DOCURL = 'http://www.mhonarc.org/'; + } + ## Check if printing process time $TIME = $opt{'time'}; @@ -673,7 +725,7 @@ sub usage { ## sub read_fmt_file { require 'mhrcfile.pl'; - &read_resource_file($_[0]); + &read_resource_file; # implicit passing of @_ } ##--------------------------------------------------------------------------- @@ -697,15 +749,47 @@ sub update_data_1_to_2 { #-------------------------------------- my($index); foreach $index (keys %From) { - $From{$index} =~ s/\&([\w-.]+);/&entname_to_char($1)/ge; + $From{$index} =~ s/\&([\w\-.]+);/&entname_to_char($1)/ge; } foreach $index (keys %Subject) { - $Subject{$index} =~ s/\&([\w-.]+);/&entname_to_char($1)/ge; + $Subject{$index} =~ s/\&([\w\-.]+);/&entname_to_char($1)/ge; } delete $IndexNum{''}; - $TLITXT = '

  • ' . $TLITXT unless ($TLITXT) && ($TLITXT =~ /
  • /i); - $THEAD .= "
      \n" unless ($THEAD) && ($THEAD =~ m%
        \s*$%i); - $TFOOT = "
      \n" unless ($TFOOT) && ($TFOOT =~ m%^\s*
    %i); + $TLITXT = '
  • ' . $TLITXT unless ($TLITXT) && ($TLITXT =~ /
  • /i); + $THEAD .= "
      \n" unless ($THEAD) && ($THEAD =~ m%
        \s*$%i); + $TFOOT = "
      \n" unless ($TFOOT) && ($TFOOT =~ m%^\s*
    %i); +} + +##--------------------------------------------------------------------------- +## Update 2.1, or earlier, data. +## +sub update_data_2_1_to_later { + # we can preserve filter arguments + if (defined(%main::MIMEFiltersArgs)) { + warn qq/ preserving MIMEARGS...\n/; + %readmail::MIMEFiltersArgs = %main::MIMEFiltersArgs; + $IsDefault{'MIMEARGS'} = 0; + } +} + +##--------------------------------------------------------------------------- +## Update 2.4, or earlier, data. +## +sub update_data_2_4_to_later { + # convert Perl 4 style data to Perl 5 style + my($index, $value); + while (($index, $value) = each(%Refs)) { + next if ref($value); + $Refs{$index} = [ split(/$X/o, $value) ]; + } + while (($index, $value) = each(%FollowOld)) { + next if ref($value); + $FollowOld{$index} = [ split(/$bs/o, $value) ]; + } + while (($index, $value) = each(%Derived)) { + next if ref($value); + $Derived{$index} = [ split(/$X/o, $value) ]; + } } ##--------------------------------------------------------------------------- diff --git a/lib/mhrcfile.pl b/lib/mhrcfile.pl index c2f2b1a..b3c6a1a 100644 --- a/lib/mhrcfile.pl +++ b/lib/mhrcfile.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhrcfile.pl 2.15 01/06/10 17:39:12 +## $Id: mhrcfile.pl,v 2.25 2002/07/27 05:13:13 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Routines for parsing resource files ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1996-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1996-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -36,12 +36,14 @@ sub read_resource_file { my($line, $tag, $label, $acro, $hr, $type, $routine, $plfile, $url, $arg, $tmp, @a); my($elem, $attr, $override, $handle, $pathhead, $chop); + local($_); $override = 0; $handle = &file_open($file); if ($file =~ m%(.*[$DIRSEPREX])%o) { $pathhead = $1; + $MainRcDir = $pathhead unless defined $MainRcDir; } else { $pathhead = ''; } @@ -57,28 +59,29 @@ sub read_resource_file { $chop = ($attr =~ /chop/i); FMTSW: { - if ($elem eq "addressmodifycode") { # Code to strip subjects + if ($elem eq 'addressmodifycode') { # Code to strip subjects $AddressModify = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "authorbegin") { # Begin for author group + if ($elem eq 'authorbegin') { # Begin for author group $AUTHBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "authorend") { # End for author group + if ($elem eq 'authorend') { # End for author group $AUTHEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "authsort") { # Sort msgs by author + if ($elem eq 'authsort') { # Sort msgs by author $AUTHSORT = 1; $NOSORT = 0; $SUBSORT = 0; last FMTSW; } - if ($elem eq "botlinks") { # Bottom links in message + if ($elem eq 'botlinks') { # Bottom links in message $BOTLINKS = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "charsetconverters") { # Charset filters + if ($elem eq 'charsetconverters') { # Charset filters + $IsDefault{'CHARSETCONVERTERS'} = 0; if ($override) { %readmail::MIMECharSetConverters = (); %readmail::MIMECharSetConvertersSrc = (); @@ -99,29 +102,29 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "checknoarchive") { + if ($elem eq 'checknoarchive') { $CheckNoArchive = 1; last FMTSW; } - if ($elem eq "conlen") { + if ($elem eq 'conlen') { $CONLEN = 1; last FMTSW; } - if ($elem eq "datefields") { + if ($elem eq 'datefields') { @a = &get_list_content($handle, $elem); if (@a) { @DateFields = @a; } last FMTSW; } - if ($elem eq "daybegin") { # Begin for day group + if ($elem eq 'daybegin') { # Begin for day group $DAYBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "dayend") { # End for day group + if ($elem eq 'dayend') { # End for day group $DAYEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "decodeheads") { + if ($elem eq 'decodeheads') { $DecodeHeads = 1; last FMTSW; } - if ($elem eq "definederived") { # Custom derived file + if ($elem eq 'definederived') { # Custom derived file %UDerivedFile = () if $override; $line = <$handle>; last FMTSW if $line =~ /^\s*<\/definederived\s*>/i; @@ -129,7 +132,7 @@ sub read_resource_file { $UDerivedFile{$line} = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "definevar") { # Custom resource variable + if ($elem eq 'definevar') { # Custom resource variable @CustomRcVars = () if $override; $line = <$handle>; last FMTSW if $line =~ /^\s*<\/definevar\s*>/i; @@ -137,23 +140,16 @@ sub read_resource_file { $CustomRcVars{$line} = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "doc") { # Link to documentation + if ($elem eq 'doc') { # Link to documentation $NODOC = 0; last FMTSW; } - if ($elem eq "docurl") { # Doc URL + if ($elem eq 'docurl') { # Doc URL if ($line = &get_elem_last_line($handle, $elem)) { $DOCURL = $line; } last FMTSW; } - if ($elem eq "dbfile") { # Database file - if ($line = &get_elem_last_line($handle, $elem)) { - $line =~ s/\s//g; - $DBFILE = $line; - } - last FMTSW; - } - if ($elem eq "excs") { # Exclude header fields + if ($elem eq 'excs') { # Exclude header fields %HFieldsExc = () if $override; while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/excs\s*>/i; @@ -162,19 +158,19 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "expireage") { # Time in seconds until expire + if ($elem eq 'expireage') { # Time in seconds until expire if (($tmp = &get_elem_int($handle, $elem, 1)) ne '') { $ExpireTime = $tmp; } last FMTSW; } - if ($elem eq "expiredate") { # Expiration date + if ($elem eq 'expiredate') { # Expiration date if ($line = &get_elem_last_line($handle, $elem)) { $ExpireDate = $line; } last FMTSW; } - if ($elem eq "fieldstyles") { # Field text style + if ($elem eq 'fieldstyles') { # Field text style while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/fieldstyles\s*>/i; next if $line =~ /^\s*$/; @@ -184,7 +180,7 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "fieldorder") { # Field order + if ($elem eq 'fieldorder') { # Field order @FieldOrder = (); %FieldODefs = (); while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/fieldorder\s*>/i; @@ -196,131 +192,121 @@ sub read_resource_file { # push(@FieldOrder,'-extra-') if (!$FieldODefs{'-extra-'}); last FMTSW; } - if ($elem eq "fieldsbeg") { # Begin markup of mail head + if ($elem eq 'fieldsbeg') { # Begin markup of mail head $FIELDSBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "fieldsend") { # End markup of mail head + if ($elem eq 'fieldsend') { # End markup of mail head $FIELDSEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "fldbeg") { # Begin markup of field text + if ($elem eq 'firstpglink') { # First page link in index + $FIRSTPGLINK = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'fldbeg') { # Begin markup of field text $FLDBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "fldend") { # End markup of field text + if ($elem eq 'fldend') { # End markup of field text $FLDEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "folrefs") { # Print explicit fol/refs + if ($elem eq 'folrefs') { # Print explicit fol/refs $DoFolRefs = 1; last FMTSW; } - if ($elem eq "folupbegin") { # Begin markup for follow-ups + if ($elem eq 'folupbegin') { # Begin markup for follow-ups $FOLUPBEGIN = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "folupend") { # End markup for follow-ups + if ($elem eq 'folupend') { # End markup for follow-ups $FOLUPEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "foluplitxt") { # Follow-up link markup + if ($elem eq 'foluplitxt') { # Follow-up link markup $FOLUPLITXT = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "footer") { # Footer file - if ($line = &get_elem_last_line($handle, $elem)) { - $line =~ s/\s//g; - $FOOTER = $line; - } - last FMTSW; - } - if ($elem eq "fromfields") { # Fields to get author + if ($elem eq 'fromfields') { # Fields to get author @a = &get_list_content($handle, $elem); if (@a) { @FromFields = @a; } last FMTSW; } - if ($elem eq "gmtdatefmt") { # GMT date format + if ($elem eq 'gmtdatefmt') { # GMT date format if ($line = &get_elem_last_line($handle, $elem)) { $GMTDateFmt = $line; } last FMTSW; } - if ($elem eq "gzipexe") { # Gzip executable + if ($elem eq 'gzipexe') { # Gzip executable if ($line = &get_elem_last_line($handle, $elem)) { $line =~ s/\s+$//g; $GzipExe = $line; } last FMTSW; } - if ($elem eq "gzipfiles") { + if ($elem eq 'gzipfiles') { $GzipFiles = 1; last FMTSW; } - if ($elem eq "gziplinks") { + if ($elem eq 'gziplinks') { $GzipLinks = 1; last FMTSW; } - if ($elem eq "headbodysep") { + if ($elem eq 'headbodysep') { $HEADBODYSEP = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "header") { # Header file - if ($line = &get_elem_last_line($handle, $elem)) { - $line =~ s/\s//g; - $HEADER = $line; - } - last FMTSW; - } - if ($elem eq "htmlext") { # Extension for HTML files + if ($elem eq 'htmlext') { # Extension for HTML files if ($line = &get_elem_last_line($handle, $elem)) { $line =~ s/\s//g; $HtmlExt = $line; } last FMTSW; } - if ($elem eq "icons") { # Icons + if ($elem eq 'icons') { # Icons %Icons = () if $override; while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/icons\s*>/i; next if $line =~ /^\s*$/; $line =~ s/\s//g; - ($type, $url) = split(/:/,$line,2); + ($type, $url) = split(/[;:]/,$line,2); $type =~ tr/A-Z/a-z/; $Icons{$type} = $url; } last FMTSW; } - if ($elem eq "idxfname") { # Index filename + if ($elem eq 'idxfname') { # Index filename if ($line = &get_elem_last_line($handle, $elem)) { $line =~ s/\s//g; $IDXNAME = $line; } last FMTSW; } - if ($elem eq "idxlabel") { # Index label + if ($elem eq 'idxlabel') { # Index label $IDXLABEL = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "idxpgbegin") { # Opening markup of index + if ($elem eq 'idxpgbegin') { # Opening markup of index $IDXPGBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "idxpgend") { # Closing markup of index + if ($elem eq 'idxpgend') { # Closing markup of index $IDXPGEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "idxprefix") { # Prefix for main idx pages + if ($elem eq 'idxprefix') { # Prefix for main idx pages if ($line = &get_elem_last_line($handle, $elem)) { $line =~ s/\s//g; $IDXPREFIX = $line; } last FMTSW; } - if ($elem eq "idxsize") { # Size of index + if ($elem eq 'idxsize') { # Size of index if (($tmp = &get_elem_int($handle, $elem, 1)) ne '') { $IDXSIZE = $tmp; } last FMTSW; } - if ($elem eq "include") { # Include other rc files + if ($elem eq 'include') { # Include other rc files while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/include\s*>/i; next if $line =~ /^\s*$/; @@ -330,19 +316,19 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "keeponrmm") { # Keep files on rmm + if ($elem eq 'keeponrmm') { # Keep files on rmm $KeepOnRmm = 1; last FMTSW; } - if ($elem eq "labelbeg") { # Begin markup of label + if ($elem eq 'labelbeg') { # Begin markup of label $LABELBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "labelend") { # End markup of label + if ($elem eq 'labelend') { # End markup of label $LABELEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "labelstyles") { # Field label style + if ($elem eq 'labelstyles') { # Field label style while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/labelstyles\s*>/i; next if $line =~ /^\s*$/; @@ -352,34 +338,38 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "listbegin") { # List begin + if ($elem eq 'lastpglink') { # Last page link in index + $LASTPGLINK = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'listbegin') { # List begin $LIBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "listend") { # List end + if ($elem eq 'listend') { # List end $LIEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "litemplate") { # List item template + if ($elem eq 'litemplate') { # List item template $LITMPL = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "localdatefmt") { # Local date format + if ($elem eq 'localdatefmt') { # Local date format if ($line = &get_elem_last_line($handle, $elem)) { $LocalDateFmt = $line; } last FMTSW; } - if ($elem eq "lockmethod") { # Locking method + if ($elem eq 'lockmethod') { # Locking method if ($line = &get_elem_last_line($handle, $elem)) { $LockMethod = &set_lock_mode($line); } last FMTSW; } - if ($elem eq "mailto") { # Convert e-mail addrs + if ($elem eq 'mailto') { # Convert e-mail addrs $NOMAILTO = 0; last FMTSW; } - if ($elem eq "mailtourl") { # mailto URL + if ($elem eq 'mailtourl') { # mailto URL while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/mailtourl\s*>/i; next if $line =~ /^\s*$/; @@ -388,40 +378,51 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "main") { # Print main index + if ($elem eq 'main') { # Print main index $MAIN = 1; last FMTSW; } - if ($elem eq "maxsize") { # Size of archive + if ($elem eq 'maxsize') { # Size of archive if (($tmp = &get_elem_int($handle, $elem, 1)) ne '') { $MAXSIZE = $tmp; } last FMTSW; } - if ($elem eq "msgbodyend") { # Markup after message body + if ($elem eq 'msgbodyend') { # Markup after message body $MSGBODYEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "msgexcfilter") { # Code selectively exclude msgs + if ($elem eq 'msgexcfilter') { # Code selectively exclude msgs $MsgExcFilter = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "msgpgs") { # Output message pages + if ($elem eq 'msgpgs') { # Output message pages $NoMsgPgs = 0; last FMTSW; } - if ($elem eq "msgprefix") { # Prefix for message files + if ($elem eq 'msgprefix') { # Prefix for message files if ($line = &get_elem_last_line($handle, $elem)) { $line =~ s/\s//g; $MsgPrefix = $line; } last FMTSW; } - if ($elem eq "mhpattern") { # File pattern MH-like dirs + if ($elem eq 'mhpattern') { # File pattern MH-like dirs if ($line = &get_elem_last_line($handle, $elem)) { $MHPATTERN = $line; } last FMTSW; } - if ($elem eq "mimedecoders") { # Mime decoders + if ($elem eq 'mimealtprefs') { # Mime alternative prefs + $IsDefault{'MIMEALTPREFS'} = 0; + @MIMEAltPrefs = (); + while (defined($line = <$handle>)) { + last if $line =~ /^\s*<\/mimealtprefs\s*>/i; + $line =~ s/\s//g; + push(@MIMEAltPrefs, lc($line)) if $line; + } + last FMTSW; + } + if ($elem eq 'mimedecoders') { # Mime decoders + $IsDefault{'MIMEDECODERS'} = 0; if ($override) { %readmail::MIMEDecoders = (); %readmail::MIMEDecodersSrc = (); @@ -441,7 +442,8 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "mimefilters") { # Mime filters + if ($elem eq 'mimefilters') { # Mime filters + $IsDefault{'MIMEFILTERS'} = 0; if ($override) { %readmail::MIMEFilters = (); %readmail::MIMEFiltersSrc = (); @@ -461,7 +463,8 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "mimeargs") { # Mime arguments + if ($elem eq 'mimeargs') { # Mime arguments + $IsDefault{'MIMEARGS'} = 0; %readmail::MIMEFiltersArgs = () if $override; while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/mimeargs\s*>/i; @@ -478,6 +481,7 @@ sub read_resource_file { last FMTSW; } if ($elem eq 'mimeexcs') { # Mime exclusions + $IsDefault{'MIMEEXCS'} = 0; %readmail::MIMEExcs = () if $override; while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/mimeexcs\s*>/i; @@ -486,361 +490,391 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "months") { # Full month names + if ($elem eq 'months') { # Full month names @a = &get_list_content($handle, $elem); if (scalar(@a)) { @Months = @a; } last FMTSW; } - if ($elem eq "monthsabr") { # Abbreviated month names + if ($elem eq 'monthsabr') { # Abbreviated month names @a = &get_list_content($handle, $elem); if (scalar(@a)) { @months = @a; } last FMTSW; } - if ($elem eq "modtime") { # Mod time same as msg date + if ($elem eq 'modtime') { # Mod time same as msg date $MODTIME = 1; last FMTSW; } - if ($elem eq "msgfoot") { # Message footer text + if ($elem eq 'msgfoot') { # Message footer text $MSGFOOT = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "msggmtdatefmt") { # Message GMT date format + if ($elem eq 'msggmtdatefmt') { # Message GMT date format if ($line = &get_elem_last_line($handle, $elem)) { $MsgGMTDateFmt = $line; } last FMTSW; } - if ($elem eq "msghead") { # Message header text + if ($elem eq 'msghead') { # Message header text $MSGHEAD = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "msgidlink") { + if ($elem eq 'msgidlink') { $MSGIDLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "msglocaldatefmt") { # Message local date format + if ($elem eq 'msglocaldatefmt') { # Message local date format if ($line = &get_elem_last_line($handle, $elem)) { $MsgLocalDateFmt = $line; } last FMTSW; } - if ($elem eq "msgpgbegin") { # Opening markup of message + if ($elem eq 'msgpgbegin') { # Opening markup of message $MSGPGBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "msgpgend") { # Closing markup of message + if ($elem eq 'msgpgend') { # Closing markup of message $MSGPGEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "msgsep") { # Message separator + if ($elem eq 'msgsep') { # Message separator if ($line = &get_elem_last_line($handle, $elem)) { $FROM = $line; } last FMTSW; } - if ($elem eq "multipg") { # Print multi-page indexes + if ($elem eq 'multipg') { # Print multi-page indexes $MULTIIDX = 1; last FMTSW; } - if ($elem eq "nextbutton") { # Next button link in message + if ($elem eq 'nextbutton') { # Next button link in message $NEXTBUTTON = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "nextbuttonia") { + if ($elem eq 'nextbuttonia') { $NEXTBUTTONIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "nextlink") { # Next link in message + if ($elem eq 'nextlink') { # Next link in message $NEXTLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "nextlinkia") { + if ($elem eq 'nextlinkia') { $NEXTLINKIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "nextpglink") { # Next page link in index + if ($elem eq 'nextpglink') { # Next page link in index $NEXTPGLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "nextpglinkia") { + if ($elem eq 'nextpglinkia') { $NEXTPGLINKIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "news") { # News for linking + if ($elem eq 'news') { # News for linking $NONEWS = 0; last FMTSW; } - if ($elem eq "noauthsort") { # Do not sort msgs by author + if ($elem eq 'noauthsort') { # Do not sort msgs by author $AUTHSORT = 0; last FMTSW; } - if ($elem eq "nochecknoarchive") { + if ($elem eq 'nochecknoarchive') { $CheckNoArchive = 0; last FMTSW; } - if ($elem eq "noconlen") { # Ignore content-length + if ($elem eq 'noconlen') { # Ignore content-length $CONLEN = 0; last FMTSW; } - if ($elem eq "nodecodeheads") { # Don't decode charsets + if ($elem eq 'nodecodeheads') { # Don't decode charsets $DecodeHeads = 0; last FMTSW; } - if ($elem eq "nodoc") { # Do not link to docs + if ($elem eq 'nodoc') { # Do not link to docs $NODOC = 1; last FMTSW; } - if ($elem eq "nofolrefs") { # Don't print explicit fol/refs + if ($elem eq 'nofolrefs') { # Don't print explicit fol/refs $DoFolRefs = 0; last FMTSW; } - if ($elem eq "nogzipfiles") { # Don't gzip files + if ($elem eq 'nogzipfiles') { # Don't gzip files $GzipFiles = 0; last FMTSW; } - if ($elem eq "nogziplinks") { # Don't add ".gz" to links + if ($elem eq 'nogziplinks') { # Don't add ".gz" to links $GzipLinks = 0; last FMTSW; } - if ($elem eq "nokeeponrmm") { # Remove files on rmm + if ($elem eq 'nokeeponrmm') { # Remove files on rmm $KeepOnRmm = 0; last FMTSW; } - if ($elem eq "nomailto") { # Do not convert e-mail addrs + if ($elem eq 'nomailto') { # Do not convert e-mail addrs $NOMAILTO = 1; last FMTSW; } - if ($elem eq "nomain") { # No main index + if ($elem eq 'nomain') { # No main index $MAIN = 0; last FMTSW; } - if ($elem eq "nomodtime") { # Do not change mod times + if ($elem eq 'nomodtime') { # Do not change mod times $MODTIME = 0; last FMTSW; } - if ($elem eq "nomsgpgs") { # Do not print message pages + if ($elem eq 'nomsgpgs') { # Do not print message pages $NoMsgPgs = 1; last FMTSW; } - if ($elem eq "nomultipg") { # Single page index + if ($elem eq 'nomultipg') { # Single page index $MULTIIDX = 0; last FMTSW; } - if ($elem eq "nonews") { # Ignore news for linking + if ($elem eq 'nonews') { # Ignore news for linking $NONEWS = 1; last FMTSW; } - if ($elem eq "noposixstrftime") { # Do not use POSIX::strftime() + if ($elem eq 'noposixstrftime') { # Do not use POSIX::strftime() $POSIXstrftime = 0; last FMTSW; } - if ($elem eq "noreverse") { # Sort in normal order + if ($elem eq 'noreverse') { # Sort in normal order $REVSORT = 0; last FMTSW; } - if ($elem eq "nosaveresources") { # Do not save resources + if ($elem eq 'nosaveresources') { # Do not save resources $SaveRsrcs = 0; last FMTSW; } - if ($elem eq "nosort") { # Do not sort messages + if ($elem eq 'nosort') { # Do not sort messages $NOSORT = 1; last FMTSW; } - if ($elem eq "nospammode") { # Do not do anti-spam stuff + if ($elem eq 'nospammode') { # Do not do anti-spam stuff $SpamMode = 0; last FMTSW; } - if ($elem eq "nosubjectthreads") { # No check subjects for threads + if ($elem eq 'nosubjectthreads') { # No check subjects for threads $NoSubjectThreads = 1; last FMTSW; } - if ($elem eq "nosubsort") { # Do not sort msgs by subject + if ($elem eq 'nosubjecttxt') { # Text to use if no subject + $NoSubjectTxt = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'nosubsort') { # Do not sort msgs by subject $SUBSORT = 0; last FMTSW; } - if ($elem eq "note") { # Annotation markup + if ($elem eq 'note') { # Annotation markup $NOTE = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "notedir") { # Notes directory + if ($elem eq 'notedir') { # Notes directory if ($line = &get_elem_last_line($handle, $elem)) { $NoteDir = $line; } last FMTSW; } - if ($elem eq "noteia") { # No Annotation markup + if ($elem eq 'noteia') { # No Annotation markup $NOTEIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "noteicon") { # Note icon + if ($elem eq 'noteicon') { # Note icon $NOTEICON = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "noteiconia") { # Note icon when no annotation + if ($elem eq 'noteiconia') { # Note icon when no annotation $NOTEICONIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "nothread") { # No thread index + if ($elem eq 'nothread') { # No thread index $THREAD = 0; last FMTSW; } - if ($elem eq "notreverse") { # Thread sort in normal order + if ($elem eq 'notreverse') { # Thread sort in normal order $TREVERSE = 0; last FMTSW; } if ($elem eq 'notsubsort' || - $elem eq "tnosubsort") { # No subject order for threads + $elem eq 'tnosubsort') { # No subject order for threads $TSUBSORT = 0; last FMTSW; } if ($elem eq 'notsort' || - $elem eq "tnosort") { # Raw order for threads + $elem eq 'tnosort') { # Raw order for threads $TNOSORT = 1; $TSUBSORT = 0; last FMTSW; } - if ($elem eq "nourl") { # Ignore URLs + if ($elem eq 'nourl') { # Ignore URLs $NOURL = 1; last FMTSW; } - if ($elem eq "nouselocaltime") { # Not using localtime + if ($elem eq 'nouselocaltime') { # Not using localtime $UseLocalTime = 0; last FMTSW; } - if ($elem eq "nousinglastpg") { # Not using $LASTPG$ + if ($elem eq 'nousinglastpg') { # Not using $LASTPG$ $UsingLASTPG = 0; last FMTSW; } - if ($elem eq "otherindexes") { # Other indexes + if ($elem eq 'otherindexes') { # Other indexes @OtherIdxs = () if $override; unshift(@OtherIdxs, &get_pathname_content($handle, $elem)); last FMTSW; } - if ($elem eq "perlinc") { # Define perl search paths + if ($elem eq 'perlinc') { # Define perl search paths @PerlINC = () if $override; unshift(@PerlINC, &get_pathname_content($handle, $elem)); last FMTSW; } - if ($elem eq "posixstrftime") { # Use POSIX::strftime() + if ($elem eq 'posixstrftime') { # Use POSIX::strftime() $POSIXstrftime = 1; last FMTSW; } - if ($elem eq "prevbutton") { # Prev button link in message + if ($elem eq 'prevbutton') { # Prev button link in message $PREVBUTTON = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "prevbuttonia") { # Prev i/a button link + if ($elem eq 'prevbuttonia') { # Prev i/a button link $PREVBUTTONIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "prevlink") { # Prev link in message + if ($elem eq 'prevlink') { # Prev link in message $PREVLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "prevlinkia") { # Prev i/a link + if ($elem eq 'prevlinkia') { # Prev i/a link $PREVLINKIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "prevpglink") { # Prev page link for index + if ($elem eq 'prevpglink') { # Prev page link for index $PREVPGLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "prevpglinkia") { + if ($elem eq 'prevpglinkia') { $PREVPGLINKIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "refsbegin") { # Explicit ref links begin + if ($elem eq 'refsbegin') { # Explicit ref links begin $REFSBEGIN = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "refsend") { # Explicit ref links end + if ($elem eq 'refsend') { # Explicit ref links end $REFSEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "refslitxt") { # Explicit ref link + if ($elem eq 'refslitxt') { # Explicit ref link $REFSLITXT = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "reverse") { # Reverse sort + if ($elem eq 'reverse') { # Reverse sort $REVSORT = 1; last FMTSW; } - if ($elem eq "saveresources") { # Save resources in db + if ($elem eq 'saveresources') { # Save resources in db $SaveRsrcs = 1; last FMTSW; } - if ($elem eq "sort") { # Sort messages by date + if ($elem eq 'sort') { # Sort messages by date $NOSORT = 0; $AUTHSORT = 0; $SUBSORT = 0; last FMTSW; } - if ($elem eq "spammode") { # Obfsucate/hide addresses + if ($elem eq 'spammode') { # Obfsucate/hide addresses $SpamMode = 1; last FMTSW; } - if ($elem eq "ssmarkup") { # Initial page markup + if ($elem eq 'ssmarkup') { # Initial page markup $SSMARKUP = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "subjectarticlerxp") { # Regex for language articles + if ($elem eq 'msgpgssmarkup') { # Initial message page markup + $MSGPGSSMARKUP = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'idxpgssmarkup') { # Initial index page markup + $IDXPGSSMARKUP = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tidxpgssmarkup') { # Initial thread idx page markup + $TIDXPGSSMARKUP = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'subjectarticlerxp') { # Regex for language articles if ($line = &get_elem_last_line($handle, $elem)) { $SubArtRxp = $line; } last FMTSW; } - if ($elem eq "subjectreplyrxp") { # Regex for reply text + if ($elem eq 'subjectreplyrxp') { # Regex for reply text if ($line = &get_elem_last_line($handle, $elem)) { $SubReplyRxp = $line; } last FMTSW; } - if ($elem eq "subjectstripcode") { # Code to strip subjects + if ($elem eq 'subjectstripcode') { # Code to strip subjects $SubStripCode = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "subjectthreads") { # Check subjects for threads + if ($elem eq 'subjectthreads') { # Check subjects for threads $NoSubjectThreads = 0; last FMTSW; } - if ($elem eq "subsort") { # Sort messages by subject + if ($elem eq 'subsort') { # Sort messages by subject $SUBSORT = 1; $AUTHSORT = 0; $NOSORT = 0; last FMTSW; } - if ($elem eq "subjectbegin") { # Begin for subject group + if ($elem eq 'subjectbegin') { # Begin for subject group $SUBJECTBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "subjectend") { # End for subject group + if ($elem eq 'subjectend') { # End for subject group $SUBJECTEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "subjectheader") { + if ($elem eq 'subjectheader') { $SUBJECTHEADER = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tcontbegin") { # Thread cont. start + if ($elem eq 'tcontbegin') { # Thread cont. start $TCONTBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tcontend") { # Thread cont. end + if ($elem eq 'tcontend') { # Thread cont. end $TCONTEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "thead") { # Thread idx head - $THEAD = &get_elem_content($handle, $elem, $chop); + if ($elem eq 'textclipfunc') { # Text clipping function + $TextClipFunc = undef; + $TextClipSrc = undef; + while (defined($line = <$handle>)) { + last if $line =~ /^\s*<\/textclipfunc\s*>/i; + next if $line =~ /^\s*$/; + $line =~ s/\s//g; + ($TextClipFunc,$TextClipSrc) = split(/;/,$line,2); + } + } + if ($elem eq 'tfirstpglink') { # First thread page link + $TFIRSTPGLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tfoot") { # Thread idx foot + if ($elem eq 'tfoot') { # Thread idx foot $TFOOT = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tidxfname") { # Threaded idx filename + if ($elem eq 'thead') { # Thread idx head + $THEAD = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tidxfname') { # Threaded idx filename if ($line = &get_elem_last_line($handle, $elem)) { $line =~ s/\s//g; $TIDXNAME = $line; } last FMTSW; } - if ($elem eq "tidxlabel") { # Thread index label + if ($elem eq 'tidxlabel') { # Thread index label $TIDXLABEL = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tidxpgbegin") { # Opening markup of thread idx + if ($elem eq 'tidxpgbegin') { # Opening markup of thread idx $TIDXPGBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tidxpgend") { # Closing markup of thread idx + if ($elem eq 'tidxpgend') { # Closing markup of thread idx $TIDXPGEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tidxprefix") { # Prefix for thread idx pages + if ($elem eq 'tidxprefix') { # Prefix for thread idx pages if ($line = &get_elem_last_line($handle, $elem)) { $line =~ s/\s//g; $TIDXPREFIX = $line; } last FMTSW; } - if ($elem eq "timezones") { # Time zones + if ($elem eq 'timezones') { # Time zones if ($override) { %ZoneUD = (); } while (defined($line = <$handle>)) { last if $line =~ /^\s*<\/timezones\s*>/i; @@ -851,176 +885,332 @@ sub read_resource_file { } last FMTSW; } - if ($elem eq "tindentbegin") { # Thread indent start + if ($elem eq 'tindentbegin') { # Thread indent start $TINDENTBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tindentend") { # Thread indent end + if ($elem eq 'tindentend') { # Thread indent end $TINDENTEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "title") { # Title of index page + if ($elem eq 'title') { # Title of index page $TITLE = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tlevels") { # Level of threading + if ($elem eq 'tlastpglink') { # Last thread page link + $TLASTPGLINK = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tlevels') { # Level of threading if (($tmp = &get_elem_int($handle, $elem, 1)) ne '') { $TLEVELS = $tmp; } last FMTSW; } - if ($elem eq "tlinone") { # Markup for missing message + if ($elem eq 'tlinone') { # Markup for missing message $TLINONE = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tlinoneend") { # End markup for missing msg + if ($elem eq 'tlinoneend') { # End markup for missing msg $TLINONEEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tlitxt") { # Thread idx list item + if ($elem eq 'tlitxt') { # Thread idx list item $TLITXT = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tliend") { # Thread idx list item end + if ($elem eq 'tliend') { # Thread idx list item end $TLIEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "toplinks") { # Top links in message + if ($elem eq 'toplinks') { # Top links in message $TOPLINKS = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tslice") { - ($TSliceNBefore, $TSliceNAfter) = + if ($elem eq 'tslice') { + ($TSliceNBefore, $TSliceNAfter, $TSliceInclusive) = &get_list_content($handle, $elem); last FMTSW; } - if ($elem eq "tslicebeg") { # Start of thread slice + if ($elem eq 'tslicebeg') { # Start of thread slice $TSLICEBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tsliceend") { # End of thread slice + if ($elem eq 'tsliceend') { # End of thread slice $TSLICEEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tsort") { # Date order for threads + if ($elem eq 'tslicelevels') { # Level of slice threading + if (($tmp = &get_elem_int($handle, $elem, 1)) ne '') { + $TSLICELEVELS = $tmp; + } + last FMTSW; + } + if ($elem eq 'tslicesingletxt') { + $TSLICESINGLETXT = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicetopbegin') { + $TSLICETOPBEG = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicetopend') { + $TSLICETOPEND = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicesublistbeg') { + $TSLICESUBLISTBEG = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicesublistend') { + $TSLICESUBLISTEND = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicelitxt') { + $TSLICELITXT = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tsliceliend') { + $TSLICELIEND = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicelinone') { + $TSLICELINONE = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicelinoneend') { + $TSLICELINONEEND = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicesubjectbeg') { + $TSLICESUBJECTBEG = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicesubjectend') { + $TSLICESUBJECTEND = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tsliceindentbegin') { + $TSLICEINDENTBEG = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tsliceindentend') { + $TSLICEINDENTEND = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicecontbegin') { + $TSLICECONTBEG = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicecontend') { + $TSLICECONTEND = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicesingletxtcur') { + $TSLICESINGLETXTCUR = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicetopbegincur') { + $TSLICETOPBEGCUR = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicetopendcur') { + $TSLICETOPENDCUR = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tslicelitxtcur') { + $TSLICELITXTCUR = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tsliceliendcur') { + $TSLICELIENDCUR = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tsort') { # Date order for threads $TNOSORT = 0; $TSUBSORT = 0; last FMTSW; } - if ($elem eq "tsubsort") { # Subject order for threads + if ($elem eq 'tsubsort') { # Subject order for threads $TNOSORT = 0; $TSUBSORT = 1; last FMTSW; } - if ($elem eq "tsublistbeg") { # List begin in sub-thread + if ($elem eq 'tsublistbeg') { # List begin in sub-thread $TSUBLISTBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tsublistend") { # List end in sub-thread + if ($elem eq 'tsublistend') { # List end in sub-thread $TSUBLISTEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tsubjectbeg") { # Begin markup for sub thread + if ($elem eq 'tsubjectbeg') { # Begin markup for sub thread $TSUBJECTBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tsubjectend") { # End markup for sub thread + if ($elem eq 'tsubjectend') { # End markup for sub thread $TSUBJECTEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tsingletxt") { # Markup for single msg + if ($elem eq 'tsingletxt') { # Markup for single msg $TSINGLETXT = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "ttopbegin") { # Begin for top of a thread + if ($elem eq 'ttopbegin') { # Begin for top of a thread $TTOPBEG = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "ttopend") { # End for a thread + if ($elem eq 'ttopend') { # End for a thread $TTOPEND = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "ttitle") { # Title of threaded idx + if ($elem eq 'ttitle') { # Title of threaded idx $TTITLE = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "thread") { # Create thread index + if ($elem eq 'thread') { # Create thread index $THREAD = 1; last FMTSW; } - if ($elem eq "tnextbutton") { # Thread Next button link + if ($elem eq 'tnextbutton') { # Thread Next button link $TNEXTBUTTON = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tnextbuttonia") { + if ($elem eq 'tnextbuttonia') { $TNEXTBUTTONIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tnextlink") { # Thread Next link + if ($elem eq 'tnextinbutton') { # Within Thread Next button link + $TNEXTINBUTTON = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tnextinbuttonia') { + $TNEXTINBUTTONIA = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tnextinlink') { # Within Thread Next link + $TNEXTINLINK = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tnextinlinkia') { + $TNEXTINLINKIA = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tnextlink') { # Thread Next link $TNEXTLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tnextlinkia") { + if ($elem eq 'tnextlinkia') { $TNEXTLINKIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tnextpglink") { # Thread next page link + if ($elem eq 'tnextpglink') { # Thread next page link $TNEXTPGLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tnextpglinkia") { + if ($elem eq 'tnextpglinkia') { $TNEXTPGLINKIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tprevbutton") { # Thread Prev button link + if ($elem eq 'tprevbutton') { # Thread Prev button link $TPREVBUTTON = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tprevbuttonia") { + if ($elem eq 'tprevbuttonia') { $TPREVBUTTONIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tprevlink") { # Thread Prev link in message + if ($elem eq 'tprevinbutton') { # Within thread previous button + $TPREVINBUTTON = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tprevinbuttonia') { + $TPREVINBUTTONIA = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tprevinlink') { # Within thread previous link + $TPREVINLINK = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tprevinlinkia') { + $TPREVINLINKIA = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tprevlink') { # Thread previous link $TPREVLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tprevlinkia") { + if ($elem eq 'tprevlinkia') { $TPREVLINKIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tprevpglink") { # Thread previous page link + if ($elem eq 'tprevpglink') { # Thread previous page link $TPREVPGLINK = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "tprevpglinkia") { + if ($elem eq 'tprevpglinkia') { $TPREVPGLINKIA = &get_elem_content($handle, $elem, $chop); last FMTSW; } - if ($elem eq "treverse") { # Reverse order of threads + if ($elem eq 'treverse') { # Reverse order of threads $TREVERSE = 1; last FMTSW; } - if ($elem eq "umask") { # Umask of process + if ($elem eq 'tnexttopbutton') { # Next thread button + $TNEXTTOPBUTTON = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tnexttopbuttonia') { + $TNEXTTOPBUTTONIA = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tnexttoplink') { # Next thread link + $TNEXTTOPLINK = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tnexttoplinkia') { + $TNEXTTOPLINKIA = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tprevtopbutton') { # Previous thread button + $TPREVTOPBUTTON = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tprevtopbuttonia') { + $TPREVTOPBUTTONIA = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tprevtoplink') { # Previous thread link + $TPREVTOPLINK = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'tprevtoplinkia') { + $TPREVTOPLINKIA = &get_elem_content($handle, $elem, $chop); + last FMTSW; + } + if ($elem eq 'umask') { # Umask of process if ($line = &get_elem_last_line($handle, $elem)) { $line =~ s/\s//g; $UMASK = $line; } last FMTSW; } - if ($elem eq "uselocaltime") { # Use localtime for day groups + if ($elem eq 'uselocaltime') { # Use localtime for day groups $UseLocalTime = 1; last FMTSW; } - if ($elem eq "usinglastpg") { + if ($elem eq 'usinglastpg') { $UsingLASTPG = 1; last FMTSW; } - if ($elem eq "varregex") { # Regex matching rc vars - $VarExp = &get_elem_last_line($handle, $elem); + if ($elem eq 'varregex') { # Regex matching rc vars + $tmp = &get_elem_last_line($handle, $elem); + # only take value if not blank + $VarExp = $tmp if $tmp =~ /\S/; last FMTSW; } - if ($elem eq "weekdays") { # Full weekday name + if ($elem eq 'weekdays') { # Full weekday name @a = &get_list_content($handle, $elem); if (scalar(@a)) { @Weekdays = @a; } last FMTSW; } - if ($elem eq "weekdaysabr") { # Abbreviated weekday name + if ($elem eq 'weekdaysabr') { # Abbreviated weekday name @a = &get_list_content($handle, $elem); if (scalar(@a)) { @weekdays = @a; @@ -1036,8 +1226,8 @@ sub read_resource_file { ##---------------------------------------------------------------------- sub get_elem_content { - local($filehandle, $gi, $chop) = @_; - local($ret) = ''; + my($filehandle, $gi, $chop) = @_; + my($ret) = ''; while (<$filehandle>) { last if /^\s*<\/$gi\s*>/i; @@ -1049,8 +1239,8 @@ sub get_elem_content { ##---------------------------------------------------------------------- sub get_elem_int { - local($filehandle, $gi, $abs) = @_; - local($ret) = ''; + my($filehandle, $gi, $abs) = @_; + my($ret) = ''; while (<$filehandle>) { last if /^\s*<\/$gi\s*>/i; @@ -1064,8 +1254,8 @@ sub get_elem_int { ##---------------------------------------------------------------------- sub get_elem_last_line { - local($filehandle, $gi) = @_; - local($ret) = ''; + my($filehandle, $gi) = @_; + my($ret) = ''; while (<$filehandle>) { last if /^\s*<\/$gi\s*>/i; @@ -1078,22 +1268,22 @@ sub get_elem_last_line { ##---------------------------------------------------------------------- sub get_list_content { - local($filehandle, $gi) = @_; - local(@items) = (); + my($filehandle, $gi) = @_; + my(@items) = (); while (<$filehandle>) { last if /^\s*<\/$gi\s*>/i; next unless /\S/; s/\r?\n?$//; - push(@items, split(/[:]/, $_)); + push(@items, split(/[:;]/, $_)); } @items; } ##---------------------------------------------------------------------- sub get_pathname_content { - local($filehandle, $gi) = @_; - local(@items) = (); + my($filehandle, $gi) = @_; + my(@items) = (); while (<$filehandle>) { last if /^\s*<\/$gi\s*>/i; diff --git a/lib/mhrcvars.pl b/lib/mhrcvars.pl index 593fd19..df0a2ba 100644 --- a/lib/mhrcvars.pl +++ b/lib/mhrcvars.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhrcvars.pl 2.13 01/04/10 21:36:41 +## $Id: mhrcvars.pl,v 2.21 2002/07/27 05:13:13 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Defines routine for expanding resource variables. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1996-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1996-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -86,7 +86,6 @@ sub replace_li_var { my($jstr) = (0); my($expand) = (0); my($n) = (0); - my($isfirst, $islast, $tisfirst, $tislast); my($lref, $key, $pos); my($arg, $opt) = ("", ""); @@ -104,23 +103,16 @@ sub replace_li_var { ## Check if variable in a URL string $isurl = 1 if ($len =~ s/u//ig); + ## Check if variable in a JavaScript string $jstr = 1 if ($len =~ s/j//ig); - ## Set index related variables - if ($index ne '') { - if ($REVSORT) { - $isfirst = ($Index2MLoc{$index} == $#MListOrder); - $islast = ($Index2MLoc{$index} == 0); - } else { - $isfirst = ($Index2MLoc{$index} == 0); - $islast = ($Index2MLoc{$index} == $#MListOrder); - } - $tisfirst = ($Index2TLoc{$index} == 0); - $tislast = ($Index2TLoc{$index} == $#TListOrder); - } - ## Do variable replacement REPLACESW: { + ## Invoke callback if defined + if (defined($CBRcVarExpand) && defined(&$CBRcVarExpand)) { + ($tmp, $expand, $canclip) = &$CBRcVarExpand($index, $var, $arg); + last REPLACESW if defined($tmp); + } ## -------------------------------------- ## ## Message information resource variables ## @@ -168,21 +160,23 @@ sub replace_li_var { } if ($var eq 'ICON') { ## Message icon ($lref, $key, $pos) = compute_msg_pos($index, $var, $arg); - if (!defined($key)) { $tmp = ""; last REPLACESW; } - $tmp = $Icons{$ContentType{$key}} ? - join("", qq||) : - qq|[unknown]|; + if (!defined($key)) { + $tmp = ""; + last REPLACESW; + } + my($iconurl, $iw, $ih) = mhonarc::get_icon_url($ContentType{$key}); + my $alttext = $iconurl ? $ContentType{$key} : 'unknown'; + $tmp = qq|[$alttext] 1 ? $TPREVPGLINK : $TPREVPGLINKIA; last SW; } + if ($arg eq 'FIRST') { + $tmp = $FIRSTPGLINK; + last SW; } + if ($arg eq 'LAST') { + $tmp = $LASTPGLINK; + last SW; } + if ($arg eq 'TFIRST') { + $tmp = $TFIRSTPGLINK; + last SW; } + if ($arg eq 'TLAST') { + $tmp = $TLASTPGLINK; + last SW; } } last REPLACESW; } @@ -435,12 +493,21 @@ sub replace_li_var { my $prefix = $t ? $TIDXPREFIX : $IDXPREFIX; my $suffix = $HtmlExt; $suffix .= '.gz' if $GzipLinks; - $before = $num - abs($before); - $after = $num + abs($after); + if ($before ne "") { + $before = $num - abs($before); + $before = 1 unless $before > 1; + } else { + $before = 1; + } + if ($after ne "") { + $after = $num + abs($after); + $after = $NumOfPages unless $after < $NumOfPages; + } else { + $after = $NumOfPages; + } $tmp = ""; for ($i=$before; $i < $num; ++$i) { - next if $i < 1; - if ($i < 2) { + if ($i == 1) { $tmp .= sprintf('%d | ', ($t ? $TIDXNAME : $IDXNAME), ($GzipLinks ? '.gz' : ""), $i); @@ -450,7 +517,7 @@ sub replace_li_var { $prefix, $i, $suffix, $i); } $tmp .= $num; - for ($i=$num+1; $i <= $after && $i <= $NumOfPages; ++$i) { + for ($i=$num+1; $i <= $after; ++$i) { $tmp .= sprintf(' | %d', $prefix, $i, $suffix, $i); } @@ -570,8 +637,9 @@ sub replace_li_var { } # Check for clipping - $ret = join("", ($ret =~ /(\&[^;\s]*;|.)/g)[0 .. $len - 1]) - if ($len > 0 && $canclip); + if ($len > 0 && $canclip && (length($ret) > 0)) { + $ret = &$TextClipFunc($ret, $len, 1); + } # Check if JavaScript string if ($jstr) { @@ -595,17 +663,26 @@ sub replace_li_var { ##---------------------------------------------------------------------------## ## compute_msg_pos(): Get message location data. +## Return: +## ($aref, : Reference to message listing array. +## $key, : Message index key +## $pos, : Integer offset location in $aref +## $opt) : Left-over option string +## $key will be undefined and $post will be set to -1 if message +## position cannot be computed or is out-of-bounds. ## sub compute_msg_pos { my($idx, $var, $arg, $usethread) = @_; my($ofs, $pos, $aref, $href, $key); my $opt = undef; my $flip = 0; + my $orgarg = $arg; ## Determine what list type if (($arg =~ s/^T//) || $usethread) { $aref = \@TListOrder; $href = \%Index2TLoc; + $usethread = 1; } else { $aref = \@MListOrder; $href = \%Index2MLoc; @@ -613,18 +690,58 @@ sub compute_msg_pos { } ## Extract out optional data - ($arg, $opt) = split(/;/, $arg); + ($arg, $opt) = split(/;/, $arg, 2); SW: { + if ($usethread && $TREVERSE) { + # when threads are listed in reverse, we preserve the + # sematics of "next/prev thread" + if ($arg eq 'NEXTTOP') { + $arg = 'PREVTOP'; + } elsif ($arg eq 'PREVTOP') { + $arg = 'NEXTTOP'; + } + } + $ofs = 0, last SW - if $arg eq "" or $arg eq 'CUR'; - $ofs = ($flip ? 1 : -1), last SW - if $arg eq 'PREV'; - $ofs = ($flip ? -1 : 1), last SW - if $arg eq 'NEXT'; + if (!defined($arg)) || ($arg eq '') || ($arg eq 'CUR'); $ofs = ($flip ? -$arg : $arg), last SW if $arg =~ /^-?\d+$/; + if ($arg eq 'NEXT') { # next message + if (!$usethread || !$TREVERSE) { + $ofs = ($flip ? -1 : 1); + last SW; + } + # get here, it is thread and reverse + undef $ofs; + $pos = $href->{$idx}; + if (($pos < $#$aref) && ($ThreadLevel{$aref->[$pos+1]} > 0)) { + ++$pos; + last SW; + } + # get here, must goto physical previous top + # note no `last SW' statement + $arg = 'PREVTOP'; + } + if ($arg eq 'PREV') { # prev message + if (!$usethread || !$TREVERSE) { + $ofs = ($flip ? 1 : -1); + last SW; + } + # get here, it is thread and reverse + undef $ofs; + if ($ThreadLevel{$idx} > 0) { + $pos = $href->{$idx}; + if (($pos > 0) && ($ThreadLevel{$aref->[$pos-1]} >= 0)) { + --$pos; + last SW; + } + } + # get here, must goto physical next top + # note no `last SW' statement + $arg = 'NEXTTOP'; + } if ($arg eq 'FIRST') { $pos = $flip ? $#$aref : 0; undef $ofs; @@ -635,13 +752,40 @@ sub compute_msg_pos { undef $ofs; last SW; } - if ($arg eq 'PARENT') { + + # if not thread variable, no more checking + if (!$usethread) { + warn qq/Warning: $var: Invalid variable argument: "$orgarg"\n/; + $ofs = 0; + last SW; + } + + if ($arg eq 'NEXTIN') { # next message within a thread + $pos = $href->{$idx} + 1; + if ($pos > $#$aref || $ThreadLevel{$aref->[$pos]} <= 0) { + $pos = -1; + } + undef $ofs; + last SW; + } + if ($arg eq 'PREVIN') { # previous message within a thread + undef $ofs; + $pos = $href->{$idx}; + if ($ThreadLevel{$aref->[$pos]} <= 0) { + $pos = -1; + last SW; + } + --$pos; + $pos = -1 if ($pos < 0); + last SW; + } + if ($arg eq 'PARENT') { # parent message in thread undef $ofs; my $level = $ThreadLevel{$idx}; $pos = $Index2TLoc{$idx}; last SW if ($level <= 0); for (--$pos; $pos >= 0; --$pos) { - last if $ThreadLevel{$TListOrder[$pos]} < $level; + last if $ThreadLevel{$aref->[$pos]} < $level; } last SW; } @@ -649,19 +793,41 @@ sub compute_msg_pos { undef $ofs; $pos = $Index2TLoc{$idx}; for (; $pos >= 0; --$pos) { - last if $ThreadLevel{$TListOrder[$pos]} <= 0; + last if $ThreadLevel{$aref->[$pos]} <= 0; } last SW; } - if ($arg eq 'END') { + if (($arg eq 'NEXTTOP') ){ # start of next thread undef $ofs; $pos = $Index2TLoc{$idx}; - for (; $pos < $#TListOrder; ++$pos) { - last if $ThreadLevel{$TListOrder[$pos+1]} <= 0; + for (++$pos; $pos <= $#$aref; ++$pos) { + last if $ThreadLevel{$aref->[$pos]} <= 0; } last SW; } - warn qq/Warning: $var: Unrecognized variable argument: "$arg"\n/; + if (($arg eq 'PREVTOP') ){ # start of previous thread + undef $ofs; + # Find current top first, then find previous top + for ($pos = $Index2TLoc{$idx}; $pos >= 0; --$pos) { + last if $ThreadLevel{$aref->[$pos]} <= 0; + } + if ($pos >= 0) { + for (--$pos; $pos >= 0; --$pos) { + last if $ThreadLevel{$aref->[$pos]} <= 0; + } + } + last SW; + } + if ($arg eq 'END') { # last message of thread + undef $ofs; + $pos = $Index2TLoc{$idx}; + for (; $pos < $#$aref; ++$pos) { + last if $ThreadLevel{$aref->[$pos+1]} <= 0; + } + last SW; + } + + warn qq/Warning: $var: Unrecognized variable argument: "$orgarg"\n/; $ofs = 0; } $pos = $href->{$idx} + $ofs if defined($ofs); diff --git a/lib/mhrmm.pl b/lib/mhrmm.pl index bb4ce31..7fbb6ad 100644 --- a/lib/mhrmm.pl +++ b/lib/mhrmm.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhrmm.pl 1.4 00/04/24 00:03:36 +## $Id: mhrmm.pl,v 1.6 2001/09/17 16:10:35 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Rmm routine for MHonArc. ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,8 +31,8 @@ package mhonarc; ## Function for removing messages. ## sub rmm { - local(@numbers) = (); - local($key, %Num2Index, $num, $i, $pg); + my(@numbers) = (); + my($key, %Num2Index, $num, $i, $pg); local($_); ## Create list of messages to remove @@ -75,7 +75,7 @@ sub rmm { # Need to flag messages that link to deleted message so # they will be updated. - foreach (split(/$bs/o, $FollowOld{$index})) { + foreach (@{$FollowOld{$index}}) { $Update{$IndexNum{$_}} = 1; } $Update{$IndexNum{$TListOrder[$Index2TLoc{$key}-1]}} = 1; @@ -104,7 +104,7 @@ sub rmm { @MListOrder = (); %Index2MLoc = (); - &write_pages(); + write_pages(); 1; } diff --git a/lib/mhscan.pl b/lib/mhscan.pl index 423aa2a..8127b95 100644 --- a/lib/mhscan.pl +++ b/lib/mhscan.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhscan.pl 1.2 99/06/25 14:23:50 +## $Id: mhscan.pl,v 1.3 2001/09/17 16:10:37 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Scan routine for MHonArc ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff --git a/lib/mhsingle.pl b/lib/mhsingle.pl index a2211c0..c698f2f 100644 --- a/lib/mhsingle.pl +++ b/lib/mhsingle.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhsingle.pl 1.5 99/08/04 23:39:52 +## $Id: mhsingle.pl,v 1.6 2001/08/25 19:56:59 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Routines for converting a single message to HTML ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -32,15 +32,14 @@ package mhonarc; ## HTML. ## sub single { - local($mhead,$index,$from,$date,$sub,$header,$handle,$mesg, - $template,$filename,%fields); + my($handle, $filename); ## Prevent any verbose output $QUIET = 1; ## See where input is coming from if ($ARGV[0]) { - ($handle = &file_open($ARGV[0])) || + ($handle = file_open($ARGV[0])) || die("ERROR: Unable to open $ARGV[0]\n"); $filename = $ARGV[0]; } else { @@ -48,23 +47,18 @@ sub single { } ## Read header - ($index,$from,$date,$sub,$header) = - &read_mail_header($handle, *mhead, *fields); - - ($From{$index},$Date{$index},$Subject{$index}) = ($from,$date,$sub); - $MsgHead{$index} = $mhead; - + my($index, $fields) = read_mail_header($handle); ## Read rest of message - $Message{$index} = &read_mail_body($handle, $index, $header, *fields); + $Message{$index} = read_mail_body($handle, $index, $fields); ## Set index list structures for replace_li_var() - @MListOrder = &sort_messages(); + @MListOrder = sort_messages(); %Index2MLoc = (); @Index2MLoc{@MListOrder} = (0 .. $#MListOrder); ## Output mail if ($DoArchive) { - &output_mail($index, 1, 0); + output_mail($index, 1, 0); } close($handle) unless -t $handle; diff --git a/lib/mhthread.pl b/lib/mhthread.pl index dd3ab5a..0763e22 100644 --- a/lib/mhthread.pl +++ b/lib/mhthread.pl @@ -1,13 +1,13 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhthread.pl 2.6 99/06/25 14:18:25 +## $Id: mhthread.pl,v 2.10 2002/06/27 04:56:41 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Thread routines for MHonArc ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1995-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1995-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -93,8 +93,11 @@ sub write_thread_index { } print STDOUT "Writing $TIDXPATHNAME ...\n" unless $QUIET; - ($tmpl = $SSMARKUP) =~ s/$VarExp/&replace_li_var($1,'')/geo; - print $handle $tmpl; + $tmpl = ($TIDXPGSSMARKUP ne '') ? $TIDXPGSSMARKUP : $SSMARKUP; + if ($tmpl ne '') { + $tmpl =~ s/$VarExp/&replace_li_var($1,'')/geo; + print $handle $tmpl; + } print $handle "\n"; @@ -224,10 +227,11 @@ sub compute_threads { ($tmp =~ s/\s*-\s*re(ply|sponse)\s*$//io)); $stripsub{$index} = $tmp; + next unless $tmp =~ /\S/; $FirstSub2Index{$tmp} = $index unless defined($FirstSub2Index{$tmp}) || (defined($Refs{$index}) && - grep($MsgId{$_}, split(/$X/o, $Refs{$index}))); + grep($MsgId{$_}, @{$Refs{$index}})); } } @@ -236,7 +240,7 @@ sub compute_threads { next unless defined($Refs{$index}); # Check for explicit threading - if (@refs = split(/$X/o, $Refs{$index})) { + if (@refs = @{$Refs{$index}}) { $depth = 0; while ($msgid = pop(@refs)) { if (($refindex = $MsgId{$msgid})) { @@ -244,9 +248,9 @@ sub compute_threads { $HasRef{$index} = $refindex; $HasRefDepth{$index} = $depth; if ($Replies{$refindex}) { - $Replies{$refindex} .= $bs . $index; + push(@{$Replies{$refindex}}, $index); } else { - $Replies{$refindex} = $index; + $Replies{$refindex} = [ $index ]; } next TCOMP; } @@ -257,15 +261,15 @@ sub compute_threads { } continue { # Check for subject-based threading if (!$NoSubjectThreads && !$HasRef{$index}) { - if (($refindex = $FirstSub2Index{$stripsub{$index}}) && - ($refindex ne $index)) { + $refindex = $FirstSub2Index{$stripsub{$index}}; + if ($refindex && ($refindex ne $index)) { $HasRef{$index} = $refindex; $HasRefDepth{$index} = 0; if ($SReplies{$refindex}) { - $SReplies{$refindex} .= $bs . $index; + push(@{$SReplies{$refindex}}, $index); } else { - $SReplies{$refindex} = $index; + $SReplies{$refindex} = [ $index ]; } } } @@ -291,9 +295,9 @@ sub do_thread { local(@repls, @srepls) = (); ## Get replies - @repls = sort increase_index split(/$bs/o, $Replies{$idx}) + @repls = sort increase_index @{$Replies{$idx}} if defined($Replies{$idx}); - @srepls = sort increase_index split(/$bs/o, $SReplies{$idx}) + @srepls = sort increase_index @{$SReplies{$idx}} if defined($SReplies{$idx}); ## Add index to printed order list (IMPORTANT SIDE-EFFECT) @@ -327,9 +331,9 @@ sub print_thread { my $didtliend = 0; ## Get replies - @repls = sort increase_index split(/$bs/o, $Replies{$idx}) + @repls = sort increase_index @{$Replies{$idx}} if defined($Replies{$idx}); - @srepls = sort increase_index split(/$bs/o, $SReplies{$idx}) + @srepls = sort increase_index @{$SReplies{$idx}} if defined($SReplies{$idx}); $depth = $HasRefDepth{$idx}; $hvnirepls = (@repls || @srepls); @@ -351,20 +355,20 @@ sub print_thread { $single = ($top && !$hvnirepls); if ($attop) { - &print_thread_var($handle, $idx, *TTOPBEG); + &print_thread_var($handle, $idx, \$TTOPBEG); } elsif ($single) { - &print_thread_var($handle, $idx, *TSINGLETXT); + &print_thread_var($handle, $idx, \$TSINGLETXT); } else { ## Check for missing messages if ($DoMissingMsgs) { for ($i=$depth; $i > 0; --$i) { ++$level; - &print_thread_var($handle, $idx, *TLINONE); - &print_thread_var($handle, $idx, *TSUBLISTBEG) + &print_thread_var($handle, $idx, \$TLINONE); + &print_thread_var($handle, $idx, \$TSUBLISTBEG) if $level <= $TLEVELS; } } - &print_thread_var($handle, $idx, *TLITXT); + &print_thread_var($handle, $idx, \$TLITXT); } ## Increment level count if their are replies @@ -372,7 +376,7 @@ sub print_thread { ## Print list item close if hit max depth if (!$attop && !$single && ($level > $TLEVELS)) { - &print_thread_var($handle, $idx, *TLIEND); + &print_thread_var($handle, $idx, \$TLIEND); $didtliend = 1; } @@ -381,18 +385,18 @@ sub print_thread { ## Print sub-threads if (scalar(@repls) || scalar(@srepls)) { - &print_thread_var($handle, $idx, *TSUBLISTBEG) if $level <= $TLEVELS; + &print_thread_var($handle, $idx, \$TSUBLISTBEG) if $level <= $TLEVELS; foreach (@repls) { &print_thread($handle, $_); } if (@srepls) { - &print_thread_var($handle, $idx, *TSUBJECTBEG); + &print_thread_var($handle, $idx, \$TSUBJECTBEG); foreach (@srepls) { &print_thread($handle, $_); } - &print_thread_var($handle, $idx, *TSUBJECTEND); + &print_thread_var($handle, $idx, \$TSUBJECTEND); } - &print_thread_var($handle, $idx, *TSUBLISTEND) if $level <= $TLEVELS; + &print_thread_var($handle, $idx, \$TSUBLISTEND) if $level <= $TLEVELS; } ## Decrement level count if their were replies @@ -401,8 +405,8 @@ sub print_thread { ## Check for missing messages if ($DoMissingMsgs && !($attop || $single)) { for ($i=$depth; $i > 0; --$i) { - &print_thread_var($handle, $idx, *TLINONEEND); - &print_thread_var($handle, $idx, *TSUBLISTEND) + &print_thread_var($handle, $idx, \$TLINONEEND); + &print_thread_var($handle, $idx, \$TSUBLISTEND) if $level <= $TLEVELS; --$level; } @@ -410,20 +414,19 @@ sub print_thread { ## Close entry text if ($attop) { - &print_thread_var($handle, $idx, *TTOPEND); + &print_thread_var($handle, $idx, \$TTOPEND); } elsif (!$single && !$didtliend) { - &print_thread_var($handle, $idx, *TLIEND); + &print_thread_var($handle, $idx, \$TLIEND); } } ##--------------------------------------------------------------------------- -## Print out text based upon resource variable referenced by *tvar. +## Print out text based upon resource variable referenced by $tvar. ## sub print_thread_var { - local($handle, $index, *tvar) = @_; - local($i_p0, $filename, $tmpl, $msgnum); - - ($tmpl = $tvar) =~ s/$VarExp/&replace_li_var($1,$index)/geo; + my($handle, $index, $tvar) = @_; + my($tmpl); + ($tmpl = $$tvar) =~ s/$VarExp/&replace_li_var($1,$index)/geo; print $handle $tmpl; } @@ -438,20 +441,39 @@ sub print_thread_var { ## Returns string containing thread slice text. ## sub make_thread_slice { - local($refindex, $bcnt, $acnt) = @_; - local($slicetxt) = ""; + my($refindex, $bcnt, $acnt, $inclusive) = @_; + my($slicetxt) = ""; + + my($pos) = $Index2TLoc{$refindex}; + my($start) = $pos - $bcnt; + my($end) = $pos + $acnt; + $start = 0 if $start < 0; + $end = $#TListOrder if $end > $#TListOrder; + if ($inclusive) { + # adjust before count + if ($bcnt == 0 || $ThreadLevel{$TListOrder[$pos]} <= 0) { + $start = $pos; + } else { + for ($i=$pos-1; ($i > $start) && ($i > 0); --$i) { + last if ($ThreadLevel{$TListOrder[$i]} <= 0); + } + $start = $i; + } + # adjust after count + if ($acnt != 0) { + for ($i=$pos+1; ($i <= $end) && ($i <= $#TListOrder); ++$i) { + last if ($ThreadLevel{$TListOrder[$i]} <= 0); + } + $end = $i-1; + } - local($pos) = $Index2TLoc{$refindex}; - local($start) = $pos - $bcnt; - local($end) = $pos + $acnt; - $start = 0 if $start < 0; - $end = $#TListOrder if $end > $#TListOrder; - local(@a) = @TListOrder[$start..$end]; + } + my(@a) = @TListOrder[$start..$end]; + my($lastlevel) = $ThreadLevel{$a[0]}; + my($tmpl, $index, $tlevel, $iscont, $i); - local($lastlevel) = $ThreadLevel{$a[0]}; - local($level) = 0; ## !!!Used in print_thread!!! - local(%Printed); ## !!!Used in print_thread!!! - local($tmpl, $index, $tlevel, $iscont, $i); + local($level) = 0; ## XXX: Used in make_thread!!! + local(%Printed) = (); ## XXX: Used in make_thread!!! ($tmpl = $TSLICEBEG) =~ s/$VarExp/&replace_li_var($1,'')/geo; $slicetxt .= $tmpl; @@ -461,14 +483,14 @@ sub make_thread_slice { # check if continuing a thread if ($lastlevel > 0) { - ($tmpl = $TCONTBEG) =~ s/$VarExp/&replace_li_var($1,$a[0])/geo; + ($tmpl = $TSLICECONTBEG) =~ s/$VarExp/&replace_li_var($1,$a[0])/geo; $slicetxt .= $tmpl; } # perform any indenting for ($i=0; $i < $lastlevel; ++$i) { ++$level; - if ($level <= $TLEVELS) { - ($tmpl = $TINDENTBEG) =~ s/$VarExp/&replace_li_var($1,'')/geo; + if ($level <= $TSLICELEVELS) { + ($tmpl = $TSLICEINDENTBEG) =~ s/$VarExp/&replace_li_var($1,'')/geo; $slicetxt .= $tmpl; } } @@ -477,8 +499,8 @@ sub make_thread_slice { $tlevel = $ThreadLevel{$index}; if (($lastlevel > 0) && ($tlevel < $lastlevel)) { for ($i=$tlevel; $i < $lastlevel; ++$i) { - if ($level <= $TLEVELS) { - ($tmpl = $TINDENTEND) =~ + if ($level <= $TSLICELEVELS) { + ($tmpl = $TSLICEINDENTEND) =~ s/$VarExp/&replace_li_var($1,'')/geo; $slicetxt .= $tmpl; } @@ -486,27 +508,28 @@ sub make_thread_slice { } $lastlevel = $tlevel; if ($lastlevel < 1) { # Check if continuation done - ($tmpl = $TCONTEND) =~ + ($tmpl = $TSLICECONTEND) =~ s/$VarExp/&replace_li_var($1,'')/geo; $slicetxt .= $tmpl; } } unless ($Printed{$index} || ($HasRef{$index} && $TVisible{$HasRef{$index}})) { - $slicetxt .= &make_thread($index, ($lastlevel > 0) ? 0 : 1); + $slicetxt .= &make_thread($index, + (($lastlevel > 0) ? 0 : 1), $refindex); } } # unindent if required for ($i=0; $i < $lastlevel; ++$i) { - if ($level <= $TLEVELS) { - ($tmpl = $TINDENTEND) =~ s/$VarExp/&replace_li_var($1,'')/geo; + if ($level <= $TSLICELEVELS) { + ($tmpl = $TSLICEINDENTEND) =~ s/$VarExp/&replace_li_var($1,'')/geo; $slicetxt .= $tmpl; } --$level; } # close continuation if required if ($lastlevel > 0) { - ($tmpl = $TCONTEND) =~ s/$VarExp/&replace_li_var($1,'')/geo; + ($tmpl = $TSLICECONTEND) =~ s/$VarExp/&replace_li_var($1,'')/geo; $slicetxt .= $tmpl; } @@ -521,17 +544,20 @@ sub make_thread_slice { ##--------------------------------------------------------------------------- ## Routine to generate text representing a thread. +## Used by make_thread_slice(). ## Uses %Printed and $level defined by caller. ## sub make_thread { - local($idx, $top) = @_; - local(@repls, @srepls); - local($attop, $haverepls, $hvnirepls, $single, $depth, $i); - local($ret) = ""; + my($idx, $top, $refidx) = @_; + my($attop, $haverepls, $hvnirepls, $single, $depth, $i); + my(@repls, @srepls) = ( ); + my($ret) = ""; ## Get replies - @repls = sort increase_index split(/$bs/o, $Replies{$idx}); - @srepls = sort increase_index split(/$bs/o, $SReplies{$idx}); + @repls = sort increase_index @{$Replies{$idx}} + if defined($Replies{$idx}); + @srepls = sort increase_index @{$SReplies{$idx}} + if defined($SReplies{$idx}); $depth = $HasRefDepth{$idx}; $hvnirepls = (@repls || @srepls); @@ -550,20 +576,23 @@ sub make_thread { $single = ($top && !$hvnirepls); if ($attop) { - $ret .= &expand_thread_var($idx, *TTOPBEG); + $ret .= &expand_thread_var($idx, + ($idx eq $refidx) ? \$TSLICETOPBEGCUR : \$TSLICETOPBEG); } elsif ($single) { - $ret .= &expand_thread_var($idx, *TSINGLETXT); + $ret .= &expand_thread_var($idx, + ($idx eq $refidx) ? \$TSLICESINGLETXTCUR: \$TSLICESINGLETXT); } else { ## Check for missing messages if ($DoMissingMsgs) { for ($i = $depth; $i > 0; $i--) { $level++; - $ret .= &expand_thread_var($idx, *TLINONE); - $ret .= &expand_thread_var($idx, *TSUBLISTBEG) - if $level <= $TLEVELS; + $ret .= &expand_thread_var($idx, \$TSLICELINONE); + $ret .= &expand_thread_var($idx, \$TSLICESUBLISTBEG) + if $level <= $TSLICELEVELS; } } - $ret .= &expand_thread_var($idx, *TLITXT); + $ret .= &expand_thread_var($idx, + ($idx eq $refidx) ? \$TSLICELITXTCUR : \$TSLICELITXT); } ## Increment level count if their are replies @@ -576,20 +605,24 @@ sub make_thread { ## Print sub-threads if (@repls) { - $ret .= &expand_thread_var($idx, *TSUBLISTBEG) if $level <= $TLEVELS; + $ret .= &expand_thread_var($idx, \$TSLICESUBLISTBEG) + if $level <= $TSLICELEVELS; foreach (@repls) { - $ret .= &make_thread($_); + $ret .= &make_thread($_, 0, $refidx); } - $ret .= &expand_thread_var($idx, *TSUBLISTEND) if $level <= $TLEVELS; + $ret .= &expand_thread_var($idx, \$TSLICESUBLISTEND) + if $level <= $TSLICELEVELS; } if (@srepls) { - $ret .= &expand_thread_var($idx, *TSUBLISTBEG) if $level <= $TLEVELS; - $ret .= &expand_thread_var($idx, *TSUBJECTBEG); + $ret .= &expand_thread_var($idx, \$TSLICESUBLISTBEG) + if $level <= $TSLICELEVELS; + $ret .= &expand_thread_var($idx, \$TSLICESUBJECTBEG); foreach (@srepls) { - $ret .= &make_thread($_); + $ret .= &make_thread($_, 0, $refidx); } - $ret .= &expand_thread_var($idx, *TSUBJECTEND); - $ret .= &expand_thread_var($idx, *TSUBLISTEND) if $level <= $TLEVELS; + $ret .= &expand_thread_var($idx, \$TSLICESUBJECTEND); + $ret .= &expand_thread_var($idx, \$TSLICESUBLISTEND) + if $level <= $TSLICELEVELS; } ## Decrement level count if their were replies @@ -599,31 +632,32 @@ sub make_thread { ## Check for missing messages if ($DoMissingMsgs && !($attop || $single)) { for ($i = $depth; $i > 0; $i--) { - $ret .= &expand_thread_var($idx, *TLINONEEND); - $ret .= &expand_thread_var($idx, *TSUBLISTEND) - if $level <= $TLEVELS; + $ret .= &expand_thread_var($idx, \$TSLICELINONEEND); + $ret .= &expand_thread_var($idx, \$TSLICESUBLISTEND) + if $level <= $TSLICELEVELS; $level--; } } ## Close entry text if ($attop) { - $ret .= &expand_thread_var($idx, *TTOPEND); + $ret .= &expand_thread_var($idx, + ($idx eq $refidx) ? \$TSLICETOPENDCUR : \$TSLICETOPEND); } elsif (!$single) { - $ret .= &expand_thread_var($idx, *TLIEND); + $ret .= &expand_thread_var($idx, + ($idx eq $refidx) ? \$TSLICELIENDCUR : \$TSLICELIEND); } $ret; } ##--------------------------------------------------------------------------- -## Expand text based upon resource variable referenced by *tvar. +## Expand text based upon resource variable referenced by $tvar. ## sub expand_thread_var { - local($index, *tvar) = @_; - local($i_p0, $filename, $expstr, $msgnum); - - ($expstr = $tvar) =~ s/$VarExp/&replace_li_var($1,$index)/geo; + my($index, $tvar) = @_; + my($expstr); + ($expstr = $$tvar) =~ s/$VarExp/&replace_li_var($1,$index)/geo; $expstr; } diff --git a/lib/mhtime.pl b/lib/mhtime.pl index d24a79e..1b12b3b 100644 --- a/lib/mhtime.pl +++ b/lib/mhtime.pl @@ -1,12 +1,12 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhtime.pl 2.8 00/01/15 17:51:12 +## $Id: mhtime.pl,v 2.10 2001/09/17 16:09:35 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Time related routines for mhonarc ##---------------------------------------------------------------------------## -## Copyright (C) 1996-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1996-1999 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -32,9 +32,14 @@ package mhonarc; my %Month2Num = ( 'jan', 0, 'feb', 1, 'mar', 2, 'apr', 3, 'may', 4, 'jun', 5, 'jul', 6, 'aug', 7, 'sep', 8, 'oct', 9, 'nov', 10, 'dec', 11, + 'january', 0, 'february', 1, 'march', 2, 'april', 3, + 'may', 4, 'june', 5, 'july', 6, 'august', 7, + 'september', 8, 'october', 9, 'november', 10, 'december', 11, ); my %WDay2Num = ( 'sun', 0, 'mon', 1, 'tue', 2, 'wed', 3, 'thu', 4, 'fri', 5, 'sat', 6, + 'sunday', 0, 'monday', 1, 'tuesday', 2, 'wednesday', 3, 'thursday', 4, + 'friday', 5, 'saturday', 6, ); my @wdays = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); @@ -46,8 +51,12 @@ package mhonarc; 'July', 'August', 'September', 'October', 'November', 'December'); -my $p_weekdays = "Mon|Tue|Wed|Thu|Fri|Sat|Sun"; -my $p_months = "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec"; +## The following used in parse_date() regexes +my $p_weekdays = 'Mon|Tue|Wed|Thu|Fri|Sat|Sun'; +my $p_Weekdays = 'Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday'; +my $p_months = 'Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec'; +my $p_Months = 'January|February|March|April|May|June|July|August'. + '|September|October|November|December'; my $p_hrminsec = '\d{1,2}:\d\d:\d\d'; my $p_hrmin = '\d{1,2}:\d\d'; my $p_day = '\d{1,2}'; @@ -227,6 +236,11 @@ sub parse_date { $yr = (localtime(time))[5]; } + # Weekday Month DD YYYY HH:MM Zone + } elsif ( $start =~ + /($p_Weekdays),?\s+($p_Months)\s+($p_day),?\s+($p_year)$/ ) { + ($wday, $mon, $mday, $yr, $zone) = ($1, $2, $3, $4, $array[0]); + # All else fails! } else { return (); diff --git a/lib/mhtxtenrich.pl b/lib/mhtxtenrich.pl index dd7099b..fff6bf9 100644 --- a/lib/mhtxtenrich.pl +++ b/lib/mhtxtenrich.pl @@ -1,8 +1,8 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhtxtenrich.pl 2.4 00/02/08 10:04:43 +## $Id: mhtxtenrich.pl,v 2.5 2001/08/25 19:57:59 ehood Exp $ ## Author: -## Earl Hood mhonarc@pobox.com +## Earl Hood mhonarc@mhonarc.org ## Description: ## Library defines a routine for MHonArc to filter text/enriched ## data. @@ -16,7 +16,7 @@ ## ##---------------------------------------------------------------------------## ## MHonArc -- Internet mail-to-HTML converter -## Copyright (C) 1997-1999 Earl Hood, mhonarc@pobox.com +## Copyright (C) 1997-2001 Earl Hood, mhonarc@mhonarc.org ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -40,26 +40,26 @@ package m2h_text_enriched; ## Filter routine. ## sub filter { - local($header, *fields, *data, $isdecode, $args) = @_; - local($innofill, $chunk, $ret, $charset); + my($fields, $data, $isdecode, $args) = @_; + my($innofill, $chunk, $ret, $charset); $ret = ""; $args = "" unless defined($args); $charset = ""; ## Grab charset parameter (if defined) - $ctype = $fields{'content-type'} || ""; + $ctype = $fields->{'content-type'}[0] || ""; if ($ctype =~ /charset=(\S+)/) { $charset = lc $1; $charset =~ s/['"]//g; } ## Convert specials - $data =~ s|&|\&|gi; - $data =~ s|<<|\<|gi; + $$data =~ s|&|\&|gi; + $$data =~ s|<<|\<|gi; ## Translate text/enriched commands $innofill = 0; - foreach $chunk (split(m|()|i, $data)) { + foreach $chunk (split(m|()|i, $$data)) { if ($chunk =~ m||i) { $ret .= "
    ";
     	    $innofill = 1;
    @@ -70,7 +70,7 @@ sub filter {
     	    $innofill = 0;
     	    next;
     	}
    -	&convert_tags(*chunk);
    +	convert_tags(\$chunk);
     	if (!$innofill) {
     	    $chunk =~ s|(\r?\n\s*)|&nl_seq_to_brs($1)|gie;
     	}
    @@ -81,7 +81,7 @@ sub filter {
         ## 		(we already did '<' and '&' characters)
         if ($charset =~ /iso-8859-([2-9]|10)/i) {
     	require 'iso8859.pl';
    -	$ret = &iso_8859::str2sgml($ret, $charset, 1);
    +	$ret = iso_8859::str2sgml($ret, $charset, 1);
         }
     
         $ret;
    @@ -91,36 +91,36 @@ sub filter {
     ##	convert_tags translates text/enriched commands to HTML tags.
     ##
     sub convert_tags {
    -    local(*str) = shift;
    -
    -    $str =~ s|<(/?)bold>|<$1B>|gi;
    -    $str =~ s|<(/?)italic>|<$1I>|gi;
    -    $str =~ s|<(/?)underline>|<$1U>|gi;
    -    $str =~ s|<(/?)fixed>|<$1TT>|gi;
    -    $str =~ s|<(/?)smaller>|<$1SMALL>|gi;
    -    $str =~ s|<(/?)bigger>|<$1BIG>|gi;
    -
    -    $str =~ s|\s*([^<]+)||gi;
    -    $str =~ s|||gi;
    -    $str =~ s|\s*\s*(\S+)\s*||gi;
    -    $str =~ s|||gi;
    -    $str =~ s|
    |

    |gi; - $str =~ s|

    |

    |gi; - $str =~ s||

    |gi; - $str =~ s||

    |gi; - $str =~ s||

    |gi; - $str =~ s||

    |gi; - $str =~ s||

    |gi; # Not supported in HTML - $str =~ s||

    |gi; - $str =~ s|\s*([^<]*)|
    |gi; - $str =~ s||
    |gi; - - $str =~ s|\s*(([^<]*))?|
    |gi; - $str =~ s||
    |gi; + my($str) = shift; + + $$str =~ s|<(/?)bold>|<$1B>|gi; + $$str =~ s|<(/?)italic>|<$1I>|gi; + $$str =~ s|<(/?)underline>|<$1U>|gi; + $$str =~ s|<(/?)fixed>|<$1TT>|gi; + $$str =~ s|<(/?)smaller>|<$1SMALL>|gi; + $$str =~ s|<(/?)bigger>|<$1BIG>|gi; + + $$str =~ s|\s*([^<]+)||gi; + $$str =~ s|||gi; + $$str =~ s|\s*\s*(\S+)\s*||gi; + $$str =~ s|||gi; + $$str =~ s|
    |

    |gi; + $$str =~ s|

    |

    |gi; + $$str =~ s||

    |gi; + $$str =~ s||

    |gi; + $$str =~ s||

    |gi; + $$str =~ s||

    |gi; + $$str =~ s||

    |gi; # Not supported in HTML + $$str =~ s||

    |gi; + $$str =~ s|\s*([^<]*)|
    |gi; + $$str =~ s||
    |gi; + + $$str =~ s|\s*(([^<]*))?|
    |gi; + $$str =~ s||
    |gi; # Not supported commands - $str =~ s|\s*([^<]*)||gi; - $str =~ s|||gi; + $$str =~ s|\s*([^<]*)||gi; + $$str =~ s|||gi; } ##--------------------------------------------------------------------------- @@ -128,15 +128,14 @@ sub convert_tags { ## on eols in a string. ## sub nl_seq_to_brs { - local($str) = shift; - local($n); - + my($str) = shift; + my($n); $n = $str =~ tr/\n/\n/; --$n; if ($n <= 0) { return " "; } else { - return "
    \n" x $n; + return "
    \n" x $n; } } @@ -145,10 +144,9 @@ sub nl_seq_to_brs { ## converted to nbsps. ## sub preserve_space { - local($str) = shift; - + my($str) = shift; 1 while - $str =~ s/^([^\t]*)(\t+)/$1 . ' ' x (length($2) * 8 - length($1) % 8)/e; + $str =~ s/^([^\t]*)(\t+)/$1 . ' ' x (length($2) * 8 - length($1) % 8)/e; $str =~ s/ /\ /g; $str; } diff --git a/lib/mhtxthtml.pl b/lib/mhtxthtml.pl index e7653a8..20486c0 100644 --- a/lib/mhtxthtml.pl +++ b/lib/mhtxthtml.pl @@ -1,6 +1,6 @@ ##---------------------------------------------------------------------------## ## File: -## @(#) mhtxthtml.pl 2.15 01/06/10 17:36:57 +## $Id: mhtxthtml.pl,v 2.20 2001/12/24 13:10:33 ehood Exp $ ## Author: ## Earl Hood mhonarc@mhonarc.org ## Description: @@ -34,13 +34,21 @@ package m2h_text_html; # Beginning of URL match expression my $Url = '(\w+://|\w+:)'; + # Script related attributes -my $SAttr = q/(?:onload|onunload|onclick|ondblclick|/. +my $SAttr = q/\b(?:onload|onunload|onclick|ondblclick|/. q/onmouse(?:down|up|over|move|out)|/. - q/onkey(?:press|down|up))/; + q/onkey(?:press|down|up))\b/; # Script/questionable related elements -my $SElem = q/(?:applet|base|embed|form|ilayer|input|layer|link|meta|object|/. - q/option|param|select|textarea)/; +my $SElem = q/\b(?:applet|base|embed|form|ilayer|input|layer|link|meta|object|/. + q/option|param|select|textarea)\b/; + +# Elements with auto-loaded URL attributes +my $AElem = q/\b(?:img|body|iframe|frame|object|script|input)\b/; + # XXX: What about INS, DEL? +# URL attributes +my $UAttr = q/\b(?:href|src|background|classid|data|longdesc)\b/; + # XXX: What about codebase, usemap? ##--------------------------------------------------------------------------- ## The filter must modify HTML content parts for merging into the @@ -49,41 +57,83 @@ package m2h_text_html; ## ## Arguments: ## +## allowcomments Preserve any comment declarations. Normally +## Comment declarations are munged to prevent +## SSI attacks or comments that can conflict +## with MHonArc processing. Use this option +## with care. +## +## allownoncidurls Preserve URL-based attributes that are not +## cid: URLs. Normally, any URL-based attribute +## -- href, src, background, classid, data, +## longdesc -- will be stripped if it is not a +## cid: URL. This is to prevent malicious URLs +## that verify mail addresses for spam purposes, +## secretly set cookies, or gather some +## statistical data automatically with the use of +## elements that cause browsers to automatically +## fetch data: IMG, BODY, IFRAME, FRAME, OBJECT, +## SCRIPT, INPUT. +## ## allowscript Preserve any markup associated with scripting. ## This includes elements and attributes related ## to scripting. The default is to delete any ## scripting markup for security reasons. ## +## attachcheck Honor attachment disposition. By default, +## all text/html data is displayed inline on +## the message page. If attachcheck is specified +## and Content-Disposition specifies the data as +## an attachment, the data is saved to a file +## with a link to it from the message page. +## ## nofont Remove tags. ## -## allowcomments Preserve any comment declarations. Normally -## Comment declarations are munged to prevent -## SSI attacks or comments that can conflict -## with MHonArc processing. Use this option -## with care. +## notitle Do not print title. ## sub filter { - local($header, *fields, *data, $isdecode, $args) = @_; - local(@files) = (); # !!!Used by resolve_cid!!! + my($fields, $data, $isdecode, $args) = @_; + $args = '' unless defined $args; + + ## Check if content-disposition should be checked + if ($args =~ /\battachcheck\b/i) { + my($disp, $nameparm) = readmail::MAILhead_get_disposition($fields); + if ($disp =~ /\battachment\b/i) { + require 'mhexternal.pl'; + return (m2h_external::filter( + $fields, $data, $isdecode, + readmail::get_filter_args('m2h_external::filter'))); + } + } + + local(@files) = (); # XXX: Used by resolve_cid!!! my $base = ''; my $title = ''; my $noscript = 1; $noscript = 0 if $args =~ /\ballowscript\b/i; my $nofont = $args =~ /\bnofont\b/i; + my $notitle = $args =~ /\bnotitle\b/i; + my $onlycid = $args !~ /\ballownoncidurls\b/i; my $tmp; ## Check comment declarations: may screw-up mhonarc processing ## and avoids someone sneaking in SSIs. - #$data =~ s///go; # can crash perl - $data =~ s/