remark-mdx-frontmatter
A remark plugin for converting frontmatter metadata into MDX exports
Last updated 10 months ago by remcohaszing .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install remark-mdx-frontmatter 
SYNC missed versions from official npm registry.

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

  • default: The default value to export if no frontmatter data is found. (Default: undefined).
  • 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.

In addition it supports unist-util-mdx-define options.

Compatibility

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

License

MIT © Remco Haszing

Current Tags

  • 5.2.0                                ...           latest (10 months ago)

14 Versions

  • 5.2.0                                ...           10 months ago
  • 5.1.0                                ...           a year ago
  • 5.0.0                                ...           2 years ago
  • 4.0.0                                ...           2 years ago
  • 3.0.0                                ...           3 years ago
  • 2.1.1                                ...           3 years ago
  • 2.0.3                                ...           4 years ago
  • 2.0.2                                ...           4 years ago
  • 2.0.1                                ...           4 years ago
  • 2.0.0                                ...           4 years ago
  • 1.1.1                                ...           4 years ago
  • 1.1.0                                ...           4 years ago
  • 1.0.1                                ...           5 years ago
  • 1.0.0                                ...           5 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (6)
Dev Dependencies (10)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |