X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/9522b4e1c44d0ac3dc7aafe54357b0b07c9c87cd..2cf450feb990920919389510c5f9ba40ef087474:/common.inc.plp diff --git a/common.inc.plp b/common.inc.plp index f6cd6a6..33fad39 100644 --- a/common.inc.plp +++ b/common.inc.plp @@ -1,6 +1,6 @@ <: +use 5.014; use utf8; -use strict; use warnings; no warnings 'qw'; # you know what you doing no warnings 'uninitialized'; # save some useless checks for more legible code @@ -12,8 +12,14 @@ use HTTP::Date; $PLP::ERROR = sub { my ($text, $html) = @_; print '

Fatal error: '.$html."

\n\n"; + warn $text; }; +BEGIN { + require Time::HiRes; + our $Time = [Time::HiRes::gettimeofday]; +} + our $style; our $showkeys = !exists $get{keys} ? undef : ($get{keys} ne '0' && ($get{keys} || 'always')); @@ -41,7 +47,7 @@ sub stylesheet { return join "\n", map { sprintf( '', - $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "/$_.css?1.6", $_ + $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "/$_.css?1.9", $_ ) } @_; } @@ -77,6 +83,8 @@ sub Html { $meta->{stylesheet} ||= [qw'light dark circus mono red terse']; $meta->{charset} ||= 'utf-8'; + ref $_ eq 'ARRAY' or $_ = [$_] for $meta->{raw}; + # optional amends push @{ $meta->{raw} }, ( '', @@ -94,6 +102,7 @@ sub Html { ref $_ eq 'ARRAY' and $_ = stylesheet(@$_)."\n" for $meta->{stylesheet}; # other vars + my $Dev = $ENV{HTTP_HOST} =~ /\bdev\./; my ($file) = $ENV{SCRIPT_FILENAME} =~ m{ ([^/]+) \.plp$ }x; # leading output @@ -107,11 +116,24 @@ sub Html { $meta->{title} + EOT - print $_, "\n" for $meta->{stylesheet} || (); - print $_, "\n" for $meta->{raw} || (); - print qq{\n\n\n}; + say for $meta->{stylesheet} || (); + say for $meta->{raw} || (); + say '' if $Dev; + say qq{\n\n}; + + # development version indicator + printf '

beta

', join('; ', + 'position: fixed', + 'right: 1em', + 'opacity: .5', + 'border: 1ex solid red', + 'border-width: 1ex 0', + 'z-index: 1', + 'background: inherit', + ) if $Dev; # prepare trailing output PLP_END { @@ -119,15 +141,16 @@ EOT - - EOT + say sprintf '• %.3fs', Time::HiRes::tv_interval($Time) if $Dev; + say '

'; + say ''; + say ''; }; }