A key feature of wiki-based systems is the ease of creating hyper links (or short links) in the text of a document. Pm Wiki provides multiple mechanisms for creating such links.
To create a link to another page, simply enclose the name of the page inside double square brackets, as in [[wiki sandbox]]
or [[installation]]
. This results in links to wiki sandbox and installation, respectively.
Pm Wiki creates a link by using the text inside the double brackets. It does this by removing spaces between words, and automatically capitalizing the first letter of each word following spaces or other punctuation (like ~). Thus [[Wiki Sandbox]]
, [[wiki sandbox]]
, and [[WikiSandbox]]
all display differently but create the same link to the page titled WikiSandbox
.
Or in other words, Pm Wiki will automatically create the "link path name" using the page name in Camel Case?, but the "link text" will display in the format you have entered it.
Some Pm Wiki sites (default not) will recognize words written in Camel Case?, a WikiWord, automatically as a link to a page of the same name.
There are three ways to get a different link text:
[[(wiki) sandbox]]
links to WikiSandbox but displays as sandbox.
[[WikiSandbox | a play area]]
, or you can use an arrow (->
) to reverse the order of the link text and the target, as in [[a play area -> WikiSandbox]]
. Both links displays as a play area.
[[PageName|+]]
markup, e.g. page BasicEditing
contains the directive (:title Basic Pm Wiki editing rules:) with the result that a link written as [[BasicEditing|+]]
will display as Basic PmWiki editing rules.On top of above ways, a suffix can be added to the end of a link, which becomes part of the link text but not of the target page name.
Note: This feature does currently not work with the [[PageName|+]]
markup.
What to type |
What it looks like |
[[(wiki) sandbox]], [[(wiki) sandbox]]es\\ [[WikiSandbox|wiki sandbox]], [[WikiSandbox|wiki sandbox]]es\\ [[BasicEditing|+]], [[BasicEditing|+]]et | sandbox,
sandboxes |
Links to nonexistent pages? are displayed specially, to invite others to create the page. See Creating new pages to learn more.
Links as written above are links between pages of the same group. To create a link to a page in another group, add the name of that other group and a dot or slash as prefix to the page name. For example, links to Main/WikiSandbox
could be written as:
What to type |
What it looks like |
* [[Main.WikiSandbox]] * [[Main/WikiSandbox]] * [[(Main.Wiki)Sandbox]] * [[Main.WikiSandbox | link text]] * [[Main.WikiSandbox | +]] |
To link to the "default home page" of a group, the name of the page can be omitted:
* [[Main.]] * [[Main/]] |
See Wiki Group to learn more about Pm Wiki groups.
[[PageName|#]]
creates a reference link as shown below[1].
[[!PageName]]
creates a link to the Page Name? in the group called Category. See Categories.
[[~Author]]
link creates a link to the page called Author in the Profiles group.
~
~~
markup creates a link for the current Author when it encounters three tilde characters (~
) in a row (~
~
~
).
~~
~~
markup creates a link for the current author and appends the current date and time when four tilde characters (~
) in a row are encountered
To define a location within a page to which you may jump directly, use the markup [[#name]]
. This creates an "anchor" that uniquely identifies that location in the page. Then to have a link jump directly to that anchor, use one of
[[#name|link text]]
within the same page, or
[[PageName#name]]
or [[PageName#name|link text]]
for a location on another page
[[PageName(#name)]]
may be useful for hiding the anchor text in a link.
For example, here's a link to the Intermaps section, below.
Notes:
[[#my anchor]]
" won't work, "[[#myanchor]]
" will.
To link to a specific action for the current page use [[{$FullName}?action=actionname|linkname]]
.
Examples:
[[{$FullName}?action=edit|Edit]]
for the editing or
[[{$FullName}?action=diff|differences]]
for differences.
Links to external sites simply begin with a prefix such as 'http:', 'ftp:', etc. Thus http://google.com/
and [[http://google.com/]]
both link to Google. As with the above, an author can specify the link text by using the vertical brace or arrow syntax, as in [[http://google.com/ | Google]]
and [[Google -> http://google.com]]
.
It is possible to set a "tooltip title" of the external link by adding it in quotes after the address:
[[http://www.pmwiki.org/"Home of PmWiki"|link]] |
If the external link includes (parentheses), escape these using %28 for "(" and %29 for ")" :
[[http://en.wikipedia.org/wiki/Wiki_%28disambiguation%29 | link to "Wiki (disambiguation)" ]] |
You can link to a file system by including the prefix 'file:///'
(for Internet Explorer at least). So file:///S:\ProjPlan.mpp
and [[Shared S drive->file:///S:\]]
are both valid links. On a Windows file system you may want to use network locations (eg \\server1\rootdirectory\subdirectory) rather than drive letters which may not be consistent across all users. Not all browsers will follow such links.
Links may also be specified as References, so the target appears as an anonymous numeric reference rather than a textual reference. The following markup is provided to produce sequential reference numbering within a Pm Wiki page:
Formatting the link as: [[http://google.com |#]]
produces: [2] as the link.
Subsequent occurrence of the reference link format on the same page will be incremented automatically as per the following example: Entering [[http://pmwiki.com |#]]
produces [3], [[#intermaps |#]]
produces [4], and so on for further reference links.
Inter Map links are also supported (see Inter Map). In particular, the Path:
Inter Map entry can be used to create links using relative or absolute paths on the current site (e.g., Path:../../somedir/foo.html
or Path:/dir/something.gif
).
To have a link open in another window, use %newwin%...%%
:
%newwin% http://pmichaud.com %%
produces http://pmichaud.com
%newwin% [[http://google.com/ | Google]] %%
produces Google
%newwin% [[Main.WikiSandbox]] %%
produces Main.WikiSandbox
You can also specify that links should open in a new window via the %target=_blank%...%%
attribute:
The following link %target=_blank% http://pmichaud.com %% will open in a new window. | The following link http://pmichaud.com will open in a new window. |
Prefix a link with %rel=nofollow% to advise robots and link checkers not to follow it.
Pm Wiki automatically gives classes to several types of links. Among other things, this enables you to format each type differently.
Note: This may be an incomplete list.
Note: The default behavior of "+" above can be overridden to display the spaced title, rather than simply the title by adding the following to config.php:
## [[target |+]] title links Markup('[[|+', '<[[|', "/(?>\\[\\[([^|\\]]+))\\|\\s*\\+\\s*]]/e", "Keep(MakeLink(\$pagename, PSS('$1'), PageVar(MakePageName(\$pagename,PSS('$1')), '\$Titlespaced') ),'L')");
How do I create a link that will open as a new window?
Use the %newwin%
wikistyle, as in:
%newwin% http://example.com/ %% |
How do I create a link that will open a new window, and configure that new window?
This requires javascript. See Cookbook:PopupWindow.
How do I place a mailing address in a page?
Use the mailto:
markup, as in one of the following:
* mailto:myaddress@example.com * [[mailto:myaddress@example.com]] * [[mailto:myaddress@example.com | email me]] * [[mailto:myaddress@example.com?subject=Some subject | email me]] |
The markup [[mailto:me@example.com?cc=someoneelse@example.com&bcc=else@example.com&subject=Pre-set Subject&body=Pre-set body | display text]] =]
lets you specify more parameters like the message body and more recipients (may not work in all browsers and e-mail clients).
See also Cookbook:DeObMail for information on protecting email addresses from spammers.
How can I enable links to other protocols, such as nntp:, ssh:, xmpp:, etc?
How do I make a Wiki Word link to an external page instead of a Wiki Page?
Use link markup. There are two formats:
[[http://example.com/ | WikiWord]] [[WikiWord -> http://example.com/]]
How do I find all of the pages that link to another page (i.e., backlinks)?
In the wiki search form, use link=Group.Page
to find all pages linking to Group.Page.
Use the link=
option of the (:pagelist:)
directive, as in
(:pagelist link=SomePage list=all:) -- show all links to SomePage (:pagelist link={$FullName} list=all:) -- show all links to the current page
What link schemes does Pm Wiki support?
How do I open external links in a new window or mark them with an icon?
How can I use an image as a link?
Use [[Page| Attach:image.jpg ]] or [[ http://site | http://site/image.jpg ]] See Images#links