my ($tmpl, $lang, %args) = @_;
$lang //= 'en';
my $meat = _render($tmpl, $lang, %args);
- _render('skel', $lang, %args, meat => $meat)
+ my $html = _render('skel', $lang, %args, meat => $meat);
+ if ($tmpl eq 'pb_entry') { # Move sidebar to correct position
+ my $builder = HTML::TreeBuilder->new;
+ $builder->ignore_unknown(0);
+ my $tree = $builder->parse_content($html);
+ $tree->fid('content')->postinsert($tree->fid('sidebar'));
+ $html = $tree->as_HTML(undef, undef, $optional_end_tags)
+ }
+ $html
}
sub render_article {
$tree->fid('job_log')->edit_href(sub{$_ .= "&private=$args{private}"}) if $args{private};
$tree->fid('solution')->detach unless $args{solution};
$_->detach for $tree->fclass('rc'); # requires contest
- $tree->fid('solution_modal')->fclass('modal-body')->replace_content(literal $args{solution});
+ $tree->fid('solution_modal')->replace_content(literal $args{solution});
}
if ($args{cansubmit}) {
$tree->fid('nosubmit')->detach;