diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-07-27 23:41:58 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-07-27 23:41:58 +0000 |
commit | dea23a1031b55dbc408e9f99c761fd667331cccd (patch) | |
tree | d4f036e9c2ef355693503a0f7ea84158ae549f2b /IkiWiki/Plugin/inline.pm | |
parent | 8d2c59804253ae513dda89cc6b733478c4c86fb6 (diff) | |
download | ikiwiki-dea23a1031b55dbc408e9f99c761fd667331cccd.tar ikiwiki-dea23a1031b55dbc408e9f99c761fd667331cccd.tar.gz |
* Switch pagetemplate hooks to using named parameters.
* Pass a "destpage" parameter to preprocessor and pagetemplate hooks.
This will be the page that a source page will be part of, which is
different than the source page for inlined pages.
* Audited all plugins to endure they pass page, destpage to htmllink
appropriatly. This means inlining of various plugins will not work
properly, with correct links generated.
Diffstat (limited to 'IkiWiki/Plugin/inline.pm')
-rw-r--r-- | IkiWiki/Plugin/inline.pm | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index 749e39fb6..06c4a3737 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -77,13 +77,17 @@ sub preprocess_inline (@) { #{{{ foreach my $page (@list) { $template->param(pagelink => htmllink($params{page}, $params{page}, $page)); - $template->param(content => get_inline_content($params{page}, $page)) + $template->param(content => get_inline_content($page, $params{page})) if $params{archive} eq "no"; $template->param(ctime => displaytime($pagectime{$page})); if (exists $hooks{pagetemplate}) { foreach my $id (keys %{$hooks{pagetemplate}}) { - $hooks{pagetemplate}{$id}{call}->($page, $template); + $hooks{pagetemplate}{$id}{call}->( + page => $page, + destpage => $params{page}, + template => $template, + ); } } @@ -104,13 +108,13 @@ sub preprocess_inline (@) { #{{{ } #}}} sub get_inline_content ($$) { #{{{ - my $parentpage=shift; my $page=shift; + my $destpage=shift; my $file=$pagesources{$page}; my $type=pagetype($file); if (defined $type) { - return htmlize($type, preprocess($page, linkify($page, $parentpage, readfile(srcfile($file))), 1)); + return htmlize($type, preprocess($page, $destpage, linkify($page, $destpage, readfile(srcfile($file))), 1)); } else { return ""; @@ -156,7 +160,7 @@ sub genrss ($@) { #{{{ itemtitle => pagetitle(basename($p)), itemurl => "$config{url}/$renderedfiles{$p}", itempubdate => date_822($pagectime{$p}), - itemcontent => absolute_urls(get_inline_content($page, $p), $url), + itemcontent => absolute_urls(get_inline_content($p, $page), $url), } if exists $renderedfiles{$p}; } |