diff options
Diffstat (limited to 'examples/blog/src/components/MainHead.astro')
-rw-r--r-- | examples/blog/src/components/MainHead.astro | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/blog/src/components/MainHead.astro b/examples/blog/src/components/MainHead.astro new file mode 100644 index 000000000..bff812b0c --- /dev/null +++ b/examples/blog/src/components/MainHead.astro @@ -0,0 +1,32 @@ +--- +// props +export let title: string; +export let description: string; +export let image: string | undefined; +export let type: string | undefined; + +// internal data +const OG_TYPES = { + 'movie': 'video.movie', + 'television': 'video.tv_show' +} +--- + +<!-- Common --> +<meta charset="UTF-8" /> +<title>{title}</title> +<meta name="description" content={description} /> +<link rel="stylesheet" href="/global.css" /> + +<!-- OpenGraph --> +<meta property="og:title" content={title} /> +<meta property="og:description" content={description} /> +{image && (<meta property="og:image" content={image} />)} +{OG_TYPES[type] && (<meta property="og:type" content={OG_TYPES[type]} />)} + +<!-- Twitter --> +<meta name="twitter:card" content={image ? 'summary_large_image' : 'summary'} /> +<meta name="twitter:site" content="@astro" /> +<meta name="twitter:title" content={title} /> +<meta name="twitter:description" content={description} /> +{image && (<meta name="twitter:image" content={image} />)} |