X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/2269a4c74b24378d8e7e2229ca3374a197d08d9c..752ccf8b48bab173839b5c7892e9868ee71846f0:/IkiWiki.pm
diff --git a/IkiWiki.pm b/IkiWiki.pm
index 3812961dc..dbf50feb4 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -15,7 +15,7 @@ use vars qw{%config %links %oldlinks %pagemtime %pagectime %pagecase
%pagestate %wikistate %renderedfiles %oldrenderedfiles
%pagesources %destsources %depends %depends_simple %hooks
%forcerebuild %loaded_plugins %typedlinks %oldtypedlinks
- %autofiles %del_hash};
+ %autofiles};
use Exporter q{import};
our @EXPORT = qw(hook debug error template htmlpage deptype
@@ -356,7 +356,7 @@ sub getsetup () {
},
wiki_file_prune_regexps => {
type => "internal",
- default => [qr/(^|\/)\.\.(\/|$)/, qr/^\./, qr/\/\./,
+ default => [qr/(^|\/)\.\.(\/|$)/, qr/^\//, qr/^\./, qr/\/\./,
qr/\.x?html?$/, qr/\.ikiwiki-new$/,
qr/(^|\/).svn\//, qr/.arch-ids\//, qr/{arch}\//,
qr/(^|\/)_MTN\//, qr/(^|\/)_darcs\//,
@@ -1087,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"
}
}
@@ -1844,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}/;
@@ -1956,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;
@@ -2021,30 +2025,6 @@ sub sortspec_translate ($$) {
return eval 'sub { '.$code.' }';
}
-sub add_autofile ($$) {
- my $autofile=shift;
- my $plugin=shift;
-
- if (srcfile($autofile, 1)) {
- return 0;
- }
-
- my ($file, $page) = verify_src_file("$config{srcdir}/$autofile", $config{srcdir});
-
- if ((!defined $file) ||
- (exists $pagestate{$page}{$plugin}{autofile_deleted})) {
- return 0;
- }
-
- if (exists $del_hash{$file}) {
- $pagestate{$page}{$plugin}{autofile_deleted}=1;
- return 0;
- }
-
- $autofiles{$file}=$plugin;
- return 1;
-}
-
sub pagespec_translate ($) {
my $spec=shift;
@@ -2275,7 +2255,7 @@ sub derel ($$) {
if ($path =~ m!^\./!) {
$from=~s#/?[^/]+$## if defined $from;
$path=~s#^\./##;
- $path="$from/$path" if length $from;
+ $path="$from/$path" if defined $from && length $from;
}
return $path;