X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/6e61c83476cae09e2a5d67742650a0f54c6bad9c..HEAD:/common.inc.plp diff --git a/common.inc.plp b/common.inc.plp index 898e8bb..a634733 100644 --- a/common.inc.plp +++ b/common.inc.plp @@ -50,8 +50,6 @@ BEGIN { our $Request //= decode_utf8($ENV{PATH_INFO} =~ s{^/}{}r); our $style; -our $showkeys //= !exists $get{keys} ? undef : - ($get{keys} ne '0' && ($get{keys} || 'always')); $header{content_type} = 'text/html; charset=utf-8'; @@ -78,7 +76,7 @@ sub stylesheet { return map { sprintf( '', - $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "/$_.css?1.13", $_ + $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "/$_.css?1.18", $_ ) } @avail; } @@ -108,7 +106,7 @@ sub Data { local $/; # slurp return JSON::decode_json(readline $cache); }; - if ($! or $@ or !@data or !$data[0]) { + if ($@ or !@data or !$data[0]) { die ['Table data not found', $@ || $!]; } if (@data == 1 and ref $data[0] eq 'HASH' and not %{$data[0]}) { @@ -133,6 +131,7 @@ sub Html { # default fallbacks $meta->{stylesheet} ||= [qw( light dark circus mono red )]; $meta->{charset} ||= 'utf-8'; + $meta->{lang} ||= 'en'; # convert options to arrays ref $_ eq 'ARRAY' or $_ = [$_] @@ -141,27 +140,33 @@ sub Html { # document headers before output $header{content_type} = "text/html; charset=$meta->{charset}" unless $PLP::sentheaders; + exit if $ENV{REQUEST_METHOD} eq 'HEAD'; unshift @{ $meta->{raw} }, stylesheet($meta->{stylesheet}); push @{ $meta->{raw} }, ( '', ); - # optional amends - push @{ $meta->{raw} }, ( - '', - '', - !$showkeys ? '' : - $showkeys eq 'ghost' ? '' : (), - '', - ) if $meta->{keys}; + if (my $img = $meta->{image}) { + my $proto = sprintf('http%s://', !!$ENV{HTTPS} && 's'); + my $url = "$proto$ENV{HTTP_HOST}/$img"; + push @{ $meta->{raw} }, ( + qq(), + ); + } my ($file) = $ENV{SCRIPT_FILENAME} =~ m{ ([^/]+) \.plp$ }x; + $meta->{canonical} //= "/$file" . ($Request ne '' && "/$Request"); + if (my $url = $meta->{canonical}) { + $url = "https://sheet.shiar.nl$url"; + push @{ $meta->{raw} }, qq(); + } + PLP_START { # leading output say ''; - say ''; + say qq(); say ''; say ''; say sprintf '', $_