dieren: proposed ideas for *pad, *bij
[sheet.git] / dieren.plp
index cb2039195780ea5fdbc1cb6db583b6ed460f3de0..727efd2f52f801c3f9aea7a8c99d8b090f8bf244 100644 (file)
@@ -21,6 +21,15 @@ img {
        vertical-align: bottom;
        width: 100%;
 }
+img[hidden] {
+       transition: opacity 1s 0s;
+       display: inline;
+       opacity: 0;
+}
+img[hidden]:hover {
+       opacity: 1;
+       transition-delay: 2s;
+}
 </style>
 EOT
 });
@@ -35,19 +44,46 @@ my @table = qw(
        >:         origineel: zee-:        meer_water:  aardig:      anders:
        >hond:     hond       zeehond      waterhond?   aardhond?    vleerhond
        >kat:      kat        zeekat       meerkat      caterpillar? tijgerkat
-       >muis:     muis       zeemuis      waterrat?    aardmuis     vleermuis
+       #>haas:    haas       zeehaas      ?            ?            ?
+       >muis:     muis       zeemuis    waterspitsmuis aardmuis     vleermuis
+       >rat:      rat        zeerat       waterrat     woestijnrat  buidelrat #beverrat
        >egel:     egel       zee-egel     wateregel?   aardegel?    mierenegel
        >varken:   varken     zeevarken    waterzwijn   aardvarken   stekelvarken
-       >koe:      koe        zeekoe       meerkoetje   aardkoe?     haiku?
+       >koe:      koe        zeekoe       meerkoetje   aardkoe?     koedoe    #haiku?
        >paard:    paard      zeepaardje   nijlpaard    aardpaard?   luipaard
-       >beer:     beer       zeebeer      waterbeertje ijsbeer      wasbeer
+       #>hoorn:   eenhoorn   zeehoorn    zee-eenhoorn? aardhoorn?   neushoorn eekhoorn
+       #>bra:     bh?        zebra        waterbra?    aardbra?     cobra
+       #>olifant: olifant    zeeolifant  waterolifant? landolifant? ?
+       >beer:     beer       zeebeer      waterbeertje ijsbeer      wasbeer   #neusbeer
        >leeuw:    leeuw      zeeleeuw     waterleeuw?  aardleeuw?   mierenleeuw
        >wolf:     wolf       zeewolf      waterwolf?   aardwolf     buidelwolf
        >haan:     haan       zeehaan      waterhaan    rotshaan     sprinkhaan
+       #>vlo:     vlo        strandvlo    watervlo     aardvlo      ?
+       #>draak:   draak      zeedraak     waterdraak?  aarddraak?   ?
+       #>pad:     pad        zeepad?      waterpad?    landpad      schildpad
+       #>bij:     bij        zeebij?      waterbij     aardbij      ?
 );
 
+if (exists $get{r}) {
+       use List::MoreUtils qw( part );
+       my @trans = (part { state $col; /^#?>/ ? ($col = 0) : ++$col } @table);
+       @table = ();
+       for (@trans) {
+               unshift @$_, '?:' if $_->[0] !~ /:$/;
+               $_->[0] =~ s/^#?\K>?/>>/;
+               for (@$_) {
+                       push @table, s/^#?\K>/$1/r;
+               }
+       }
+}
+
 say '<table>';
-for my $name (@table) {
+while (my $name = shift @table) {
+       if ($name =~ s/^#// and not exists $get{v}) {
+               while ($name = shift @table) {
+                       last if $name =~ m/^>/;
+               }
+       }
        if ($name =~ s/^>//) {
                # leading dash starts a new row
                say '</tr>' if $name;
@@ -60,11 +96,16 @@ for my $name (@table) {
                next;
        }
        print qq{<td title="$name">};
+       my $hidden = $name =~ s/\?$//;
        if (-e (my $img = "data/dieren/$name.jpg")) {
                printf '<img src="/%s"', $img;
                printf ' alt="%s"', -l $img ? readlink($img) =~ s/\.jpg$//r : $name;
+               print ' hidden' if $hidden;
                print ' />';
        }
+       elsif (!$hidden) {
+               print $name;
+       }
        print '</td>';
 }
 say '</tr></table>';