❀Notify President Madagascar

    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.

    Install

    npm i remark-parse-frontmatter

    DownloadsWeekly Downloads

    167

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    7.02 kB

    Total Files

    7

    Last publish

    Collaborators

    • phuctm97