remark-mdx-frontmatter

A remark plugin for converting frontmatter metadata into MDX exports

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
remark-mdx-frontmatter
4.0.06 months ago3 years agoMinified + gzip package size for remark-mdx-frontmatter in KB

Readme

remark-mdx-frontmatter
github actions codecov npm version npm downloads
A remark plugin for converting frontmatter metadata into MDX exports

Table of Contents

- Options

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:

```mdx

hello: frontmatter

Rest of document
The following script:

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

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

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

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

  • name: The identifier name of the variable the frontmatter data is assigned to. (Default:
frontmatter).
  • parsers: A mapping A mapping of node types to parsers. Each key represents a frontmatter node
type. The value is a function that accepts the frontmatter data as a string, and returns the parsed data. By default yaml nodes will be parsed using yaml and toml nodes using toml.

Compatibility

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

License

MIT © Remco Haszing