]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
response
[ikiwiki.git] / IkiWiki.pm
index ab94f86225cef55c21617fa9e818b8a8aa3ee1d2..80750f502da428188c768c7c99eb62f637b08993 100644 (file)
@@ -680,7 +680,7 @@ sub preprocess ($$$;$$) { #{{{
                        # consider it significant.
                        my @params;
                        while ($params =~ m{
-                               (?:(\w+)=)?             # 1: named parameter key?
+                               (?:([-\w]+)=)?          # 1: named parameter key?
                                (?:
                                        """(.*?)"""     # 2: triple-quoted value
                                |
@@ -740,11 +740,11 @@ sub preprocess ($$$;$$) { #{{{
        $content =~ s{
                (\\?)           # 1: escape?
                \[\[            # directive open
-               (\w+)           # 2: command
+               ([-\w]+)        # 2: command
                \s+
                (               # 3: the parameters..
                        (?:
-                               (?:\w+=)?               # named parameter key?
+                               (?:[-\w]+=)?            # named parameter key?
                                (?:
                                        """.*?"""       # triple-quoted value
                                        |
@@ -871,7 +871,7 @@ sub loadindex () { #{{{
                        $pagecase{lc $page}=$page;
                        foreach my $k (grep /_/, keys %items) {
                                my ($id, $key)=split(/_/, $k, 2);
-                               $pagestate{$page}{decode_entities($id)}{decode_entities($key)}=$items{$k};
+                               $pagestate{$page}{decode_entities($id)}{decode_entities($key)}=$items{$k}[0];
                        }
                }
                $oldrenderedfiles{$page}=[@{$items{dest}}];
@@ -1067,10 +1067,10 @@ sub file_pruned ($$) { #{{{
        require File::Spec;
        my $file=File::Spec->canonpath(shift);
        my $base=File::Spec->canonpath(shift);
-       $file =~ s#^\Q$base\E/*##;
+       $file =~ s#^\Q$base\E/+##;
 
        my $regexp='('.join('|', @{$config{wiki_file_prune_regexps}}).')';
-       return $file =~ m/$regexp/;
+       return $file =~ m/$regexp/ && $file ne $base;
 } #}}}
 
 sub gettext { #{{{