Merge branch 'master' of ssh://git.ikiwiki.info
[ikiwiki] / doc / todo / Inline_plugin_option_to_show_full_page_path.mdwn
1 I recently created a page which shows only discussion pages which have recently been updated (sort of a discussion blog), eg.
2
3 <http://adam.shand.net/iki/comments/>
4
5 My thought was that this would be a good way to keep track of recent comments other then using the recent changes functionality.  It works well except that the title of the discussion pages all show up as "discussion" so it's not visibly obvious which page they are discussing.
6
7 One solution would be to change the inline plugin to support an argument which caused the full path of the page to be listed as the title.  So rather then the title of discussion page being listed as "discussion" it would show up as "2007/OpenDNS/discussion/".
8
9 The only other way I can think of making this work would be to set the title of the discussion pages using the meta plugin ... but I don't like my chances of getting visitors to do that consistantly. :-(
10
11 Cheers,
12 [[AdamShand]]
13
14 > One way to approach it would be to add a field to the template
15 > that contains the full page name. Then you just use a modified
16 > `inlinepage.tmpl`, that uses that instead of the title. --[[Joey]]
17
18         diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
19         index 59eabb6..82913ba 100644
20         --- a/IkiWiki/Plugin/inline.pm
21         +++ b/IkiWiki/Plugin/inline.pm
22         @@ -229,6 +229,7 @@ sub preprocess_inline (@) {
23                                                 $template->param(content => $content);
24                                         }
25                                         $template->param(pageurl => urlto(bestlink($params{page}, $page), $params{destpage}));
26         +                               $template->param(page => $page);
27                                         $template->param(title => pagetitle(basename($page)));
28                                         $template->param(ctime => displaytime($pagectime{$page}, $params{timeformat}));
29
30 Cool, I'll give it a try, thanks! -- [[AdamShand]]