X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/5b650c213c6d17e56a58af1297f423846784cb64..20944668da222b8510754fb4819b2b21e768840c:/dieren.plp diff --git a/dieren.plp b/dieren.plp index 67525c4..50f9981 100644 --- a/dieren.plp +++ b/dieren.plp @@ -1,56 +1,193 @@ <(common.inc.plp)><: +use warnings; +no warnings 'qw'; + +my $intro = 'dieren die in het Nederlands vernoemd zijn naar andere dieren.'; +my %subpages = ( + standaard => { + title => 'dieren', + intro => $intro, + altlink => 'Zie ook verdergezochte verbanden' . + ' of het beknopte overzicht.', + }, + uitgebreid => { + title => 'uitgebreid dieren', + intro => "$intro.. en dergelijke.", + altlink => 'Zie het populaire overzicht voor minder.', + prefix => '#', + secrets => 1, + }, + beknopt => { + title => 'beknopt dieren', + intro => "een aantal $intro", + altlink => 'Zie het populaire overzicht voor meer.', + }, +); + +$Request ||= 'standaard'; +my $pageinfo = $subpages{$Request} + or Html(), Abort("Onbekende dierenpagina $Request", '404 request not found'); Html({ - title => 'dieren cheat sheet', + title => $pageinfo->{title}.' cheat sheet', version => '1.0', - description => [], + description => "Tabeloverzicht met afbeeldingen van $pageinfo->{intro}", keywords => [qw' dier beest naam naamgeving woord taal nederlands gerelateerd - relatie vernoemd vernoeming combinatie samenstelling onverwant + relatie vernoemd vernoeming combinatie samenstelling voorvoegsel onverwant land zee lucht animals dutch language '], + raw => <<'EOT', + +EOT }); :>

Dierennamen (Dutch animal names)

-

Dieren die in het Nederlands vernoemd zijn naar andere dieren.

+

+<: +say ucfirst $pageinfo->{intro}; +say $pageinfo->{altlink}; +:> +

<: 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 - >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: land/aardig: anders: #: + >hond: hond zeehond waterhond?? prairiehond vleerhond #rodehond + >kat: kat zeekat meerkat cat_325? vliegende_kat #tijgerkat + #>haas: haas zeehaas waterhaas koolhaas? ossenhaas? #buidelhaas + >muis: muis zeemuis waterspitsmuis aardmuis vleermuis #computermuis + >rat: rat zeerat waterrat woestijnrat buidelrat #beverrat + >egel: egel zee-egel wateregel? aardegel??=cactus mierenegel #kegel? + >varken: varken zeevarken=bruinvis + waterzwijn=capibara aardvarken stekelvarken #feestvarken? + >koe: koe zeekoe meerkoetje aardekoe?? koedoe #haiku? + >paard: paard zeepaardje nijlpaard aardpaard?? luipaard #tijgerpaard + #>hoorn: eenhoorn zeehoorn zee-eenhoorn?=narwal + bergahorn=esdoorn neushoorn #eekhoorn + #>bra: bra(ssière)? zebra - - cobra #sabra + #>olifant: olifant zeeolifant olifantsvis kamerolifant? - #olifantsoor + >beer: beer zeebeer waterbeertje ijsbeer wasbeer #neusbeer + >leeuw: leeuw zeeleeuw waterleeuw?? aardleeuw??=kameleon + mierenleeuw # + >wolf: wolf zeewolf waterwolf??=snoek aardwolf korenwolf #strandwolf=bruine_hyena + >haan: haan zeehaan waterhaan rotshaan sprinkhaan #wilde_haan??=wildrooster + #>pad: pad zebrapad? waterpad? landpad schildpad #paddenstoel + #>draak: draak zeedraak waterdraak=agame - komododraak=varaan # + #>vlo: vlo zeevlo watervlo aardvlo vlok? # + #>mot: mot marmot watermot bergamot - # + #>bij: bij - waterbij aardbei moerbei hommelbij ); +@table = qw( + >hond zeehond prairiehond + >kat zeekat meerkat + >muis zeemuis vleermuis + >egel zee-egel mierenegel + >varken zeevarken stekelvarken + >koe zeekoe meerkoetje + >paard zeepaardje nijlpaard + >olifant zeeolifant olifantsvis + >beer zeebeer wasbeer + >leeuw zeeleeuw mierenleeuw + >wolf zeewolf korenwolf + >haan zeehaan sprinkhaan + >mot marmot bergamot +) if $Request eq 'beknopt'; + +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 ''; -for my $name (@table) { +while (my $name = shift @table) { + if ($name =~ s/^#// and !$pageinfo->{prefix}) { + while ($name = shift @table) { + last if $name =~ m/^>/; + } + $name or next; + } if ($name =~ s/^>//) { # leading dash starts a new row say '' if $name; print ""; } + $name =~ s/^-$//; + my ($img) = $name =~ /^([\w-]+)/; + $name =~ y/_/ /; if ($name =~ s/:$//) { # trailing colon indicates header text - $name =~ y/_/ /; print ""; next; } - print qq{'; } say '
$name}; - if (-e (my $img = "data/dieren/$name.jpg")) { + print ''; + my $alt = $1 if $name =~ s/=(.*)//; + my $hidden = $name =~ s/\?$//; + $name = "$name" if $name =~ s/\?$//; + $name .= " ($alt)" if $alt; + + printf '', $hidden && !$pageinfo->{secrets} && ' hidden'; + if ($img and -e ($img = "data/dieren/$img.jpg")) { printf '%s'; + print "
$name
"; + } + elsif ($hidden) { + printf '
%s
', "$name?"; + } + else { + print $name; } + print ''; print '
';