4852f9c4638a1f7d8f897b984267b7263d702910
[sheet.git] / dieren.plp
1 <(common.inc.plp)><:
2
3 Html({
4         title => 'dieren cheat sheet',
5         version => '1.0',
6         description => [],
7         keywords => [qw'
8                 dier beest naam naamgeving woord taal nederlands gerelateerd
9                 relatie vernoemd vernoeming combinatie samenstelling onverwant
10                 land zee lucht  animals dutch language
11         '],
12         raw => <<'EOT',
13 <style>
14 table {
15         width: 100%;
16 }
17 tr:first-child th {
18         word-break: break-all;
19 }
20 img {
21         vertical-align: bottom;
22         width: 100%;
23 }
24 img[hidden] {
25         transition: opacity 1s 0s;
26         display: inline;
27         opacity: 0;
28 }
29 img[hidden]:hover {
30         opacity: 1;
31         transition-delay: 2s;
32 }
33 </style>
34 EOT
35 });
36
37 :>
38 <h1>Dierennamen <small>(Dutch animal names)</small></h1>
39
40 <p>Dieren die in het Nederlands vernoemd zijn naar andere dieren.</p>
41
42 <:
43 my @table = qw(
44         >:         origineel: zee-:        meer_water:  aardig:      anders:
45         >hond:     hond       zeehond      waterhond?   aardhond?    vleerhond #rodehond
46         >kat:      kat        zeekat       meerkat      caterpillar? tijgerkat
47         #>haas:    haas       zeehaas      waterhaas    aardhaas?    ossenhaas?
48         >muis:     muis       zeemuis    waterspitsmuis aardmuis     vleermuis
49         >rat:      rat        zeerat       waterrat     woestijnrat  buidelrat #beverrat
50         >egel:     egel       zee-egel     wateregel?   aardegel?    mierenegel
51         >varken:   varken     zeevarken    waterzwijn   aardvarken   stekelvarken
52         >koe:      koe        zeekoe       meerkoetje   aardkoe?     koedoe    #haiku?
53         >paard:    paard      zeepaardje   nijlpaard    aardpaard?   luipaard
54         #>hoorn:   eenhoorn   zeehoorn    zee-eenhoorn? aardhoorn?   neushoorn eekhoorn
55         #>bra:     brassiere? zebra        waterbra?    aardbra?     cobra
56         #>olifant: olifant    zeeolifant  waterolifant? landolifant? ?
57         >beer:     beer       zeebeer      waterbeertje ijsbeer      wasbeer   #neusbeer
58         >leeuw:    leeuw      zeeleeuw     waterleeuw?  aardleeuw?   mierenleeuw
59         #>wolf:    wolf       zeewolf      waterwolf?   aardwolf     buidelwolf
60         >haan:     haan       zeehaan      waterhaan    rotshaan     sprinkhaan
61         #>pad:     pad        zeepad?      waterpad?    landpad      schildpad
62         #>draak:   draak      zeedraak     waterdraak   aarddraak?   komododraak
63         #>vlo:     vlo        strandvlo    watervlo     aardvlo      ?
64         #>mot:     mot        zeemot?      watermot     aardmot?     marmot
65         #>bij:     bij        zeebij?      waterbij     aardbij      ?
66 );
67
68 if (exists $get{r}) {
69         use List::MoreUtils qw( part );
70         my @trans = (part { state $col; /^#?>/ ? ($col = 0) : ++$col } @table);
71         @table = ();
72         for (@trans) {
73                 unshift @$_, '?:' if $_->[0] !~ /:$/;
74                 $_->[0] =~ s/^#?\K>?/>>/;
75                 for (@$_) {
76                         push @table, s/^#?\K>/$1/r;
77                 }
78         }
79 }
80
81 say '<table>';
82 while (my $name = shift @table) {
83         if ($name =~ s/^#// and not exists $get{v}) {
84                 while ($name = shift @table) {
85                         last if $name =~ m/^>/;
86                 }
87         }
88         if ($name =~ s/^>//) {
89                 # leading dash starts a new row
90                 say '</tr>' if $name;
91                 print "<tr>";
92         }
93         if ($name =~ s/:$//) {
94                 # trailing colon indicates header text
95                 $name =~ y/_/ /;
96                 print "<th>$name</th>";
97                 next;
98         }
99         print qq{<td title="$name">};
100         my $hidden = $name =~ s/\?$//;
101         if (-e (my $img = "data/dieren/$name.jpg")) {
102                 printf '<img src="/%s"', $img;
103                 printf ' alt="%s"', -l $img ? readlink($img) =~ s/\.jpg$//r : $name;
104                 print ' hidden' if $hidden;
105                 print ' />';
106         }
107         elsif (!$hidden) {
108                 print $name;
109         }
110         print '</td>';
111 }
112 say '</tr></table>';