remark-parse-frontmatter
TypeScript icon, indicating that this package has built-in type declarations

1.0.3Β β€’Β PublicΒ β€’Β Published

πŸŽ“ remark-parse-frontmatter

Github checks npm version Code style GitHub license

Parses and validates Markdown frontmatter (YAML) to file.data.frontmatter.

Validation is done by revalidator.

Built for Remark 12, won't work with Remark 13. Requires remark-frontmatter.

Example

example.js:

const processor = remark()
  .use(require("remark-frontmatter"))
  .use(require("remark-parse-frontmatter"))
  .freeze();

const file = processor.processSync(`
---
title: Hello, World!
---
`);

console.log(file.data.frontmatter);

Output:

{
  title: "Hello, World!"
}

Usage

Install

yarn add remark-parse-frontmatter

Configure

Unified / Remark:

// Without validation
unified()
  .use(require("remark-parse"))
  .use(require("remark-frontmatter"))
  .use(require("remark-parse-frontmatter"))
  .use(require("remark-stringify"));

// With validation
unified()
  .use(require("remark-parse"))
  .use(require("remark-frontmatter"))
  .use(require("remark-parse-frontmatter"), {
    properties: {
      title: { type: "string", required: true },
      tags: { type: "array", maxItems: 4 },
    },
  })
  .use(require("remark-stringify"));
// Without validation.
remark()
  .use(require("remark-frontmatter"))
  .use(require("remark-parse-frontmatter"));

// With validation.
remark()
  .use(require("remark-frontmatter"))
  .use(require("remark-parse-frontmatter"), {
    properties: {
      title: { type: "string", required: true },
      tags: { type: "array", maxItems: 4 },
    },
  });

MDX:

// Without validation.
mdx(mdxText, {
  remarkPlugins: [
    require("remark-unwrap-texts"),
    require("remark-parse-frontmatter"),
  ],
});

// With validation.
mdx(mdxText, {
  remarkPlugins: [
    require("remark-unwrap-texts"),
    [
      require("remark-parse-frontmatter"),
      {
        properties: {
          title: { type: "string", required: true },
          tags: { type: "array", maxItems: 4 },
        },
      },
    ],
  ],
});

Made by @phuctm97.

/remark-parse-frontmatter/

    Package Sidebar

    Install

    npm i remark-parse-frontmatter

    Weekly Downloads

    1,840

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    7.02 kB

    Total Files

    7

    Last publish

    Collaborators

    • phuctm97