UNPKG

soames-gatsby-theme

Version:

A customizable Gatsby theme for personal websites using WordPress as a headless CMS.

60 lines (59 loc) 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const jsx_runtime_1 = require("react/jsx-runtime"); const react_helmet_1 = require("react-helmet"); const gatsby_1 = require("gatsby"); const Seo = ({ title, description = "", lang = "en", meta = [], }) => { const { wp, wpUser } = (0, gatsby_1.useStaticQuery)((0, gatsby_1.graphql) ` query { wp { generalSettings { title description } } wpUser { name } } `); const metaDescription = description || wp.generalSettings?.description; const defaultTitle = wp.generalSettings?.title; const twitterHandle = wpUser?.name || ""; return ((0, jsx_runtime_1.jsx)(react_helmet_1.Helmet, { htmlAttributes: { lang }, title: title, titleTemplate: defaultTitle ? `%s | ${defaultTitle}` : undefined, meta: [ { name: "description", content: metaDescription, }, { property: "og:title", content: title, }, { property: "og:description", content: metaDescription, }, { property: "og:type", content: "website", }, { name: "twitter:card", content: "summary", }, { name: "twitter:creator", content: twitterHandle, }, { name: "twitter:title", content: title, }, { name: "twitter:description", content: metaDescription, }, ...meta, ] })); }; exports.default = Seo;