sub standard()

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;
}