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