X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FPlack%2FApp%2FGruntmaster%2FHTML.pm;h=6799fb107af2e2608a753798e64c1b7fd48b382b;hb=ae7dfc94a272a943e52957c4bffabecfbceb9b19;hp=7863f4f425a43cba20579d9e422af4cc7a6d6b3f;hpb=d19b7b577a3b51ad59f88cf0057bf9ff49343d7e;p=gruntmaster-page.git diff --git a/lib/Plack/App/Gruntmaster/HTML.pm b/lib/Plack/App/Gruntmaster/HTML.pm index 7863f4f..6799fb1 100644 --- a/lib/Plack/App/Gruntmaster/HTML.pm +++ b/lib/Plack/App/Gruntmaster/HTML.pm @@ -64,7 +64,15 @@ sub render { 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 { @@ -83,19 +91,12 @@ sub _render { $tree->defmap(smap => \%args); my $process = __PACKAGE__->can("process_$tmpl"); $process->($tree, %args) if $process; - $_->detach for $tree->look_down(static => $args{static} ? 'no' : 'yes'); - $_->attr('static', undef) for $tree->look_down(sub {$_[0]->attr('static')}); $_->attr('smap', undef) for $tree->look_down(sub {$_[0]->attr('smap')}); $tree->as_HTML(undef, undef, $optional_end_tags); } -my $logo = read_file 'mclogo.svg'; -$logo =~ y/\n//d; -$logo =~ s/(\s+)/ /g; - sub process_skel { my ($tree, %args) = @_; - $tree->fid('logo')->replace_with(HTML::Element::Library::super_literal $logo); $tree->content_handler( title => $args{title}, content => literal $args{meat}); @@ -279,10 +280,6 @@ sub process_log { $elem->find('a')->edit_href(sub{s/$/&$str/}) if $str; } $tree->fclass('current')->replace_content("Page $args{current_page} of $args{last_page}"); - - my @detach; - push @detach, $args{args}{$_} ? $tree->fclass($_) : () for qw/problem contest owner/; - $_->detach for @detach; } sub process_st {