From: joey Date: Tue, 20 Feb 2007 06:42:10 +0000 (+0000) Subject: found some problems in plugins X-Git-Tag: 1.44~129 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5e9dd45f4bd500b22c25efa2e457a0f9f63db439;p=ikiwiki.git found some problems in plugins --- diff --git a/doc/patchqueue/index.html_allowed.mdwn b/doc/patchqueue/index.html_allowed.mdwn index 44b2a2205..dffffa184 100644 --- a/doc/patchqueue/index.html_allowed.mdwn +++ b/doc/patchqueue/index.html_allowed.mdwn @@ -273,9 +273,83 @@ I'll attach an updated and slightly modified version below. * The rss page name generation code seems unnecesarily roundabout, I'm sure that can be cleaned up somehow, perhaps by making `htmlpage` more generic. +* `aggregate.pm` uses htmlpage in a way that breaks with its new behavior. + It will need to be changed as follows: -This is only a first pass, I have not yet audited all the plugins to see if -any are broken by the changes. + Index: aggregate.pm + =================================================================== + --- aggregate.pm (revision 2700) + +++ aggregate.pm (working copy) + @@ -320,7 +320,7 @@ + # NB: This doesn't check for path length limits. + eval q{use POSIX}; + my $max=POSIX::pathconf($config{srcdir}, &POSIX::_PC_NAME_MAX); + - if (defined $max && length(htmlpage($page)) >= $max) { + + if (defined $max && length(htmlfn($page)) >= $max) { + $c=""; + $page=$feed->{dir}."/item"; + while (exists $IkiWiki::pagecase{lc $page.$c} || + @@ -356,7 +356,7 @@ + if (ref $feed->{tags}) { + $template->param(tags => [map { tag => $_ }, @{$feed->{tags}}]); + } + - writefile(htmlpage($guid->{page}), $config{srcdir}, + + writefile(htmlfn($guid->{page}), $config{srcdir}, + $template->output); + + # Set the mtime, this lets the build process get the right creation + @@ -434,4 +434,8 @@ + return "$config{srcdir}/".htmlpage($page); + } #}}} + + +sub htmlfn ($) { #{{{ + + return shift().".html"; + +} #}}} + + + 1 + +* `linkmap.pm` uses `htmlpage` to construct a link and should probably be + changed like this (untested): + + Index: linkmap.pm + =================================================================== + --- linkmap.pm (revision 2700) + +++ linkmap.pm (working copy) + @@ -50,8 +50,7 @@ + foreach my $item (keys %links) { + if (pagespec_match($item, $params{pages}, $params{page})) { + my $link=htmlpage($item); + - $link=IkiWiki::abs2rel($link, IkiWiki::dirname($params{page})); + - $mapitems{$item}=$link; + + $mapitems{$item}=urlto($link, $params{destpage}); + } + } + +* `inline.pm` uses htmlpage and `abs2rel` to generate a link, and probably + needs to be changed to either use `urlto` or to call `beautify_url` like + htmllink does. This might work: + + Index: inline.pm + =================================================================== + --- inline.pm (revision 2700) + +++ inline.pm (working copy) + @@ -150,10 +150,7 @@ + # Don't use htmllink because this way the + # title is separate and can be overridden by + # other plugins. + - my $link=bestlink($params{page}, $page); + - $link=htmlpage($link) if defined $type; + - $link=abs2rel($link, dirname($params{destpage})); + - $template->param(pageurl => $link); + + $template->param(pageurl => urlto(bestlink($params{page}, $page), $params{destpage})); + $template->param(title => pagetitle(basename($page))); + $template->param(ctime => displaytime($pagectime{$page})); + +* `img.pm` makes some assumptions about name of the page that will be + linking to the image, which are probably broken. + +* The changes to htmlpage's behavior probably call for the plugin + interface version number to be changed. --[[Joey]]