Package Exports
- remark-parse-frontmatter
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (remark-parse-frontmatter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
🎓 remark-parse-frontmatter
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-frontmatterConfigure
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.