diff options
Diffstat (limited to 'lib/VNDB/Handler')
-rw-r--r-- | lib/VNDB/Handler/Chars.pm | 8 | ||||
-rw-r--r-- | lib/VNDB/Handler/Misc.pm | 16 | ||||
-rw-r--r-- | lib/VNDB/Handler/Producers.pm | 7 | ||||
-rw-r--r-- | lib/VNDB/Handler/Releases.pm | 7 | ||||
-rw-r--r-- | lib/VNDB/Handler/Staff.pm | 7 | ||||
-rw-r--r-- | lib/VNDB/Handler/VNPage.pm | 13 |
6 files changed, 50 insertions, 8 deletions
diff --git a/lib/VNDB/Handler/Chars.pm b/lib/VNDB/Handler/Chars.pm index 392bf446..5caf677e 100644 --- a/lib/VNDB/Handler/Chars.pm +++ b/lib/VNDB/Handler/Chars.pm @@ -28,7 +28,13 @@ sub page { )->[0]; return $self->resNotFound if !$r->{id}; - $self->htmlHeader(title => $r->{name}, noindex => $rev); + my $metadata = { + 'og:title' => $r->{name}, + 'og:description' => $r->{desc}, + 'og:image' => $r->{image} && imgurl(ch => $r->{image}), + }; + + $self->htmlHeader(title => $r->{name}, noindex => $rev, metadata => $metadata); $self->htmlMainTabs(c => $r); return if $self->htmlHiddenMessage('c', $r); diff --git a/lib/VNDB/Handler/Misc.pm b/lib/VNDB/Handler/Misc.pm index 9cdbf4e2..6bda8091 100644 --- a/lib/VNDB/Handler/Misc.pm +++ b/lib/VNDB/Handler/Misc.pm @@ -35,12 +35,22 @@ TUWF::register( sub homepage { my $self = shift; - $self->htmlHeader(title => 'The Visual Novel Database', feeds => [ keys %{$self->{atom_feeds}} ]); + + my $title = 'The Visual Novel Database'; + my $desc = 'VNDB.org strives to be a comprehensive database for information about visual novels.'; + + my $metadata = { + 'og:type' => 'website', + 'og:title' => $title, + 'og:description' => $desc, + }; + + $self->htmlHeader(title => $title, feeds => [ keys %{$self->{atom_feeds}} ], metadata => $metadata); div class => 'mainbox'; - h1 'The Visual Novel Database'; + h1 $title; p class => 'description'; - txt 'VNDB.org strives to be a comprehensive database for information about visual novels.'; + txt $desc; br; txt 'This website is built as a wiki, meaning that anyone can freely add' .' and contribute information to the database, allowing us to create the' diff --git a/lib/VNDB/Handler/Producers.pm b/lib/VNDB/Handler/Producers.pm index bde7a07d..42c4e7f0 100644 --- a/lib/VNDB/Handler/Producers.pm +++ b/lib/VNDB/Handler/Producers.pm @@ -50,7 +50,12 @@ sub page { )->[0]; return $self->resNotFound if !$p->{id}; - $self->htmlHeader(title => $p->{name}, noindex => $rev); + my $metadata = { + 'og:title' => $p->{name}, + 'og:description' => $p->{desc}, + }; + + $self->htmlHeader(title => $p->{name}, noindex => $rev, metadata => $metadata); $self->htmlMainTabs(p => $p); return if $self->htmlHiddenMessage('p', $p); diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm index 31026efe..19fa0678 100644 --- a/lib/VNDB/Handler/Releases.pm +++ b/lib/VNDB/Handler/Releases.pm @@ -28,7 +28,12 @@ sub page { )->[0]; return $self->resNotFound if !$r->{id}; - $self->htmlHeader(title => $r->{title}, noindex => $rev); + my $metadata = { + 'og:title' => $r->{title}, + 'og:description' => $r->{notes}, + }; + + $self->htmlHeader(title => $r->{title}, noindex => $rev, metadata => $metadata); $self->htmlMainTabs('r', $r); return if $self->htmlHiddenMessage('r', $r); diff --git a/lib/VNDB/Handler/Staff.pm b/lib/VNDB/Handler/Staff.pm index 378bbd91..ca2f9842 100644 --- a/lib/VNDB/Handler/Staff.pm +++ b/lib/VNDB/Handler/Staff.pm @@ -27,7 +27,12 @@ sub page { )->[0]; return $self->resNotFound if !$s->{id}; - $self->htmlHeader(title => $s->{name}, noindex => $rev); + my $metadata = { + 'og:title' => $s->{name}, + 'og:description' => $s->{desc}, + }; + + $self->htmlHeader(title => $s->{name}, noindex => $rev, metadata => $metadata); $self->htmlMainTabs('s', $s) if $id; return if $self->htmlHiddenMessage('s', $s); diff --git a/lib/VNDB/Handler/VNPage.pm b/lib/VNDB/Handler/VNPage.pm index 5f8f8f3a..4cdcb166 100644 --- a/lib/VNDB/Handler/VNPage.pm +++ b/lib/VNDB/Handler/VNPage.pm @@ -341,7 +341,18 @@ sub page { my $r = $self->dbReleaseGet(vid => $vid, what => 'producers platforms', results => 200); - $self->htmlHeader(title => $v->{title}, noindex => $rev); + my $metadata = { + 'og:title' => $v->{title}, + 'og:description' => $v->{desc}, + }; + + if($v->{image} && !$v->{img_nsfw}) { + $metadata->{'og:image'} = imgurl(cv => $v->{image}); + } elsif(my ($ss) = grep !$_->{nsfw}, @{$v->{screenshots}}) { + $metadata->{'og:image'} = imgurl(st => $ss->{id}); + } + + $self->htmlHeader(title => $v->{title}, noindex => $rev, metadata => $metadata); $self->htmlMainTabs('v', $v); return if $self->htmlHiddenMessage('v', $v); |