X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/9918b9a0fe4c8ddb0a78cc4639959b2463c1f4dd..b13bb406f89eaebf04c8fd8ffe69cde30d5aa0bd:/codec.plp?ds=sidebyside
diff --git a/codec.plp b/codec.plp
index 8a5b6a8..f13b93a 100644
--- a/codec.plp
+++ b/codec.plp
@@ -1,38 +1,51 @@
<(common.inc.plp)><:
-my @feat = split m{/+}, $Request || 'default';
+my ($page, @feat) = split m{/+}, $Request || 'image';
+$page !~ /\W/ or Html(), Abort('Invalid codec type request', 400);
+@feat or @feat = 'default';
+my $title = "$page codecs";
+my $info = eval { Data("codec-$page") };
+if ($@) {
+ $info = {};
+}
Html({
- title => 'Codecs',
- version => '1.0',
- description => [
- ],
- keywords => [qw'
- '],
+ title => "$title cheat sheet",
+ version => '1.1',
+ description => $info->{intro},
+ keywords => [@{ $info->{keywords} // [] }, qw' feature comparison support benchmark '],
stylesheet => [qw'light circus dark red'],
- data => [qw'codec.inc.pl'],
- raw => '',
+ data => ["codec-$page.inc.pl"],
+ raw => '',
});
-my $info = do 'codec.inc.pl';
-$info and %{$info} > 1 or Abort("cannot open operator include", 500, $@ // $!);
+%{$info}
+ or Abort("Requested codec type $page
not available", '404 request not found');
+
+say "
$_
" for $info->{intro} // (); my %BOOLSCORE = (y => [5, 'â'], n => [1, 'â'], 0 => [0, 'n/a']); :> -feature <: my @codecs = sort { $info->{codec}->{$a}->{available} <=> $info->{codec}->{$b}->{available} } keys $info->{codec}->%*; +my @codeccols = @{$info->{codec}}{@codecs}; -print ' | ', $_->{name} for @{$info->{codec}}{@codecs}; -print "\n | |||
---|---|---|---|---|
', $_->{available} for @{$info->{codec}}{@codecs};
+{
+ print '';
+say "\t", ' | ', $_->{name} for @codeccols;
+print ' | ', $_->{available} for @codeccols;
say ' | | ', $data; } say ' | ';