- printf '<th title="%s">%s', $row->{description}, $row->{title};
- printf '<td title="%s" class="%s">%s', $caniuse->{statuses}->{$_}, $CSTATUS{$_} // '', $_ for $row->{status};
+ for ($row->{categories}) {
+ my $cell = $_ ? lc $_->[0] : '-';
+ print '<th>', $cell;
+ }
+ print '<td>', map {
+ sprintf('<a href="%s" onclick="%s">%s</a>',
+ "#$id",
+ sprintf("try { %s; return false } catch(err) { return true }",
+ "document.getElementById('$id').classList.toggle('target')",
+ ),
+ $_,
+ );
+ } $row->{title};
+ print '<div class=aside>';
+ s/\.?$/./, print "<p>$_</p>" for map { ref $_ ? @$_ : $_ || () }
+ $row->{description}, $row->{notes};
+ printf 'Resources: %s.', join(', ',
+ map { qq(<a href="$_->{url}">$_->{title}</a>) } @$_
+ ) for grep { @$_ } $row->{links} // ();
+ print '</div>';
+ for ($row->{status}) {
+ my $cell = $_ // '-';
+ $cell = sprintf '<a href="%s">%s</a>', $_, $cell for $row->{spec} // ();
+ printf '<td title="%s" class="l %s">%s',
+ $caniuse->{statuses}->{$_}, $CSTATUS{$_} // '', $cell;
+ }