# Resources

- Overview
- Resource Types
- Resource Index
  - Resource list

## Overview

All the behavior of MHonArc is controlled by resources. Resources may be set via environment variables (envariables for short), command-line options, and/or elements in a resource file. For example, the MAXSIZE resource tells MHonArc the maximum number of messages in an archive. To set the resource, you can use the `-maxsize` command-line option, the M2H_MAXSIZE envariable, or the `<MAXSIZE>` resource file element.

For information on the syntax and usage of MHonArc resource files, see the RCFILE resource.

## Resource Types

There are four basic types of resources:

boolean

  Boolean resources are resources that are either on or off; active or deactive; or true or false. They basically work as flags for controlling MHonArc behavior.

string

  The resource represents a string value. How the string value is used depends on the resource.

list

  The resource is a list of values. How the list is used depends on the resource.

one-shot

  One-shot resources are resources that apply only to the current MHonArc process. You can tell if a resource is a one-shot by checking if the resource cannot be defined by a resource file element. One-shot resources are set only by command-line options or envariables.

A resource's type can be determined by reading the description for the resource.

All resources, except one-shots, are stored with the archive in a simple database. Therefore, after the first time you run MHonArc on an archive, you do not need to respecify the resources. MHonArc will remember your settings so subsequent archive updates are faster to execute.

## Resource Index

Each resource is described on its own page. Each resource page uses the following template:

> Syntax

>   Brief synopsis on how the resource can be defined. Command-line options take precedence over resource file elements. Resource file elements take precedence over environment variables ("envariables" for short). See RCFILE for more information on how resources are defined in a resource file. See your system's documentation on how to define envariables.

> Description

>   Description of the resource.

> Default Setting

>   The default value of the resource, if applicable.

> Resource Variables

>   Applicable resource variables that can be used for the resource.

> Examples

>   Example uses of the resource.

> Version

>   The version of MHonArc the resource became available. Note, the actual description of the resource may not be applicable for the version number listed. I.e. The behavior of the resource may have changed in later releases. Therefore, the description of the resource may be applicable for a later version of MHonArc than from the version of MHonArc the resource first came available.

> See Also

>   Links to any related resources.

### Resource list

The following is a list of all the MHonArc resources available. For a list of resource by envariable, resource file element, and/or command-line option, see Appendix: Resource Indexes.

