UNPKG

@paroicms/site-generator-plugin

Version:

ParoiCMS Site Generator Plugin

32 lines (31 loc) 1.36 kB
import { getHandleOfSiteField } from "@paroicms/public-server-lib"; import { getRandomImagePath } from "../lib/images-lib.js"; import { generateLocalizedFooterMention } from "./create-node-contents.js"; export async function updateSiteFields(ctx, _report, options) { const { logger, siteSchema, siteConnector } = ctx; logger.debug("Updating site fields…"); const { siteTitle } = options; const siteType = siteSchema.nodeTypes._site; const footerMention = generateLocalizedFooterMention(siteSchema); // Update site fields for each language for (const language of siteSchema.languages) { const values = { title: siteTitle[language], }; if (siteType.fields.some((f) => f.name === "footerMention")) { values.footerMention = footerMention[language]; } await siteConnector.updateSiteFields(language, values); } for (const fieldName of ["favicon", "ogImage", "logo"]) { const fieldType = siteType.fields.find((f) => f.name === fieldName); if (!fieldType || fieldType.storedAs !== "mediaHandle") continue; await siteConnector.setMedia({ handle: getHandleOfSiteField(fieldName), filePath: getRandomImagePath(), replace: true, }); } logger.debug("… Site fields updated"); }