use strict;
use warnings;
use parent qw/Exporter/;
-our @EXPORT_OK = qw/header footer/;
+our @EXPORT_OK = qw/header footer patch_templates/;
+
+use File::Slurp qw/read_file/;
my %header_templates = (
en => <<'HTML',
<div id="title"><span class="i">i</span><span class="Eval">Eval</span></div>
<div id="subtitle">TITLE_GOES_HERE</div>
-<nav><ul><li><a href="/">Home</a><li><a href="/log/">View job log</a><li><a href="/submit.var">Submit job</a><li><a href="/pb/">Problem list</a><li><a href="/ct/">Contests</a></ul></nav>
+<nav><ul><li><a href="/learn.var">Learn</a><li><a href="/pb/">Practice</a><li><a href="/ct/">Compete</a><li><a href="/log/">Job log</a></ul></nav>
HTML
);
HTML
);
+sub patch_templates (\%$){
+ my $root = $ENV{GRUNTMASTER_TEMPLATE_ROOT} or return;
+ my ($templates, $name) = @_;
+ for (<$root/$name*>) {
+ m/\.(.+)$/;
+ $templates->{$1} = read_file $_
+ }
+}
+
+patch_templates %header_templates, 'header';
+patch_templates %footer_templates, 'footer';
+
sub header{
my ($language, $title) = @_;
$header_templates{$language} =~ s/TITLE_GOES_HERE/$title/ger;