UNPKG

gatsby-theme-advanced

Version:
48 lines (47 loc) 1.82 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateSeoData = exports.generatePostData = void 0; const remove_markdown_1 = __importDefault(require("remove-markdown")); // Generate postData from a allMdx edge const generatePostData = (post) => { const { coverImageUrl, coverImageAlt, datePublished, dateModified, description, title, category, tags, internalContent, excerpt, } = post; if (!internalContent) throw Error("SEO::generatePostData: Post doesn't contain internal content used for Rich Tags. Aborting."); const body = (0, remove_markdown_1.default)(internalContent); return { title, description: description || excerpt, coverImageUrl, coverImageAlt, datePublished, dateModified, category: category || "None", tags: tags || [], body, url: post.url, }; }; exports.generatePostData = generatePostData; // Generate shared SEO metadata const generateSeoData = (websiteData, postData) => { const isArticle = !!postData; const title = postData ? postData.title : websiteData.title; const type = postData ? "article" : "website"; const imageUrl = postData ? postData.coverImageUrl : websiteData.logoUrl; const imageAlt = postData ? postData.coverImageAlt : websiteData.description; const url = postData ? postData.url : websiteData.url; const description = postData ? postData.description : websiteData.description; return { isArticle, type, title, imageUrl, imageAlt, url, description, }; }; exports.generateSeoData = generateSeoData;