0.5.7 • Published 4 years ago

meta-marked-2020 v0.5.7

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

meta-marked-2020

codecov Renovate

The marked markdown processor for Node.js with support for YAML metadata

This is a fork of j201/meta-marked, the upstream is not maintained.

about

why meta-marked-2020

  • updated dependency
  • handle hexo markdown files (in markdown hexo generated, there is no --- at beginning of file)

original idea

Just a quick extension I needed for processing markdown in Node. Props to Christopher Jeffrey for his excellent markdown processor 'marked'.

The meta-marked-2020 function behaves exactly the same as marked, except for the following:

  • Instead of returning a parsed string, meta-marked returns an object with the following properties: - meta contains the metadata object or null if metadata isn't found - html contains the parsed HTML - markdown contains the text of the markdown section of the string
  • metaMarked.noMeta is a reference to the marked function, so it can be used to avoid parsing metadata.

In order to include metadata in a document, insert YAML at the top of the document surrounded by --- and .... Note that if the given string doesn't start with ---, it will not be interpreted as having metadata.

how to

const metaMarked = require("meta-marked-2020");
const obj = new metaMarked("---yaml meta --- markdown");

Example

---
Title:   My awesome markdown file
Author:  Me
Scripts:
    - js/doStuff.js
    - js/doMoreStuff.js
...

##Header
Regular text and stuff goes here.

You can also use the approach below, which will result in a very nice data table at the top of your markdown when viewing the file GitHub:

---
Title:   My awesome markdown file
Author:  Me
Scripts:
    - js/doStuff.js
    - js/doMoreStuff.js
---

##Header
Regular text and stuff goes here.

Both of the above will result in the following output:

{
	"meta": {
		"Title": "My awesome markdown file",
		"Author": "Me",
		"Scripts": [
			"js/doStuff.js",
			"js/doMoreStuff.js"
		]
	},
	"html": "<h2>Header</h2>\n<p>Regular text and stuff goes here.</p>\n",
	"markdown": "\n\n##Header\nRegular text and stuff goes here."
}

###Testing

npm test

Licensed under the MIT License.

0.5.7

4 years ago

0.5.1

4 years ago

0.4.9

4 years ago

0.4.8

4 years ago