X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/7d3818b79c9675a47364e50c6cfdbe97003a31bc..dc1ab5f00eed170e75fe40687b381369a35760b8:/word.plp diff --git a/word.plp b/word.plp index 1fc290f..b96ebdb 100644 --- a/word.plp +++ b/word.plp @@ -1,5 +1,21 @@ <(common.inc.plp)><: +our $lang = $get{lang} || 'en'; +our $wordlistbase = "data/wordlist"; + +if ($Request and $Request =~ m{\A([^/]+)}) { + my $page = "word/$1.plp"; + utf8::downgrade($page); # unicode filename breaks contents encoding + if (-e $page) { + $wordlistbase .= ".$lang"; + Include $page; + exit; + } +} + +my $wordlist = "$wordlistbase.inc.pl"; +my $limit = $get{v} // (exists $get{v} ? 5 : 3); + Html({ title => 'words cheat sheet', version => '1.0', @@ -7,68 +23,110 @@ Html({ keywords => [qw' language '], - data => ['wordlist.inc.pl'], - raw => <<'EOT', + data => [$wordlist], + raw => (exists $get{q} && <<'EOT') +EOT + . <<'EOT', + EOT }); +if (exists $get{debug}) { + say ''; +} :>

Words

Under construction. Zie ook dieren. +Omit translations to test.

<: -my %table = do 'wordlist.inc.pl' or die $@ // $!; +my $table = do $wordlist or die $@ // $!; sub showimg { - my ($name) = @_; - my ($img) = $name =~ /^([\w-]+)/; - $name =~ y/_/ /; + my ($id, $name) = @_; + my ($imgname) = $name =~ m{^([^/]+)}; + $name =~ s/\w{4} [^aoeuiyc\W] [rl]?+ \K (?= [^aoeuiy\W] [rl]? [aoeuiy] \w)/­/gx; + ($name, my @morenames) = split m{/}, $name; + $name =~ s{\( ([^/]+) \)}{$1}x; + $name .= " ($_)" for @morenames; my $hidden = $name =~ s/\?$//; - my $alt = $name; $name = "$name" if $name =~ s/\?$//; + $name = "
$name
"; - if ($img and -e ($img = "data/word/$img.jpg")) { - my $alt = -l $img && readlink($img) =~ s/\.jpg$//r; - if ($alt) { - $name .= " ($alt)"; - } - else { - $alt = $name; - } - $name = "
$name
"; - $name .= sprintf '%s', $img, $alt; - } - elsif ($hidden) { - $name = "
$name?
"; + if ($id and -e (my $img = "data/word/32/$id.jpg")) { + $name .= sprintf '%s', $img, $imgname; } return sprintf '%s', $hidden && !exists $get{v} && ' hidden', $name; } sub printimgs { + say ''; } -say ''; +say '';