in src/lib/view.pm [137:172]
sub standard {
my %args = @_;
my $file = "content$args{path}";
my $template = $args{template};
#debug "rendering file $file using template $template and args " .Dumper(\%args);
read_text_file $file, \%args unless exists $args{content} and exists $args{headers};
# find deeper left.nav
$args{leftnav} = dirname("content/$args{path}");
while ($args{leftnav} ne '/' and ! -e "$args{leftnav}/left.nav") {
$args{leftnav} = dirname($args{leftnav});
}
$args{leftnav} .= '/left.nav';
$args{path} =~ s/\.\w+$/\.html/;
$args{breadcrumbs} = view->can("breadcrumbs")->($args{path});
my $page_path = $file;
$page_path =~ s!\.[^./]+$!.page!;
if (-d $page_path) {
for my $f (grep -f, glob "$page_path/*.{mdtext,md}") {
$f =~ m!/([^/]+)\.md(?:text)?$! or die "Bad filename: $f\n";
$args{$1} = {};
read_text_file $f, $args{$1};
}
}
$args{content} = sort_tables($args{preprocess}
? Template($args{content})->render(\%args)
: $args{content});
$args{content} = preprocess($args{content}) if $args{preprocessing};
my $processed = Template($template)->render(\%args);
$processed = postprocess($processed, 0) if $args{postprocessing};
return $processed, html => \%args;
}