Linking Pages
External Links
Pie regognizes character strings consisting of valid URLs. URLs, too, are displayed as links embedded into the surrounding continuous text. Note that a valid URL needs its protocol to be prepended. Consequently, http://www.gnu.org/ is recognized as an external resource and rendered as a link, but www.gnu.org is not. URLs referring to external resources are always opened in a new browser window.
Another type of external resources is e-mail addresses. If your text contains a valid e-mail address, like info@foo.bar, it should be recognized as such and rendered as a link instead of continuous text so that readers can directly click it to mail the recipient.
You can always put double brackets around links to external resources to make their meaning stand out more clearly. Some weird addresses that do not abide the naming standards have to enforced via the [mail:] command. Commands are explained later on.
Wiki-Names
Pie can be configured to regognize character strings consisting of strict, native Wiki-names made up of CamelCase strings. Wiki-names placed somewhere in the continuous text are automatically recognized as Wiki-links, that is, links to other pages on the same server.
By default, Wiki-names are not recognized because modern life spawns so many artificial words made up of CamelCase strings that, when included in the text, would produce large amounts of links where non are demanded.
Internal Links
In the section Creating Pages you learn how to create links to pages: To anchor an internal link on your page pack its name into double brackets: [[MyPage]]. This creates a link to the homonymous page.
Page Groups
You can assign a page to be part of a page group by choosing the same group name for all of its members. Names for grouped pages consist of the group name, the group delimiter, and the actual name of the page. The delimiter is a special character (default: /) that separates the two name parts. Pages within the same group share the same hierarchical and logical context. All its members use the same relative addressing style to refer to each other: for links that refer to other members, the group name and delimiter can be omitted, resulting in the usual addressing style.
To link to a page (or file) from outside its group you have to employ the full path name of the destination, consisting of its group name as well as its actual name. This is called absolute addressing style because it addresses the linked resource distinctively using the absolute path of its name.
Pages (and files) without a group name are actually part of default group of the site, the root group. To address a member of the root group, a usual file that consists of its name part only, from a page that is a member of an other group, prepend the alternate delimiter as the first character of the name.
To link from page Fruits/Apple to Fruits/Apricot, write [[Apricot]].
To link from page Vegetables/Potatoe to Vegetables/Cabbage, write [[Cabbage]].
To link from page Fruits/Apple to Vegetables/Cabbage, write [[Vegetables/Cabbage]].
To link from page Vegetables/Cabbage to OatFlakes (in the root group), write /OatFlakes.
Page groups are used to enlarge the name space of a site. You can (re-)use the same or similar name for multiple pages that are members of different groups. For instance, you could create a page Apple in the Vegetables group, yielding Vegetables/Apple.
It is imperative to note that members of the same group can address each other without the use of group names, resembling a scenario with no groups at all. Only links that cross bounderies, that refer to a member of an other group, require the use of an absolute addressing style. This is why links between pages of different groups are used infrequently.
Groups also work for files, but since files contain no links and thus do not serve as referers, but only as destinations, the concatenated group name of a file just adds to its path name as a whole. Still, a page can link to a file without the use of a group name, if both share the same group.
Anchors
You can place labels (i. e. anchors) anywhere in your document using the [anchor:] command, bearing the label as an argument. [anchor:MarkMe] creates an anchor with the label MarkMe than can be referred from anywhere on the same page by a link started with a pound sign: [[#MarkMe]]. To create a link from page PageOne pointing to this very label on page PageTwo, you'd have to write the link as [[PageTwo#MarkMe]].
Alternate Text
To provide an alternate text to be displayed instead of your link, type a pipe character (|) after the link name, followed by the alternate text.
[[MyPage|My personal page]]
creates a link to MyPage, but prints the alternate text instead of the name of the page. This also works for external links, like web pages and e-mail addresses.