]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
change example to override a real function
[ikiwiki.git] / IkiWiki.pm
index 633c5138180a9f87f4a974bef3322492c1d08ada..207ca87fb4d96dbecacddc897015647559d91a62 100644 (file)
@@ -681,11 +681,12 @@ sub srcfile ($;$) { #{{{
 sub add_underlay ($) { #{{{
        my $dir=shift;
 
-       if ($dir=~/^\//) {
-               unshift @{$config{underlaydirs}}, $dir;
+       if ($dir !~ /^\//) {
+               $dir="$config{underlaydir}/../$dir";
        }
-       else {
-               unshift @{$config{underlaydirs}}, "$config{underlaydir}/../$dir";
+
+       if (! grep { $_ eq $dir } @{$config{underlaydirs}}) {
+               unshift @{$config{underlaydirs}}, $dir;
        }
 
        return 1;
@@ -897,6 +898,23 @@ sub abs2rel ($$) { #{{{
 } #}}}
 
 sub displaytime ($;$) { #{{{
+       my $time=shift;
+       my $format=shift;
+       if (exists $hooks{displaytime}) {
+               my $ret;
+               run_hooks(displaytime => sub {
+                       $ret=shift->($time, $format)
+               });
+               return $ret;
+       }
+       else {
+               return formattime($time, $format);
+       }
+} #}}}
+
+sub formattime ($;$) { #{{{
+       # Plugins can override this function to mark up the time for
+       # display.
        my $time=shift;
        my $format=shift;
        if (! defined $format) {