How to use gatsby-page-utils - 3 common examples

To help you get started, we’ve selected a few gatsby-page-utils examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github karolis-sh / gatsby-mdx / packages / gatsby-transformer-mdx / utils / page-creator.js View on Github external
async create(filePath) {
    const shouldCreate = !this.pages[filePath];
    if (shouldCreate) {
      this.pages[filePath] = true;
      const componentPath = path.join(this.pagesDirectory, filePath);
      const content = await readFile(componentPath);
      const { data: frontmatter } = grayMatter(content);

      this.createPage({
        path: createPath(filePath),
        component: componentPath,
        context: frontmatter,
      });
    }
  }
github karolis-sh / gatsby-mdx / packages / gatsby-transformer-mdx / utils / page-creator.js View on Github external
this.store.getState().pages.forEach(page => {
      if (page.component === componentPath) {
        this.deletePage({
          path: createPath(filePath),
          component: componentPath,
        });
      }
    });
    this.pages[filePath] = undefined;
github karolis-sh / gatsby-mdx / packages / gatsby-transformer-mdx / gatsby / create-pages-statefully.js View on Github external
module.exports = async ({ store, actions }, pluginOptions) => {
  const { pagesPath } = getOptions(pluginOptions);
  const { createPage, deletePage } = actions;

  const pagesDirectory = path.resolve(process.cwd(), pagesPath);
  const pagesGlob = '**/*.mdx';
  const pageCreator = new PageCreator({ pagesDirectory, store, createPage, deletePage });

  const files = await glob(pagesGlob, { cwd: pagesPath });
  await Promise.all(files.map(file => pageCreator.create(file)));

  await watchDirectory(
    pagesPath,
    pagesGlob,
    addedPath => pageCreator.create(addedPath),
    removedPath => pageCreator.remove(removedPath)
  );
};

gatsby-page-utils

Gatsby library that helps creating pages

MIT
Latest version published 2 months ago

Package Health Score

89 / 100
Full package analysis