character-ref/src/components/head/page-head-meta.webc

43 lines
1.8 KiB
Text

<script webc:setup>
const getTitle = (fullName) => {
if (fullName) {
return `${fullName} — Character Reference`;
}
return "Sebin's Characters — Home";
};
const getImageUrl = (char, type = 'og') =>
char ? `src/img/${char.toLowerCase()}/${type}.png` : `src/img/${type}.png`;
</script>
<title @text="getTitle($data.fullName)"></title>
<link
rel="shortcut icon"
:href="getImage('favicon', getImageUrl($data.firstName, 'avatar'), 'url')"
:type="getImage('favicon', getImageUrl($data.firstName, 'avatar'), 'sourceType')"
/>
<meta webc:if="$data.description" name="description" :content="$data.description" />
<meta name="generator" :content="$data.eleventy.generator" />
<meta property="fediverse:creator" content="@SebinNyshkim@meow.social" />
<meta property="og:site_name" content="Sebin's Characters" />
<meta property="og:type" content="website" />
<meta property="og:url" :content="$data.base + $data.page.url" />
<meta property="og:title" :content="getTitle($data.fullName)" />
<meta property="og:description" :content="$data.description" />
<meta property="og:locale" :content="$data.language" />
<meta property="og:image" :content="getImage('og', getImageUrl($data.firstName), 'url')" />
<meta property="og:image:type" :content="getImage('og', getImageUrl($data.firstName), 'sourceType')" />
<meta property="og:image:width" :content="getImage('og', getImageUrl($data.firstName), 'width')" />
<meta property="og:image:height" :content="getImage('og', getImageUrl($data.firstName), 'height')" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:url" :content="$data.base + $data.page.url" />
<meta name="twitter:title" :content="getTitle($data.fullName)" />
<meta name="twitter:description" :content="$data.description" />
<meta name="twitter:image" :content="getImage('og', getImageUrl($data.firstName), 'url')" />