diff options
author | Joey Hess <joey@kitenet.net> | 2011-01-05 16:26:09 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-01-05 16:26:09 -0400 |
commit | ea734d451ce7680906618b41ac35a0f3904b154a (patch) | |
tree | cda265d29db86f3ab5489262ad9736267cc5bca4 /IkiWiki/Plugin | |
parent | 885bff723998525c10d7ea8ad295547f5fcc939a (diff) |
better handling of relative permalinks
This way, do=goto will go to the page relative to
the current location, while the permalinks in feeds
will be absolute (unless an url is not configured at all).
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r-- | IkiWiki/Plugin/comments.pm | 2 | ||||
-rw-r--r-- | IkiWiki/Plugin/meta.pm | 5 | ||||
-rw-r--r-- | IkiWiki/Plugin/recentchanges.pm | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index cdb926271..f3d6f20d6 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -237,7 +237,7 @@ sub preprocess { } if ($params{page} =~ m/\/\Q$config{comments_pagename}\E\d+_/) { - $pagestate{$page}{meta}{permalink} = urlto(IkiWiki::dirname($params{page}), undef, 1). + $pagestate{$page}{meta}{permalink} = urlto(IkiWiki::dirname($params{page})). "#".page_to_id($params{page}); } diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm index abc8f1b1a..ad6d1a8e3 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm @@ -298,6 +298,11 @@ sub pagetemplate (@) { if exists $pagestate{$page}{meta}{$field} && $template->query(name => $field); } + foreach my $field (qw{permalink}) { + $template->param($field => IkiWiki::urlabs($pagestate{$page}{meta}{$field}, $config{url})) + if exists $pagestate{$page}{meta}{$field} && $template->query(name => $field); + } + foreach my $field (qw{description}) { $template->param($field => HTML::Entities::encode_numeric($pagestate{$page}{meta}{$field})) if exists $pagestate{$page}{meta}{$field} && $template->query(name => $field); diff --git a/IkiWiki/Plugin/recentchanges.pm b/IkiWiki/Plugin/recentchanges.pm index 92083a7ad..d6292c3f2 100644 --- a/IkiWiki/Plugin/recentchanges.pm +++ b/IkiWiki/Plugin/recentchanges.pm @@ -225,7 +225,7 @@ sub store ($$$) { wikiname => $config{wikiname}, ); - $template->param(permalink => urlto($config{recentchangespage}, undef, 1)."#change-".titlepage($change->{rev})) + $template->param(permalink => urlto($config{recentchangespage})."#change-".titlepage($change->{rev})) if exists $config{url}; IkiWiki::run_hooks(pagetemplate => sub { |