unified

Project: remcohaszing/remark-mdx-frontmatter

Package: remark-mdx-frontmatter@2.1.1

  1. A remark plugin for converting frontmatter metadata into MDX exports
  1. remark 213
  2. unified 180
  3. markdown 152
  4. mdast 87
  5. remark-plugin 81
  6. mdx 39
  7. frontmatter 7
  8. yaml 7
  9. toml 4

remark-mdx-frontmatter

github actions codecov npm version npm downloads

A remark plugin for converting frontmatter metadata into MDX exports

Table of Contents

Installation

This package depends on the AST output by remark-frontmatter

npm install remark-frontmatter remark-mdx-frontmatter

Usage

This remark plugin takes frontmatter content, and outputs it as JavaScript exports. Both YAML and TOML frontmatter data are supported.

For example, given a file named example.mdx with the following contents:

---
hello: frontmatter
---

Rest of document

The following script:

import { readFile } from 'node:fs/promises'

import { compile } from '@mdx-js/mdx'
import remarkFrontmatter from 'remark-frontmatter'
import remarkMdxFrontmatter from 'remark-mdx-frontmatter'

const { value } = await compile(await readFile('example.mdx'), {
  jsx: true,
  remarkPlugins: [remarkFrontmatter, remarkMdxFrontmatter]
})
console.log(value)

Roughly yields:

export const frontmatter = {
  hello: 'frontmatter'
}

export default function MDXContent() {
  return <p>Rest of document</p>
}

API

The default export is a remark plugin.

Options

Compatibility

This project is compatible with Node.js 18 or greater.

License

MIT © Remco Haszing