X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/a97964688b73d0a3237c798dce3fb064ff29ff11..0fcbcc4815042531eb58de339844a3767fb5e707:/IkiWiki.pm
diff --git a/IkiWiki.pm b/IkiWiki.pm
index a5f83ac7a..5355b838d 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -12,19 +12,20 @@ use Storable;
use open qw{:utf8 :std};
use vars qw{%config %links %oldlinks %pagemtime %pagectime %pagecase
- %pagestate %wikistate %renderedfiles %oldrenderedfiles
- %pagesources %destsources %depends %depends_simple %hooks
- %forcerebuild %loaded_plugins %typedlinks %oldtypedlinks};
+ %pagestate %wikistate %renderedfiles %oldrenderedfiles
+ %pagesources %destsources %depends %depends_simple %hooks
+ %forcerebuild %loaded_plugins %typedlinks %oldtypedlinks
+ %autofiles};
use Exporter q{import};
our @EXPORT = qw(hook debug error template htmlpage deptype
- add_depends pagespec_match pagespec_match_list bestlink
- htmllink readfile writefile pagetype srcfile pagename
- displaytime will_render gettext ngettext urlto targetpage
- add_underlay pagetitle titlepage linkpage newpagefile
- inject add_link
- %config %links %pagestate %wikistate %renderedfiles
- %pagesources %destsources %typedlinks);
+ add_depends pagespec_match pagespec_match_list bestlink
+ htmllink readfile writefile pagetype srcfile pagename
+ displaytime will_render gettext ngettext urlto targetpage
+ add_underlay pagetitle titlepage linkpage newpagefile
+ inject add_link add_autofile
+ %config %links %pagestate %wikistate %renderedfiles
+ %pagesources %destsources %typedlinks);
our $VERSION = 3.00; # plugin interface version, next is ikiwiki version
our $version='unknown'; # VERSION_AUTOREPLACE done by Makefile, DNE
our $installdir='/usr'; # INSTALLDIR_AUTOREPLACE done by Makefile, DNE
@@ -1086,14 +1087,16 @@ sub htmllink ($$$;@) {
$bestlink=htmlpage($bestlink);
if (! $destsources{$bestlink}) {
- return $linktext unless length $config{cgiurl};
- return " "create",
- page => lc($link),
- from => $lpage
- ).
- "\" rel=\"nofollow\">?$linktext"
+ my $cgilink = "";
+ if (length $config{cgiurl}) {
+ $cgilink = " "create",
+ page => lc($link),
+ from => $lpage
+ )."\" rel=\"nofollow\">?";
+ }
+ return "$cgilink$linktext"
}
}
@@ -1843,15 +1846,8 @@ sub deptype (@) {
}
my $file_prune_regexp;
-sub file_pruned ($;$) {
+sub file_pruned ($) {
my $file=shift;
- if (@_) {
- require File::Spec;
- $file=File::Spec->canonpath($file);
- my $base=File::Spec->canonpath(shift);
- return if $file eq $base;
- $file =~ s#^\Q$base\E/+##;
- }
if (defined $config{include} && length $config{include}) {
return 0 if $file =~ m/$config{include}/;
@@ -1890,7 +1886,7 @@ sub define_gettext () {
return shift;
}
};
- *ngettext=sub {
+ *ngettext=sub {
$getobj->() if $getobj;
if ($gettext_obj) {
$gettext_obj->nget(@_);
@@ -1955,6 +1951,15 @@ sub add_link ($$;$) {
}
}
+sub add_autofile ($$$) {
+ my $file=shift;
+ my $plugin=shift;
+ my $generator=shift;
+
+ $autofiles{$file}{plugin}=$plugin;
+ $autofiles{$file}{generator}=$generator;
+}
+
sub sortspec_translate ($$) {
my $spec = shift;
my $reverse = shift;