X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/85d060511bea5c28a099246805502665d040b9ff..aee8ac902453466f305d2169195848348379d0d0:/dieren.plp?ds=sidebyside
diff --git a/dieren.plp b/dieren.plp
index e4dd746..f7935fe 100644
--- a/dieren.plp
+++ b/dieren.plp
@@ -1,127 +1,149 @@
<(common.inc.plp)><:
+use warnings;
+no warnings 'qw';
-my $verbose = exists $get{v} && ($get{v} // 1);
my $intro = 'dieren die in het Nederlands vernoemd zijn naar andere dieren.';
-$intro .= '.. en dergelijke.' if $verbose;
-$intro .= '.. enzo.' if $verbose >= 2;
+my %subpages = (
+ standaard => {
+ title => 'dieren',
+ intro => $intro,
+ altlink => 'Zie ook verdergezochte verbanden' .
+ ' of het beknopte overzicht.',
+ prefix => qr/^(?!#)\+?/, # no # optional +
+ colfilter => 0,
+ },
+ uitgebreid => {
+ title => 'uitgebreid dieren',
+ intro => "$intro.. en dergelijke.",
+ altlink => 'Zie het populaire overzicht voor minder.',
+ prefix => qr/.*?[#]|^[#+]*/, # after optional # or +
+ secrets => 1,
+ },
+ beknopt => {
+ title => 'beknopt dieren',
+ intro => "een aantal $intro",
+ altlink => 'Zie het populaire overzicht voor meer.',
+ prefix => qr/^\+/, # only +
+ colfilter => 1,
+ },
+);
+
+$Request ||= 'standaard';
+my $pageinfo = $subpages{$Request}
+ or Html(), Abort("Onbekende dierenpagina $Request
", '404 request not found');
+
+my $proto = sprintf('http%s://', !!$ENV{HTTPS} && 's');
+my $preview = "$proto$ENV{HTTP_HOST}/dieren.jpg";
Html({
- title => ($verbose && 'uitgebreid ') . 'dieren cheat sheet',
- version => '1.0',
- description => "Tabeloverzicht met afbeeldingen van $intro",
+ title => $pageinfo->{title}.' cheat sheet',
+ version => '1.1',
+ lang => 'nl',
+ 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',
+ raw => <<"EOT",
+
EOT
});
:>
-
<: -say ucfirst $intro; -if ($verbose) { - 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? aardhond? vleerhond #rodehond - >kat: kat zeekat meerkat caterpillar? 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 # - #>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 # - #>draak: draak zeedraak waterdraak aarddraak? komododraak # - #>vlo: vlo strandvlo watervlo aardvlo # # - #>mot: mot zeemot? watermot aardmot? marmot # - #>bij: bij zeebij? waterbij aardbij # # -); +my $table = Data('dieren'); if (exists $get{r}) { use List::MoreUtils qw( part ); - my @trans = (part { state $col; /^#?>/ ? ($col = 0) : ++$col } @table); - @table = (); + 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; + push @$table, s/^#?\K>/$1/r; } } } -say '$name | "; - next; - } - printf '', $name // '?'; - my $hidden = $name =~ s/\?$//; - if ($name and -e (my $img = "data/dieren/$name.jpg")) { - printf ''; - } - elsif (!$hidden) { - print $name; + if ($name =~ s/:$//) { + # trailing colon indicates header text + print " | $name | "; + next; + } + print '';
+ my $alt = $1 if $name =~ s/=(.*)//;
+ $name = "$name" if $name =~ s/\?$//; + $name .= " ($alt)" if $alt; + + printf ''; + print ' | ';
}
- print '';
+ say '
---|