@mintlify/prebuild
Version:
Helpful functions for Mintlify's prebuild step
31 lines (30 loc) • 1.21 kB
JavaScript
import { getDecoratedNavPageAndSlug } from '@mintlify/common';
import { getLocationErrString } from '../errorMessages/getLocationErrString.js';
import { preparseMdx } from './preparseMdx/index.js';
export const createPage = async (pagePath, pageContent, contentDirectoryPath, openApiFiles, asyncApiFiles, onError) => {
let pageMetadata;
let slug;
try {
const { pageMetadata: metadata, slug: pageSlug } = getDecoratedNavPageAndSlug(pagePath, pageContent, openApiFiles, asyncApiFiles);
pageMetadata = metadata;
slug = pageSlug;
pageContent = await preparseMdx(pageContent, contentDirectoryPath, pagePath, onError);
}
catch (err) {
const message = `\n ⚠️ Parsing error in the frontmatter: ${getLocationErrString(pagePath, contentDirectoryPath, err)}: `;
if (onError) {
onError(message);
}
else {
console.log(message);
}
// TODO - pages completely break in our backend when frontmatter is broken.
// Unify "createPage" function across applications and properly catch errors
throw err;
}
return {
pageMetadata,
pageContent,
slug,
};
};