$tr->fclass('contest')->namedlink($data->{contest}, $data->{contest_name}) if $data->{contest};
$tr->fclass('contest')->replace_content('None') unless $data->{contest};
$tr->fclass('date')->replace_content(ftime $data->{date});
- $tr->fclass('format')->replace_content($data->{format});
- $tr->fclass('size')->namedlink("$data->{id}.$data->{extension}", sprintf "%.2fKB", $data->{size}/1024);
- $tr->fclass('size')->attr('data-private', '') if $data->{private};
+ $tr->fclass('source')->namedlink("$data->{id}.$data->{extension}", sprintf "%.2fKB %s", $data->{size}/1024, $data->{format});
$tr->fclass('owner')->namedlink($data->{owner}, $data->{owner_name});
$tr->fclass('result_text')->replace_content($data->{result_text});
$tr->fclass('result_text')->attr(class => "r$data->{result}");
sub process_ed {
my ($tree, %args) = @_;
+ $tree->content_handler(editorial => literal $args{editorial});
my $iter = sub {
my ($data, $div) = @_;
$div->set_child_content(class => 'value', $data->{value});