X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/373af6760e291f795f7ff53cd76a302c38b838e0..20944668da222b8510754fb4819b2b21e768840c:/dieren.plp diff --git a/dieren.plp b/dieren.plp index 1a6eb11..50f9981 100644 --- a/dieren.plp +++ b/dieren.plp @@ -1,16 +1,40 @@ <(common.inc.plp)><: +use warnings; +no warnings 'qw'; my $intro = 'dieren die in het Nederlands vernoemd zijn naar andere dieren.'; -$intro .= '.. en dergelijke.' if $Request; -$intro .= '.. enzo.' if exists $get{v}; +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 => (!!$Request && 'uitgebreid ') . 'dieren cheat sheet', + title => $pageinfo->{title}.' cheat sheet', version => '1.0', - description => "Tabeloverzicht met afbeeldingen van $intro", + 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', @@ -18,21 +42,38 @@ Html({ table { width: 100%; } -tr:first-child th { - word-break: break-all; +th { + width: 1%; /* min-content */ } -img { - vertical-align: bottom; - width: 100%; +td { + width: 15%; /* 1fr */ + vertical-align: top; } -img[hidden] { +figure[hidden] { transition: opacity 1s 0s; display: inline; opacity: 0; } -img[hidden]:hover { +figure[hidden]:hover { opacity: 1; - transition-delay: 2s; + transition-delay: 1s; +} + +@media (max-width: 60em) { + figcaption { + position: static; + padding: 0; + font-size: 50%; + } + figcaption small { + display: none; + } + th:first-child { + display: none; + } + th { + font-size: 50%; + } } EOT @@ -43,42 +84,56 @@ EOT

<: -say ucfirst $intro; -if ($Request) { - say 'Zie het populaire overzicht voor minder.'; -} -else { - say 'Zie ook minderbekende en verdergezochte verbanden.'; -} +say ucfirst $pageinfo->{intro}; +say $pageinfo->{altlink}; :>

<: my @table = qw( - >: origineel: zee-: meer_water: aardig: anders: #: - >hond: hond zeehond waterhond? prairiehond vleerhond #rodehond + >: 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 aardhaas? ossenhaas? # - >muis: muis zeemuis waterspitsmuis aardmuis vleermuis # + #>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? 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? # # + >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? mierenleeuw # - >wolf: wolf zeewolf waterwolf? aardwolf korenwolf #buidelwolf - >haan: haan zeehaan waterhaan rotshaan sprinkhaan #wilde_haan?? - #>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 # # + >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); @@ -94,33 +149,45 @@ if (exists $get{r}) { say ''; while (my $name = shift @table) { - if ($name =~ s/^#// and !$Request) { + if ($name =~ s/^#// and !$pageinfo->{prefix}) { while ($name = shift @table) { last if $name =~ m/^>/; } + $name or next; } - $name =~ y/_/ /; 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 print ""; next; } - printf ''; } say '
$name', $name // '?'; + print ''; + my $alt = $1 if $name =~ s/=(.*)//; my $hidden = $name =~ s/\?$//; - if ($name and -e (my $img = "data/dieren/$name.jpg")) { + $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?"; } - elsif (!$hidden) { + else { print $name; } + print ''; print '
';