summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-02-20 06:42:10 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-02-20 06:42:10 +0000
commit5e9dd45f4bd500b22c25efa2e457a0f9f63db439 (patch)
tree3cee6187bf18e032e7fd0cd78dde3586cca6504a
parent78bc8c16a7fe294bf7af1c4e6bba905e9438fba8 (diff)
found some problems in plugins
-rw-r--r--doc/patchqueue/index.html_allowed.mdwn78
1 files changed, 76 insertions, 2 deletions
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]]