1--- 2interface Props { 3 title: string; 4 banner?: string; 5 graph?: { 6 description: string; 7 url: string; 8 type?: "website" | "article"; 9 }; 10} 11 12const title = "::" + Astro.props.title; 13const { banner = "https://entomoviscera.online/mainbanner.png" } = Astro.props; 14const { graph } = Astro.props; 15--- 16 17<html lang="en"> 18 <head> 19 <title>{title}</title> 20 <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 21 <meta charset="utf-8" /> 22 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 23 <meta name="generator" content={Astro.generator} /> 24 { 25 graph && ( 26 <Fragment> 27 <meta name="description" content={graph.description} /> 28 <meta property="og:title" content={title} /> 29 <meta property="og:description" content={graph.description} /> 30 <meta property="og:url" content={graph.url} /> 31 <meta property="og:type" content={graph.type ?? "website"} /> 32 <meta property="og:image" content={banner} /> 33 </Fragment> 34 ) 35 } 36 <style is:global> 37 * { 38 padding: 0; 39 margin: 0; 40 } 41 42 img { 43 max-width: 100%; 44 } 45 </style> 46 </head> 47 <body> 48 <slot /> 49 </body> 50</html>