- It is possible to set a Page-Title in the meta-plugin, but that one isn't
- reused in parentlinks. This [[patch]] may fix it.
- <ul>
- <li> I give pagetitle the full path to a page.
- <li> I redefine the 'pagetitle'-sub to deal with it.
- <li> to maintain compatibility for IkiWikis without the meta-plugin, i added a 'basename' to the Original-pagetitle.
- </ul>
- <pre>
- diff -c /usr/share/perl5/IkiWiki/Render.pm.distrib /usr/share/perl5/IkiWiki/Render.pm
- *** /usr/share/perl5/IkiWiki/Render.pm.distrib Wed Aug 6 07:34:55 2008
- --- /usr/share/perl5/IkiWiki/Render.pm Tue Aug 26 23:29:32 2008
- ***************
- *** 102,108 ****
- $template->param(
- title => $page eq 'index'
- ? $config{wikiname}
- ! : pagetitle(basename($page)),
- wikiname => $config{wikiname},
- content => $content,
- backlinks => $backlinks,
- --- 102,108 ----
- $template->param(
- title => $page eq 'index'
- ? $config{wikiname}
- ! : pagetitle($page),
- wikiname => $config{wikiname},
- content => $content,
- backlinks => $backlinks,
- diff -c /usr/share/perl5/IkiWiki/Plugin/parentlinks.pm.distrib /usr/share/perl5/IkiWiki/Plugin/parentlinks.pm
- *** /usr/share/perl5/IkiWiki/Plugin/parentlinks.pm.distrib Wed Aug 6 07:34:55 2008
- --- /usr/share/perl5/IkiWiki/Plugin/parentlinks.pm Tue Aug 26 23:19:43 2008
- ***************
- *** 44,50 ****
- "height_$height" => 1,
- };
- $path.="/".$dir;
- ! $title=IkiWiki::pagetitle($dir);
- $i++;
- }
- return @ret;
- --- 44,50 ----
- "height_$height" => 1,
- };
- $path.="/".$dir;
- ! $title=IkiWiki::pagetitle($path);
- $i++;
- }
- return @ret;
- diff -c /usr/share/perl5/IkiWiki.pm.distrib /usr/share/perl5/IkiWiki.pm
- *** /usr/share/perl5/IkiWiki.pm.distrib Wed Aug 6 07:48:34 2008
- --- /usr/share/perl5/IkiWiki.pm Tue Aug 26 23:47:30 2008
- ***************
- *** 792,797 ****
- --- 792,799 ----
- my $page=shift;
- my $unescaped=shift;
-
- + $page=basename($page);
- +
- if ($unescaped) {
- $page=~s/(__(\d+)__|_)/$1 eq '_' ? ' ' : chr($2)/eg;
- }
- diff -c /usr/share/perl5/IkiWiki/Plugin/meta.pm.distrib /usr/share/perl5/IkiWiki/Plugin/meta.pm
- *** /usr/share/perl5/IkiWiki/Plugin/meta.pm.distrib Wed Aug 6 07:34:55 2008
- --- /usr/share/perl5/IkiWiki/Plugin/meta.pm Tue Aug 26 23:30:58 2008
- ***************
- *** 3,8 ****
- --- 3,9 ----
- package IkiWiki::Plugin::meta;
-
- use warnings;
- + no warnings 'redefine';
- use strict;
- use IkiWiki 2.00;
-
- ***************
- *** 289,294 ****
- --- 290,319 ----
- }
- } #}}}
-
- + sub IkiWiki::pagetitle ($;$) { #{{{
- + my $page=shift;
- + my $unescaped=shift;
- +
- + if ($page =~ m#/#) {
- + $page =~ s#^/##;
- + $page =~ s#/index$##;
- + if ($pagestate{"$page/index"}{meta}{title}) {
- + $page = $pagestate{"$page/index"}{meta}{title};
- + } else {
- + $page = IkiWiki::basename($page);
- + }
- + }
- +
- + if ($unescaped) {
- + $page=~s/(__(\d+)__|_)/$1 eq '_' ? ' ' : chr($2)/eg;
- + }
- + else {
- + $page=~s/(__(\d+)__|_)/$1 eq '_' ? ' ' : "&#$2;"/eg;
- + }
- +
- + return $page;
- + } #}}}
- +
- package IkiWiki::PageSpec;
-
- sub match_title ($$;@) { #{{{
- </pre>
- <p>
- This is actually a duplicate for
- [[bugs/pagetitle_function_does_not_respect_meta_titles]], where I'm
- following up a bit. --[[intrigeri]]
- </p>
|