X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/5b166c668eeba6da9e7d73e25e7fd4faeecd1db1..ebbfbfbb295d4268eba729b0cee0b85679a04e3f:/word.plp diff --git a/word.plp b/word.plp index d594370..5571299 100644 --- a/word.plp +++ b/word.plp @@ -1,94 +1,92 @@ <(common.inc.plp)><: -my $wordlist = 'wordlist.inc.pl'; +our $lang = $get{lang} || 'en'; +our $wordlistbase = "data/wordlist"; + +if ($Request and $Request =~ m{\A([^/]+)}) { + my $name = $1; + my $page = "word/$name.plp"; + if (-e $page) { + utf8::downgrade($page); # unicode filename breaks contents encoding + Include $page; + } + else { + Html({ + raw => join("\n", map qq(), + 'put.min.js', 'quiz.js', "$name.js", + ), + lang => $lang, + }); + say '

Words

'; + say ''; + say ""; + } + exit; +} + +my $limit = $get{v} // (exists $get{v} ? 5 : 3); + Html({ title => 'words cheat sheet', version => '1.0', + lang => $lang, description => "Visual words", keywords => [qw' language '], - data => [$wordlist], - raw => <<'EOT', + data => ["$wordlistbase.inc.pl"], + raw => exists $get{q} ? <<'EOT' : undef, 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 = Data($wordlistbase); sub showimg { - my ($name) = @_; - my ($img) = $name =~ /^([\w -]+)/; - $name =~ s/\w{4} [^aoeuiyc\W] [rl]?+ \K (?= [^aoeuiy\W] [rl]? [aoeuiy] \w)/­/gx; - $name =~ s{/(.*)}{ ($1)}g; + my ($id, $name) = @_; + my ($imgname) = $name =~ m{^([^/]+)}; + ($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; } @@ -96,12 +94,42 @@ sub showimg { sub printimgs { say ''; } -printimgs(@{$table->{''}}); +say '';