%audience% authors (basic) A key feature of [[WikiWikiWeb]]s is the ease of creating links in the text of a document. PmWiki provides multiple mechanisms for creating such links. !! Links to other pages To create a link to another page, simply enclose the name of the page inside double square brackets, as in [@[[wiki sandbox]]@] or [@[[installation]]@]. These result in links to [[wiki sandbox]] and [[installation]], respectively. PmWiki creates a link by using the text inside the double brackets. It does this by removing spaces between words, and automatically capitalizing words 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''. In other words, PmWiki will automatically create the link path name using title case as a rule, but link text will display in the format you have entered it. A suffix can also be added to the end of a link, which becomes part of the link text but not the target. Thus [@[[wiki sandbox]]es@] is a link to ''WikiSandbox'' but displays as [[wiki sandbox]]es. Link text in (parentheses) will not be not displayed, so that [@[[(wiki) sandbox]]@] links to ''WikiSandbox'' and displays as [[(wiki) sandbox]]. Finally, you can specify the link text via a vertical brace, thus [@[[WikiSandbox | a play area]]@], which links to ''WikiSandbox'' but displays as [[WikiSandbox | a play area]]. You can use an arrow ([@->@]) to reverse the order of the text and target, as in [@[[a play area -> WikiSandbox]]@] ([[a play area -> WikiSandbox]]). Some sites also recognize [[WikiWord]] links, in which a ''WikiWord'' appearing in the text is automatically treated as a link to a page of the same name. !! [[#linkshortcuts]]Link Shortcuts [@[[PageName|+]]@] creates a link to PageName and uses that page's title as the link text, eg [@[[Links|+]]@] gives [[Links|+]]. [@[[PageName|#]]@] creates a [[#reference|reference]] link as shown below. [@[[!PageName]]@]creates a link to the PageName in the group called Category. [@[[~Author]]@] link creates a link to the page in the page called Author in the Profiles group. PmWiki will automatically generate that link for the current Author when it encounters three tilde characters ([@~@]) in a row ([@~@][@~@][@~@]). Adding a fourth tilde ([@~@][@~@][@~@][@~@]) appends the current date and time. !! [[#anchors]]Links to specific locations within a page 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 * The form [@[[PageName(#name)]]@] may be useful for hiding the anchor text in a link. For example, here's a link to the [[#intermaps | Intermaps]] section, below. !!Links to external sites ([=URLs=]) 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]]@]. !! [[#reference]]Links as References Links may also be specifed 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 PmWiki page: Formatting the link as: [@[[http://google.com |#]]@] produces: [[http://google.com |#]] 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 [[http://pmwiki.com |#]], [@[[#intermaps |#]]@] produces [[#intermaps |#]], and so on for further reference links. !! [[#intermaps]]Intermaps InterMap links are also supported (see [[InterMap]]). In particular, the [@Path:@] InterMap 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@]). !!Links to pages in other [[wiki group]]s See [[WikiGroup]]. !!Links that open a new browser window To have a link open in another window, use [@%newwin%@]: * [@%newwin% http://www.pmichaud.com@] produces %newwin% http://www.pmichaud.com * [@%newwin% [[http://google.com/ | Google]]@] produces %newwin% [[http://google.com/ | Google]] * [@%newwin% Main.WikiSandbox@] produces %newwin% [[Main.WikiSandbox]] You can also specify that links should open in a new window via the @@target@@ attribute: (:markup:) [= %target=_blank% Any links on this line like http://www.pmichaud.com will open in a new window. =] %trail%<<|[[DocumentationIndex]]|>> >>faq<< [[#faq]] Q: How do I put a link that will open as a new window? A: Use the [@%newwin%@] wikistyle, as in: (:markup:) [=%newwin%http://www.example.com/=] Q: How do I place a mailing address in a page? A: Use the [@mailto:@] markup, as in one of the following: [@mailto:myaddress@example.com [[mailto:myaddress@example.com]] [[mailto:myaddress@example.com | email me]]@] See also [[Cookbook:EProtect]] for information on protecting email addresses from spammers. Q: How do I make a WikiWord link to an external page instead of a WikiPage? A: Use link markup. There are two formats: [@[[http://www.example.com/ | WikiWord]] [[WikiWord -> http://www.example.com/]]@] Q: How do I find all of the pages that link to another page (i.e., backlinks)? A: Use the [@link=@] option of the [[[@(:pagelist:)@] directive -> PageLists]], as in [@(:pagelist link=SomePage:) -- show all links to SomePage (:pagelist link={$FullName}:) -- show all links to the current page@]