refactor: ♻️ provide generalized function for meta image generation

Separate functions would work almost identical, so might as well merge into single function and generalize it
This commit is contained in:
Sebin Nyshkim 2025-07-07 20:31:54 +02:00
parent bd4dbdd620
commit bcd125d951
3 changed files with 40 additions and 21 deletions

View file

@ -7,11 +7,18 @@
return 'Choose Your Character!';
};
const getImageUrl = (char) => (char ? `src/img/${char.toLowerCase()}/og.png` : 'src/img/og.png');
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" />
@ -24,13 +31,13 @@
<meta property="og:description" :content="$data.description" />
<meta property="og:locale" :content="$data.language" />
<meta property="og:image" :content="getOgImage(getImageUrl($data.firstName), 'url')" />
<meta property="og:image:type" :content="getOgImage(getImageUrl($data.firstName), 'sourceType')" />
<meta property="og:image:width" :content="getOgImage(getImageUrl($data.firstName), 'width')" />
<meta property="og:image:height" :content="getOgImage(getImageUrl($data.firstName), 'height')" />
<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="getOgImage(getImageUrl($data.firstName), 'url')" />
<meta name="twitter:image" :content="getImage('og', getImageUrl($data.firstName), 'url')" />