Resource variables are used to represent dynamic data
in MHonArc resources. Take the following
LITEMPLATE resource setting
for example:
<LiTemplate>
<li><strong>$SUBJECT$</strong>
<ul><li><em>From</em>: $FROM$</li></ul>
</li>
</LiTemplate>
The LITEMPLATE resource defines how each message listing is displayed
in the main index page. The $SUBJECT$ and
$FROM$ are resource
variables. $SUBJECT$ will get expanded to the current message's
subject, hyperlinked to the message page.
$FROM$ will be replaced with
the message's author's name and address.
Some resource variables take arguments. Take the following
NEXTLINK resource setting for
example:
<li>Next by Date:
<strong><a href="$MSG(NEXT)$">$SUBJECT(NEXT)$</a></strong>
</li>
The resource setting uses two resource variables: $MSG$ and
$SUBJECT$.
However, an argument is given to each resource variable
delimited by ( ).
$SUBJECT$ will get expanded to the current message's
subject[*].
With the "NEXT" argument,
we are instructing MHonArc to use the next message's
subject. $MSG(NEXT)$ will get expanded to the next message's
filename. Therefore, the above resource value is creating a link to
the next message in the archive.
* NOTE: |
In the two examples given, the replacement value of
$SUBJECT$ is different (excluding the variable argument difference).
For compatibility of older versions of MHonArc, when $SUBJECT$
is used without any arguments, it will be expanded to
the current message's subject hyperlinked to the current message
page. If an argument is given to $SUBJECT$, then the variable
will get expanded only to the subject text of the applicable message.
NO hyperlink is automatically created.
|
The syntax of resource variables in resources
is as follows:
$VARIABLE[[:[N][J][M][U]][(arglist)]]$
^----------^^---------^
^-----------------------^
The items in []'s are optional. The "^---^" are used to
highlight the nested optional groupings.
Definition of each part:
- $
The start of a resource variable. Everything (including
line breaks) up to the
next $ is part of the resource variable.
- VARIABLE
The name of the variable. Variable names are case-sensitive.
- :[N][J][U][M] (optional)
The optional grouping starting with a colon are variable
modifiers. The definition of each modifier is as follows:
N |
Length specification. MHonArc will clip the expanded text
to N if the text length is greater than N.
NOTE: |
Not all resource variables support clipping.
If a length specification is given for these variables, then
it will be ignored.
|
How MHonArc clips text is determined by the
TEXTCLIPFUNC resource.
|
J |
Treat the text as a JavaScript string. MHonArc will escape
any quote characters so the text can be part of a JavaScript
string.
|
M |
Enable mailto linking on expanded string. This modifier
is only applicable for the following resource variables:
$MSGHFIELD$,
$SUBJECT$,
$SUBJECTNA$.
|
U |
Treat the text as part of a URL string. MHonArc will escape
any characters that are considered special in a URL.
|
- (arglist) (optional)
- An optional argument list delimited by parentheses: ( ).
Some resource variables can take arguments which modify how the
variable is expanded. If a variable can
take more than one argument, each argument will be separated by
a semi-colon. For example: $MSGLOCALDATE(NEXT;%H:%M)$.
In the example, there are two arguments to the $MSGLOCALDATE$
variable: "NEXT" and "%H:%M".
- $
The end of a resource variable.
If an unrecognized variable is encountered, it gets replaced with an
empty string, and a warning is generated. If a literal "$"
is needed, use "$$".
NOTE: |
The
MAILTOURL and
NEWSURL
resources have
different rules for variable expansion:
If a
variable does not exactly match the set of variables available for
each resource, the variable text will be taken literally
as part of the element content. Therefore, a single "$"
can be used to represent a "$" character.
Variables should NOT
have ":NJMU" modifiers. This will prevent the
variables from being recognized. MHonArc automatically
treats the replacement value as a part of a URL string, so the
":U" modifier is not needed.
|
This sections lists all the resource variables supported by MHonArc.
Since many resource variables can take arguments, the following notations
are used to represent argument values:
- mesg_spec
A message specification determines which message the variable's
expanded value will be based upon. Possible values are:
Value - | Meaning |
CUR - |
Current message. |
FIRST - |
First message listed in main index. |
LAST - |
Last message listed in main index. |
NEXT - |
Next message by main sort order. |
PREV - |
Previous message by main sort order. |
TEND - |
Last message of current discussion thread. |
TFIRST - |
First message listed in thread index. |
TLAST - |
Last message listed in thread index. |
TNEXT - |
Next message by thread. |
TNEXTIN - |
Next message within current thread. This differs from
TNEXT in that it does not cross discussion thread boundaries. |
TNEXTTOP - |
First message of next discussion thread. |
TPARENT - |
Parent message of current thread. |
TPREV - |
Previous message by thread. |
TPREVIN - |
Previous message within current thread. This differs from
TPREV in that it does not cross discussion thread boundaries. |
TPREVTOP - |
First message of previous discussion thread. |
TTOP - |
Top/root message of current discussion thread. |
"CUR" is the default if nothing is specified for
mesg_spec.
- idx_page_spec
An index page specification denoting the index page to use
when determing the value of the variable. The possible values are:
Value | - Meaning |
FIRST | - First page of main index. |
LAST | - Last page of main index. |
NEXT | - Next page of main index. |
PREV | - Previous page of main index. |
TFIRST | - First page of thread index. |
TLAST | - Last page of thread index. |
TNEXT | - Next page of thread index. |
TPREV | - Previous page of thread index. |
If no value is given for idx_page_spec, the resource
variable's value is undefined.
- time_fmt_str
A time format string specifies how a date/time will be
printed for a date/time related variable. The syntax of the format
string is the same as the conversion specification as defined in
the GMTDATEFMT and
LOCALDATEFMT resources.
- $A_ATTR$
Arguments: |
N/A |
Description: |
The NAME and HREF attributes to use in an anchor
to link to the archived message.
The NAME attribute provides a destination location when a message
links to the index page. This resource variable is equivalent to
"$A_NAME$ $A_HREF$".
|
- $A_HREF$
Arguments: |
N/A |
Description: |
The HREF attribute to use in an anchor to link to the
archived message.
This variable is equivalent to
"href="$MSG$"".
|
- $A_NAME$
Arguments: |
N/A |
Description: |
The NAME attribute to use in an anchor for messages to link
to the index page.
This variable is equivalent to
"name="$MSGNUM$"".
|
- $ATTACHMENTURL$
Arguments: |
N/A |
Description: |
The value of the ATTACHMENTURL
resource.
|
- $BUTTON$
Arguments: |
mesg_spec |
Description: |
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,
TENDBUTTON,
TENDBUTTONIA,
TNEXTBUTTON,
TNEXTBUTTONIA,
TNEXTINBUTTON,
TNEXTINBUTTONIA,
TNEXTTOPBUTTON,
TNEXTTOPBUTTONIA,
TPREVBUTTON,
TPREVBUTTONIA,
TPREVINBUTTON,
TPREVINBUTTONIA,
TPREVTOPBUTTON,
TPREVTOPBUTTONIA,
TTOPBUTTON,
TTOPBUTTONIA.
|
- $DATE$
Arguments: |
mesg_spec |
Description: |
The (raw) date of the message. This variable will expanded to
the date string used within the message itself. If you want to
customize the formatting of the date, use
$MSGLOCALDATE$ or
$MSGGMTDATE$ instead. |
- $DDMMYYYY$
Arguments: |
mesg_spec |
Description: |
Message date (according to local time) in dd/mm/yyyy format. |
- $DOCURL$
Arguments: |
N/A |
Description: |
URL to MHonArc documentation. Value of variable set by the
DOCURL resource. |
- $ENV$
Arguments: |
variable_name |
Description: |
The value of the environment variable specified by variable_name.
For example, $ENV(HOME)$ would expand to the value of the
HOME environment variable. |
- $FROM$
Arguments: |
mesg_spec |
Description: |
The complete text in the From: field of the message. |
- $FROMADDR$
Arguments: |
mesg_spec |
Description: |
The full mail address in the From: field of the message. |
- $FROMADDRNAME$
Arguments: |
mesg_spec |
Description: |
The username/local-part of the mail address in the From:
field of the message. For example, given the address "someuser@example.com",
$FROMADDRNAME$ would equal "someuser". |
- $FROMADDRDOMAIN$
Arguments: |
mesg_spec |
Description: |
The domain part of the mail address in the From:
field of the message. For example, given the address "someuser@mhonarc.org",
$FROMADDRDOMAIN$ would equal "mhonarc.org". |
- $FROMNAME$
Arguments: |
mesg_spec |
Description: |
The human name of the person in the From: field of the message.
If no human name is found, the local-part specified in the mail address
is used. |
- $GMTDATE$
- $ICON$
Arguments: |
mesg_spec |
Description: |
The content-type sensistive icon. The type of icon displayed
is determined by the ICONS resource. |
- $ICONURL$
Arguments: |
mesg_spec |
Description: |
The URL to the content-type sensistive icon. The URL value is
determined by the
ICONS and
ICONURLPREFIX
resources. |
- $ICONURLPREFIX$
- $IDXFNAME$
Arguments: |
N/A |
Description: |
Filename of main index page. The value is set by the
IDXFNAME or
IDXPREFIX and
HTMLEXT
resources. If the first page, IDXFNAME is used. For other pages,
the filename is IDXPREFIXpage-number.HTMLEXT.
|
- $IDXLABEL$
Arguments: |
N/A |
Description: |
Label for main index page. Value set by the
IDXLABEL resource. |
- $IDXPREFIX$
Arguments: |
N/A |
Description: |
Prefix of filenames of main index pages.
Value set by the IDXPREFIX resource.
|
- $IDXSIZE$
Arguments: |
N/A |
Description: |
Max number of messages that may be listed in index page.
Value set by the IDXSIZE resource.
|
- $IDXTITLE$
Arguments: |
N/A |
Description: |
The title of the main index page.
Value set by the TITLE resource.
|
- $LINK$
Arguments: |
mesg_spec |
Description: |
Link markup linking to a message.
The value of $LINK$ is determined
by the following resources based on
mesg_spec value:
NEXTLINK,
NEXTLINKIA,
PREVLINK,
PREVLINKIA,
TENDLINK,
TENDLINKIA,
TNEXTLINK,
TNEXTLINKIA,
TNEXTINLINK,
TNEXTINLINKIA,
TNEXTTOPLINK,
TNEXTTOPLINKIA,
TPREVLINK,
TPREVLINKIA,
TPREVINLINK,
TPREVINLINKIA,
TPREVTOPLINK,
TPREVTOPLINKIA,
TTOPLINK,
TTOPLINKIA.
|
- $LOCALDATE$
- $MMDDYYYY$
Arguments: |
mesg_spec |
Description: |
Message (local) date in mm/dd/yyyy format. |
- $MSG$
Arguments: |
mesg_spec |
Description: |
Filename of message. Filename of the message is determined by the
following resources:
HTMLEXT,
MSGPREFIX.
|
- $MSGGMTDATE$
- $MSGHFIELD$
Arguments: |
mesg_spec;field-name |
Description: |
Message header field value as stored by the
FIELDSTORE resource.
field-name denotes the name of the field value. The
following resources are applied to the expanded string:
ADDRESSMODIFYCODE,
MAILTOURL (if the
":M" modifier is specified), and
SPAMMODE
apply.
|
- $MSGID$
Arguments: |
mesg_spec |
Description: |
The message-id of the message. |
- $MSGLOCALDATE$
- $MSGNUM$
Arguments: |
mesg_spec |
Description: |
The message number assigned to the message by MHonArc. The number
is at least 5 digits wide, padded with leading zeros if actual number
is less than 5 digits. For example, message 45 would be 00045. |
- $MSGPREFIX$
Arguments: |
N/A |
Description: |
Filename prefix for message files.
Value set by the
MSGPREFIX
resource.
|
- $MSGTORDNUM$
Arguments: |
mesg_spec |
Description: |
The ordinal message number of the current discussion thread. Numbering
starts with the first top/root message of a thread and ends with the
last message of the thread, spanning in sub-threads. The following
illustrates how the numbering works:
1. top/root message
2. first follow-up to 1
3. first follow-up to 2
4. second follow-up to 2
5. second follow-up to 1
6. first follow-up to 5
7. first follow-up to 6
8. third follow-up to 1
The above contains 8 total message in the discussion thread, so numbering
goes from 1 to 8.
|
- $NEWSGROUP$
Arguments: |
N/A |
Description: |
Newsgroup name.
This variable is only applicable for use in
NEWSURL. |
- $NOTE$
Arguments: |
mesg_spec |
Description: |
Message annotation. If annotation text exists for the message,
the NOTE resource determines the
value of $NOTE$. When no annotation text is defined,
NOTEIA is used. |
- $NOTETEXT$
Arguments: |
mesg_spec |
Description: |
Base text of message annotation. Variable should be used only
within the NOTE resource. |
- $NUMFOLUP$
Arguments: |
mesg_spec |
Description: |
Number of explicit follow-ups to the message. This number does
NOT include subject-based follow-ups. |
- $NUMOFIDXMSG$
Arguments: |
N/A |
Description: |
Number of message listed on the current index page. |
- $NUMOFMSG$
Arguments: |
N/A |
Description: |
Total number of messages in the archive. |
- $NUMOFPAGES$
Arguments: |
N/A |
Description: |
Total number of index pages for a given index type. |
- $ORDNUM$
Arguments: |
mesg_spec |
Description: |
The current listing number of the message. Number starts at 1. |
- $OUTDIR$
Arguments: |
N/A |
Description: |
Pathname of archive.
Value set by the
OUTDIR
resource.
|
- $PAGENUM$
Arguments: |
N/A |
Description: |
Current index page number. |
- $PG$
- $PGLINK$
Arguments: |
idx_page_spec |
Description: |
Markup linking to a main index page.
Value determined by the
FIRSTPGLINK,
LASTPGLINK,
NEXTPGLINK,
NEXTPGLINKIA,
PREVPGLINK,
PREVPGLINKIA,
TFIRSTPGLINK,
TLASTPGLINK,
TNEXTPGLINK,
TNEXTPGLINKIA,
TPREVPGLINK, and
TPREVPGLINKIA,
resources. The resource used depends on
idx_page_spec and context.
|
- $PGLINKLIST$
Arguments: |
num;num |
Description: |
Markup linking to a list of index pages. $PGLINKLIST$ takes
two arguments: the first is the number of pages before the current page
to create links to; the second is the number of pages after the
current page to create links to. If either number argument is prefixed
with a 'T', then the list of links apply to the thread index.
Examples: $PGLINKLIST(3;3)$, $PGLINKLIST(T2;T3)$. The
link text for a given page is the page number, with the current page not
linked. For example, if the current index page is 5, $PGLINKLIST$
would expand to something like the following:
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)$.
|
- $PROG$
Arguments: |
N/A |
Description: |
Program name. Generally, it will be "mhonarc", but it can
vary if MHonArc is called via a custom front-end or installed under
a different name. |
- $SUBJECT$
Arguments: |
mesg_spec |
Description: |
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 to provide a simple way to link to
the current message using the subject as the link text. The
no argument version is equivalent to:
"<a $A_ATTR$>$SUBJECTNA$</a>".
|
- $SUBJECTNA$
Arguments: |
mesg_spec |
Description: |
The subject text of the message without the anchor element. |
- $TIDXFNAME$
Arguments: |
N/A |
Description: |
Filename of thread index page. The value is set by the
TIDXFNAME or
TIDXPREFIX and
HTMLEXT
resources. If the first page, TIDXFNAME is used. For other pages,
the filename is TIDXPREFIXpage-number.HTMLEXT.
|
- $TIDXLABEL$
Arguments: |
N/A |
Description: |
Label for thread index page. Value set by the
TIDXLABEL resource. |
- $TIDXPREFIX$
Arguments: |
N/A |
Description: |
Prefix of filenames of thread index pages.
Value set by the
TIDXPREFIX
resource.
|
- $TIDXTITLE$
Arguments: |
N/A |
Description: |
The title of the thread index page.
Value set by the TTITLE resource.
|
- $TLEVEL$
Arguments: |
mesg_spec |
Description: |
Numeric level of message in current thread, starting with zero.
|
- $TO$
Arguments: |
N/A |
Description: |
The mail address.
This variable is only applicable for use in the
MAILTOURL. |
- $TOADDRNAME$
Arguments: |
N/A |
Description: |
The username/local-part of the e-mail address.
For example, given the address "someuser@example.com",
$TOADDRNAME$ would equal "someuser".
This variable is only applicable for use in the
MAILTOURL. |
- $TOADDRDOMAIN$
Arguments: |
N/A |
Description: |
The domain part of the e-mail address.
For example, given the address "someuser@example.com",
$TOADDRDOMAIN$ would equal "example.com".
This variable is only applicable for use in the
MAILTOURL. |
- $TSLICE$
Arguments: |
number;number;flag |
Description: |
A slice of the thread listing relative to the current message.
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.
|
- $VERSION$
Arguments: |
N/A |
Description: |
Program version. |
- $YYYYMMDD$
Arguments: |
N/A |
Description: |
Message (local) date in yyyy/mm/dd format. |
$Date: 2005/07/08 05:27:52 $
MHonArc
Copyright © 1998-1999, Earl Hood, mhonarc@mhonarc.org