X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/aaca88ef9f8362a7b895db25ddd51d767502deeb..1cbdaa4af1b457b75c9811e04025f3832b7743a1:/common.inc.plp
diff --git a/common.inc.plp b/common.inc.plp
index 9c5ae74..963b8a6 100644
--- a/common.inc.plp
+++ b/common.inc.plp
@@ -8,7 +8,7 @@ use open ':std' => ':utf8';
use File::stat 'stat';
use HTTP::Date;
-use Shiar_Sheet::KeySigns qw(%sign); # dependant on $get{ascii}
+use Shiar_Sheet::KeySigns qw(%sign);
our $style;
our $showkeys = !exists $get{keys} ? undef :
@@ -22,19 +22,21 @@ sub stylesheet {
if (exists $get{style}) {
$style = $styles{ $get{style} };
require CGI::Cookie;
- AddCookie(CGI::Cookie->new(
+ if (my $cookie = CGI::Cookie->new(
-name => 'style',
-value => $style,
-path => '/', # site-wide; current page is confusing to most users
-expires => $style ? '+5y' : '-1d',
- )->as_string);
+ )) {
+ AddCookie($cookie->as_string);
+ }
}
$style ||= exists $cookie{style} && $styles{ $cookie{style} } || $_[0];
return join "\n", map { sprintf(
'',
- $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "/$_.css?1.5", $_
+ $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "/$_.css?1.6", $_
) } @_;
}
@@ -64,6 +66,7 @@ sub Html {
(grep { /\bShiar_/ } values %INC),
$meta->{data} ? @{ $meta->{data} } : (),
);
+ $header{'Cache-Control'} = sprintf 'max-age: ', 24*60*60;
# default fallbacks
$meta->{stylesheet} ||= [qw'light dark circus mono red terse'];
@@ -76,7 +79,7 @@ sub Html {
!$showkeys ? ''
: $showkeys eq 'ghost' ? ''
: (),
- '',
+ '',
) if $meta->{keys};
# flatten arrays
@@ -86,7 +89,6 @@ sub Html {
ref $_ eq 'ARRAY' and $_ = stylesheet(@$_)."\n" for $meta->{stylesheet};
# other vars
- my $sep = $meta->{charset} eq 'utf-8' ? 'â¢' : ' -- ';
my ($file) = $ENV{SCRIPT_FILENAME} =~ m{ ([^/]+) \.plp$ }x;
# leading output
@@ -115,7 +117,7 @@ EOT
rel="code" title="Written in Perl">plp
$meta->{version}
- created by Shiar $sep
+ created by Shiar $sign{sep}
AGPLv3