my $param_all = param('-all');
find(
sub {
- my $d;
my $curr_depth = $File::Find::dir =~ tr[/][];
return if $depth and $curr_depth > $depth;
+ return if !-r $File::Find::name;
- if (
-
- # a match
- $File::Find::name
- =~ m!^$datadir/(?:(.*)/)?(.+)\.$file_extension$!
-
- # not an index, .file, and is readable
- and $2 ne 'index' and $2 !~ /^\./ and ( -r $File::Find::name )
- )
+ # if a $file_extension file and not a .file or an index
+ if ( m/^([^.].*)\.$file_extension$/
+ and $1 ne 'index' )
{
+ my $basename_noext = $1;
# read modification time
my $mtime = stat($File::Find::name)->mtime or return;
$files{$File::Find::name} = $mtime;
# static rendering bits
+ (my $dirname = $File::Find::dir) =~ s!^$datadir/?!!;
my $static_file
- = "$static_dir/$1/index." . $static_flavours[0];
+ = "$static_dir/${dirname}index.$static_flavours[0]";
if ( $param_all
or !-f $static_file
or stat($static_file)->mtime < $mtime )
{
- $indexes{$1} = 1;
- $d = join( '/', ( nice_date($mtime) )[ 5, 2, 3 ] );
+ $indexes{$dirname} = 1;
+ my $d = join( '/', ( nice_date($mtime) )[ 5, 2, 3 ] );
$indexes{$d} = $d;
- $indexes{ ( $1 ? "$1/" : '' ) . "$2.$file_extension" } = 1
+ $indexes{"$dirname$basename_noext.$file_extension"} = 1
if $static_entries;
}
}
# not an entries match
- elsif ( !-d $File::Find::name and -r $File::Find::name ) {
+ elsif ( !-d $File::Find::name ) {
$others{$File::Find::name} = stat($File::Find::name)->mtime;
}
},
%indexes = %$indexes;
# Static
-if ( !$ENV{GATEWAY_INTERFACE}
- and param('-password')
- and $static_password
- and param('-password') eq $static_password )
-{
+if ( $static_or_dynamic eq 'static' ) {
param('-quiet') or print "Blosxom is generating static index pages...\n";