Socket
Socket
Sign inDemoInstall

mdast-util-frontmatter

Package Overview
Dependencies
Maintainers
2
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mdast-util-frontmatter - npm Package Compare versions

Comparing version 0.1.0 to 0.2.0

41

from-markdown.js

@@ -1,1 +0,40 @@

module.exports = require('./lib/from-markdown')
module.exports = createFromMarkdown
var matters = require('micromark-extension-frontmatter/lib/matters')
function createFromMarkdown(options) {
var settings = matters(options)
var length = settings.length
var index = -1
var enter = {}
var exit = {}
var matter
while (++index < length) {
matter = settings[index]
enter[matter.type] = opener(matter)
exit[matter.type] = close
exit[matter.type + 'Value'] = value
}
return {enter: enter, exit: exit}
}
function opener(matter) {
return open
function open(token) {
this.enter({type: matter.type, value: ''}, token)
this.buffer()
}
}
function close(token) {
var data = this.resume()
// Remove the initial and final eol.
this.exit(token).value = data.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, '')
}
function value(token) {
this.config.enter.data.call(this, token)
this.config.exit.data.call(this, token)
}

4

index.js

@@ -1,2 +0,2 @@

exports.fromMarkdown = require('./lib/from-markdown')
exports.toMarkdown = require('./lib/to-markdown')
exports.fromMarkdown = require('./from-markdown')
exports.toMarkdown = require('./to-markdown')
{
"name": "mdast-util-frontmatter",
"version": "0.1.0",
"version": "0.2.0",
"description": "mdast extension to parse and serialize frontmatter (YAML, TOML, etc)",

@@ -30,3 +30,2 @@ "license": "MIT",

"files": [
"lib/",
"from-markdown.js",

@@ -37,7 +36,7 @@ "index.js",

"dependencies": {
"micromark-extension-frontmatter": "^0.1.0"
"micromark-extension-frontmatter": "^0.2.0"
},
"devDependencies": {
"mdast-util-from-markdown": "^0.2.0",
"mdast-util-to-markdown": "^0.2.0",
"mdast-util-from-markdown": "^0.5.0",
"mdast-util-to-markdown": "^0.3.0",
"nyc": "^15.0.0",

@@ -44,0 +43,0 @@ "prettier": "^2.0.0",

@@ -14,3 +14,3 @@ # mdast-util-frontmatter

When parsing (`from-markdown`), must be combined with
[`micromark-extension-frontmatter`][extension-frontmatter].
[`micromark-extension-frontmatter`][extension].

@@ -46,3 +46,3 @@ You probably shouldn’t use this package directly, but instead use

var toMarkdown = require('mdast-util-to-markdown')
var frontmatterSyntax = require('micromark-extension-frontmatter')
var syntax = require('micromark-extension-frontmatter')
var frontmatter = require('mdast-util-frontmatter')

@@ -53,3 +53,3 @@

var tree = fromMarkdown(doc, {
extensions: [frontmatterSyntax(['yaml', 'toml'])],
extensions: [syntax(['yaml', 'toml'])],
mdastExtensions: [frontmatter.fromMarkdown(['yaml', 'toml'])]

@@ -114,3 +114,3 @@ })

— the smallest commonmark-compliant markdown parser that exists
* [`micromark/micromark-extension-frontmatter`][extension-frontmatter]
* [`micromark/micromark-extension-frontmatter`][extension]
— micromark extension to parse frontmatter

@@ -188,4 +188,4 @@ * [`syntax-tree/mdast-util-from-markdown`][from-markdown]

[extension-frontmatter]: https://github.com/micromark/micromark-extension-frontmatter
[extension]: https://github.com/micromark/micromark-extension-frontmatter
[options]: https://github.com/micromark/micromark-extension-frontmatter#options

@@ -1,1 +0,46 @@

module.exports = require('./lib/to-markdown')
module.exports = createToMarkdown
var matters = require('micromark-extension-frontmatter/lib/matters')
function createToMarkdown(options) {
var unsafe = []
var handlers = {}
var settings = matters(options)
var length = settings.length
var index = -1
var matter
while (++index < length) {
matter = settings[index]
handlers[matter.type] = handler(matter)
unsafe.push({atBreak: true, character: fence(matter, 'open').charAt(0)})
}
return {unsafe: unsafe, handlers: handlers}
}
function handler(matter) {
var open = fence(matter, 'open')
var close = fence(matter, 'close')
return handle
function handle(node) {
return open + (node.value ? '\n' + node.value : '') + '\n' + close
}
}
function fence(matter, prop) {
var marker
if (matter.marker) {
marker = pick(matter.marker, prop)
return marker + marker + marker
}
return pick(matter.fence, prop)
}
function pick(schema, prop) {
return typeof schema === 'string' ? schema : schema[prop]
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc