in ARCHIVE/OLD-from-apache-cms/lib/view.pm [209:258]
sub sitemapFind {
my ($dir, $entries) = @_;
$entries->{"title"} = "";
$entries->{"entries"} = {};
my %entries = ( "title"=>"", "entries"=>{} );
foreach my $item (<$dir/*>) {
my ($rel) = ($item =~ /^.*\/(.*?)$/);
if(-d $item) {
# Only consider folders which have content page by them
if(-f "$item.mdtext") {
$rel .= ".mdtext" ;
$entries->{"entries"}->{$rel} = {};
sitemapFind($item, $entries->{"entries"}->{$rel});
}
} elsif($item =~ /\.(html|mdtext)$/) {
# Grab the title
my $title = $rel;
if($rel =~ /\.mdtext$/) {
my %args;
read_text_file $item, \%args;
$title = $args{"headers"}->{"title"};
} elsif ($rel =~ /\.png$/ || $rel =~ /\.jpg$/) {
next;
} else {
open F, "<$item";
my $file = "";
while(my $line = <F>) {
$file .= $line;
}
close F;
if($file =~ /block\s+title\s*\%\}(.*?)\{/) {
$title = $1;
} elsif($file =~ /title\>(.*?)\</) {
$title = $1;
}
}
# Process
if($rel =~ /^index\.(html|mdtext)$/) {
$entries->{"title"} = $title;
} else {
$entries->{entries}->{$rel}->{title} = $title;
}
}
}
return %entries;
}