gatsby-theme-headless-wordpress
Version:
Creates pages for all of the content source by gatsby-source-wordpress.
54 lines (42 loc) • 1.65 kB
JavaScript
const { getContentNodes } = require(`./getContentNodes`)
const { getTaxonomies } = require(`./getTaxonomies`)
const { createContentPages } = require(`./createContentPages`)
const { createTaxonomyPages } = require(`./createTaxonomyPages`)
const { getContentTypes } = require(`./getContentTypes`)
const { formatLogMessage } = require(`./utils/formatLogMessage`)
const defaultOptions = {
templatesPath: `./src/templates`,
excludedNodeTypes: [`MediaItem`], // excludes creating pages for individual media items
excludedPageUrls: [], // excludes creating pages for specific urls
}
exports.createPages = async (gatsbyUtilities, pluginOptions) => {
const options = { ...defaultOptions, ...pluginOptions }
const contentTypes = await getContentTypes(gatsbyUtilities, options)
const contentNodes = await getContentNodes(gatsbyUtilities, options)
if (contentNodes.length >= 1) {
const contentPagesActivity = gatsbyUtilities.reporter.activityTimer(
formatLogMessage(`create content pages`)
)
contentPagesActivity.start()
await createContentPages({
contentTypes,
contentNodes,
gatsbyUtilities,
options,
})
contentPagesActivity.end()
}
const taxonomies = await getTaxonomies(gatsbyUtilities, options)
if (taxonomies.length >= 1) {
const taxonomyPagesActivity = gatsbyUtilities.reporter.activityTimer(
formatLogMessage(`create taxonomy pages`)
)
taxonomyPagesActivity.start()
await createTaxonomyPages({
taxonomies,
gatsbyUtilities,
options,
})
taxonomyPagesActivity.end()
}
}