xref: /expo/docs/components/Head.tsx (revision b6ed1561)
1import NextHead from 'next/head';
2import type { PropsWithChildren } from 'react';
3
4type HeadProps = PropsWithChildren<{ title?: string; description?: string }>;
5
6const BASE_TITLE = 'Expo Documentation';
7const BASE_DESCRIPTION = `Expo is an open-source platform for making universal native apps for Android, iOS, and the web with JavaScript and React.`;
8
9const Head = ({ title, description, children }: HeadProps) => (
10  <NextHead>
11    <title>{title ? `${title} - ${BASE_TITLE}` : BASE_TITLE}</title>
12    <meta charSet="utf-8" />
13    <meta httpEquiv="X-UA-Compatible" content="IE=edge" />
14    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
15    <link rel="icon" type="image/png" href="/static/images/favicon.ico" sizes="32x32" />
16
17    <meta name="description" content={description === '' ? BASE_DESCRIPTION : description} />
18    <meta property="og:title" content={title} />
19    <meta property="og:type" content="website" />
20    <meta property="og:image" content="https://docs.expo.dev/static/images/og.png" />
21    <meta property="og:image:url" content="https://docs.expo.dev/static/images/og.png" />
22    <meta property="og:image:secure_url" content="https://docs.expo.dev/static/images/og.png" />
23    <meta property="og:locale" content="en_US" />
24    <meta property="og:site_name" content={BASE_TITLE} />
25    <meta property="og:description" content={description === '' ? BASE_DESCRIPTION : description} />
26
27    <meta name="twitter:site" content="@expo" />
28    <meta name="twitter:card" content="summary" />
29    <meta property="twitter:title" content={title} />
30    <meta
31      name="twitter:description"
32      content={description === '' ? BASE_DESCRIPTION : description}
33    />
34    <meta property="twitter:image" content="https://docs.expo.dev/static/images/twitter.png" />
35    <meta name="google-site-verification" content="izrqNurn_EXfYbNIFgVIhEXkkZk9DleELH4UouM8s3k" />
36
37    {children}
38  </NextHead>
39);
40
41export default Head;
42