Here are the tags you can use in your .plan files.
Note that IcculusFinger tags use different characters than HTML
tags. [FingerTag] is very different than <FingerTag>.
HTML tags in the finger output will always be reformatted into plain
text before being sent to a client, even for web requests.
Markdown
As of version 2.1.26, we support Markdown. Markdown sections
can be embedded alongside all the other IcculusFinger markup
tags, but generally I'd recommend wrapping your whole .plan
in a single markdown block now, outside of metadata tags like
titles, etc.
No IcculusFinger tags work inside Markdown blocks, and other
features might conflict (links in Markdown won't cooperate with
IcculusFinger's usual link digtest stuff, etc).
Note that not only does Markdown offer features that IcculusFinger
otherwise doesn't, it assumes that HTML clients will reflow text,
making for a nicer experience on, say, mobile devices. We can't
guarantee that outside of Markdown blocks.
When not serving to a web browser, we don't process Markdown at
all (which is sort of the point), so plan to write Markdown as
text file that's human-readable on an 80-column terminal and
assume it'll do the right thing on the web.
Markdown syntax is documented here.
USAGE:
[markdown]
This is *Markdown*!
- Here's a list item
- Here's a second list item
[/markdown]
Titles
All title tags in your finger output are pooled up, and one is
randomly chosen before the parsed output is sent on to the client.
In HTML, the chosen title is used in the actual <title> tag.
In plain text, the chosen title is just prepended to the output.
Note that systems running IcculusFinger can opt to list multiple
default titles, which will randomize in with the rest of your [title]
tags. If the system is set up with one single default, it is always
overridden by these tags, however.
USAGE:
[title]This is a random title.[/title]
[title]This is another random title.[/title]
Stylesheets
If you wish to add a little more graphical flourish to your
html output, you can use a stylesheet. Supply the full URL
within the [style]...[/style] fingertags. Behaviour with
multiple [style][/style]tags is undefined. Div classes are:
"top", which contains the title at the top of the page
"content", which your .plan content is placed within
"bottom", which contains, among other things, your "Witty
Remarks" [see below].
"entry", if you choose to make use of the [entry]..[/entry] fingertags
USAGE:
[style]http://icculus.org/style.css[/style]
"Witty remarks"
All "witty remark" tags in your finger output are pooled up, and one is
randomly chosen before the parsed output is sent on to the client.
The remark is tacked onto the end of the finger output, after the
IcculusFinger credit. If you don't supply one, the system default remark
is used (default is "Stick it in the camel and go." Don't ask.)
Note that systems running IcculusFinger can opt to list multiple
default witty remarks, which will randomize in with the rest of your
[wittyremark] tags, which means the remark chosen may not be yours. If
the system is set up with one single default, it is always overridden
by these tags, however.
USAGE:
[wittyremark]This is a witty remark.[/wittyremark]
[wittyremark]You damned kids today.[/wittyremark]
Bold
Bold text. This looks like this in HTML, and is
outputted in plain text *like this*.
USAGE:
[b]This is bolded text![/b]
Italics
Italicized text. This looks like this in HTML, and is
outputted in plain text /like this/.
USAGE:
[i]This is italicized text![/i]
Underlines
Underlined text. This looks like this in HTML, and is
outputted in plain text _like this_.
USAGE:
[u]This is underlined text![/u]
Centering
Centered text. These are replaced with <center> tags in the
HTML output, and centers lines of text in an 80 char-wide frame for
plain text output.
USAGE:
[center]This is centered text![/center]
Fonts
Change the attributes of a text's font. These are replaced with
<font> tags in the HTML output, and are discarded in
plain text output.
USAGE:
[font size="+3" color="#FF0000"]This is big, red text![/font]
Links
Associate a hyperlink with some text. These are replaced with
<a> tags in the HTML output, and are formatted as such in
plain text output:
This is link text. [http://www.host.dom/filename.ext]
Please note that this makes it tricky to format your finger
output so that it looks good in both HTML and plain text.
USAGE:
[link="http://www.host.dom/filename.ext"]This is link text.[/link]
Images
Add graphics. These are replaced with
<img> tags in the HTML output (with the contained text
put into an "alt" and "title" attribute), and are replaced with the
text and the URL in plain text output.
USAGE:
[img="http://www.host.dom/picture.png"]A picture of a beautiful landscape[/img]
Sections
Groups a block of data into a section. Finger requests will display
all sections unless otherwise instructed.
To grab only a specific section, finger clients should ask for
username?section=sectname
instead of just
username
USAGE:
[section="mysectionname"]This is sectioned text![/section]
Entries
Groups a block of data into an "entry". This isn't as flexible as
sections, but is different in that it gets blindly wrapped in html,
for use combined with [style] fingertags:
<div class="entry">...</div>
USAGE:
[entry]This an entry[/entry]
Default Sections
Specify that, unless the client asks for a specific section,
only one section should be shown. If there is more than one
[defaultsection] tag, only the last one is considered, and the rest
are simply removed.
USAGE:
[defaultsection="mysectionname"]
Non-archiving Sections
If you got a chunk of your .plan that changes a lot, and you don't want
the archiver to store a revision each time that chunk changes, wrap it
in a [noarchive] block. This is a metatag: they are removed without
changing the markup when fulfilling any type of finger request. The
archiver, when deciding if it should store a new revision, will remove
all [noarchive] blocks from the .plan file and the latest archived
revision before string-comparing the two. If the strings are equal
after the revision, they aren't archived. This is handy for keeping
a TODO list in your .plan, which changes a lot, but isn't worth
archiving for each change.
USAGE:
[noarchive]
This text is unimportant and/or changes a lot.
[/noarchive]
--ryan c. gordon.