Resource | Description
ADD | Add messages to the archive.
ADDRESSMODIFYCODE | Perl expressions modifying displayed addresses in headers.
AFS | Skip archive directory permission check.
ANNOTATE | Add/set annotation for message(s).
ARCHIVE | Create archive.
AUTHORBEGIN | Markup at the start of a author group.
AUTHOREND | Markup at the end of a author group.
AUTHSORT | Sort main index by author.
BOTLINKS | Links markup at the bottom of message pages.
CHARSETALIASES | Charater set aliases.
CHARSETCONVERTERS | Charater set filter functions.
CHECKNOARCHIVE | Honor "no archive" flag in messages.
CONLEN | Use Content-Length value.
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.
DBFILEPERMS | File permissions for DBFILE.
DECODEHEADS | Store "decode-only" characters sets in raw form.
DEFCHARSET | Default character set for text data.
DEFINEDERIVED | Define extra file(s) to generate for each message page.
DEFINEVAR | Define a custom resource variable.
DEFRCFILE | Pathname of default resource file.
DEFRCNAME | Name of default resource file.
DOC | Add link to documentation.
DOCURL | URL to documentation
EDITIDX | Modify archive with new resource settings.
EXCS | List of header fields to exclude.
EXPIREAGE | Length of time to keep a message in an archive.
EXPIREDATE | Expiration of date of message.
FASTTEMPFILES | Use non-random temporary filenames.
FIELDORDER | Order to display message header fields.
FIELDSBEG | Beginning markup of message header.
FIELDSEND | Ending markup of message header.
FIELDSTORE | Message header fields to store in database.
FIELDSTYLES | Define HTML elements that wrap field text of message headers.
FILEPERMS | File permissions for archive files.
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.
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.
GMTDATEFMT | Conversion specification for GMT dates.
GZIPEXE | Pathname to gzip executable.
GZIPFILES | Gzip files.
GZIPLINKS | Assume files are gzipped when creating links.
HEADBODYSEP | Markup separating the message head from the body.
HTMLEXT | Extension to use for HTML files.
ICONS | Content-type to icon mapping.
ICONURLPREFIX | Prefix for icon URLs.
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.
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.
LANG | Set locale.
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.
LOCALDATEFMT | Conversion specification for printing local date.
LOCK | Perform a lock on the archive.
LOCKDELAY | Wait time between lock attempts.
LOCKFILE | Name of the lock file.
LOCKMETHOD | How archive locks are done.
LOCKTRIES | Total number of time to attempt a lock before failing.
MAILTO | Convert email addresses in message headers to hyperlinks.
MAILTOURL | URL template to use when MAILTO is set.
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.
MIMEFILTERS | Mapping of MIME filters to content-types.
MODIFYBODYADDRESSES | Apply ADDRESSMODIFYCODE to text message bodies.
MODTIME | Set modification time on message files to message dates.
MONTHS | Month names.
MONTHSABR | Abbreviated month names.
MSGBODYEND | Markup after the message body.
MSGEXCFILTER | Perl expression(s) to selectively exclude messages.
MSGFOOT | Markup at the foot of each message page.
MSGGMTDATEFMT | GMT conversion specification for message dates.
MSGHEAD | Markup at the head of each message page.
MSGIDLINK | Hyperlink markup for embedded message-ids in message pages.
MSGLOCALDATEFMT | Local conversion specification for message dates.
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.
NEWS | Hyperlink newsgroups in message headers.
NEXTBUTTON | Button markup for next message by main index.
NEXTBUTTONIA | Inactive button markup for next message by main index.
NEXTLINK | Link markup for next message by main index.
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.
NOTETEXT | Annotation text.
OTHERINDEXES | List of alternate indexes to create for an archive.
OUTDIR | Location of archive.
PERLINC | Additional Perl include paths.
POSIXSTRFTIME | Use POSIX's strftime() for converted time format strings.
PREVBUTTON | Button markup for previous message by main index.
PREVBUTTONIA | Inactive button markup for previous message by main index.
PREVLINK | Link markup for previous message by main index.
PREVLINKIA | Inactive link markup for previous message by main index.
PREVPGLINK | Link markup for previous page of main index.
PREVPGLINKIA | Inactive link markup for previous page of main index.
QUIET | Do not output status.
RCFILE | Resource file to read before processing input.
RECONVERT | Reconvert existing messages.
REFSBEGIN | Beginning markup for explicit reference links in message pages.
REFSEND | Ending markup for explicit reference links in message pages.
REFSLITXT | Markup representing a reference entry in explicit reference links.
REVERSE | Reverse the listing order in the main index.
RMM | Remove specified messages from an archive.
SAVERESOURCES | Save resource values in database.
SCAN | List archive messages to standard output.
SINGLE | Process a single message.
SORT | List messages by date in main index.
SPAMMODE | Perform actions to deter email address harvesters.
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.
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.
SUBJECTHEADER | Main subject line markup above message header.
SUBJECTREPLYRXP | Regex for matching subject text denoting a reply message.
SUBJECTSTRIPCODE | Perl expressions to strip subject text while reading messages.
SUBJECTTHREADS | Check subjects when computing message threads.
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.
TENDBUTTON | Button markup for last message in thread.
TENDBUTTONIA | Inactive button markup for last message in thread.
TENDLINK | Link markup for last message in thread.
TENDLINKIA | Inactive link markup for last message in thread.
TEXTCLIPFUNC | Perl function to use for text clipping operations.
TEXTENCODE | Encode message text to given character encoding.
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.
TIDXFNAME | Filename of first thread index page.
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.
TLINONEEND | Ending 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.
TSUBLISTBEG | Markup for starting a sub-thread.
TSUBLISTEND | Markup for ending a sub-thread.
TSUBSORT | List threads by subject.
TTITLE | Title of thread index.
TTOPBEGIN | Markup for the root/start of a thread.
TTOPBUTTON | Button markup for first message in thread.
TTOPBUTTONIA | Inactive button markup for first message in thread.
TTOPEND | Markup for the end of a thread.
TTOPLINK | Link markup for first message in thread.
TTOPLINKIA | Inactive link markup for first message in thread.
UMASK | Umask value for the MHonArc process.
USELOCALTIME | Use local time to determine day groups in main index listing.
USINGLASTPG | $LASTPG$ is used in resource values.
VARREGEX | Perl regular expression matching a resource variable.
WEEKDAYS | Weekday names.
WEEKDAYSABR | Abbreviated weekday names.