117 lines
3.5 KiB
HTML
117 lines
3.5 KiB
HTML
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>
|