added hook urlpath

This hook can be used to modify the internal urls generated by ikiwiki.

Signed-off-by: intrigeri <intrigeri@boum.org>
master
intrigeri 2008-10-08 00:50:10 +02:00
parent bd50ba3e83
commit d9b9022c13
3 changed files with 19 additions and 0 deletions

View File

@ -927,6 +927,10 @@ sub beautify_urlpath ($) { #{{{
$url =~ s!/index.$config{htmlext}$!/!; $url =~ s!/index.$config{htmlext}$!/!;
} }
run_hooks(urlpath => sub {
$url=shift->(url => $url);
});
# Ensure url is not an empty link, and # Ensure url is not an empty link, and
# if it's relative, make that explicit to avoid colon confusion. # if it's relative, make that explicit to avoid colon confusion.
if ($url !~ /^\//) { if ($url !~ /^\//) {

View File

@ -35,6 +35,7 @@ sub import { #{{{
hook(type => "formbuilder", id => "skeleton", call => \&formbuilder); hook(type => "formbuilder", id => "skeleton", call => \&formbuilder);
hook(type => "savestate", id => "skeleton", call => \&savestate); hook(type => "savestate", id => "skeleton", call => \&savestate);
hook(type => "targetpage", id => "skeleton", call => \&targetpage); hook(type => "targetpage", id => "skeleton", call => \&targetpage);
hook(type => "urlpath", id => "skeleton", call => \&urlpath);
} # }}} } # }}}
sub getopt () { #{{{ sub getopt () { #{{{
@ -209,4 +210,8 @@ sub targetpage () { #{{{
debug("skeleton plugin running in targetpage"); debug("skeleton plugin running in targetpage");
} #}}} } #}}}
sub urlpath () { #{{{
debug("skeleton plugin running in urlpath");
} #}}}
1 1

View File

@ -437,6 +437,16 @@ be compiled into.
It should return the target filename. It should return the target filename.
### urlpath
hook(type => "urlpath", id => "foo", call => \&urlpath);
This hook can be used to modify the internal urls generated by
ikiwiki; it is run just after ikiwiki has removed the trailing
`index.html`, in case `usedirs` is enabled.
It should return the modified url.
## Plugin interface ## Plugin interface
To import the ikiwiki plugin interface: To import the ikiwiki plugin interface: