From 2476447a5b10843670287e0896871f68c3b9d1c6 Mon Sep 17 00:00:00 2001 From: joey Date: Thu, 21 Dec 2006 22:15:11 +0000 Subject: [PATCH] changed my mind about how to disambiguate links, it seems to make more sense to start them with a / --- IkiWiki.pm | 7 +++---- basewiki/subpage/linkingrules.mdwn | 10 +++++----- debian/changelog | 4 +--- ...o_link_to_page_at_root_if_non-root_page_exists.mdwn | 2 +- doc/todo/latex.mdwn | 2 +- 5 files changed, 11 insertions(+), 14 deletions(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index 54bb1826c..9f6c3bb1f 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -298,10 +298,9 @@ sub bestlink ($$) { #{{{ my $link=shift; my $cwd=$page; - - # relative links - while ($link=~s!(^|/)\.\./!!g) { - $cwd=~s!/?[^/]+$!!; + if ($link=~s/^\/+//) { + # absolute links + $cwd=""; } do { diff --git a/basewiki/subpage/linkingrules.mdwn b/basewiki/subpage/linkingrules.mdwn index 1543801b3..c07a81387 100644 --- a/basewiki/subpage/linkingrules.mdwn +++ b/basewiki/subpage/linkingrules.mdwn @@ -20,8 +20,8 @@ the only way to link to an unrelated [[SubPage]]. You can use this to, for example, to link from BazBar to "FooBar/SubPage", or from BazBar/SubPage to "FooBar/SubPage". -You can also use ".." in a link, to specify exactly which page to link to, -when there are multiple pages with similar names and the link goes to the -wrong page by default. For example, linking from "FooBar/SubPage" to -".../OtherPage" will link to the "OtherPage" in the root of the wiki, even -if there is a "FooBar/OtherPage". +You can also use "/" at the start of a link, to specify exactly which page +to link to, when there are multiple pages with similar names and the link +goes to the wrong page by default. For example, linking from +"FooBar/SubPage" to "/OtherPage" will link to the "OtherPage" in the root +of the wiki, even if there is a "FooBar/OtherPage". diff --git a/debian/changelog b/debian/changelog index 5c64cd84c..bc2a384df 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,9 +18,7 @@ ikiwiki (1.36) UNRELEASED; urgency=low like, if you want. * Patch from Emanuele Aina to fix modification time code in mercurual backend. - * Add support for links of the form [[../foo]], this links to the page - foo a level higher in the directory hierarchy than the one it would link - to by default. + * Add support for links of the form [[/foo]] * Fix code to make absolute urls for rss feeds, was missing some urls. * Fix double-escaping of html entities in titles etc in rss feeds that occured if escaped characters were present in the page filename. diff --git a/doc/bugs/linkingrules_should_document_how_to_link_to_page_at_root_if_non-root_page_exists.mdwn b/doc/bugs/linkingrules_should_document_how_to_link_to_page_at_root_if_non-root_page_exists.mdwn index b6dd51fc7..27e07eb2e 100644 --- a/doc/bugs/linkingrules_should_document_how_to_link_to_page_at_root_if_non-root_page_exists.mdwn +++ b/doc/bugs/linkingrules_should_document_how_to_link_to_page_at_root_if_non-root_page_exists.mdwn @@ -1,3 +1,3 @@ The [[linking_rules|subpage/linkingrules]] should document how to link to a page at the root of the wiki when a normal, unadorned link would use a page of the same name further down the hierarchy. For example, how should [[todo/latex]] link to [[logo]] rather than [[todo/logo|todo/logo]]? -> [[bugs/done]].. the syntax to use is ../logo --[[Joey]] +> [[bugs/done]].. the syntax to use is "/logo" --[[Joey]] diff --git a/doc/todo/latex.mdwn b/doc/todo/latex.mdwn index 940145dd7..e45db3aed 100644 --- a/doc/todo/latex.mdwn +++ b/doc/todo/latex.mdwn @@ -2,4 +2,4 @@ How about a plugin adding a [[preprocessor_directive|preprocessordirective]] to render some given LaTeX as a PNG via [[debpkg dvipng]] and include the resulting image in the page? Useful for mathematics, as well as for stuff like the LaTeX version of the -ikiwiki [[../../logo]]. +ikiwiki [[/logo]]. -- 2.45.0