smartfm/README.md

2.7 KiB

smartfm

frontmatter done right

Availabililty

npm git git docs

Status for master

build status coverage report Dependency Status bitHound Dependencies bitHound Code TypeScript node JavaScript Style Guide

What is frontMatter?

say you have the following markdown file:

---
title: A Really Awesome Article
date: 23-10-2020
type: feature
---

# An Awesome Title

The world is cool. And here is why

- reason 1
- reason 2

The top part that is enclosed by --- denotes frontmatter, usually written in yaml notation. Frontmatter is not exclusive to markdown. It can be used as prefix in any type of file when preprocessed with smartfm.

Usage

We recommend TypeScript for best in class Intellisense.

import * as smartfm from * smartfm

let markdownfile = `---
testKey: testValue
testKey2: testValue2
---
# some markdown`

// easy methods
let parsedData = smartfm.parse(markdownfile)

// parsedData will be object
/*
    {
        data: {
            testKey: testValue,
            testKey2: testValue2
        },
        content: '# some markdown',
        orig: '---\ntestKey: testValue\ntestKey2: testValue2\n---\n# some markdown'
    }
*/

let newFmString = smartfm.stringify('My awesome string', {testKey1: testValue1})
// newFmString will be '---\testKey1: testValue1\n---\nMyawesomeString'

# class Smartfm
let mySmartfm = new smartfm.Smartfm({
    fmType: 'yaml' // can be yaml or json atm
})

npm