X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/7d3818b79c9675a47364e50c6cfdbe97003a31bc..cf8d01da2735d21735d562e73009546d64125d4a:/word.plp
diff --git a/word.plp b/word.plp
index 1fc290f..ac596b5 100644
--- a/word.plp
+++ b/word.plp
@@ -1,5 +1,8 @@
<(common.inc.plp)><:
+my $wordlist = 'wordlist.eng.inc.pl';
+my $limit = $get{v} // (exists $get{v} ? 4 : 3);
+
Html({
title => 'words cheat sheet',
version => '1.0',
@@ -7,23 +10,59 @@ Html({
keywords => [qw'
language
'],
- data => ['wordlist.inc.pl'],
+ data => [$wordlist],
raw => <<'EOT',
EOT
});
-
:>
Words
@@ -33,42 +72,38 @@ Zie ook dieren.
<:
-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 ($imgname) = $name =~ /^([\w -]+)/;
+ $name =~ s/\w{4} [^aoeuiyc\W] [rl]?+ \K (?= [^aoeuiy\W] [rl]? [aoeuiy] \w)//gx;
+ $name =~ s{/(.*)}{ ($1)}g;
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 '', $img, $alt;
- }
- elsif ($hidden) {
- $name = "$name?";
+ if ($imgname and -e ($img = "data/word/eng/$imgname.jpg")) {
+ $name .= sprintf '', $img, $imgname;
}
return sprintf '', $hidden && !exists $get{v} && ' hidden', $name;
}
sub printimgs {
+ say '';
for my $row (@_) {
- printf '- ';
- print showimg($row);
+ my ($level, $mark, $title) = split /([a-z]*):/, $row, 2;
+ my @type;
+ push @type, 'parent' if defined $table->{$row};
+ push @type, 'large' if $mark;
+ push @type, 'level'.($level || 0);
+ printf '
- ', @type ? sprintf ' class="%s"', join ' ', @type : '';
+ print showimg($title) if $level <= $limit;
+ printimgs(@{$_}) for $table->{$row} // ();
print '
';
- printimgs(@{$_}) for $table{$row} // ();
}
+ say '
';
}
-say '';
-printimgs($table{''});
-say '
';
+printimgs(@{$table->{''}});