]>
iEval git - plack-app-gruntmaster.git/blob - lib/Gruntmaster/Page/Pb.pm
1 package Gruntmaster
::Page
::Pb
;
6 use parent qw
/Exporter/;
7 our @EXPORT_OK = qw
/generate/;
8 our $VERSION = '0.001';
10 use constant TITLE
=> 'Problems';
13 use HTML
::Template
::Compiled
;
15 use POSIX qw
/strftime/;
16 use YAML
::Any qw
/LoadFile/;
17 use Gruntmaster
::Page qw
/header footer/;
22 <tmpl_loop problems><li><a href="<tmpl_var id>"><tmpl_var name></a>
27 $templates{$_} = header
($_, TITLE
) . $templates{$_} for keys %templates;
28 $templates{$_} .= footer
$_ for keys %templates;
31 my $template = $templates{$_[1]};
32 my $htc = HTML
::Template
::Compiled
->new(scalarref
=> \
$template);
33 IO
::File
->new('>pb/meta.yml')->close unless -f
'pb/meta.yml';
34 flock my $metafh = IO
::File
->new('<pb/meta.yml'), LOCK_SH
;
35 my @problems = sort { $b->{name
} cmp $a->{name
} } map {
36 my $meta = LoadFile
$_;
37 my $id = (m
,^pb
/(.*)/meta
.yml
$,)[0];
38 +{ id
=> $id, name
=> $meta->{name
} } } <pb
/*/meta
.yml
>;
39 $htc->param(problems
=> \
@problems);
This page took 0.051173 seconds and 5 git commands to generate.