X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/0ec4d83edf83be1754f258090723d19ae1955086..cf8d01da2735d21735d562e73009546d64125d4a:/word.plp?ds=sidebyside
diff --git a/word.plp b/word.plp
index ca85070..ac596b5 100644
--- a/word.plp
+++ b/word.plp
@@ -1,6 +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',
@@ -12,26 +14,32 @@ Html({
raw => <<'EOT',
EOT
});
-
:>
Words
@@ -69,26 +76,16 @@ my $table = do $wordlist or die $@ // $!;
sub showimg {
my ($name) = @_;
- my ($img) = $name =~ /^([\w -]+)/;
+ 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/eng/$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 '%s', $hidden && !exists $get{v} && ' hidden', $name;
}
@@ -96,8 +93,13 @@ sub showimg {
sub printimgs {
say '';
for my $row (@_) {
- printf '- ', defined $table->{$row} && ' class="parent"';
- 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 '
';
}