X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/5bbd8d60621416409a4b5a312e79574b2e6edace..ebbfbfbb295d4268eba729b0cee0b85679a04e3f:/word.plp diff --git a/word.plp b/word.plp index 7d62562..5571299 100644 --- a/word.plp +++ b/word.plp @@ -1,78 +1,91 @@ <(common.inc.plp)><: -my $wordlist = 'wordlist.eng.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 or die $@ // $!; +my $table = Data($wordlistbase); sub showimg { - my ($name) = @_; - my ($imgname) = $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 ($imgname and -e ($img = "data/word/eng/$imgname.jpg")) { + 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; @@ -81,12 +94,42 @@ sub showimg { sub printimgs { say ''; } -printimgs(@{$table->{''}}); +say '';