dieren: subpage names to indicate verbosity
[sheet.git] / dieren.plp
index 320222f8fc369d867d6c6894584bc13fc40c5bf1..5f181080bedd1977ffa67506225174fc93a2b4cd 100644 (file)
@@ -1,9 +1,13 @@
 <(common.inc.plp)><:
 
+my $intro = 'dieren die in het Nederlands vernoemd zijn naar andere dieren.';
+$intro .= '.. en dergelijke.' if $Request;
+$intro .= '.. enzo.' if exists $get{v};
+
 Html({
-       title => 'dieren cheat sheet',
+       title => (!!$Request && 'uitgebreid ') . 'dieren cheat sheet',
        version => '1.0',
-       description => [],
+       description => "Tabeloverzicht met afbeeldingen van $intro",
        keywords => [qw'
                dier beest naam naamgeving woord taal nederlands gerelateerd
                relatie vernoemd vernoeming combinatie samenstelling onverwant
@@ -37,37 +41,65 @@ EOT
 :>
 <h1>Dierennamen <small>(Dutch animal names)</small></h1>
 
-<p>Dieren die in het Nederlands vernoemd zijn naar andere dieren.</p>
+<p>
+<:
+say ucfirst $intro;
+if ($Request) {
+       say 'Zie het <a href="/dieren">populaire overzicht</a> voor minder.';
+}
+else {
+       say 'Zie ook minderbekende en <a href="/dieren/uitgebreid">verdergezochte verbanden</a>.';
+}
+:>
+</p>
 
 <:
 my @table = qw(
-       >:         origineel: zee-:        meer_water:  aardig:      anders:
-       >hond:     hond       zeehond      waterhond?   aardhond?    vleerhond
-       >kat:      kat        zeekat       meerkat      caterpillar? tijgerkat
-       >muis:     muis       zeemuis      watermuis?   aardmuis     vleermuis
-       >rat:      rat        zeerat       waterrat     woestijnrat  buidelrat
-       >egel:     egel       zee-egel     wateregel?   aardegel?    mierenegel
-       >varken:   varken     zeevarken    waterzwijn   aardvarken   stekelvarken
-       >koe:      koe        zeekoe       meerkoetje   aardkoe?     haiku?
-       >paard:    paard      zeepaardje   nijlpaard    aardpaard?   luipaard
-       >beer:     beer       zeebeer      waterbeertje ijsbeer      wasbeer
-       >leeuw:    leeuw      zeeleeuw     waterleeuw?  aardleeuw?   mierenleeuw
-       >wolf:     wolf       zeewolf      waterwolf?   aardwolf     buidelwolf
-       >haan:     haan       zeehaan      waterhaan    rotshaan     sprinkhaan
+       >:         origineel: zee-:        meer_water:    aardig:      anders:      #:
+       >hond:     hond       zeehond      waterhond?     prairiehond  vleerhond    #rodehond
+       >kat:      kat        zeekat       meerkat        cat_325?     tijgerkat    #
+       #>haas:    haas       zeehaas      waterhaas      aardhaas?    ossenhaas?   #
+       >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?     koedoe       #haiku?
+       >paard:    paard      zeepaardje   nijlpaard      aardpaard?   luipaard     #
+       #>hoorn:   eenhoorn   zeehoorn     zee-eenhoorn?  aardhoorn?   neushoorn    #eekhoorn
+       #>bra:     brassiere? zebra        waterbra?      aardbra?     cobra        #sabra
+       #>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   #
+       #>pad:     pad        zeepad?      waterpad?      landpad      schildpad    #paddenstoel
+       #>draak:   draak      zeedraak     waterdraak     aarddraak?   komododraak  #
+       #>vlo:     vlo        strandvlo    watervlo       aardvlo      vlok?        #
+       #>mot:     mot        zeemot?      watermot       aardmot?     marmot       #
+       #>bij:     bij        zeebij?      waterbij       aardbei      #            #
 );
-push @table, qw(
-       >hoorn:    eenhoorn   zee-eenhoorn waterhoorn?  aardhoorn? neushoorn eekhoorn
-       >haas:     haas       zeehaas      ?            ?           ?
-       >olifant:  olifant    zeeolifant   waterolifant? landolifant? ?
-       >vlo:      vlo        strandvlo    watervlo     aardvlo     ?
-       >bra:      bh?        zebra        waterbra?    aardbra?   cobra
-       >draak:    draak      zeedraak     waterdraak?  aarddraak? ?
-) if exists $get{v};
-splice @table, 6 * 10, 0, 'neusbeer' if exists $get{v};
-splice @table, 6 *  5, 0, 'beverrat' if exists $get{v};
+
+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 !$Request) {
+               while ($name = shift @table) {
+                       last if $name =~ m/^>/;
+               }
+       }
+       $name =~ y/_/ /;
        if ($name =~ s/^>//) {
                # leading dash starts a new row
                say '</tr>' if $name;
@@ -75,16 +107,15 @@ for my $name (@table) {
        }
        if ($name =~ s/:$//) {
                # trailing colon indicates header text
-               $name =~ y/_/ /;
                print "<th>$name</th>";
                next;
        }
-       print qq{<td title="$name">};
+       printf '<td title="%s">', $name // '?';
        my $hidden = $name =~ s/\?$//;
-       if (-e (my $img = "data/dieren/$name.jpg")) {
+       if ($name and -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 ' hidden' if $hidden and not exists $get{v};
                print ' />';
        }
        elsif (!$hidden) {