user
tye
Only used for testing. See [tye].
<hr />
<h3>The following is not implemented.</h3>
<p>
[ This is where I've been testing things. I haven't had a chance to work on it in a while and [ar0n]'s disappeared again. ]
</p>
<p>Several shortcuts are available for linking to other documents. To link to:
</p><ul>
<li><p>Outside Sites:</p></li>
<ul>
<li>Use [<b>http</b>://perl.com/] or with <b>https</b>:// or
<b>ftp</b>:// ([http://perl.com/] or [ftp://ftp.perl.org/pub/CPAN/])</li>
<li>You can also use standard <a href=....> HTML tags.<small><sup>1</sup></small><br /> </li>
</ul>
<li><p>Nodes:</p></li>
<ul>
<li>By Title: [NODE_TITLE] ([Code Catacombs])</li>
<li>By Title: [<b>title</b>://NODE_TITLE]
([title://Newest Nodes])</li>
<li>By Node ID: [<b>id</b>://NODE_ID] <small><sup>2</sup></small>
([id://17316])</li>
<li>By Monk Name: [<b>user</b>://MONK_NAME] ([user://grep])</li>
<li>A Monk's [id://108959|Scratch Pad]: [<b>pad</b>://MONK_NAME]
([pad://MySQL on FreeBSD])</li>
<li>Simple Search results: [SEARCH TERMS]<small><sup>3</sup></small>
([grep] or [code review section])</li>
<li>Advanced PM links: [<b>pm</b>://PATH] ([pm://images/monk1sm.gif]
or [pm://?op=message;message=/me read &lsb;id://43037&rsb;])<br /> </li>
</ul>
<li><p>CPAN Modules:</p></li>
<ul>
<li>Module searches at <a href="http://www.cpan.org">cpan.org</a>: [<b>cpan</b>://XML::Parser] ([cpan://XML::Parser])</li>
<li>Module searches on an <a href="http://theoryx5.uwinnipeg.ca/mod_perl/cpan-search">alternate server</a>: [<b>kobes</b>://XML::Parser]<small><sup>4</sup></small> ([kobes://XML::Parser])<br /> </li>
</ul>
<li><p>Searches of the latest <a href="http://www.perldoc.com">Perl documentation</a>: [<b>perldoc</b>://SEARCH TERMS] ([perldoc://grep])</p></li>
<li><p><a href="http://www.google.com/">Google</a> web searches:</p></li>
<ul>
<li>Full search results: [<b>google</b>://SEARCH TERMS]
([google://HTML quick reference])</li>
<li>Link directly to first matching site:
[<b>lucky</b>://SEARCH TERMS]
([lucky://HTML quick reference])<br /> </li>
</ul>
<li><p>Books by ISBN number: [<b>isbn</b>://1565922840]
<small><sup>5</sup></small> ([isbn://1565922840])</p></li>
<li><p>[google://Jargon File] entries: [<b>jargon</b>://SEARCH TERMS]
([jargon://foo])</p></li>
<li><p>English dictionary entries: [<b>dict</b>://TERM]
([dict://pedant] or [dict://omphaloskepsis])</p></li>
<li><p>[http://everything2.com/] searches: [<b>e2</b>://SEARCH TERMS]
([e2://bovine])</p></li>
<li><p>[http://www.imdb.com/|Internet Movie Database] searches:
[<b>imdb</b>://SEARCH TERMS] ([imdb://rustlers' rhapsody])</p></li>
</ul>
<p>For best results, be sure to test your links <i>before</i> posting them. Use Preview for links in nodes or /msg yourself for links to be posted in the Chatterbox.</p>
<br />
<h4>Specifying Link Description</h4>
<p>To specify the text shown for your link, enter the text (actually HTML)
after a | (pipe) character in your []'s. For example,
<code>[http://perlmonks.org/|The <em>Perl</em> Monastery]</code> is displayed as
[http://perlmonks.org/|The <em>Perl</em> Monastery].</p>
<p>If you do not specify a description, your link's criteria is used.
For example, <code>[perldoc://perlfaq]</code> is rendered as
[perldoc://perlfaq] and <code>[http://www.perl.com/]</code> as
[http://www.perl.com]. Some link types (http://, https://, ftp://, and
isbn://) include the link type in the default description. Exceptions
include:</p><ul>
<li><p>The [id://] tag display the node's title if you do not
provide a description. For example, <code>[id://42269]</code> is
displayed as [id://42269].</p>
<li><p>The [pad://] tag constructs a description if you do not
provide one. For example: <code>[pad://vroom]</code> returns [pad://vroom].</p></li>
</ul>
<H4>Footnotes:</H4>
<p><small><sup>1</sup></small> - While you can use <code><a href=...></code> tags to link to pages within the Monastery, it's best to use different approaches for internal links. If you must use an <code><a href=...></code> tag, then be sure to use <i>relative</i> URL's (e.g. do <i>not</i> include the "http://www.permonks.(org|com)/index.pl". Otherwise, your link may appear to [id://106839|log people out]. Instead start the URL simply with a question mark: <code><a href="?node_id=..."></code>.</p>
<p><small><sup>2</sup></small> - You can locate the ID of many nodes by opening them from Search results, [Super Search] results, [Newest Nodes], or even the author's User Search results. Check the node's URL. If you see a <b>node_id</b> parameter, that's the value you need. If you don't see that parameter, search for the node and then open it. (It may help to include a nonsense word in your search, e.g. "plugh")</p>
<p><small><sup>3</sup></small> - This is the same as entering your search terms into the Search box at the top of most nodes.</p>
<p><small><sup>4</sup></small> - You can also use [<b>kobe</b>://XML::Parser] (no "s"). This was the original method and there are no plans to stop supporting it.</p>
<p><small><sup>5</sup></small> - For best results, verify the ISBN number using FatBrain's search facility, as ISBN number change in new editions. And, yes, the Monastery receives a small kickback if the book is purchased from the link. (If you like, you can provide kickbacks to the Monastery for books ordered from [id://66377|your own web pages]).</p>
<br />
<h4>Advanced options</h4>
<p>
These link shortcuts come in two forms: <code>[TITLE|DESC]</code> and
<code>[WORD://DATA;PARAMS|DESC]</code>. Some special rules and processing
apply to each part of a shortcut.
</p><ul><li><p>
You can not have a literal [ nor ] in any of the parts.
</p></li><li><p>
|DESC and ;PARAMS are optional.
</p></li><li><p>
TITLE is interpretted as text except it cannot contain
[, ], nor | and must not match <code>m[^\w+://]</code>. To link
to a node that contains [, ], or | in the title, use
<code>[title://...]</code> or <code>[id://...]</code>.
</p></li><li><p>
DESC is interpretted as HTML except that &lsb; and
&rsb; become [ and ] (respectively).
</p></li><li><p>
WORD must be one of the supported link types or else the
entire <code>[WORD://...]</code> construct is simply displayed as a
literal string. Upper- vs. lower-case is ignored in WORD.
</p></li><li><p>
DATA is a string that is processed to produce a URL based on
WORD. There are several character sequences that you can
use in DATA to represent metacharacters (see below).
</p></li><li><p>
PARAMS adds characters on the end of the URL generated from
WORD://DATA.
</p></li><li><p>
<code>[pm://...]</code> is unusual in that it takes no DATA so
you can do <code>[pm://images/usermonkpics/ovidmonk.gif]</code> or
<code>[pm://?op=message;...]</code>.
</p></li></ul><p>
In DATA;PARAMS, the following special sequences are processed:
</p><table border="1"><tr><th>
String</th><th>Result
</th></tr><tr><td>;</td><td>
In DATA, it ends DATA and starts PARAMS. In PARAMS, separates parameters.
</td></tr><tr><td>&amp;<br /><code>m[&\b;?]i</code></td><td>
In DATA, it ends DATA and starts PARAMS. In PARAMS, separates parameters.
</td></tr><tr><td>?</td><td>
In DATA, it ends DATA and starts PARAMS (and is changed to ; if needed).
In PARAMS, adds "?" to the string.
</td></tr><tr><td>/</td><td>
In DATA, it ends DATA and starts PARAMS. In PARAMS, adds "/" to the string.
</td></tr><tr><td>#</td><td>
Indicates that an anchor name is next which tells where in the
linked-to page to jump to.
</td></tr><tr><td>|</td><td>
Ends DATA and PARAMS, starts DESC.
</td></tr><tr><td>=</td><td>
In DATA, adds "=" to DATA (same as \= would). In PARAM, separates param
name from value.
</td></tr><tr><td>%XX<br /><code>m[%([\da-f]{2})]i</code></td><td>
Adds <code>pack("C",hex($1))</code> to the string.
</td></tr><tr><td>\\ \; \& \? \/ \# \| \= \%</td><td>
Adds the second (escaped) character to the string.
</td></tr><tr><td>\*<br /><code>m[\\(\W)]</code></td><td>
Adds <code>"\\$1"</code> to the string.
</td></tr><tr><td>\A<br /><code>m[\\(\w)]</code></td><td>
Adds <code>$1</code> to the string.
</td></tr><tr><td>%</td><td>
Is treated like \% if it isn't follow by two valid hex characters
(it adds a "%" to the string).
</td></tr><tr><td>&lt;<br /><code>m[<\b;?]i</code></td><td>
Adds '<' to the string.
</td></tr><tr><td>&gt;<br /><code>m[>\b;?]i</code></td><td>
Adds '>' to the string.
</td></tr><tr><td>&quot;<br /><code>m["\b;?]i</code></td><td>
Adds '"' to the string.
</td></tr><tr><td>&lsb;<br /><code>m[&lsb\b;?]i</code></td><td>
Adds '[' to the string.
</td></tr><tr><td>&rsb;<br /><code>m[&rsb\b;?]i</code></td><td>
Adds ']' to the string.
</td></tr><tr><td>&#91;<br /><code>m[&#(\d+);?]</code></td><td>
Adds pack("C",$1) to the string.
</td></tr><tr><td>&</td><td>
Is treated like <code>&</code> if it doesn't start one of the
above HTML escapes (ends DATA or separates parameters).
</td></tr></table>
<br />
<h4>Examples</h4>
<p>
Here are some examples showing how the above (rather complex) rules are
designed to be do-what-I-mean when constructing links:
</p><ul><li><p>
<code>[user://turnstep#Cplusplus|Chatterbox FAQ++]</code> becomes
[user://turnstep#Cplusplus|Chatterbox FAQ++]. Note how it jump down
to the <code><a name="Cplusplus">Chatterbox FAQ++</a></code> point
of [turnstep]'s home node.
</p></li><li><p>
Note that <code>[turnstep#Cplusplus]</code> doesn't start with WORD://
and so # is not recognized as being special and so this tries to search
for nodes having "turnstep#Cplusplus" in their title and so probably
finds nothing: [turnstep#Cplusplus].
</p></li><li><p>
<code>[title://turnstep#Cplusplus]</code> (probably) also works since we
don't (shouldn't) have any nodes titled "[turnstep]" except for the user:
[title://turnstep#Cplusplus].
</p></li><li><p>
If you want to find a node with # in the title, you can use
<code>[Using # inside qw()]</code> ([Using # inside of qw()]) or
<code>[title://Using \# inside qw()]</code> ([title://Using \# inside qw()]).
Note how the # has to be escaped as \# when using WORD:// links.
</p></li><li><p>
This is useful if you want to specify extra options in the link. For
example <code>[title://Using \# inside qw();displaytype=xml]</code>
([title://Using \# inside qw();displaytype=xml]) will give you the XML
version of that node.
</p></li><li><p>
Even better would be to not rely on the title of the node never changing
and link to it via the node ID instead:
<code>[id://94698;displaytype=xml]</code> ([id://94698;displaytype=xml]).
</p></li><li><p>
Similarly, you can't use <code>[P(erl|ython)]</code> to link to
the node with that titles since it becomes [P(erl|ython)] and there
is no way to escape | if you aren't using the WORD:// type of link.
</p></li><li><p>
To link to that node use <code>[title://P(erl\|ython)]</code>
([title://P(erl\|ython)]), <code>[title://P(erl\|ython)|cool obfu]</code>
([title://P(erl\|ython)|cool obfu]), or <code>[id://31015]</code>
([id://31015]), etc.
</p></li></ul>
<p>
last major update by [tye] - 2003-01-08<br />
</p>
<hr />
<ul>
<li>[id://108949;user=ar0n|my scratchpad]
<li>[pad://some\|stupid\|user|ar0n]
<li>[pm://images/|Image directory]
<li>[id://8948;me=ar0n's home\; welcome|My home node]
<li>[kobes://File::Copy|Hello, there ;)]
<li>[title://Petruchio#TheGoodStuff|pr0n]
<li>[title://tye\#MoreGoodStuff|More pr0n]
<li>[title://foo\|bar|baz]
<li>[id://300000|Oh, SURE. You're not really here, are you?]
<li>[id://Oh, no isn't this nice|Yep]
<li>[id://300000]
<li>[pm://this/?if=or&that=why;who=\&\|text]
</ul>
2017-12-31 20:00:42
413
358187
157085
-11
America/Los_Angeles
120
on
on