UNPKG

@paroicms/site-generator-plugin

Version:

ParoiCMS Site Generator Plugin

30 lines (29 loc) 1.22 kB
import { getFirstSiteLanguage, isMultilingual } from "./jt-site-schema-helpers.js"; export function indent(template, level, { skipFirst = false } = {}) { const indentStr = " ".repeat(level); if (skipFirst) { const lines = template.split("\n"); return lines.map((line, index) => (index === 0 ? line : indentStr + line)).join("\n"); } // For firstLine true, indent all lines. return template.replace(/^/gm, indentStr); } export function getPredefinedDataType(ctx, fieldName) { const predefinedField = ctx.predefinedFields.get(fieldName); if (!predefinedField) return { dataType: "string", renderAs: undefined }; return { dataType: predefinedField.dataType, renderAs: predefinedField.renderAs, }; } export function localizedLabelTemplate(ctx, label) { const { siteSchema, setLocalizedLabel: appendLocalizedLabel } = ctx; const firstLanguage = getFirstSiteLanguage(siteSchema); const defaultLabel = firstLanguage in label ? label[firstLanguage] : label.en; if (!isMultilingual(siteSchema)) { return defaultLabel; } appendLocalizedLabel(label); return `{{ "${defaultLabel.replaceAll('"', '\\"')}" | t }}`; }