node-md-meta-cataloger
v3.0.0
Published
A module and CLI for parsing Markdown files (including YAML Front Matter metadata).
Downloads
8
Maintainers
Readme
node-md-meta-cataloger
Easily generate a JSON array of markdown files and their inline metadata.
Installation
npm install --save node-md-meta-cataloger
How to Use
CLI Tool
node-md-meta-cataloger -i <dir> -o <path>
node-md-meta-cataloger -i /path/to/folder -o /another/path/catalog.json
node-md-meta-cataloger --help
| Option | Short Flag | Required | Description | | --------------------- | ---------- | -------- | ------------------------------------- | | --input <dir> | -i | true | input directory path | | --output <dir> | -o | true | output path of JSON result | | --delete-filename-ext | -d | false | remove ".md" from filenames in result | | --config | -c | false | path to .js config file | | --version | -v | false | output the version number | | --help | -h | false | output usage information |
Config File (--config)
- Using the
--config
option you can specify a path to a JS config file (an ES module) that should return a default object exported with "camelCased" versions of the existing CLI options (plus any extra). - If an option exists in both the config file and as a CLI option, then the CLI option will receive priority.
| Option | Type | Required | Description |
| ----------------- | -------- | -------- | -------------------------------------------------------- |
| input | String | true | input directory path |
| output | String | true | output path of JSON result |
| normalize | Function | false | receives results as param, returned object is new result |
| sort | Function | false | function for sort
|
| deleteFilenameExt | Boolean | false | remove ".md" from filenames in result if true |
Node Module
readMarkdown(path : String) : array or object
Path parameter may reference a markdown file or folder containing markdown files.
- If passed a path to a folder, it returns an array of objects containing all markdown file content and their associated metadata.
- If passed a path to a file, it return an object containing the markdown content and its metadata.
import {readMarkdown} from 'node-md-meta-cataloger';
let result = readMarkdown('path/to/folder');
Example value of result
above:
[
{
content: '<p>markdown content</p>',
filename: 'example.md',
filepath: 'path/to/folder/example.md',
metadata: {
title: 'Title',
author: 'Joshua',
},
},
];