gatsby-plugin-next-seo
Version:
SEO plugin for Gatsby projects
51 lines (45 loc) • 1.3 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.JsonLd = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactHelmetAsync = require("react-helmet-async");
/**
* Component that inline-includes a JSON-LD script where specified.
*
* @remarks
*
* ```tsx
* import React from 'react';
* import { JsonLd } from 'gatsby-plugin-next-seo';
* import { Person } from 'schema-dts';
*
* export default () => (
* <JsonLd<Person>
* json={{
* "@context": "https://schema.org",
* "@type": "Person",
* name: "Grace Hopper",
* alternateName: "Grace Brewster Murray Hopper",
* alumniOf: {
* "@type": "CollegeOrUniversity",
* name: ["Yale University", "Vassar College"]
* },
* knowsAbout: ["Compilers", "Computer Science"]
* }}
* />
* );
* ```
*/
var JsonLd = function JsonLd(_ref) {
var defer = _ref.defer,
json = _ref.json;
return /*#__PURE__*/_react["default"].createElement(_reactHelmetAsync.Helmet, {
defer: defer
}, /*#__PURE__*/_react["default"].createElement("script", {
type: "application/ld+json"
}, JSON.stringify(json, null, 2)));
};
exports.JsonLd = JsonLd;