X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fblosxom-plugins.git;a=blobdiff_plain;f=gavinc%2Fflavourpathinfo;h=e800a8bfa601166329e5cb8963f2cebe49bdeddb;hp=6ab1b9c660a836de4752db5b0e7bb7312a202f6b;hb=20f6152e08a8e4e7bc9a063cf5d4b4a73f8c3b48;hpb=71175edf2bb82c616d4694752779a76f5b4d4078 diff --git a/gavinc/flavourpathinfo b/gavinc/flavourpathinfo index 6ab1b9c..e800a8b 100644 --- a/gavinc/flavourpathinfo +++ b/gavinc/flavourpathinfo @@ -1,7 +1,8 @@ # Blosxom Plugin: flavourpathinfo # Author(s): Gavin Carr -# Version: 0.002000 +# Version: 0.002002 # Documentation: 'perldoc flavourpathinfo' +# Follows: extensionless package flavourpathinfo; @@ -9,37 +10,34 @@ use strict; # --- Configurable variables ----- -my $debug_level = 0; +# None # -------------------------------- -my $package = 'flavourpathinfo'; -sub debug { - my ($level, @msg) = @_; - - if ($debug_level >= $level) { - print STDERR "$package debug $level: @msg\n"; - } -} +# use Blosxom::Debug debug_level => 1; sub start { my $path_info = $blosxom::path_info; - debug(1, "original path_info: $path_info"); - return 1 if -e "$blosxom::datadir/$path_info"; # Remove any trailing / $path_info =~ s! /$ !!x; + my $path_file = $blosxom::path_info; + $path_file =~ s/\.\w+$/.$blosxom::file_extension/; + return 1 if -e "$blosxom::datadir/$path_info" || -f "$blosxom::datadir/$path_file"; + + # debug(1, "original path_info: $path_info"); + # Check file/flavour variant if ($path_info =~ m! ^ (.*) / ([^/]+) $ !x) { my $flavour = $2; my $path_info_new = "$1.$flavour"; my $path_file = "$1.$blosxom::file_extension"; - debug(2, "path_file: $path_file, path_info_new: $path_info_new"); + # debug(2, "path_file: $path_file, path_info_new: $path_info_new"); if (-f "$blosxom::datadir/$path_file") { - debug(1, "\$path_info_new exists - updating \$blosxom::path_info"); + # debug(1, "\$path_info_new exists - updating \$blosxom::path_info"); $blosxom::path_info = $path_info_new; $blosxom::flavour = $flavour; $blosxom::path_info_yr = undef; @@ -51,21 +49,21 @@ sub start { if ($path_info =~ m! ^ (?: (.*) / )? ([^/]+) $ !x) { my $dir = $1 || ''; my $flavour = $2; - debug(2, "dir: $dir, flavour: $flavour"); + # debug(2, "dir: $dir, flavour: $flavour"); # Check there isn't an entry matching this if (-f "$blosxom::datadir$dir/$flavour.$blosxom::file_extension") { - debug(2, "entry $blosxom::datadir/$dir/$flavour.$blosxom::file_extension found - skipping"); + # debug(2, "entry $blosxom::datadir/$dir/$flavour.$blosxom::file_extension found - skipping"); return 1; } # Check $dir is a directory (sanity check - overly aggressive?) if ($dir && ! -d "$blosxom::datadir/$dir") { - debug(2, "dir '$dir' is set but not a directory"); + # debug(2, "dir '$dir' is set but not a directory"); return 1; } - debug(1, "dir '$dir' not set or exists and directory - setting \$blosxom::path_info"); + # debug(1, "dir '$dir' not set or exists and directory - setting \$blosxom::path_info"); $blosxom::path_info = $dir; $blosxom::flavour = $flavour; $blosxom::path_info_yr = undef; @@ -111,8 +109,11 @@ map to: =head1 USAGE -Should be loaded early as it manipulates $blosxom::path_info -e.g. as 00flavourpathinfo. +If used with the 'extensionless' plugin, it should be loaded +*after* extensionless. + +But should be loaded early as it manipulates $blosxom::path_info +e.g. as 02flavourpathinfo. =head1 SEE ALSO