class App::LinkSite::Site {
our
$VERSION
=
'0.0.13'
;
no
if
$] >= 5.038,
'warnings'
,
'experimental::class'
;
field
$name
:reader :param;
field
$handle
:reader :param;
field
$image
:reader :param;
field
$desc
:reader :param;
field
$og_image
:reader :param;
field
$site_url
:reader :param;
field
$socials
:reader :param = [];
field
$links
:reader :param = [];
method json_ld {
my
$json
= {
'@type'
=>
'WebPage'
,
name
=>
"Links page for $name ($handle)"
,
mainEntity
=> {
'@type'
=>
'Person'
,
name
=>
$self
->name,
image
=>
$self
->image,
sameAs
=> [
map
{
$_
->mk_social_link }
$self
->socials->@* ],
},
relatedLink
=> [
map
{
$_
->
link
}
$self
->links->@* ],
};
return
JSON->new->pretty->encode(
$json
);
}
}
1;