X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/60876481060ad63e3a2e450d18351e01f850cce6..0934eb163565512a7e1622f931a2f6a60b7c0872:/cc.plp diff --git a/cc.plp b/cc.plp index 57a8d91..2162668 100644 --- a/cc.plp +++ b/cc.plp @@ -13,9 +13,15 @@ $header{content_type} = 'text/html; charset=utf-8'; + country code cheat sheet - - +<: + my %styles = map {$_ => $_} qw(dark mono red); + our $style = exists $get{style} && $styles{$get{style}} || 'light'; + printf(qq{\n}, + $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "/$_.css", $_ + ) for keys %styles; +:> @@ -33,8 +39,8 @@ sub quote { } { - printf ''; - print ''; + printf '
'; + print ''; for my $section (qw{thead}) { print "<$section>
↱"; print '', $_ for 'a' .. 'z'; @@ -49,11 +55,32 @@ sub quote { print $code =~ /^x|^q[m-z]|^aa|^zz/ ? '' : ''; next; }; - $code = $country->[2] if defined $country->[2]; - my $img = sprintf '%s', $code, $code - if -e "flag/$code.png"; + my ($name, $class, $short, $ref) = @$country; + $ref ||= $code; + local $_ = $ref; + if (exists $get{show}) { + my $img = "flag/$ref.png"; + $_ = sprintf '%s', $img, $ref if -e $img; + } + else { + $_ = $short || $name; + s/,.*//; + s/(?<=.)\(.*\)\s*//; + s/ republic\b//gi; + s/ islands?\b//gi; + s/\bthe //g; + s/ and / & /g; + s/\bsaint /st /gi; + s/South /S-/g; + s/North /N-/g; + s/New /n./g; + s/(\S)(\S+)-/$1-/g; # strip most chars preceding dash + s/(\S{4}[b-df-hj-np-tv-xz])(\S{2,})/$1./g; # abbreviate (at consonant) + $_ = quote($_); + } + $name =~ s/([^,]*), (.*)/$2 $1/; printf "\n".'%s', - $img ? 'X '.$country->[1] : '', quote($country->[0]), $img; + $_ ? 'X '.$class : '', quote("$code: $name"), $_; } print "\n"; } @@ -68,11 +95,11 @@ sub quote { africa europe asia - oceania antarctica + oceania south america north america - reserved + reserved user-assigned