2.0.0 • Published 4 years ago
extract-mdx-metadata v2.0.0
extract-mdx-metadata
Extract MDX metadata without using babel or webpack loaders.
Installation
NPM
$ npm i extract-mdx-metadataYarn
$ yarn add extract-mdx-metadataUsage
Say we have the following file, example.mdx:
export const meta = {
prop: 'value',
};
# Title
Content.And our script, example.js, looks as follows:
import extractMdxMetadata from 'extract-mdx-metadata';
(async () => {
const meta = await extractMdxMetadata('example.mdx');
console.log('meta', meta);
})();Now, running node example yields:
meta {
prop: 'value'
};You can try this yourself by downloading or cloning the project, installing dependencies, and running npm run example.
API
extractMdxMeta(path, options)`
Pass a file path to an MDX file and it returns the metadata object.
options (optional)
Type: Object
defaultReturnValue
Type: *\
Default: {} (empty Object)
The value returned if the content does not contain any metadata.
Example:
import extractMdxMetadata from 'extract-mdx-metadata';
(async () => {
const meta = await extractMdxMetadata('mdx-with-no-metadata.mdx', {
defaultReturnValue: undefined,
});
console.log('meta', meta);
//=> undefined
})();FAQ
Why am I getting a Must use import to load ES Module error?
This package is written as a pure ESM package.
If you are trying to this package in a CommonJS (aka. CJS) project, you'll need to use a dynamic import instead.
(async () => {
const {default: extractMdxMetadata} = await import('extract-mdx-metadata');
const meta = await extractMdxMetadata('example.mdx');
console.log('meta', meta);
})();License
MIT © Michael Novotny