{"_id":"docmatter","_rev":"88-db9ed74f2f1d5b56ad841220c2664896","name":"docmatter","dist-tags":{"latest":"4.7.0","next":"4.7.0-next.1703844277.18e3f340cf0adccb5f01e6dcadbe7480284918ee"},"versions":{"1.0.0":{"name":"docmatter","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","version":"1.0.0","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","opencollective","flattr","paypal","bitcoin","wishlist","---","slackin"],"config":{"patreonUsername":"bevry","opencollectiveUsername":"bevry","flattrUsername":"balupton","paypalURL":"https://bevry.me/paypal","bitcoinURL":"https://bevry.me/bitcoin","wishlistURL":"https://bevry.me/wishlist","slackinURL":"https://slack.bevry.me"}},"author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=4"},"editions":[{"description":"Source + CoffeeScript + Require","directory":"source","entry":"index.coffee","syntaxes":["coffeescript","require"]},{"description":"CoffeeScript Compiled + ESNext + Require","directory":"esnext","entry":"index.js","syntaxes":["javascript","esnext","require"]},{"description":"CoffeeScript Compiled + ES2015 + Require","directory":"es2015","entry":"index.js","syntaxes":["javascript","es2015","require"]}],"main":"index.js","dependencies":{"editions":"^1.3.4"},"devDependencies":{"assert-helpers":"^4.5.1","babel-core":"^6.26.3","babel-preset-es2015":"^6.24.1","coffeelint":"^2.1.0","coffeescript":"^2.3.1","joe":"^2.0.2","joe-reporter-console":"^2.0.1","projectz":"^1.4.0","yamljs":"^0.3.0"},"scripts":{"our:setup":"npm run our:setup:npm","our:setup:npm":"npm install","our:clean":"rm -Rf ./docs ./es2015 ./es5 ./out","our:compile":"npm run our:compile:coffee:esnext && npm run our:compile:coffee:es2015","our:compile:coffee:esnext":"coffee -bco ./esnext ./source","our:compile:coffee:es2015":"coffee -bcto ./es2015 ./source","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:verify":"npm run our:verify:coffeelint","our:verify:coffeelint":"coffeelint ./source","our:deploy":"echo no need for this project","our:test":"npm run our:verify && npm test","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:release:push":"git push origin master && git push origin --tags","test":"node --harmony ./test.js --joe-reporter=console"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"gitHead":"98ba2d15a29381e1f1f238c45ab89ee0fa958dd6","_id":"docmatter@1.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"bevryme","email":"us@bevry.me"},"dist":{"integrity":"sha512-cO1WhYDiFf8VPLG3R7tvZn7Y81enf/2VERD9i0CnLxQJHd84ae3YCpNUwI7o62WvER9LA+CNn5Tbz3+ocwwKxQ==","shasum":"b9d3fb31f99d26c74e95f89383fec3fe16b909a1","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-1.0.0.tgz","fileCount":9,"unpackedSize":19789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHMFSCRA9TVsSAnZWagAABEQQAJWbkwmEhurK/XRk9bnt\nyFb7wCg9clecp1KsQpV+Er3jOLST0H7ZTl8rHXfOVOlFD5jPqBSLX3BExde4\n0G2Aqvyb6aQiPupmjq7E92s3v91mR71AG9VqZZTXdCQxEIr8xbycv01j6tHp\nqsdG88JKtI6uwfUdBK1tLIBpGdz4uV1MgzcsjU4QppanbMdKcaiZZIipdFvV\nMQpBTrYZ9xwF+4woCks3OLqCmGtetSScxmAAAHcBf4k/CnZaJphXg/6UDMV2\nE6603d2/MEUv3twC/VSYVXi6tMj6QK1weuI8oiv7RZVtoOY5+D8n2E+w25RC\nIRfskTfoTMkrbvQdrXLpNw7jxPY0rR/3NQM9P7Biag41uA5emOj1sPocsMmE\nHjCMbd5p/jsUYNrsDnleQeMxIBDiUsIvhmlNqlc3QMf20fcT4/dVKyev4N+f\ncGa0N73BtNYKZW5p2LCwAtZTCKcDfZVAqNw7w5JVAq+OFvTzOIn8Xrga0FEG\nOB1lDtfyH4xV3e3U27Djlzo3jHzoZ2kAZv7OdF5bNqg2PrkbjNKuw5FfPxkc\neHUL51RDEtMRoU9QTN+4OzwwBm5McO48BtlppGLc0XTTzlMHpv60UoNYSB6n\nbC35qSCoAw3gSoO+VesmRFGUrdiJwVuY5CMCd0mKTqtW8/AXgDsD4fPwR4Ff\nsCIg\r\n=WyQH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4vYQR7QctJi7UliHHoSKmNleGX/R1QiFr9amHwi3JZgIhAJGRtff9AOMPE++8wC9uySSZpESNtEOr1cG+4hKhO9pY"}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_1.0.0_1528611153345_0.6429443920723252"},"_hasShrinkwrap":false},"1.1.0":{"name":"docmatter","version":"1.1.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","thanksapp","boostlab","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist"}},"author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=4"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 11","browsers":false}},{"description":"coffeescript compiled for node.js 4 with require for modules","directory":"edition-node-4","entry":"index.js","tags":["javascript","require"],"engines":{"node":"4 || 6 || 8 || 10 || 11","browsers":false}}],"main":"index.js","dependencies":{"editions":"^2.1.3"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.2.2","@babel/plugin-proposal-object-rest-spread":"^7.2.0","@babel/preset-env":"^7.2.3","assert-helpers":"^4.9.3","coffeelint":"^2.1.0","coffeescript":"^2.3.2","kava":"^3.1.0","projectz":"^1.7.4","valid-directory":"^1.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext && npm run our:compile:edition-node-4","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:compile:edition-node-4":"env BABEL_ENV=edition-node-4 coffee -bcto ./edition-node-4/ ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:npm","our:setup:npm":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./test.js"},"babel":{"env":{"edition-node-4":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"node":"4"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"0e766508a37c83dfad26fce90fca2f1dfc670c12","_id":"docmatter@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"bevryme","email":"us@bevry.me"},"dist":{"integrity":"sha512-PBOqhyguhFzaBYgVz2auXJgr2a+zy/qsk67gTm/5z1G1zZGg3/m7vqPKW3ZEBMb+ednYrq8vtoOzMCeslPVC3w==","shasum":"e69bb26b15f8572ffdf047037e4b74ec6ffeca04","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-1.1.0.tgz","fileCount":8,"unpackedSize":22329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKyIlCRA9TVsSAnZWagAABhAP/0tWaPqw+otdPAigkRJ8\nUrezcwmQpzRGXPvBocIdZs8n1J/mW59dilR3yHT++372/E3IyH4lddwcSQ1z\nsetN5wj8bP7B0ZHfCjzliGf/pM6477SbJjs+7MbcF8pi7BVGkowc6IjijcNd\nYE3kjPkJG6njrCaofG//03no8dlrO8g1E19X3UiBQpSOMLFRoujFFXNEBOmC\no/CFoWTNEk8LN4Ly+eIl3m/s2S1SMkd0HCeobyMoPn6/rnJc0zT/qZKWxKjM\nAlhXtD70GZbuz5fEyMVXo/4DBK3p/iOfzsg+LO+RhfZpXxjEPa+PIJ7QM+r8\n+7qrW6ERqeVbm7J0AwkBzce4qB0JL8dtRXrS2m+z5oRBFhsSYB5nuP6U5Hhk\nh6gR2wh8zSG93bYgfsrcf+z/rmRV0Xl7+8mqvMe5GhdRo4lXX/6eXqqlnnkq\nL58X2lh36XQqIY+4RkjTLBgRi4kriPhjR8IDa2k5OdK0+DfHv5T6BXNNjxF3\nCxEZt2agG+mJ2ALWrgn9blegUJDHQMlvA3XaQilbazmoQMWNokKCto9KYw8M\nmLms+TSD7XnrPU8HFz6SR1KIPLSF3h1yjcLlqVY1hr3pjFgiGVdulAWpkwzN\nQzu+Xm2xTp26NulTdf7Abpg0MFyWYucQKviDyPA8Rx+xPE2LhiLoTKSnBj8f\nhy0g\r\n=SE6Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1Pdphk8cGdOJhNVIOeKh5ThJo+lYKpKkKVID/fy1b1AIhAKq3KfmVuk3U8cFEB8NfpqbsPJOTcmHuK0PUxZpkX0lM"}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_1.1.0_1546330660670_0.980971785410572"},"_hasShrinkwrap":false},"1.2.0-next.1573623534.d5113f6ab0b32255af655666de3e8e6c9905d280":{"name":"docmatter","version":"1.2.0-next.1573623534.d5113f6ab0b32255af655666de3e8e6c9905d280","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=4"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 13","browsers":false}},{"description":"coffeescript compiled for node.js 4 with require for modules","directory":"edition-node-4","entry":"index.js","tags":["javascript","require"],"engines":{"node":"4 || 6 || 8 || 10 || 12 || 13","browsers":false}}],"main":"index.js","dependencies":{"editions":"^2.2.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"4.10.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^3.2.0","projectz":"^1.10.0","valid-directory":"^1.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext && npm run our:compile:edition-node-4","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:compile:edition-node-4":"env BABEL_ENV=edition-node-4 coffee -bcto ./edition-node-4/ ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./test.js"},"babel":{"env":{"edition-node-4":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"node":"4"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"d5113f6ab0b32255af655666de3e8e6c9905d280","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter</code> aliases <code>docmatter/index.js</code> which uses <a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a> to automatically select the correct edition for the consumers environment</li>\n<li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li>\n<li><code>docmatter/edition-node-4/index.js</code> is coffeescript compiled for node.js 4 with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@1.2.0-next.1573623534.d5113f6ab0b32255af655666de3e8e6c9905d280","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-owhW3bfJPNYIq+Qe+LoyaFyCeP/rm/dDHB2d84D16GMCiLn94h7G8GTEdCKUh1xJqjauaIDL3TmXyOVeFZ1bpQ==","shasum":"a5575f7f30aa103dec6cf5c527f1291acc79e6a8","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-1.2.0-next.1573623534.d5113f6ab0b32255af655666de3e8e6c9905d280.tgz","fileCount":10,"unpackedSize":22030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdy5bwCRA9TVsSAnZWagAA++sP/RnY/xHKiMNOxpD4Esw1\nQUVNfGndApNyGa5rk0zKiIwfePBCYFIKgeS8xyGclOVjYeyLsNAifGSI0z9p\nFoZYqsxi9JbOm6fCeLe1BtGr0FAYBIGUBBSpWCwa70d4v59UwhxRYuaNmOPb\nf4QbJ0VWRMW/WIxjbmRPFb83x33gf0ca+hQIRFJ1G7y+5OImHOoHtDn92Q16\nUPGbFcdk3S/hv3uJy+uJZQyKhk0zAzv4anZyFJ4QHQOn9U16n1IRalzGx6i6\nzxqz7ZGxJWq2oBwfojHvTagx/he7VKsv/fpT8uYWs1T9UBPHU64gtWH9d+Ph\nzGxGQxivD6N9W4LByArgmGLM/IYSVdNgywjqrXBQCOvAnxPGRta+tWj4kl0B\nvjikfDENVJAuKOtdb63bJkdP3eRnCSBgEVleIWuvKmU0zNGCS4ULvZdLeMFc\nlURIsnJfL5O8T4yxcYgeF+b0heuK594p4zQLL8cBmLEWeHGHK1iMuVZyJcDJ\nr5TVlDvRUsT48Zm4xvmETA7jxb1PxzU2mYUUQj62o8dxfpd90QuTX/E4Yymn\nQC2JLayiKzDrhTQ3p2kTCjQGZqtLgTKMdbzT+gWkvbEAjKUI0J78cg8+YPte\nGP+uf2UrrKT2UzrGRBIFwWxIFSdJ/xPyXlO6OjlHZyKyxgLXSz1i4z5U1k1e\ncPky\r\n=1RTy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICBTYBXA45FbgNbsYR0ltJjK0KdMO9325kmWXcyZD5zrAiEAvkQ06w+j+CsuCwxiY9I4Bu+UVLUSS+GpE4mBXc0Rji4="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_1.2.0-next.1573623534.d5113f6ab0b32255af655666de3e8e6c9905d280_1573623536516_0.19583670250860097"},"_hasShrinkwrap":false},"1.2.0":{"name":"docmatter","version":"1.2.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=4"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 13","browsers":false}},{"description":"coffeescript compiled for node.js 4 with require for modules","directory":"edition-node-4","entry":"index.js","tags":["javascript","require"],"engines":{"node":"4 || 6 || 8 || 10 || 12 || 13","browsers":false}}],"main":"index.js","dependencies":{"editions":"^2.2.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"4.10.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^3.2.0","projectz":"^1.10.0","valid-directory":"^1.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext && npm run our:compile:edition-node-4","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:compile:edition-node-4":"env BABEL_ENV=edition-node-4 coffee -bcto ./edition-node-4/ ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./test.js"},"babel":{"env":{"edition-node-4":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"node":"4"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"d5113f6ab0b32255af655666de3e8e6c9905d280","_id":"docmatter@1.2.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-ek3ZPaaHe7qyOFy6liTBbwJ394L/JpJ9WggiKFMtd9QxfrB2Q352ReDHueHRARUggv70iqTORxVhhOpOwWx/Gw==","shasum":"d7825687f3b843ca5c3dee5bc32fadd3042027a9","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-1.2.0.tgz","fileCount":10,"unpackedSize":21973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdy5dhCRA9TVsSAnZWagAAq0EP/RVmIKNhFd2FIVdfLNvh\nzI4e9rhnjWYIGf04N7t+XrSRUmScBruWSXZybiDJ7pA7LHGkp5kULl61/P7S\ndsh4xn8McXi11XyD+5Jl5E5b7ViucDSrnop4m2kjZ2w7rH9rMKtt7GqzBzGK\n4GN23uI1eWwLrMElVfRA3JN6EOqxrS7flTR7ikYenZ+t/qFJQ7D2PqmSr4n9\nKGQMnhVCRomA9/GDXW+aE3bvhVWZdI1bh8WyJrbHukePE2gTGKM18qgsAxM7\nU5QsaMeOcDBoeOxw86Io5ZxolwSRZkf3m8+G1R1z9wXneycAefzYI8S8qN9h\nLqa+q+aL8l6IbgEdDcynUCPKtV99VZABLl/nACSJv/aFzpijmN1ycjJFCkpp\njE6e76Mkl1iaUHUHM6jn216dk4DpkFegNAmWrPy14R7tH2HaLQ7olVhqlL/h\nW0D0jnbF0Wdfvbf9VPOLkMa+/qNV/YWqs5yUGCH+P/4Cs/aqrHeRpSXGIjSG\nOPvo1mDfz4NRPWdXvyrsN1WrCDenpSwwj1gSB3gm0JI5qiHCO2o1yUf7o8eD\n6r0Hnm69NBd15bJU4rLSpGv/DYPmiqWqreGhjfhpzp2cVTWlUw96iVS31GZV\nXm/4aLDSNy4AHl9E8ThMIj2CU3bTyE3JrvRTpcG/5Opcq4vpUR9vfHbSoVUU\n79xG\r\n=LUF0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLIGEnzMOj+jrolYuHnVCxScvqst/c0URuN7sxr6fBygIhAKg0fIRfYKm68vWDS83Z5S9CbvTl1xOoXgzD7RoNv5NZ"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_1.2.0_1573623648918_0.1857545951286259"},"_hasShrinkwrap":false},"1.2.0-next.1573631080.3e120ac49515443cd0e614474b3b6b339b7b510e":{"name":"docmatter","version":"1.2.0-next.1573631080.3e120ac49515443cd0e614474b3b6b339b7b510e","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=4"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 13","browsers":false}},{"description":"coffeescript compiled for node.js 4 with require for modules","directory":"edition-node-4","entry":"index.js","tags":["javascript","require"],"engines":{"node":"4 || 6 || 8 || 10 || 12 || 13","browsers":false}}],"main":"index.js","dependencies":{"editions":"^2.2.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"4.10.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^3.2.0","projectz":"^1.10.0","valid-directory":"^1.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext && npm run our:compile:edition-node-4","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:compile:edition-node-4":"env BABEL_ENV=edition-node-4 coffee -bcto ./edition-node-4/ ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./test.js"},"babel":{"env":{"edition-node-4":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"node":"4"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"3e120ac49515443cd0e614474b3b6b339b7b510e","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter</code> aliases <code>docmatter/index.js</code> which uses <a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a> to automatically select the correct edition for the consumers environment</li>\n<li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li>\n<li><code>docmatter/edition-node-4/index.js</code> is coffeescript compiled for node.js 4 with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@1.2.0-next.1573631080.3e120ac49515443cd0e614474b3b6b339b7b510e","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-Zi2que9LSJQC0/Kntx7TdGLj9BC/xuHYBIfXSsZvR7rPs0nuZ8IPKm+t6xGELnKhpZjQm0ZjD5P9sR/6Q6al0w==","shasum":"7191edd4761ae99b5d0fa0e82fff18f8fa9121b7","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-1.2.0-next.1573631080.3e120ac49515443cd0e614474b3b6b339b7b510e.tgz","fileCount":10,"unpackedSize":22030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdy7RrCRA9TVsSAnZWagAAIWgP/1qwvdE+PsH39TpOXS4q\nicorkdbTmsvjSJFH4atE21SWfYgLL+UI1fpVsh4zHrqQC4TllrMw6jN7F2jY\n6c3Oyy9wNTYIwPv5i6GShZ2B5vtg6HDCWrM2iuthz6qAlt+b8N+liN/EBOOr\nb6LhG7hog6bsRPamf8dP7pifF+bnHixVY8wq2dkWdz8HxRtbm9XXOH7tLmf7\nhHrFcGmtaq6RrYsO5KRMOTOyqYA+kR01VMQouihibhMzvz5mAftT7DSv3kzL\n6pztQAnu8pzrtU+GhUxWeBbkyjjtU/cKMBPyqawN4hAxxUtwaBje6X63WWgR\nQS/c/vhEqJXVn1N4nRqyploHiLnCvA7izoQnVOPhmoeVA7+gfA9tmdWEgLjj\njxbXzXC7pDp20mk7t803QfEaVBuFyF2V/MSsq5Hnu411lesMGm775ceVWDS/\nN8N8yvkFLD7v+JsY6zI90PbtQn6xlkh4S+SfDch6WOQdEobh3wyGfgrWtwty\njonEn3oZ3vYrxMkqLA9zhfVI11yhivaU7+Z/wtw70OfpsvGbpCNz8219k3xQ\n9clBBwkYp7S7ht9zJklzgBR6M/IQSWOb8NuOadqOZhg8mEJf1z+OLgebSyeW\nf1VDUGy7tbP/Oj35ntBMbw8qWSMfecTs5hOHheuPSetgpH/eSaPQz4ZDIGPt\nG/gH\r\n=PxgJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+hvjt1P3kcq40EC+e7KRQ2DRhKz2PdB8aiI+R3Rk0mwIgJL9mCNbQpvYfzdpKCkLsCdiL1wttwXL4EYOIpUT6z7g="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_1.2.0-next.1573631080.3e120ac49515443cd0e614474b3b6b339b7b510e_1573631082569_0.7056710934954085"},"_hasShrinkwrap":false},"1.2.0-next.1573737990.af5d60195609b3a8900eca750b20c1622d64fef4":{"name":"docmatter","version":"1.2.0-next.1573737990.af5d60195609b3a8900eca750b20c1622d64fef4","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=4"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 13","browsers":false}},{"description":"coffeescript compiled for node.js 4 with require for modules","directory":"edition-node-4","entry":"index.js","tags":["javascript","require"],"engines":{"node":"4 || 6 || 8 || 10 || 12 || 13","browsers":false}}],"main":"index.js","dependencies":{"editions":"^2.2.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"4.10.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^3.2.0","projectz":"^1.10.0","valid-directory":"^1.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext && npm run our:compile:edition-node-4","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:compile:edition-node-4":"env BABEL_ENV=edition-node-4 coffee -bcto ./edition-node-4/ ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./test.js"},"babel":{"env":{"edition-node-4":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"node":"4"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"af5d60195609b3a8900eca750b20c1622d64fef4","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter</code> aliases <code>docmatter/index.js</code> which uses <a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a> to automatically select the correct edition for the consumers environment</li>\n<li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li>\n<li><code>docmatter/edition-node-4/index.js</code> is coffeescript compiled for node.js 4 with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@1.2.0-next.1573737990.af5d60195609b3a8900eca750b20c1622d64fef4","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-rip0hY/uISfXbKWXyyQmFuG3nC0C2rowfFrpnlwBgtzJvFFQal0ygsx95Uoayi446wdQsk0C7DtWv2AnPGQD9Q==","shasum":"64056b85210e66b22c1bc1f2d38e1bac42951a7b","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-1.2.0-next.1573737990.af5d60195609b3a8900eca750b20c1622d64fef4.tgz","fileCount":10,"unpackedSize":22030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzVYICRA9TVsSAnZWagAAanUP/Azr000kK2nkM1NMNWzG\nDdf8V27JcGj6wosbGv5KKkNRNanWI3minqDTgCX+/dvBauHlMZNzwoRO7FAq\nVocPOWEzw7vDzjoq/ljpA30T7GyiFmfpT7zqBif5R31ThaCPkSpiMSYMOQv7\n1m1sQEprFxKF/9Itx1LW7GSXVZuYqwNjI3ZJOHTfTqFA7W1AMThJVFfVDUmz\np1xBU9HGUpSk2hjJsUecV3GKA8Owv9Q2JR0ywe25L6zVbYoJmmVos6N5tENe\nkObdsiFH+pqFNm0lMDD4S4oDouQHQHoWEzV9XwpE6AJoJLm8W1FKRg0Vg64o\nfYyc9DCT7ZEDmyF8jJvq7Q5odB/FnFnM8uKrpC4H/ZRYBDSTJFQyf6dlJLPM\nZ5yvcPUqM8vTz31bLkA+U8Ol3+n98mdhyancFvR5rVAYBGw7k8fMekO1t+4V\no2RqqM1vvRgGIuNgBJulDWBev92VDDXd64gHo1ASl72TJdOsyCnk/DdN9k0F\n64QR/OTnenhaJOJswXfvxPlZ45ADF+PGv8L3mrm9FvLIih4j5PvoBT6P4LaO\nayBR1sev7JSfAyS7iAjH+8OLxlxN3sinf3QkY6uNFgzvKTM7z8fmeeveBKi2\nFt3kexaLgzTwNrc7js6G5QrNIlOGIoimE39zDFLmmdWQFAZpSE9w/3wFYoTN\nxT6u\r\n=jweA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoN27CZ0mWE6UE9L55znCzdaJZzPLVSNdbLpkbSL7BKAIgXfkd4T14RYDTx+74w9cx+QJeuzZs9me8Qm0uUG9OWT8="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_1.2.0-next.1573737990.af5d60195609b3a8900eca750b20c1622d64fef4_1573737992432_0.2321505472982126"},"_hasShrinkwrap":false},"2.0.0-next.1574045430.a4bba915a1a440e4e04b04d5f6edcf5992a31985":{"name":"docmatter","version":"2.0.0-next.1574045430.a4bba915a1a440e4e04b04d5f6edcf5992a31985","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"5.4.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"4.0.0","projectz":"^1.10.0","valid-directory":"^1.1.1","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"a4bba915a1a440e4e04b04d5f6edcf5992a31985","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li></ul>\n\n<p>Environments older than Node.js v8 may need <a href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\">Babel's Polyfill</a> or something similar.</p>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@2.0.0-next.1574045430.a4bba915a1a440e4e04b04d5f6edcf5992a31985","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-zfTpDcL3R4zf752MoewpxlZ8hQ78ZYqRc2pm1Ga8FIfPYkvKVeWA6RlAi7hsBf5LFEi7LFkkHRjvXwHvVB3g+g==","shasum":"52bd1245e2a171007f1f5c8e829c579b11240a8f","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.0.0-next.1574045430.a4bba915a1a440e4e04b04d5f6edcf5992a31985.tgz","fileCount":8,"unpackedSize":19902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0gb4CRA9TVsSAnZWagAA6jEP/jrLi3fDxBms/MZ2xPGG\nJX2vgaaWKiXyXe0K3iINYM8Q41dDqMap1yC6g3tA+cqjVED/9HdiQZOfvRY5\nEN2xq1uNpUqtE1MYb3c8w/FhnTJ4XUls9QX1KKuuL3J8buO2TjyTpTLAqyvE\nFhVXSJNRPXIaa1mwGH2FAP8Opnv6sf3gkhk3CpxDPDGipKUa/J9U+UHYz+XG\nZ0fQ/Ub+qx78zHIKuHuYvJYapBmdFSStpH/WsiXxqwMGXs1V8dHLz6ylMhAh\nBZRaNz7CRts3y/5CcGd+wBBPTGzsqqh2FHvltHR8GLzHDgh7w8hqeCXjc/1A\ngiGLlzKf6QkY1gjAp/SHV9s+gMe3u/521tLc5L7DinGBbkAp+xBvnTtdXkxF\nnScYmxth4pV6CtHZEIS0136u9L0QngwK2MS58c1w80ReaIw+c0Zc6YCAGY7i\nNVdriLrIm+9WHjPe/eTtXYhsMIDcqHR0ct/OPIUnD4evEul/AugZJ2Y7pG8+\ntSYupMcCMRPJ+HoUWilmU/db0Pcm1TSQp73udukU8rT/EqDk2GP403c8Ef92\nRyegRVU37Sjr9n0BVTF2/HMkhmd/qEk5bdljSr/qQEZs7/vBG86FqQ8A1Txw\nLhVRuaIp/5R4IF3grAMCcYP/pHU7zQ3a4z7O6jPMrQ6TD9B9mDDHcdO0ksfT\nZBDw\r\n=KYba\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4XVRVSzHREEnjIbdXvc//ylCu6yFaQLPo4aYAAfcQ0gIhAMaNHZNWUFuBzSuTYYY+VvzFq6ZonMBHXeel6PefbZmZ"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.0.0-next.1574045430.a4bba915a1a440e4e04b04d5f6edcf5992a31985_1574045431621_0.8111763021383289"},"_hasShrinkwrap":false},"2.0.0":{"name":"docmatter","version":"2.0.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"5.4.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"4.0.0","projectz":"^1.10.0","valid-directory":"^1.1.1","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"a4bba915a1a440e4e04b04d5f6edcf5992a31985","_id":"docmatter@2.0.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-+ES0ijr8Lw/VNh6mcWNyXe2ofIkI9nV6/h9189qUaJIKAPu0lHD3v8sgUc97s8qT4IGlFAQc2XGew0nL7+pVaQ==","shasum":"f56befb16b998c29a1fbb8a1098831c91e3aa4b6","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.0.0.tgz","fileCount":8,"unpackedSize":19845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0gc7CRA9TVsSAnZWagAATd4QAJ0TZYR1eXTSHBCIICcH\nY3ZRlqSYfzPF4a5zI4N2R7Kypl8dQVFWHFNAQNmQMDOYs1IAwecA1TN6c8WT\nRpfewn5jTIDllUw2pv+4ugAkN+ZsLOOXdJ/WbqBukMKqtqxVXTqNM4VylCFQ\n9+opiERL3Cg75ZXNvF8nlVEuEQZG7uTJrmldJw8MJ4s6knDdkNSr5tz2fyun\nN36i+9qF1NCdgeX4XCx+peG7QzdkPIe7H1flVXG7UWEB0xvpVVQBGeRS+vsn\nPzg2n7LD7sh2GLZQUvU81yw0cT3Y9ac47op3wPRI+Zym9pu/fYROzL1nGfvw\nRwpzUCYCH/tA0YJERXBDXkW/VCcDzIQLng2dA8ZjQ4J+dGiUn5u+F0HBGKPo\nN+jRdjzh50iyYKsB4O9J/3LRpDCgcgXE+M/vtC5WbS+846U3D5Y1XuOEc2Cn\nuTqrBriWuoZUUBHhHOt/sUaH5UbuqBRf6FqF7dgm/R4nY4Pt3sXYBBV2ZG5C\nWygySiuvQc84YqpbBWtzIorUaJeRom1wvrSeN8LvanBvNXUBkxBfrazKwSJC\nwv0qdW9KDgA6fYVz8YKpASuXbWonpG2PlBpri4CIBSa41QKuawOEWewhAVFG\nUxpZrz4Ohg+vKViv1IOWhKj7GuoRu8LKvV/lLvXt6kQiFgbXUEOCt1/ZkY0p\n8Vc3\r\n=an5D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCNwoRNCNFg4JGHleA4cAmMO9hU8SBsZO+Pn76y2oXRAIhANouCEj59+r0fKumAze3GB7aw6zKn+RCdXNoBG1xlUu/"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.0.0_1574045498623_0.05003842273466197"},"_hasShrinkwrap":false},"2.1.0-next.1574046334.f7a7859000e7883ec31b5e129cd2dc364e1e4c00":{"name":"docmatter","version":"2.1.0-next.1574046334.f7a7859000e7883ec31b5e129cd2dc364e1e4c00","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"5.4.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"4.0.0","projectz":"^1.10.0","valid-directory":"^1.1.1","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"f7a7859000e7883ec31b5e129cd2dc364e1e4c00","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li></ul>\n\n<p>Environments older than Node.js v8 may need <a href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\">Babel's Polyfill</a> or something similar.</p>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@2.1.0-next.1574046334.f7a7859000e7883ec31b5e129cd2dc364e1e4c00","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-i29mU4PfvHT+Hoexx/eigaRiTiq30o34iJCGLA5uefg3hmJF70iR9pIwWXykwtHtg/CAZ1mbMbvlMTXFGg47xg==","shasum":"c05906dd5fded2f244b9d0ecd75c43218abf3e98","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.1.0-next.1574046334.f7a7859000e7883ec31b5e129cd2dc364e1e4c00.tgz","fileCount":8,"unpackedSize":20100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0gp/CRA9TVsSAnZWagAA4awP/0S6tSIG2Pa8bFbPRDeQ\noCb6/Duz1msVf+m4dZPxX5YPYllbkFqWFxkzABFQw/vTkl5qTyLAt9hhKksL\nDYoaj3p4Fk9SbK4VKRLYuBWkYOAElS7jJYXjo9kZC5nk5b6HNzSQkVa55oyL\n4CNSTGg12UONYAyt+/Dm+0dQlAPilGLoG3lhdHuQRJIM97y0Xma8o0x1o+xp\nUvmUDNNOvRkoOmdYbWnxLKmkoHZoJKI2ad6QSDnnOuT7hXMkbib5MG+xsY9C\nxRnaCylCDWYqUxAT/OuNNN/eZbTzK/CD2cyU8hWDDsFjy9uvKexcp0W+p4aA\nzrpaMyo6CLLALFguwg1AfWFykh5KmuK3aGk+sImb5i3A9rQjv5tZ03c7iN+p\nV8fX0ZsBWQIAphk174Hk7ljxItjHGz2CaaSniC+/a9iS11rxIu20IzQiI6Ps\n4RHxS5DJX30o89DhUzR4J2+NYUkj+sWExyGaxeiHv7X9Q4X3r89y+5KL0U8L\nIpQ8ykZaXJcqS4HXShzYJpJMTqr7TYgMibWneo8gMUUI79O5lRkORMJWEo5V\n5XXA0skJN4tshA6CuFPWsujYF4m36+uVL5PsCIzKQXImDKaDLuf2S7/OPY89\nMmg8jkrLnyVqyH+12mVLubEvkqXrzECh4yKvtnlW+Vtub/OO0fSFvkNCNYHJ\nVMYK\r\n=Vvzu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC46bOR8dUA+Ncb1pm7DQXuf2L/Qx26C0duibthQO1NuwIhAM02HiJmQwbiAaIGxbYZ83VbzUmxJCeI5Z5Ga/SOZMpW"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.1.0-next.1574046334.f7a7859000e7883ec31b5e129cd2dc364e1e4c00_1574046335464_0.6127626323386772"},"_hasShrinkwrap":false},"2.1.0":{"name":"docmatter","version":"2.1.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"5.4.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"4.0.0","projectz":"^1.10.0","valid-directory":"^1.1.1","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"f7a7859000e7883ec31b5e129cd2dc364e1e4c00","_id":"docmatter@2.1.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-Kfr+59R/fOJihRY9WEpZ5rAa3hLYVp2AvBNyIf5ocSE0qnBXzbnNcn3HPek3TZssxoBJVyNXtVl3eXu7wbsN4g==","shasum":"0de64a1f7cb0750763f6440340b0db5f485319f0","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.1.0.tgz","fileCount":8,"unpackedSize":20043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0gq5CRA9TVsSAnZWagAAuo4P/jEnokl+fJRWAOUg0Pkt\nvzeIU3/c6vgz4J6MZeYCvu+SuG8b0DEmnGNHC2GjIBeD3pdp6EDKpBpIVsDG\nYCB6Ced7NYFEn8g8G14tauhzAmB/eVuZLapPIYOm7yIgYRbi6WrKzVmgjgPB\nd2+x0Z9BK9CVAyx0f19e589TGl3hCONTeXULwZ6QSNJUU6PZsJSzGRKCkz/a\npAHO3w+QdSQ19kOGMXRERZO1IWiKEtHB7Y7B5ZgtuxERxMmAUZYlSt60hLhY\nimcK1EaxZQqUr0eUdg4YLym1/bAfJjbwb8x/b9MYGoxDAzELxOvDGN3JL073\npcDptWriXKuH42Mp1vBgZ2/HReks17DhzGX3TNdzWOWKFdDVNGYjfGD3245x\nBRiDsnGVbMPNS1M9hnUPWYBRHnmm9UyyaNs7xp0YknMPXPQ2g8sasBN5zsVb\nkorpg9j6en8xR8c1zTkCc1dpayjjP5I+z8o5kv7VsG5H1TYthdQlyP3fSDWq\nBNfvDOMboqVAZTrGBPsXSOA19RaguHIysG1ynl2rzvQriGxyLn1rGM7mMoeN\nvZXvz5l18VW0Erzjjq+VhyeejHMjwWXWTdrCw0+dSRwNlp9EuIGdeiy3uIgr\nmPPHFzr/NPFGRp/EA+HjTULUmU/d9ntkDVRpVewlmeB4MPPrWx0ifVrcIZ+x\n08Fi\r\n=4yYX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB7ArnpyIQYEEfV26vQs2hpuXiyyEem/Xskxoj4oIUnrAiEA0BGYeRm9XjKzJTJvX1cStZy4OWZg+7AynFqczke4x08="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.1.0_1574046393529_0.05191440042027562"},"_hasShrinkwrap":false},"2.1.0-next.1574628514.d41c3a59a4efb2c4d1968144e1a560a60ebe9c11":{"name":"docmatter","version":"2.1.0-next.1574628514.d41c3a59a4efb2c4d1968144e1a560a60ebe9c11","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"5.4.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"4.1.0","projectz":"^1.10.0","valid-directory":"^1.1.1","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"d41c3a59a4efb2c4d1968144e1a560a60ebe9c11","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li></ul>\n\n<p>Environments older than Node.js v8 may need <a href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\">Babel's Polyfill</a> or something similar.</p>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@2.1.0-next.1574628514.d41c3a59a4efb2c4d1968144e1a560a60ebe9c11","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-nICyzjBXEDcXhrLQtjcywvvP0SctHLWzs25pAnVmzS3o81nzi+Bl7+3eOqdMuoTkaoQHtRhJVPXTn3FOcdHgog==","shasum":"5e9ca2122f15309722c9553aa6b8942e7258db79","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.1.0-next.1574628514.d41c3a59a4efb2c4d1968144e1a560a60ebe9c11.tgz","fileCount":8,"unpackedSize":20100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd2uykCRA9TVsSAnZWagAATkUP/3RGi4T4m1l8eLnaJQie\nPITS5o+qsx2s2d+OqvqwUg8BHAQuc72kAQV2AJHjsFT/lbBcDz3pAngm8jfm\n4LVtKltBCrLWXu01rb1V7LDXTu2UYkwEAkZRMuyMUuwyynhqL3cnhzX43plY\nKR8S05lTW0Ni+O4rZH+DMZailMleFTbJrmGjO6jnuBciK9NYntkVTRRKydK9\nGN/ShlSvFI/B/LIepIQH6YhF6pOaZO5ZPXIay9T6CeYwjvFe+H8RrqQT/sr/\n11Yb+X4v7FpK+cV2+JCSOxKATM0EG1oM/wpzrHxAOO/570aWoKmJmDVuxBjq\n8JCdzLpeC0D7tzO8KRhNuxCFirlNkNY4jZ7mROERbqkhfUMZX3gDrlZ8Oa1/\njvqP76a8nvZ3t6luzi4XG6Pgyhyn2/86FF71sM0acWHQQUPdXsOZzIYpHVDu\nddD9RPXQbSr9MleYNYHg6OE1KVKgdJR5u/RdUAOXNKx9B4fSb0Md3O9MAu97\ndhEXkHfzsVuor1hDdW8BVRgJdmsURKl2UiULUftAePmRb6MQSAzMHO5wt7ON\nWyrPAmFDf2HaJIyw33ktjnjfZYKbXG4fQGZ1oK3AVBpmSh0ghHO/gb5XjkJQ\nEAtk7cOeKFZiDBxZTWgzy3INHZdhTAQCoGL6p0bD+dlJGMf+az92WM1oNkXF\n+dFc\r\n=6QLA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICFGvbkDI7tKBGPjvmH98bOfdMJJa9c5qjTHidtlbIblAiEAxIbVSWdPJzJ5gcDIZ1qI98dqulx7gGnYHopY8mFfgAA="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.1.0-next.1574628514.d41c3a59a4efb2c4d1968144e1a560a60ebe9c11_1574628515953_0.9275004087835352"},"_hasShrinkwrap":false},"2.1.0-next.1574650234.8e293103de06e10abe2b4d0c7a6d94d956a8128b":{"name":"docmatter","version":"2.1.0-next.1574650234.8e293103de06e10abe2b4d0c7a6d94d956a8128b","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"5.4.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"4.1.0","projectz":"^1.10.0","valid-directory":"^1.1.1","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"8e293103de06e10abe2b4d0c7a6d94d956a8128b","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li></ul>\n\n<p>Environments older than Node.js v8 may need <a href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\">Babel's Polyfill</a> or something similar.</p>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@2.1.0-next.1574650234.8e293103de06e10abe2b4d0c7a6d94d956a8128b","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-wBb6bWwVUhqVvOaHq/LbQf99Hp1DDqn/QvFvMPo92K+TazG6opynt9VOhrV3+MWnbHUASAFdQMwv6ARPKj2IrQ==","shasum":"04577e624cf2ecd8c1195e12456e221fa157d154","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.1.0-next.1574650234.8e293103de06e10abe2b4d0c7a6d94d956a8128b.tgz","fileCount":8,"unpackedSize":20100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd20F8CRA9TVsSAnZWagAATrQP/0Pj8usvqbnH3F9hLvAb\nlP+TAVDkM+WMFwuNPk/l381EhNVFJnWMsbUSjPybBrrsl24jLs0x7AlVXbFq\ntkV6dKW4KLlvlWuakoDhaOUyWYdXeWPfMeWTKkkI9wHe01Dk8hahx7V/x4Vr\nFUzOF8NUy4slQSI0IBeoGApzl1R4UggxHGP3pJLpt7TNXeGo82ucTMNO3PoJ\nGZWaoiFDPPlaOLxEC8wJOzVyL0m8F0/BngS7KY1SQoc9+4XuZuFdRveuATcF\nOvtIqIBYEY7QVtzhdrMy/7kcc0rqpdVcwXjScf3B8q063+h+NmNLFQT4Hg56\nQs8gD1GTWkqlSK29Ak3NKv93J14/hf6agCK5RX0x+fafrwCjQhFHpELWC8KR\nypxUhjEzwjZdRpknvS3INsq/Aapw4N9KuOgyJLNqUPxvA1/whTb8LMdN+7QC\nYVEZ/VrxBVaM3+Y7sWWglANOBdBm0enAF+xf6QwygcMIDLNDe9d/ADxpSKXc\n12azMiBgI86T7fGbEjZFMlEX0p6xm7mE89c2peYNYliPn8gsb/c+R8EI+0Pa\nC/cNHftqJkFro6TxfHSVvQhXXbgBHHLuc+S1kfkuht8VykUIK/pCmDoQUUlq\n2cA3/QUMwFIApjSkXs2HeWjFqWFWU/5qhgSoPTMkM9CzdrfJQBY11ZFpw3TG\ng428\r\n=fN2i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDN+SyL/EJS6FdXcGSGuQtHVuoHzBrfvpcxiTMl1NLF2QIgWHMaX8oXW+vhuAzgWuCkMnI4U+84l3osTPLhMMg4Sp0="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.1.0-next.1574650234.8e293103de06e10abe2b4d0c7a6d94d956a8128b_1574650236067_0.25021125469680094"},"_hasShrinkwrap":false},"2.2.0-next.1575138893.a98f04b03d65accc44db7f754a6318f818cdb8ae":{"name":"docmatter","version":"2.2.0-next.1575138893.a98f04b03d65accc44db7f754a6318f818cdb8ae","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12"}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"5.5.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"4.1.0","projectz":"^1.12.0","valid-directory":"^1.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"a98f04b03d65accc44db7f754a6318f818cdb8ae","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li></ul>\n\n<p>Environments older than Node.js v8 may need <a href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\">Babel's Polyfill</a> or something similar.</p>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@2.2.0-next.1575138893.a98f04b03d65accc44db7f754a6318f818cdb8ae","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-Sj5fWB3vEfe8RGLim+xiYOqYyk5vYJ+svI6QKAb5j/ppMvUthSAEfsCOeGH+KHJ9go861uVllKMnW2vgfu237A==","shasum":"c1f3e7cbc01d1549cd1048971f447a2d15ac8f14","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.2.0-next.1575138893.a98f04b03d65accc44db7f754a6318f818cdb8ae.tgz","fileCount":8,"unpackedSize":20275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4rZPCRA9TVsSAnZWagAAHsgQAJzWtzABm4IXUAMd08x3\nTDy1NTpb+GcumAMxxegaQPaauRUPNKcUO3oHdBkF/16jaLxb+PegL52FIR1a\ncewdk7CMXDW/cHTAdlb75wnHJ3KGP1rl0dQ7oE6POLLCKIInaN/wJBgLSrEL\nrl9wJNUZDNW3pASFVy4ihZGIT6+17OmDeHjSE2ZxUwcRTi3oNlx1iAAviBAu\nRSuHTkBocFduDaaliehh/PdCpiP+Dq6Et8iTcX68pwQV7e+LQrTyw/s4mn6T\nzK4EWRFvueVMuaKFL0xXDDDcf0rwkx1sbYRs63G8POvGE6I0DInAsFHdvnIL\nPLn3fLTh+GjQvPnAzgCPntC9SRgS4usQdmZCTOW85PqisuQgKMpjLvKsUyVM\nYcVL+PRJQBn1hDQ7/2pU0VheBBaiZ/TnYtqCOVp0bT1LO3ydBdGyCIP4WoT1\nU4A/4IwL5bBWT3xx8tYU75lLs1vcBfzHEHILOSdH/wombuUakvQufNjBizRD\nCW4M3rrzebzhGwG6N28dUKHsdDXnAlvuNJo+2KWBwkkuCdfkSDI0W8U3NRMr\nPgESDhdq9kn9CYFVutx45L81L6aG3FMLNTm2o5ntLujFAMXknvP4mKqvq59i\ndoK4Q+7pSQwuldamM1Mhut3WsdNUfloe76YvNPAWehI5BHJq98jX4mKgIMOX\nETTv\r\n=+Scq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3aCfMmXyxTPDDhZXqQQFbfIagb1EtM0Cp+pQadKTRwAIhAL3SEKHg9LnyhmENssXJPWKxutD2Rk7asVpVJwEgD9Z0"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.2.0-next.1575138893.a98f04b03d65accc44db7f754a6318f818cdb8ae_1575138894752_0.24594929104617202"},"_hasShrinkwrap":false},"2.2.0":{"name":"docmatter","version":"2.2.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12"}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"5.5.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"4.1.0","projectz":"^1.12.0","valid-directory":"^1.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"a98f04b03d65accc44db7f754a6318f818cdb8ae","_id":"docmatter@2.2.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-T1fVIBZaL3Nd/A03DHhgNuA+zUTEvetiS5k97ARtxMsejiuv8AujpyEsWlHCuWYphMyOKe6s4YwePtgU8TWhDw==","shasum":"52f538a955e510bc65fb2936d97c4ed89f6fd2b2","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.2.0.tgz","fileCount":8,"unpackedSize":20218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4raNCRA9TVsSAnZWagAA8lUP/R/Bn/w7SUXQlDTjdL25\n2WgPbVp4O7rgB+Jxhhl3A3FXPSw/4Id/Mm/XQynPi4w6C2yvYLeXjCvm09XM\nCyonk3tXGfxhG4Rr05tO61ikccN+IgbFt1A+0E1ag/Cmry28fuObGfYWrMU4\nmjxN1wzK6k8qUTocJsHV8U0KtofdUXYmmUKwvyi3EO+iO/qnEtB7sA13uooj\n/jexigveootCFRG7IZFG8KI7OuaSif/+Wy+tlsAdCfQ7NssD+X2tfCzUD4EK\nzrNWKHgQId7zNUJyk0mZDRwSOAsHeWPjhrPBwLqOV4IWvvILbxrHQAazzvM8\nYm5f1nxbfCo4UFrgvbdNmP8repaaKpNizrWi2vLD0zK0oIZMfA+JXFvUEV1/\nOD9LGzXkeYGx0Nj3tlrzxgPEu2DW7fSMSjfmJiSlNrncsBAEQ7eTUqeWntlJ\nfZonDIAvCkd1p51zHzUfEGeWEweN3qTam9gQ3j2UuZ1AtiTjuSFNJp7oSUdL\n9qEh6WWZrL6/+bIaJvUB2TP0n1qUOIQkqxtO/ZEowWhVxfGlplvb7glUX7UF\n8UXWMF/LqWiyimapX672e//GnwANRE8ekRNaBxzHUHhAaoIETrWmXFn5BV2F\nUAbTFnDXZe2oCQBB7J/+7Sl6hyNJ/HXCkAn0zB9ut/jNkGTGLgXKvGkyz9CP\nxZUD\r\n=LULy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOjOLw4gOOllFMU7jzp5rmwqO7kufVDkutT2ax+BAhQQIhALPodmi6zDhMlZIC4xJx47BHNFT1ka6lBbHJ6HDUGzdo"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.2.0_1575138957082_0.8518190796654288"},"_hasShrinkwrap":false},"2.3.0-next.1575145624.98869fdc2b61d1c04663cb6bed084705278c40ba":{"name":"docmatter","version":"2.3.0-next.1575145624.98869fdc2b61d1c04663cb6bed084705278c40ba","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12"}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^5.6.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^4.1.0","projectz":"^1.12.0","valid-directory":"^1.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"98869fdc2b61d1c04663cb6bed084705278c40ba","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li></ul>\n\n<p>Environments older than Node.js v8 may need <a href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\">Babel's Polyfill</a> or something similar.</p>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@2.3.0-next.1575145624.98869fdc2b61d1c04663cb6bed084705278c40ba","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-BW/90ZIzu6SRI2aCC2iSbV5UaCB5VTy6nY6wpVH9Cwk+DWOvfuk8PuSpPb2BXJ4XCOT6xk6ubk2ob+10z+wImQ==","shasum":"cf475f042661bba88e0313e2095b7ada2b177953","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.3.0-next.1575145624.98869fdc2b61d1c04663cb6bed084705278c40ba.tgz","fileCount":8,"unpackedSize":20474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4tCZCRA9TVsSAnZWagAA0+MP/1cUeZ7QqVoDwfjjU4Cx\n/8jeQ+yUUzYu/ogLXPkF82yMqGkQbQIlEHrtBnoRwS6QK0NUHck3nTZH+UNF\nyopeesa+69GfkJLr3jslUwcGOl3vCWgdSxlg7F4DIk4joHai52/tdS9fr+9A\nA/5oH98ErthOo1voZ0K5APHyMtrooVrXdJL86ZnMXu3ZTREyyPTAMFNgCRk3\n6izmYiLDyrQ4NonzJ4AZYxVB2jgEyckB5OmScGVc+jg+PrCtI2IqI3Y2pshF\neFZrouOdKwvhvXYTLaflKZAFoCsRhfidiQkFoSDq8nvDorTLLXOKtlq9+r6G\nIKljw2NcHy+hpd3OkEhHFUglmVaM2IoU4pR+mJetpdJer93L54XXd8aGwzpY\nQ4wTl7qoURVud91mCiH8fmCPlMyH0jedquwHVTXxWB/zxd7xtfB9iopWDL2f\nUSqcVOef+vxRbcs6eMvON/Er/4d9ErZAW2knnHyeWUvinHahH/OWqsPxz3oq\n5z9KIGXl1TP13XqsDt6gZTKGFinbGUbdsACjsfV+2uXM+z0vvicddidQH19F\nKofMt9mzTLlAMM5HO2DYNi3sMKzpUyMplW2lI5cWD6ZVeABlA3ZFpmIk8LBx\n3fAIwxX1m3L9hUUX3bfZZRTZaHnLY028ZTi1wkgMk58B4kR0Vj+Cp79RbRsM\ncxkJ\r\n=TaIf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHqgD7UARBnkswIIZ4pH8bfPrDfL1lNAzJGi1zHP+lhCAiEAlbtoXZdbWiaRa+Q5Ozwc/nRIkc1JHBB90pYPIa/nx1M="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.3.0-next.1575145624.98869fdc2b61d1c04663cb6bed084705278c40ba_1575145625330_0.9901109176454901"},"_hasShrinkwrap":false},"2.3.0":{"name":"docmatter","version":"2.3.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12"}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^5.6.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^4.1.0","projectz":"^1.12.0","valid-directory":"^1.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"98869fdc2b61d1c04663cb6bed084705278c40ba","_id":"docmatter@2.3.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-SgAIfgWxqEkS0SI2pCJRlCVMRIHUvjoNbrMJAcq6p6x2ViUslSwCwIec1X7vWpmThzEHItgCjHsZZbhI3yq1Hw==","shasum":"0eeda04cf089fe097687b4745557997cdd35ff9a","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.3.0.tgz","fileCount":8,"unpackedSize":20417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4tDcCRA9TVsSAnZWagAAo3QP/32j+fRPvsBNNaw2Vcc8\ncFd7ZXYRJ1ORHxp0ohxj0Kh/cbzyPvk9Jz2A4UBW6sZdYdDVbGw5uyb8OXl8\nL8fh+vupKtSlQC0JCk5kKhO68RzUaATWZXzOtXkJwFc3fmg6C3TwZOn8K1JR\nv10LXOlGRNSbzehdhbiHq00zc8v2ctyMSRriBytWCvWEo/7zmxanUnk3z+js\nWZUJHd4bTHxG3gT7Zjw32HxJGwgrPtwgH+Xm1lyVs1ffX+nVqtyJu4PVMTc0\nmsNbOUyHoVlrKoaQrnsM/0U6ZDQT8KOZbLxOTqHARWug8T7lTEiYJJjRzz5B\nkwnwCDwj2web5B7/mM9Bt7XZTHlZX8ae77Tnhv/FRt2H0KEBdUi4+0SVxPof\nRp95ke2o/60bbyS557NB86lGxP2zxO2dHo1iQWDCBCArHeLTqAmFQgMaewgO\nanlqMu/zjV278hsIRK0/eDaXJnIv0ixwhbCkx+deJXMsvjq0DsPrVLa9I3sx\nBqX80kleCn8hrw5GCD8rxq2D/ZnvHhl/B1cWm6ZGQ4bJwGODORgmopfG2I7s\nZsX5/cpEMdRFrozQD6W6AngM7Ofgr5RttnLQhlLsdlMQA2UrAD4jB2ckxZ+B\nnZUUbSc7GgbVOKsEWdE3a9Py3bSHQJqGAWsEZFIAgtARoGCPWu76Ebr6h8E/\nxM2T\r\n=ZrYQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDuC4W4Z6OLou/rv6f244TWYzrJK1/Hv8pZpnvLvbS8cAiEAhMPN/KW0zSZP5GA21wI6ptfqrI0DpVsZRE8RuQL0MTE="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.3.0_1575145692232_0.4033717545275821"},"_hasShrinkwrap":false},"2.4.0-next.1575169329.565cf079386a943a57b50190e32efd7031dc4cc3":{"name":"docmatter","version":"2.4.0-next.1575169329.565cf079386a943a57b50190e32efd7031dc4cc3","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12"}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^5.7.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^4.2.0","projectz":"^1.13.0","valid-directory":"^1.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"565cf079386a943a57b50190e32efd7031dc4cc3","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li></ul>\n\n<p>Environments older than Node.js v8 may need <a href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\">Babel's Polyfill</a> or something similar.</p>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@2.4.0-next.1575169329.565cf079386a943a57b50190e32efd7031dc4cc3","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-Ewo1l/zylCINJ1q8rRqptrxV2vRYyxyVOJtwxfyqm+qv6vufG3uFJrlOAOVawX3FuOi6crIDLe1QRv9qvNFPQA==","shasum":"6cd975d075e6ae85f0050f3c87e47fae98fd195e","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.4.0-next.1575169329.565cf079386a943a57b50190e32efd7031dc4cc3.tgz","fileCount":8,"unpackedSize":20679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4y0zCRA9TVsSAnZWagAAmqUQAJbXRvoIRVNT9gmu+Zl5\n2zxuK97F6nD+muA3q3A5RkMC7kIe/FzugphuNHzIjJghORorgxNlOz40GkmC\nn4FiBwbIzlQTnW3brAr3NgoNO1Con72dRY3UysZoukQZ/ww6llpt8tB+PA/v\nmsIOgGo8e0QCWBv0Wx2HL2JscuGnc7PfWBLuZ7iXcGUFdIihRZSVB9NBN/bM\nyWzLtdV4Hjw+kgYtr/iPEBP7Ol3XgQfg/Lbmqt9B9OTBiM+6b+Q1NNxDJd4H\nbzgwN6EKa78REjQdUQQsrwwHrsvu80t3STLBlu1DMpscrcmTPU00IkdPU4Kg\n+mRiFDeD506AvFT9xkCUM74hxZjRa6QLR6PycL6foKJvJ62vRxdzMcbOahpq\nEZCOBrr9RdQ/GDYcpMZ5FcPukpcg9wEYpG1x2kEY4nkzbdt7CorQY1v3N8CL\nu+poo/Ckr+uWcWyTOdyVB07usRZbN0K2NulFWAFrE145KcByvOf8ULf2zr/g\nuJVEiWP1+fRDJlHZ12U9VCgk+5OB81lgTZJuM65MN8nvO3C60SCiFUjFJTYJ\nkh/pVZNCBql8dIzIsqoUdbUJ4KFBaN+SAIlynu7EW/Io/CEcWtT6rOxMCnS2\nuIQVirRqnQnpRLfhBndm7dPUwk3OM15iMdIjrz4R1h6Oaz7KnNsTtRjTysB/\n1C6l\r\n=VW+W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpENAdWZL1DJ/J4herAs3yVs6Mr9Ve9I45diS6SKsOwQIhAIfrXMZ+zMTSF1f2m8LIxag+yWeuO1H2D1S/avYypmGk"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.4.0-next.1575169329.565cf079386a943a57b50190e32efd7031dc4cc3_1575169330802_0.5209311448356853"},"_hasShrinkwrap":false},"2.4.0":{"name":"docmatter","version":"2.4.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12"}}],"main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^5.7.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^4.2.0","projectz":"^1.13.0","valid-directory":"^1.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"565cf079386a943a57b50190e32efd7031dc4cc3","_id":"docmatter@2.4.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-zNhnWxuNkEjWdZU/584wLfoRwbWhM2vEmdWF+xxQJAVL6hkx/pvdv9hVKdulPsi5nEm0t6Wh8sfz/SczU1If/g==","shasum":"9f87e3c7dd61b8659cd4eda3978365b6663a7617","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.4.0.tgz","fileCount":8,"unpackedSize":20622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4y1uCRA9TVsSAnZWagAA7CUQAJOgWjRMVQUNpk3D0oRU\nHsSUTA6K830R9hwwTNajhJWzPv8OEj4Kg10stsa23c4M6TzT97npQZnKUNI2\ngZjAxApwGYxrPX+HqiK2WB8v13IEixxT5PznNjiZCJRUm0st9bygtE6Qpdqk\nbCfjQo9ERfOrDhUborU1QHqzlU9cNE+SrCcGxC5jS2KDXQdXTgP8WvkOXEi2\nNAOPCxSIAhdyVJ8/gsUlJHYzr4F8H++qjhLc4a7HqHmBjtpvSaxRY9iGXAqA\nEStgMEoiqsGgcOyMjIfTIJuBOGldHNtGLISECjkAoJ/uYCfKLcn0wiH6lfa0\nOuJt81lfrAaEj/NTzacb9BpvTjPCP2tWU1nfp4dm6e/+ksc0OqSASiHVXXL6\n5KpVB11Rw+4kFOSL/tYBOKWy7yIDLNcLfxTbf4Axt+9RuLF0H5iEcg6ByYYl\ndbrloTYXlN+ZeV2cZUGaLsMl/q688qGIbwfJPaNwuyWPRqE4/VJjaDfNH5lt\nXAJ8K7ICpqgrtCQiTADnnOalGjetNDI1szLZkdUUvJ6h7GmPb6HuKH8B+GDr\nwCcJrc13wBSJIAj6dRnH/qt0fwfg01wkSMxTdl4QZYSEeG+y2gnk3RNDytaZ\nrtaWUVK2qUDs+rkULKs3tZYEMcHY8db3IBosrTmqTiY+btsgXRF+i3jZBGpI\nLLWl\r\n=EUpl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEleJGJxNhIoiegdGvUrx/4oDqrVBR0QsYc+p0wQar0AiEAsQda8XHB0iz5NmdHs02R78o1071ZMOn9dbBNt9CcHfM="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.4.0_1575169389705_0.2043420952656485"},"_hasShrinkwrap":false},"2.5.0":{"name":"docmatter","version":"2.5.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^5.8.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^4.3.0","projectz":"^1.15.0","valid-directory":"^1.5.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"f7fdd09d80374f072229ea7501ed5603ba650507","_id":"docmatter@2.5.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-QkQ0UbDRzV4cT6+iB/5WFK3GsQjmyujv8WUhn/YKVsSlD/lnr8NlC7GKg+/wZkTQ48ZpDkqKXF7gMxy8puPmXA==","shasum":"12d4cc2a3f5480711a04aacf0e4d5a7279a83174","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.5.0.tgz","fileCount":8,"unpackedSize":21464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd7gCNCRA9TVsSAnZWagAAsxEQAJMDYNKqkwrplONHnsC1\nlZe1dUKPMfZZ9AbiikXXx1F0PH51DKu5pJ5GmjpeWDLmq/ZIePeoPUgyBh7e\nDcnN9xdERFUBMEW0PCbgiBZUkzxOFNQJpMkunIrRiDHyLC7OykQWM4ZvLIH9\nDPE7nZiq5jHGueozfR+Gyw1gWhjYUCfQJVHEsqSS47RRrO6gfixjv6bv7q5u\niUC3C2axkUxTn35FpEQNBOh+9Tw4ugc6A8Xiurw7WKfW1z1Z8mKM36VAJl8j\na1B5d55DOnm9xriaKvY43YShvjZiUtbwojmKf0RF5ofLGHH4FYPL4UvCKXEL\nDTmraq0XHTkUF1GyivIXrRiNIVqJTQ2yCv3wBa0m03b3AlhO2L0Ri0gfJcM0\nOAd/S5WIp4olgLB6I27Fz/EcOpwAv8bfWq2QZciL/czaqv3+VqUj6eKw0dtL\ntZAy61jhwK3Exv0I1dD9edRV2+0fzjipNngbONzfDNmyorvoo3RevhiS9r0d\n+oJos5w9t5JrOM48s+TgtmJ5+odcH8j7Lr/und2Z0/+Qan1WKlkS0lChRVWZ\nkfrcpn8uXsDaW4VdZy5tOfFXf3li97/CfP7rzR1o9AZXrDLrJvhTKLzXcb3O\nryxGJUBO5ysZSaIvp1Yuou0+vuxm7Ljis/ghoPGlzS6QbxVWu1dK2WZv7Hvp\nqX0M\r\n=G4N5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICeXWjWj7X7j1vKZtx7dL9k5Tou5eCrEKccyctCmrOKrAiA1lv7vNiZG2TbHPlWSK/ATLfVN1duZmSFH7hFUL2Xw9w=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.5.0_1575878796633_0.8842833038349565"},"_hasShrinkwrap":false},"2.5.0-next.1575878849.f7fdd09d80374f072229ea7501ed5603ba650507":{"name":"docmatter","version":"2.5.0-next.1575878849.f7fdd09d80374f072229ea7501ed5603ba650507","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^5.8.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^4.3.0","projectz":"^1.15.0","valid-directory":"^1.5.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"f7fdd09d80374f072229ea7501ed5603ba650507","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li></ul>\n\n<p>Environments older than Node.js v8 may need <a href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\">Babel's Polyfill</a> or something similar.</p>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@2.5.0-next.1575878849.f7fdd09d80374f072229ea7501ed5603ba650507","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-xb1Yw/F+8X4YoKRFuQK2EPD419bpAaEHHp3JMxLWGSCGzN/1p2r/qQvXV6Z2MM8yFCYANuXq08SYxWIdnQdCEQ==","shasum":"639ddd48337292ff8afef5fe704f707b4029166a","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.5.0-next.1575878849.f7fdd09d80374f072229ea7501ed5603ba650507.tgz","fileCount":8,"unpackedSize":21521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd7gDDCRA9TVsSAnZWagAAsQ0P/3+fUQXnW+Gu46TBRf7a\nCP8QRn0kKnHYhAfyVW1ajBOQfuljlk2RHTREQU4TRSv/PEtnPgcU20pgEpGn\nKAATVdikwZmcwuKrgJI7dVkCzGSCt+LAUjqqZ6NJS7krrzanQyTz4w2+rDHF\n/shmPbguXfHlDhIWONRbGLcomTf0pTRc/H3AtW/8clklqdWga0pdXDNBxCpm\nM5YX13lFadibv190uDubyKRDeZhmAUlabBHGjWQ00sbuShYnyYO8t6lRkSDU\n175PBjEfxNGMflmvugGbrXjm44BwfxgptprcQXtelZkJCfS529fKdFDbWnxc\nH/PpRDRPYBmFlYkzfgV+3xxWQLIGBywgd++VYR+kqGUCNh+0zVksYg1OeJP5\nlA2fn+1+IkymDMknKqLJEJxUHUKH4/0K3tSbXK+ahOAiqZFOw6vlzBLnlCFM\ne0iKhKng77WhLaqp6EquFzaPFXE2BrRBX70zf7v/lEn6h8mQ2Z8+YI8eWV3l\nX4/CEZoEFRgBfPi847JUk07feAuf0+TpC6Ln841YOcj3HcIp8t8/UYWZMMf8\nZRb7Pg6B7uRkE1EnnIdaLhWgpK49lVf3BkV7Id6xNMO22oNNaCgwEsMliMZO\n9BDIwKrpTAOHOjhhDjW3zZcdpwekrlHWQat+SwL6HqzzGUhuhreT2qEC9DTr\nH4VC\r\n=kKLm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmahfposuQV5P0BoBF2w/d5oqUakAsHMr71B83xJLbywIgB9EHLQTjUnlw1/l41OUWfea7klEdnIjCQnK0qTBSu0I="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.5.0-next.1575878849.f7fdd09d80374f072229ea7501ed5603ba650507_1575878851433_0.0754531262558591"},"_hasShrinkwrap":false},"2.5.0-next.1585175411.598c51a57863e2c135fc1725f5fafd9799427a5c":{"name":"docmatter","version":"2.5.0-next.1585175411.598c51a57863e2c135fc1725f5fafd9799427a5c","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["frontmatter","front-matter","front","matter","template","ssg","static-site-generator","generator","meta","metadata","meta-data","data","extract","extracting"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=8"},"editions":[{"description":"coffeescript source code with require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"coffeescript compiled for node.js with require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^5.8.0","coffeelint":"^2.1.0","coffeescript":"^2.4.1","kava":"^4.3.0","projectz":"^1.15.0","valid-directory":"^1.5.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"598c51a57863e2c135fc1725f5fafd9799427a5c","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Require: <code>require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is coffeescript source code with require for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is coffeescript compiled for node.js with require for modules</li></ul>\n\n<p>Environments older than Node.js v8 may need <a href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\">Babel's Polyfill</a> or something similar.</p>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@2.5.0-next.1585175411.598c51a57863e2c135fc1725f5fafd9799427a5c","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-4wVOnKJwrJCftoufAhpebYRj7voI3q80rWjxHR68CfzlFDcXRNsJHZxAHG05qlxfF3fUtsmL/tEV3YA2f9lzkg==","shasum":"cff095d2ebdfbab1087d87654af6532dc98b59c6","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-2.5.0-next.1585175411.598c51a57863e2c135fc1725f5fafd9799427a5c.tgz","fileCount":8,"unpackedSize":21520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee9t1CRA9TVsSAnZWagAA1LQP/jDBsccGAa4Q5QNlS0Vh\nePfTep7gT68ea2zyqpjwMMvraLxEKZm/G2UvkbDpap0XLaQXhB9XoEHHDw8U\ntEdVqp0OzPyUEkxF8Q9bXReAQcNS1Osb3G5lqzjU6ncR00USJoLrXny1mg4q\nS9C8DK4gulQJFWGtVLJLp2d8KXT5A2iIKvzaLEGTxcE/rfat7sxWPqOIQZif\nI/vb49npTsbHPHT1Tkg//KWPhFzV2x5Vdb0a/n3E6uTfmFSzZENGq88N0rwy\nj6kxRUMIeBhDngIg7DLCM7I6JFx055fA29I8RtZiZ+0KM0fFCSuzrvw6OP3y\n+juEh1bU6W5A1lXMT0PSJbwtN1jXXvxLCnUcYe/SS+di9xpVME8e+Ix4tLij\nOeLbJDGQdKIeLTQcR4jBSW/BfWMN0C+eLAriduWiWSKnBOr4ndebxG6r6kve\nIfnvNxzCPsosQF6mqtwOeoHaFq5PBzcL8Dy8AjoSK7W4g4qtXj9ENBTkDky7\nTRIk9o4Pd82d5egGRXopK6TwC/k2oelHR4MHUU0s92aV/dqv2dZsCY7BZ02R\navd7rQXxkBTL3RrDO5ObyYRfTvZ8m//FtUT6OceVP3p5V3GuPihLkEA+F4g4\nokaAXZ1TecrWMj0HX6MEG6O9hUBUzJ0VCfmQ0lAdZxbkZV5Owc6xpNcb2Kjc\nmQl7\r\n=AoYf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTw1ssK8QzhAjy3cHhjsV61YYh5BVsz9a1bOzECsiHxAIge880DsHY7BerRK/eBvSXhKKT3TSzCcU+3g+jmq1o7ck="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_2.5.0-next.1585175411.598c51a57863e2c135fc1725f5fafd9799427a5c_1585175412679_0.5802160554722675"},"_hasShrinkwrap":false},"3.0.0-next.1585175555.5f300a4a15c659e530c4192ba37000e51c9fb352":{"name":"docmatter","version":"3.0.0-next.1585175555.5f300a4a15c659e530c4192ba37000e51c9fb352","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^6.0.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^4.4.0","projectz":"^1.19.0","valid-directory":"^1.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"5f300a4a15c659e530c4192ba37000e51c9fb352","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.0.0-next.1585175555.5f300a4a15c659e530c4192ba37000e51c9fb352","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-qdgh39u/YIMl4j7g/PvBZaaElXS3UTSQ08mWdeMVRwaFCbBFKScR42/7hNdEqcuQo7EuCkHQJvthYRyWMD2wkg==","shasum":"95b8ff8c0c7526c433cc0f3e3911801241dcfc1f","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.0.0-next.1585175555.5f300a4a15c659e530c4192ba37000e51c9fb352.tgz","fileCount":7,"unpackedSize":22035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee9wECRA9TVsSAnZWagAAlc8P/3QY/T92ssR/N3otadQL\nsSY1x6pXcPgNJuRHNFZmpKgrzJNvdqsieW2LJtbtMqyqUddRoej751fDGXaE\nml+VwBFlf+OG+Ez287Qael892SDi+vZ+Yj53Z+fw/RWltW+0m/cgQirYUq3j\nJtPNVs2wXZbWGPB06X+9vxoJW4k6CMyN8VcppYM1DlyLSo7jVKbKSs0R+A8H\n8yAn54P1NrchkcBdliMrIrESVqFO/5dp3sHeElHzdpsHL2jJDlyrRnbAbiTi\nF1CI53TiHVWj5SmhdJPaBDWKgp3qivQwRZRTMHWdSzb9UZpswK/l/E+Jp14b\nQi3LSKiNxmqDhyG0QKsgE62v8hb1x/FKoeJyw5yJ0+Sgeop8OCFIHHNMBlfA\nNuyt0hIB0Tuo/1j4f+UMzl6oB5GZrMpok5vPY7ZUqx3BKWSoRlN8Av5acOyK\nFxjkE4WK4wZImXa1PhGhjG86jXl1sG/YY8cNB1HxXYTLM0+4N2ofoyX1zsRc\nKnZw3MKuekOBSjfT0B/xAlylSvB6yB24fxq31UruWokRVSFXsqnMvsA0/Mq8\nHNpouT8pUSK0Q3ha9jiraxDe1zIDoMfv3qgL8bFLSmihW6NyDiSmcy5j3s/1\nAiECJS4XmX3fB+BhjeXRh0aXUq2AyFWhJMluxjWpxPVDhNZ4yUMKiFNEpHNx\ngBsR\r\n=a7nN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC36fvmpDlVbeAQaIOG/rgu6h2GKpNkKa4vwxEgRg8L7AiBbKz2+gcGk5Az/gsWn9UqX93KCDXO8WMlKM9ViBPFmdw=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.0.0-next.1585175555.5f300a4a15c659e530c4192ba37000e51c9fb352_1585175556534_0.0072148582491295965"},"_hasShrinkwrap":false},"3.0.0":{"name":"docmatter","version":"3.0.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^6.0.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^4.4.0","projectz":"^1.19.0","valid-directory":"^1.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"5f300a4a15c659e530c4192ba37000e51c9fb352","_id":"docmatter@3.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-PLqgCTVPb0KGbx7I8pTg+H/xZMCFQHIUG1XouHYVwF6oRAKhDP1IwxKCz9oJ3uLsRe7YGduskEFwQxvOhJPGhw==","shasum":"1001d0d3cf25c1b9e18a42c03999568f2ec310c4","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.0.0.tgz","fileCount":7,"unpackedSize":21978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee9waCRA9TVsSAnZWagAAE9MP/33jCvo0yRRlP3fJTn6i\nElU+vDgBXeWhvcoIECPhjqJgYoBN91CZMFz8BsufM+3pWN8/ASXSUdsHQCNC\ndL72xvXHVP5d4I+5GvyUsPRlT5zOneK0bG/CFNu8C+CQX9gSjgX/nwsmw8CK\nXvsl32o+2/zWIo8Wx4ND7J4hzxnmIIobOMhLHXwG2lRvCrsgPJoOLAfb3wIf\nv5J9CmnbUbE8oaklUpQtfHvLvC8HybUiJKt7kgjnz71Acgviccx9w6jTmYNn\ng6qE1wjuTS9sE5XkuONmGBbQbCWw9XKgcZlyWZmLcmzikV1Qk8LC64XbeiOq\n5WtdcF5ibvqhCO5SZZZA0wVWefUWdL2rJfK/1/8qPRebQr0pZ4okCaAr4Fhd\nPjfYKd9ECd2rqMlnWlID02wtKk6PaUlAULKm+ATRpzj+VIsjWjLBmfDt2+Ku\nN0k5jI8ZRbV4mb1aJ/b0WayRb+K/XtCK0QM9x1aTAsBwFnoQX1NELXgA+/c8\nSBXzhKLF0ZOdUV4+PP510VxWmkzd6AEo9J+KRP19FoJHOGwYyikhkIOF8acn\nTVrq8X62xOix4q53kDjj4HN4n20NJBo8slWyiNlT/1KGyuGzrlYGbCPBCzQh\n9E5w5A63ap6CGgwdMLktHWiEfxJAezllKmoKdDeukwsec0Vbk8jYH+8RiN9b\n3dOm\r\n=0pKz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICo6ad/lS1sEVHkWjnK3uC5wpyvVfCkof3iFPqWjthZMAiEAn8/U3Ycob9szvLueuietbqE9OXPywtNqcbmGYDXzAko="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.0.0_1585175577976_0.2996183459984385"},"_hasShrinkwrap":false},"3.1.0-next.1588595629.c0c1dfe38fc2cae59b84f4f558a94cc2ad09a940":{"name":"docmatter","version":"3.1.0-next.1588595629.c0c1dfe38fc2cae59b84f4f558a94cc2ad09a940","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.0.1","assert-helpers":"^6.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^4.4.0","projectz":"^1.19.1","valid-directory":"^1.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"npx @bevry/update-contributors","our:meta:projectz":"npx projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"c0c1dfe38fc2cae59b84f4f558a94cc2ad09a940","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.1.0-next.1588595629.c0c1dfe38fc2cae59b84f4f558a94cc2ad09a940","_nodeVersion":"14.1.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-nhYdvpZbbfTED2jFjRaGjbzoHF9vVup8gWMTfVHyCBxwmUO32E7fN0vACxIrhACiSJLgdLSZwvwv6Lrh1qlGVg==","shasum":"b7059d0873c0bc3b3def28e1d4bc5a19c36b69b5","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.1.0-next.1588595629.c0c1dfe38fc2cae59b84f4f558a94cc2ad09a940.tgz","fileCount":7,"unpackedSize":22402,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesAuuCRA9TVsSAnZWagAAGxEP/0FnPaJxzQD6hVqr0KdW\n/ywzbwiRmQgoSNyeBlTJJGApacLQAShDM+NSuB7+eNvCEYFkWMOmvXyXPlSM\nsbb+xUykT6YhlfWe8iDYZo4FR+csQa4Vdn7QV7U6ZYClFFt9S+HYzjjtBbyj\nYJED8naYFFiN172eTUvAw3RmZjr1p7791JDuaB/SVzyPzJvxiUzj0HnFZ7Ke\nqgfT3fEgzQO6xxIgYDt7XDFn4lFb1iTHfOm+t19pMtchPzZBpUXFE8avavmZ\nJwGn2HxBC3CbWmPDkG/XUOJG1n1rAuYomc4rZUhGLFBYXYh4/Pik9vbcCALd\nPLBBGY5tvaAnP6eamUNsVf5DhthH3oKHTvDmjRxyIwY6sojCGM1YgI62zNbK\nDima+6cc7oNAT108ub9ZwHGToef4B3W692rt+unibpLnn0WuXC41m2L3ee1f\nfgzsB8xF+Bi7UdLfXV4lMm03wSVSgtPQ0EMFoWBGLmGyWnzyFkPwmvhAmP4t\ncH5Jm0FhZ27J2LxO2T/OLgM2bZj84jAGvUtcNlze5d6YjspepXhhSsM7EXie\ndmEku+SGZc88ayrC6+fk9bi+0ztudrimDxX/sduXR1NOZv75JWkKrg86FTHs\nX1xn2yZfobzubQpIx9Ulo1hmMTAZSke+jjAzB0fpcxnoWmgM4zFAIxIv45Ti\nk/oh\r\n=uSZA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC2q+UG3OcKYIUlsrVNPGTVrnjni+eHDEzNegKxTC6yzAiBEtpfjhXkTHUCv0GL2FyMEyjptXvAz/My0s4PKZJ469Q=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.1.0-next.1588595629.c0c1dfe38fc2cae59b84f4f558a94cc2ad09a940_1588595630385_0.9589284900021413"},"_hasShrinkwrap":false},"3.1.0":{"name":"docmatter","version":"3.1.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.0.1","assert-helpers":"^6.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^4.4.0","projectz":"^1.19.1","valid-directory":"^1.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"npx @bevry/update-contributors","our:meta:projectz":"npx projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"npx valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"c0c1dfe38fc2cae59b84f4f558a94cc2ad09a940","_id":"docmatter@3.1.0","_nodeVersion":"14.1.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-tyHk7FZhr8ZwCN0vzWMGg0KiSoX7heFjxX7Tx2Tr5CU38M2S7YMvbjyL31C2BZKRCHLum/k3obzEPvqtFF1e/w==","shasum":"eccace24ae802eeefc788042513c4636f25bfc7f","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.1.0.tgz","fileCount":7,"unpackedSize":22345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesAvnCRA9TVsSAnZWagAAeFYP/R7ejpGpR/jv8PJo6noA\nTOSxlnWVTjM3p8ObCmKtHRupzwBtftueMB5tXokqbTuNb750B3D4fi+I77tV\n14lvIo/j9v70baHJZ3eBsrk9+bSIQZCfBP0oalC8DXGwIovt5rdW+65cUJPT\njgMprKkjEz5uRi1oFH0tz8dggy6itxAqmwymmba40J0xPdEL7vRDFC9U7Xv7\nZBkBSAKSAiokRisqgk8rDYX/ZA4RMEV0xDcfPJBf4Nuv5f+gSZgCNmB/tsn0\niVurdBRkSVVpXg/Q4y42p2UR2B9BayDG4QOll0TE9ZSXap1290ewPBsNQCIy\ni9vwseuiEjrntX+HX5TbVeb5bZ3q9ZLR1GIiQbWbtzDMpzc+27hN2fpahsAd\nLauye90i/dEN1auW8/99YFAamhvFW7HMq3d5AvBXSPPgjdK0TWekddNUmTlB\n7pywMkEawl88i1X00+xdZmC+hCydZqWK4spQReiU5IhI5u/6dm3kgMmQ4usM\nTN+zDPmL8R3lQl4qTBQy/792GSxyZuOqZ9gEXjsdSjnxR5EMVA1ntEBh2uPj\n0t4HHz8drMlqERP+IKzu2HnOYZgN9bXSS8yTnq15rPoGuGU6sVLvF1olSjww\nfszCOLUWKddYcIPPU2oZYja9eXYWl29w9on8Ihzg2dWn20TFqur8nmCDvsyB\nq2i1\r\n=whUi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG5XJ4X/GU/hw8py9mA2W1mWGEZMFimnCIGfgK2QOXtVAiASVlQawSEXJjodo7pmzb5jTCAdDwJ9queyq7hB5a3qGw=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.1.0_1588595686885_0.850523983132172"},"_hasShrinkwrap":false},"3.2.0-next.1589250034.f937b82699ef15ae1dd3e73714afffb278eabc40":{"name":"docmatter","version":"3.2.0-next.1589250034.f937b82699ef15ae1dd3e73714afffb278eabc40","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"index.js","dependencies":{"editions":"^2.3.0"},"devDependencies":{"@bevry/update-contributors":"^1.5.0","assert-helpers":"^6.4.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.0.0","projectz":"^2.1.0","valid-directory":"^1.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./test.js"},"gitHead":"f937b82699ef15ae1dd3e73714afffb278eabc40","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter</code> aliases <code>docmatter/index.js</code> which uses the <a href=\"https://github.com/bevry/editions\" title=\"You can use the Editions Autoloader to autoload the appropriate edition for your consumers environment\">Editions Autoloader</a> to automatically select the correct edition for the consumer's environment</li>\n<li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ Benjamin Lupton</li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.2.0-next.1589250034.f937b82699ef15ae1dd3e73714afffb278eabc40","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-HM3nKLI0kccWOZl1/7Mv8NAMKleieQW6UHznxhhUvmUp2e1JjZt7jD1Cc9p3uYPqwnClfQxIpuSI56PPB89z2w==","shasum":"0641d44eb5574e6019f1461824bcb6f4e9c5819a","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.2.0-next.1589250034.f937b82699ef15ae1dd3e73714afffb278eabc40.tgz","fileCount":8,"unpackedSize":22878,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeugf0CRA9TVsSAnZWagAAWgEP/0Pfk7nNNET+/nL7jHyY\nb40JJMn1APn6G+MZuUpLzZge9TcnYutIJ4JQddgwInNh4uG/ENzJogchluuc\n/C+CaZQYCd8vOqMqdoZafwcRKo7IW4Qb7dsx6sEttt9ThOxXxGZakJYJgg7L\npukVLSofpEh9v5evAB18ZuF+EPhu+hEHvQnUbstdn04j2mVMiD+JA3gobTYP\nfDfNPuPoqSgL8/T/e+3rgHzT3Sgqb+mzakftrpqchf5JRWWI5n4WzsWVthg4\n8WrSv7t+BbD2W+ELkMcUnpHHDtrLNGmIXQli+3gdjB7l/JimpY4p5iUzrDGW\nXrYw/0Ycm3IEtIrWjs3OrsmojGfCf6TBwA2igTn5+GqaWs3Mm4NgOHPefCz8\n+yTaQN/6gGzRuR5MKC8qOhyOf+gUN2AoaaYJZ4C/f7pQHKiOUBA2Mx1FDYpK\nkPY3frq0mh6ZmbwmR9pA1+xWsoBJzPoMYSf2RErXeM0h5FmaPvkjYJlfBY2l\nhEzJgadY75cVkg2ZLDaR0BOuCjDEn5jDzoARlQDNxY4xNDczL88vQu+yd+y3\nSv/FDIwcJDQHokq8CY0WJFC/o3yOoxytvp/9zSlSyWCExhlUYF5cpwVFP2g3\nXLcjTGmO0JD8TBg3J2Qz0u/gw72tSQO8Jh0twTe55bEChysfGRV0+XOfLg6N\ngT8x\r\n=6t2x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAcSqf2zM2aTYd5zJg8Gbw2w0KAJ4Uuj7pYtW/ZvJqHxAiB3+y5k0+HeLTSXuekzHEerS24Igqcde209lOo9D9WE9A=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.2.0-next.1589250034.f937b82699ef15ae1dd3e73714afffb278eabc40_1589250035411_0.21672380749240916"},"_hasShrinkwrap":false},"3.2.0":{"name":"docmatter","version":"3.2.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"index.js","dependencies":{"editions":"^2.3.0"},"devDependencies":{"@bevry/update-contributors":"^1.5.0","assert-helpers":"^6.4.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.0.0","projectz":"^2.1.0","valid-directory":"^1.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./test.js"},"gitHead":"f937b82699ef15ae1dd3e73714afffb278eabc40","_id":"docmatter@3.2.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-gabIsUrsCQiEiWovUvEtnjHZcG/LM0wLpiNzym1dxGhZuGXes3lWjRKdTG7G1RP2wQu2+GbY9i/Uo0jkzjGlTQ==","shasum":"900290a1f80a1d501f45ac0287f9dd5a57ae2bca","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.2.0.tgz","fileCount":8,"unpackedSize":22821,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuggsCRA9TVsSAnZWagAA+egP/RxQByDLhn0NHCwtRCvP\nQzyGkw7m/vb+7t2XriABh3VAZJUybyRwm1eTVVckq0JioRDFKArcLum8kER6\nA2Sxg5LbN2QSJnzHLiRJMe8l+VQhkJHcwE2wMz7sg4hY01Ww6Ikyv2QpuRiN\nFsnry88eMR4kSSTjxej/NXPccvIDR21ZcJWuW0V81cRsFSPDRbj27ABItyYE\nnHU77QGVK0I7r5MLE4rHoNYVp1visg5/oJIx0bkv/OJKZ/20Pd04NxBJ9w94\nPZsEL02xZtEpE4AmByTB5t9xvweeTXpJD0ntDaBU4jxy7e93VIjrnrxjXgPZ\nqn1nGWmzpDhtgwT5Mqw1lkBVGKyzA2SlB5y7Bgtb97vqOToCv3ca3CHZX+fc\nAJEuuLQJO4oSMEmCZcDs5hAq3sLtcjk2rlFY8cd1FKQ3kSKmVO83jGVeKdeM\nDJ6V074M5RCt6/K1oelHoNsdf33IQE2D09ArDztH38W2WUwnsyHyvKyxzU5+\nzAWl2vRk/Fmdp8gdg+NHcKfdf5wo9bVExKN3tXADf4u0+/Vw5DBjx2mohxh+\n5Sfpe86h3NKoKo4QyEV/yacwmtUijVOcUKXGPqkeKP/vQKdwn0D46URmCkUl\nRnFWdlQjO5O/0H4nnZxzcaL7LdMx4keKjjy3OXiX3M1TQOIZW48HnkwdKJaN\ng2Mc\r\n=64Nl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID7jN494WTzyBDy1f4yVmL7xjoQhn6ZK/XHjUZp0TJZuAiEAsqle0F89axFeuk1n7rG2sq3zjFE7GT419lidSvJiyms="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.2.0_1589250092529_0.23743614071653862"},"_hasShrinkwrap":false},"3.3.0-next.1590035077.57aa43c004aa4b337575824b64c17b52f1f91a68":{"name":"docmatter","version":"3.3.0-next.1590035077.57aa43c004aa4b337575824b64c17b52f1f91a68","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.6.0","assert-helpers":"^6.5.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.1.0","projectz":"^2.2.0","valid-directory":"^2.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"57aa43c004aa4b337575824b64c17b52f1f91a68","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.3.0-next.1590035077.57aa43c004aa4b337575824b64c17b52f1f91a68","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-DZkNrBCDvF02sU8QBSrHyYH3EzALZIwIxTcOkTw+CZV30fz9DoFPFVrSsj95YW33Xhb3AwL1Q4ajb6sdaPbzWw==","shasum":"1b9054e6d5036dc96618560c669ddd4e8aea9490","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.3.0-next.1590035077.57aa43c004aa4b337575824b64c17b52f1f91a68.tgz","fileCount":7,"unpackedSize":22766,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexgKHCRA9TVsSAnZWagAAqTUP/106yImij1aKLzKLCUup\nav0DNIvC3ob5LVK+l7GpeCP9cfLlBbtB3OKi0mtdZuKrQ1vqCy7sagU61AQU\nKJvTKQ8DyW3Xnjr+M4z4N0+ifllSk0vckN/ZsK/F6pwoPj3nciBt9U2PgB3h\nB6qBn1mfNJ7uBBcDa2WvuaOdnaCIDH96wKwxjIua0/jXTptBdVG+sVJDuV05\nE8Eh2bwMO6Hq5Mn1bdiirLrbQODeRJaHENJ2oXJGNH3kITDzoVHyeRPDR53F\n3KVlZepdWX1YwpiSUIShAaUA4+iDhBvQff0r/dzh7XWNPwp3ja7vPLBBA/mI\n7xxjYNfXJrRn2NrD1ahHZj/t6s5C4UcxFqJzDckQMwZwpNoLW89b55izFt3V\nQaaRwRbGUtIMPgQyivf12wvx4FpOHUg1ZHC5Zqy+BS7HCqQ8bSyjNoXhOszE\nDZKHAeDWT3c6QFzQbvRPF9GkfmZBrX3yXmduk3nd49eweNwTYwXmbrDtsP9Z\nOfQaVOP0h7Rs5tNmGzQSo7eQysAryjT7SngozzzuBGmyHyPL37/vfRJ7HA7w\nuWR2sc7BmCLHRrzwREE4VzU2uqOxmOc4qhzjGauVHIikfnBhabNupyZjrbB6\nLZRgcxQor0uRy/jpTsY7GiXxRN0dNU4sIp9EcIdPxISVi7RSB01P/WvvfwFe\nM+ha\r\n=Z0sI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF6PeCZxeyOAMl7QrFu7EbqVhqdeR+TxCcZ1m7Clm9EwIgIWAUPdShoCfjJMgWSqTye6tjDaLIiFNKAD3xey9a54I="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.3.0-next.1590035077.57aa43c004aa4b337575824b64c17b52f1f91a68_1590035079355_0.1676762542203536"},"_hasShrinkwrap":false},"3.3.0":{"name":"docmatter","version":"3.3.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.6.0","assert-helpers":"^6.5.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.1.0","projectz":"^2.2.0","valid-directory":"^2.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"57aa43c004aa4b337575824b64c17b52f1f91a68","_id":"docmatter@3.3.0","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-2AR4mu35HLKdnGq7Vu8wM/xfES0AycDNsWbE70nu9JK+HAHW6m0ZtGCWopFowXpR6PBCv75sPe/R5ie1S4cTzQ==","shasum":"ddeeb06b75fcc29e2c1cfb0078cb158f460adfb3","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.3.0.tgz","fileCount":7,"unpackedSize":22709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexgLJCRA9TVsSAnZWagAAOiYP/iGe9UpA6NPORDqkMyed\ncpRIi+IhNAoX6bdxe2rX2D8s4UE/+zle88IZqD3UC2L+8jIP2SkvFgNE/E5J\nBKfAXQdy1FlXkO+Vaxt6cSuI9Li8qzt/TU6lLzBb3ibYYh4+OyNc7UeA24yt\nUT1cs0+Ct3Ei3gOu7Ayc/cuJCzUSfzgKeSBacyxq1AjzKL2dgyW+jrl0obaE\nLpZQ4UdUK/9H31gS0aFBs4hLzgatQ4dTyMGND7zY4GAh+ZD7XRlkhB0BaDcG\nOfSikO7CD4mfjlbOK3JXyuotgG8FnGke1SQry0jb3tDhEI0FxKXHFDoP2ZnL\nDNfDqsh0e+uXp29uBy+1qsCEwpcjYdmeVxZ+yS2KtT5S+UhCYTjey8i5uVqv\n24jOUSOvaf4GUVsX5rn4SKUVTkljda4aMU/1XMbNisx/0bhUHVPG1/uJmJYj\nkV+JloNdGWdPzkhI6tBfH7MPp6PmsDS5w5lCDp/rXaMeudCWGnOMhnR2yYyX\nK0vWffpaQS7qhZi/FxkwGb/GxL1+PAAHg+Y7eWwFzDZdHQu/BZt1pBOv21Ch\nTdrv5tkLunlXmPkJE+c12ovPwgVjxn6c8aHG4Yw2HrGuOiy5zn0VoqtvyxdM\nedp5T4QuSNyD2xOr3htr3VEKsGe8B3fel6xMNNUAhdjd0QX0mcU/L4dWKLLb\nBgMj\r\n=N7XP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNQHoS8FZPSA10PlJV2Dv04YmyWbPb4asx+Dby/n9e/gIgWzk6vvcPc6cytls8qXxhL1BBH5zep2wDdL4RjlG+AKA="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.3.0_1590035144786_0.2894643466976008"},"_hasShrinkwrap":false},"3.4.0-next.1590071915.096bf5f7a330b8050d1195dbcf9e06d4da519a3d":{"name":"docmatter","version":"3.4.0-next.1590071915.096bf5f7a330b8050d1195dbcf9e06d4da519a3d","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.7.0","assert-helpers":"^6.6.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.2.0","projectz":"^2.3.0","valid-directory":"^2.1.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"096bf5f7a330b8050d1195dbcf9e06d4da519a3d","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.4.0-next.1590071915.096bf5f7a330b8050d1195dbcf9e06d4da519a3d","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-8OHxHMo2diTxVY4AJeTYVbcQBpHToTK5UOSU62HmnMkeK3+1uMmJR3DbD5vfMUALJURieBc4TTm5OTzQjzqU8Q==","shasum":"41351703c4e0ff62953fa5a7014977c1c3fac92f","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.4.0-next.1590071915.096bf5f7a330b8050d1195dbcf9e06d4da519a3d.tgz","fileCount":7,"unpackedSize":22962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexpJtCRA9TVsSAnZWagAAPDIP/1Ue+odF6YEQ7G/SG25U\nXNQt2Dp0baNIN9w5/69Sv4iNikBJBMuZPijhVy44Y0ixTgwB0JgLjmRF7pF7\nxOzYQqhReOamACzFczRVVLsKttXWXpElfDnU3pgy4Vm16/TmMUOBupxiUMt+\nSGDuFGLbERh3JylaJ4GocRWlqHBb0ekpIPHPkQ0hd4bCLOeHjLCe4SETQhWN\nTTFW8YpvDua0xlyEp0tP5Oqsa+w3K3T5HYUPVTsZNoIFx2uiMf7u436a9gsm\nIUHod5pflcCK6kykiOfzCa4pqKnn2uL5wJAAmGw0qdvRRoGvYrnvNViXka7S\nx8k7NAZA/zqb14wg3t6GeTfOv46gseZWbwTKZWMtn/h7C+o8eFy9uorClFmR\n+WdchSrFs9Lw88eXIzsd3OWBF8lYeCw3YRykt5kntu/G/fpXm/7Rwoc3hciB\n+wtpVyvM1lh3EdIEaTct+HRBatpVGGlybuVaRvnSL8syvy31h0hvxONmfdd2\n9P62hfanVfWeHdV6rdTlV7To5lOSrgSyW+gMN9NbkjKCP5wKCxxNfvF2cD7E\nvIh7fiigk/oXz3SIpAO+GCKYvO1dNavV0jXUKjMYoOYqui2WzofhNFafsiHC\nbaKB2GGBHnHrHjUJrI8AKxl0V0gzMnmp3aEAoHJDuHJntxI+5sGxGbuTziTl\nseQS\r\n=IBx0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtMkAiwA8vNxcpAwGY2JWNvIGsRRDI/6PbV0NYuMy+TAIgdEZAYIgEIFHgV7CMcA0rscvyVMks6FTMnoax742FR/o="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.4.0-next.1590071915.096bf5f7a330b8050d1195dbcf9e06d4da519a3d_1590071916575_0.2600369464565402"},"_hasShrinkwrap":false},"3.4.0":{"name":"docmatter","version":"3.4.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.7.0","assert-helpers":"^6.6.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.2.0","projectz":"^2.3.0","valid-directory":"^2.1.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"096bf5f7a330b8050d1195dbcf9e06d4da519a3d","_id":"docmatter@3.4.0","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-9eEAP21sj5taB9QatOb87r8RrumFV3aOIrN/fx8JjbnCQu0d/QZFZIGAzplKRR0BZgNei4LaHOKQ2cuG45612A==","shasum":"58ecdab4c0051a37fa4a5414a032048829a214b8","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.4.0.tgz","fileCount":7,"unpackedSize":22905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexpKkCRA9TVsSAnZWagAA/HwP/Ridf/TxJC0QGo7JJ38v\n2cuT4Rlc98JEdzA77+PfOZWr1jNNXIE+jDj+znGklz9bEjwkjiq9XWmCDv05\nCa7i+VATghnUFhKx9iEhfAp11rvWwPzbv+Srjiri8GMn+HmNfe1wrjZq9WDE\nsVbCw8q1TDzLuZqyp2HiDJlAP2MFzxbuW7TQiv4tMhroyfoOTOMDe5I+8+sB\n5hRu/msXxn6lZoPmW9U66vWlkibOkR6IktLxZyXx4kUpuqm1Xm6wJ43Z99QK\nxb4kwccMg3JpgzvGRaTtw+PC4J7TybXWwg72bRz1uyaDDe+XJ74zhkqcnBev\nGtp4wLcG1807dgKuQ6cVtefsQj8NkoLYBGues2J11Z/Q64R9/lQAF9LwybFR\ns8Dae3lbzpqMtAfW79hQEuX5haWQIC6+yEvtC5M7sda/lSZNOobSUMwhT3K0\n+UDdJRS8Bdkpn+/wnYcrQfNR9yLN2hKH3oOnpFHcHMtsc0AdOdxFKJJITsXx\nDWDzSHYyTv3hVsjMwnpfmnXcCpctOujZoP762WRsvRjy+doVx9oO5oQoW3LR\nrKTvJqWnHxioBDy2XEvWQ5L12N3WQ/VaC1CXsKlLlgAlnqdjY5M6I3wdotSg\nX2iI5nw2MNc7wiUokO5uVG/uvEw5ZTBQ+1ap1XxD1e4Axo6l9uSIQNj16Qfm\nu1ov\r\n=T0Ie\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJPOJlz7VWJKIzWFaRR4RwTS7/w8YUzcVBtamHkdWd2AiEAufzRfHiUXSc8Z8/ZByXv2Q7a8iFaeoLOVPz66G1LZOI="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.4.0_1590071972281_0.6682321707134036"},"_hasShrinkwrap":false},"3.5.0-next.1591775943.32201cd951c70708b4859692cc25f662f72cafeb":{"name":"docmatter","version":"3.5.0-next.1591775943.32201cd951c70708b4859692cc25f662f72cafeb","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.8.0","assert-helpers":"^6.7.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.3.0","projectz":"^2.5.0","valid-directory":"^2.2.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"32201cd951c70708b4859692cc25f662f72cafeb","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.5.0-next.1591775943.32201cd951c70708b4859692cc25f662f72cafeb","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-cCtK70fboW4/sS5r2/hhKxLsBpQUZLb4q/74iLblZBDmEeunoCnv0xGcNLrJVS6hGLcrD6KIqXUBkLOsQqevTw==","shasum":"413cdf080647d186232d502118bd627345441b3b","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.5.0-next.1591775943.32201cd951c70708b4859692cc25f662f72cafeb.tgz","fileCount":7,"unpackedSize":23159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4JLJCRA9TVsSAnZWagAA1VUP/1k1Dn+hxRXaWerV1LVw\nSMvQLpJ8AiDC0wHtm5iVVxdMDFttHJm0p9BgGijzBMxF0aJEccq9Ptr90iHi\nxfayBzuWgqPwVZJk1+JGGqXX1vlxFCkNsQ+8s1HM5ohhhYlZxVm6FyXqlbQY\nvp4a3vFNvf7mP3xYKWLCXx5mGflIJDhXvKd10HvJXynHIVVFY5keJ9X31MKy\nysScUL0jhQ4NY1LWnvlZjw3+olVE7i+MB3oHksJYJf2Hkva9zhtirlftE45s\nKk1GYZ39Iyxm/ydoRJiWitx25yxB5Nv/OF8eBiKH4Zcv402TmvN49o6wysaW\nasOdJfkpJRAEfTegtkZp8LfswBG7D7AjDfcxv3TDwPXRD0izZ3I75uPModir\n7xSmBomroLR7r5DubXBQhSLRo7CERMQ86SrrSB5DCenKRx3dqyFootPltHw1\nH2kijWAnKMUsZYeRx+EiZtwe8SQExyXcY5vUUtk/ORlmx8bUBkkToIey98Bw\nN+swqF6LapcxCftf+jmvC2Tk/Y9H1I4nq9SX3E8TFRKF2Gvd4smIbYpVDaxi\nNl7ukRAtzKPDlkeAsLeF9mVg2SKVtpJmgdK0q/sClQPIEdyXYz40ixwVhUM6\nmcN/aqv8x1v/vyOYP4Fu1tZns0PD/LJaxjAk1pBgEAIP0iH4QP3EE6r/Pmm0\n3zH/\r\n=7KD9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBgZCJcDZzSrFpo95WauHCrnQflDM76kPLuMzAeoxkdXAiArGqImdBaZ8k4S9qDT4BZgc9hJQfwy1J/Ip2pSFoJRqg=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.5.0-next.1591775943.32201cd951c70708b4859692cc25f662f72cafeb_1591775944936_0.3217646869213342"},"_hasShrinkwrap":false},"3.5.0":{"name":"docmatter","version":"3.5.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.8.0","assert-helpers":"^6.7.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.3.0","projectz":"^2.5.0","valid-directory":"^2.2.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"32201cd951c70708b4859692cc25f662f72cafeb","_id":"docmatter@3.5.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-9BV/+YStDE23BSFQif+xhGTDE40pm6iiv3iUAfHUkQ3R/04C+iCws3GxzUtqDvljZ9qUgh4U3g22caanAx77Tw==","shasum":"73e4cfb21d37c168e0518867cfdaf7ce1daa230f","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.5.0.tgz","fileCount":7,"unpackedSize":23102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4JLsCRA9TVsSAnZWagAAfmsP/j9Aq7VjdPNGrZD+xe8k\nL0JXIsT0mU9aPYxn+WcDoUvOUBDGBjBRNTsMDuRCkpRJg5j/gZqkPZONWsp1\ncFHFs2dw6IylzhDEbmb1cqylq5zWjHAYZjYo7p0Acq87dEXocPwjEMurk36D\nxD81VPyM3kOOlqVeR3JzwuqmLV94+flRp470nXAjICjPJatPuPPd/SNlwK2y\nmtmmAuPW/NdQdjUv5RdbwNEfef7uPZGYTHkFCHfUFAzwnXNxCOy6b1R0wcfC\nfSBjY4z42j9hOxPoAihBZsQ0fEQ6Lb4OMC9V1hvVsokoBOkkAk7Q5805Enun\nXUVGzqV9FzxQiGW2+c5s8eMQuRPa51EOTS8P+e0u79BVbb2t+zmFFhZFZhr4\nDrr5k0oOsz2QbfT7BptRs+OPsdQFfVGlaMGEJ91sBmeYfMcdhO8lCovAaFNU\nJwzd8CXzMLVgi3IPER7xQPxHSMSQyU7weFgMYGtiSVj/bhBJ6/AO3HwisP+O\nVolsfXj1r1vjtMj1FoSIxs+w6R3cHKzSQmnshH67FeEDGB4dCn3ZRM+VrHoU\nqrD7rrJV4IxrVomZakfkygxaxUliNdx71M7daz17D595G92kWfN3fi5kOjCi\nwM9Rd1BG22Apd3NfXzpeCyo6M+zz9lbZL4yNazHbIHQP//JQlwq9Y+or7SYa\n48TM\r\n=MQeB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEK76bhV0vI2HGy3iEgw0LdNtDcRIWmUzARzvmMxb7G0AiAiTMJ9eS/8ACJ9bZio19F1VngUntYgq64VWcMZPfEPUg=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.5.0_1591775980243_0.48627320657194395"},"_hasShrinkwrap":false},"3.6.0-next.1591793139.057cdcd17f84aeda2dda70ff0cf33f9de66022f8":{"name":"docmatter","version":"3.6.0-next.1591793139.057cdcd17f84aeda2dda70ff0cf33f9de66022f8","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.9.0","assert-helpers":"^6.8.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.4.0","projectz":"^2.6.0","valid-directory":"^2.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"057cdcd17f84aeda2dda70ff0cf33f9de66022f8","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.6.0-next.1591793139.057cdcd17f84aeda2dda70ff0cf33f9de66022f8","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Wf6prWYzL3hbXx+FWrB04V2P4apwVxLsqQOXsKPtfsnmrbl0G3cEmnyHel92+2zjBE79si90i7+lCCY0MgP01w==","shasum":"4ff0b5d7c99bafb2527e4b72e5cb3c613983690f","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.6.0-next.1591793139.057cdcd17f84aeda2dda70ff0cf33f9de66022f8.tgz","fileCount":7,"unpackedSize":23356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4NX0CRA9TVsSAnZWagAAQH4QAKMVTXbAt9bpeFnoaXyP\nOWqBEMr79myUt2GIQIJtfUc+5ucHkfpfzZ5UDwCzGtBWxKxLa7oHCLfnN1oU\nLcNS3sa+AKHwgKJCPoJiaLHNgYAgjSGoTG8lKuKFy7L+ecJOdBXLHuhKhc+h\nhLSv9rnwSuNJ0Mk0Sp7kvG1gNZfUlWlBYyYzYvlbJOdDvp14oItTstcRFa1J\n3s7f3ST6w//cjNQOQ+9qJBeFgQdDGFNBcc+o+ugxPjwvsCVHGJAcws71uVgi\njooDukcUVIaJRjLo88hrQg8amFsGqnauibMyJy4LeXKGexl2ejnXAJV/BLtm\nVYnqqn07FiZVfhUyTmO81Mo/tg8pMFSerdoVMNZc6vim+2akU/5dIOkM60Ra\nVzkuEl1wjZEzkRw/caVUAtpyG2PZaJtuCTqXxq30UZhm0snc600ckvuJY0s+\nC2nUQGggk9QumYTYtu+2xCw2tMJ52iJzzg5S7YLqdyW1QW0HI4VMxyyeiAqK\nUPeyra7eToaeU6nqcrs4sazOVevRmmpx0uDdhnRIdvL9G1RppYyQCngFkoyu\n/pDPaPlj3jpF11E1O6kx0TjtpVWuQN30Xs2mBNDjuV5X4jCSdH3qY2nWC32w\n7CVqFmB8+pHiYUU84LRUJL9XELbRl27e8DakpoY6ABxGreKTpQca5wch6DVU\nk2fe\r\n=97io\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdaBan07LAw0ZHxB3RIjuxp3NOTa0jrgcnxwwO/qANVwIhAK3Xcmg/+KV5deXlNTVdHwQuSRKo8yBIbE+b/uX23HHH"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.6.0-next.1591793139.057cdcd17f84aeda2dda70ff0cf33f9de66022f8_1591793140616_0.4494175515455954"},"_hasShrinkwrap":false},"3.6.0":{"name":"docmatter","version":"3.6.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.9.0","assert-helpers":"^6.8.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.4.0","projectz":"^2.6.0","valid-directory":"^2.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"057cdcd17f84aeda2dda70ff0cf33f9de66022f8","_id":"docmatter@3.6.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Ev526gE3X6y4paY7l6TMp71/18H1jDWPXJFwa2UCNKydxZRC5Y1NikgZw3YoFCf08WSRlB49w9Ovf+fexGz3zg==","shasum":"82d5ef98c079df6d2ad8309dd461bce5195d7009","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.6.0.tgz","fileCount":7,"unpackedSize":23299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4NYzCRA9TVsSAnZWagAA+U8QAKOpHE0r08cmY9jr6J9K\nrbUvW7GjStRDpGVQETxwaGs/XWUD4JnHEBdHJR93TrviosIyPGzVK0zpGKfA\nNFiUb/cET1uAP6rlfImDYgJWKlGbnqQ0mFVyJRHn1QseTA4pfcIwftW1HDt+\ng3co2XBx/xe6spKXDimtgtCZH5AaCJPqggbL32u/rGYcT2cCoJz/NHc3b48J\n/SnOpR3D/V1o51VlqU3tCax21iK9VpkTOWACOrrjhiSvHsr85qhicsEmym05\n+0sGvxSK8KqRiyeU5NM4zRchfoQVZeEjS4GORImXpyw4e9q4+j/RrQbAKFPH\nDvFWmstBvqQ/qictfTeK3VaQWfRWFZ8Ybu1kS+KsCqR8JjFuWN7Ronw43o70\n9sqAWgtuwHqkee+ZQO4dULgnwwagoWAvU+CDw7sGzBlt5uM8ucd3BBnTYFhW\nbztHs1XBq/GJ6ikyVA/VeKwye1flXCSDGHciHIrYYP7BcwViZ+NH3n6vG48P\n1TMjnOwKQmYVvjOTGW2/pOOAUBtDRZ1EZ5a1PzdTANN5O59bLk2dVHfkcpgr\n96fzdeZ7QEDQ+1OGzBFPdIm6rw8Gk91H92IhYeSTUPBCst60I44YASnDdvvG\n+KJV1wutuyjKHNXWlSzB5+GCUntelygy6Ejf8TOWA2z/bLilrybyhr8IiK7W\nxNKl\r\n=E2fk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdraD2dTyDkIWzyxHLlnCCKGrl6l7WBJl5TuIqubqXJQIhALW8J1hUmXpARh6ASHRDmFIc/1Q+ALSsvh6/sFsDePA8"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.6.0_1591793201291_0.977076375379669"},"_hasShrinkwrap":false},"3.7.0-next.1592601744.d58cf688c2377d19b71fca20de37e897cfbda4e2":{"name":"docmatter","version":"3.7.0-next.1592601744.d58cf688c2377d19b71fca20de37e897cfbda4e2","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.10.0","assert-helpers":"^6.8.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.5.0","projectz":"^2.7.0","valid-directory":"^2.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"d58cf688c2377d19b71fca20de37e897cfbda4e2","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.7.0-next.1592601744.d58cf688c2377d19b71fca20de37e897cfbda4e2","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-BZTOIfhsB6geaI1gFi/VR1CvCnAH7N3Rq88l7fn9rdwCWOG2ZeBvzPuHm3oNEHJqqi5wLOVTOdl/J0ySCzPILw==","shasum":"049577bfea599a9e7f72ecba20928fa92002dd6d","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.7.0-next.1592601744.d58cf688c2377d19b71fca20de37e897cfbda4e2.tgz","fileCount":7,"unpackedSize":23554,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7SyRCRA9TVsSAnZWagAAO/4P+wYlPuiTZ10eSscl/92s\nhQqijNaTfxlV6u8dTNfNEnpe646PPIFdTFKLBfCD4s8VuS93dk42Uu6gey6V\nl2w4dvtaOmmJNBLx96XK1g77lCewa77xh3REb+18dK1r1gNg6Er6bJBvUUOs\nb1TTaraCuukfnFov3TZtLFDK15YqWWDM/uqmmh5pqSk357Jt183mXYW14LgJ\nldfJwp/EkCk1BE/3j83c+ve5bqI3jp5C9VYurryjFvBhbUn2rwnU6GCK6FJF\nFvXlIFUFYMlCi8drBndIvkwjkzLbK1oj1WtNuvGhnUuF+MV6ZZ5aSUHrHtui\nqNQWAgSP01Qr9JAFEU/+XUlvvOc8USa2XH3UjcRV2ETUz2vDm6EKSxd6/coj\nUntVHfiWZ/9QqNE0X9OwO71MMQ0QqShC2hGvq7R1TfRJGlTfv72ceqAG//Pr\nkxQMWopNNqwZrTSFQJL5YHNWPhn5a81Xh9aiXHnPRWx4QVF7PjBYJOtI96qt\nIoiXkBd2ffUkRrAun0Wptuvz8E+oy2BBNYWvcSYDrFillMC1CAASLn0iVBOb\ntRIZ6Pt0fA64WZvmkWvDZlfDRnuWwZVhbD+rQoGPFNl8h0ugfU7X3yxtolRg\nhTow+D0+rM6K0rJ4ZgbW7qsyoYRsx/5ZrkK+RHkZckZammhmb/F9undRFqke\n0lHY\r\n=9+W1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhwUuk4PhHXVKyw0Np0531tvRmUqioX0X0iowRwnP49QIgMcykc7kbdu9Vm25DnGilh9jsnJ/5djblyt/hkmcovz8="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.7.0-next.1592601744.d58cf688c2377d19b71fca20de37e897cfbda4e2_1592601745245_0.6949844596031611"},"_hasShrinkwrap":false},"3.7.0":{"name":"docmatter","version":"3.7.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.10.0","assert-helpers":"^6.8.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.5.0","projectz":"^2.7.0","valid-directory":"^2.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"d58cf688c2377d19b71fca20de37e897cfbda4e2","_id":"docmatter@3.7.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-CpAksfyy1PSu6FZO7zT/BNS5MnwfYzwc2bjhXC7/4ONF3MuDhJZwQTejhwcoFtIyf7vdqTtB9cJ99WiFbXuFNQ==","shasum":"4730994941f5d888d5a77fd9824988b14e0144e5","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.7.0.tgz","fileCount":7,"unpackedSize":23497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7SzTCRA9TVsSAnZWagAA1+EP/207Iq2VNhr0C2cvuPGh\n/1Gjw5i5AFWzwe2fgiZojjbrVsmV3rsCeHoly1qzyUsNthCwO8bFzDXZHW/F\n2Gb+P7AFs20VPHG7F8ULOTCoGm56oGkz0WxdFoVeiYWImAJ370xqZuzssSPX\nQmLMfL+TK0/kcL71t/lqnTt8wlhHiXQuUo5kZGw0jUidTQxrL0uyW7cSLCcf\nRfBlddtT2x5k53rPoUaLaFYlvR7ekLVPfBk97r2M87K3tJlBAxAGPuN9jshL\nNyAmqSN2Pin6gW/8LQY36ZtkaHmzgTP/ATYeBz0Yv/h6XmsDJWxSbWmoRczN\n6J7M7goW2qrAJKLKm34777lomfk/VUpoc7t45qJ18hjbzGx71uOcXyjZK4i2\nBSoWOzg33YDGXjmjkYwo/T+S/5j05JlYTV9ChJZa1InHr0IS9jZpLKmQlGP6\nmtc/ex1eJuONCUSlAtM/gnehrYAg46oHWJWGEhGOGBcRnci36kfuJwRQUfL8\nVbKhAZaSHDoEKtzNMGz7OLikte0Habzf6naCgYQ0Z5E4Vtp1FprqadsosWco\nE+1EVlPTjIDKhiOGZB/7Yjo1nf+cWH33DpaKkLDx0gmbl1bo+r2wYtUpFI8o\nA3t25ru+JO/xqSU/YlPaOd9CZmJT7lYIupvUCez1rHLkc9+iZ3iJ548L50zF\nZFVC\r\n=h/UF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1Uvgu13TMYIKN6Wk3N+IeFfpKXZgYtMX6GuuHntgEzgIhALWH5sjUKJ8WG2jFsoay0NM3hTdNkC9JB6YwZE5sIyM5"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.7.0_1592601810858_0.9173518807275738"},"_hasShrinkwrap":false},"3.8.0-next.1592606484.f9b2303d6d1b2e0fae8cb7da9318cf4e2eeba764":{"name":"docmatter","version":"3.8.0-next.1592606484.f9b2303d6d1b2e0fae8cb7da9318cf4e2eeba764","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.10.0","assert-helpers":"^6.10.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.5.0","projectz":"^2.7.0","valid-directory":"^2.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"f9b2303d6d1b2e0fae8cb7da9318cf4e2eeba764","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.8.0-next.1592606484.f9b2303d6d1b2e0fae8cb7da9318cf4e2eeba764","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-qA74oPMUevCEy3v9pGW7KC1Eo7DGAa7kdoy6epU4GlzPqI7eGxrL06kJLrVDbKDpOKaALVatpBWtirDSyXhj+g==","shasum":"70ef7e2d74eff09640b4d432a6f3bb6d018f71fa","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.8.0-next.1592606484.f9b2303d6d1b2e0fae8cb7da9318cf4e2eeba764.tgz","fileCount":6,"unpackedSize":23483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7T8WCRA9TVsSAnZWagAAs3sP/igj8T5+qCreCDsde+Xk\nlXNiGZaMPDXUOSj/DF/EUmOLA+bSZH8+pP1SDQLn+7yDXg7QPrQQW1xHUC74\nZernhFxmGjHA6ALlSPff47nsrbXWlsasZs375kZnxguyGDm1Y3JTB4x97xna\n1zNxr9SD2iDN8TUYiDI3gNLVDjTtbY4C0SOJZwH2UVQXT2p+c2y57nGIcDis\n1my+NCEvlswmVNpD3Pj2CLhf3kllvr8ha51mP5V9W4X1BfLOGUWRrpRzxeTf\nH0HgoH3Kfa3WEjxJYlXyt5SeGs6gr6i4mRYlAZgaPSEDdbuCMtcaE30Q3zWa\npUYkj2oudA0l/doL2kicmiYMNoD+O4IC0DgBYNmNM5BOHCuizKvE9SWCgxy9\nQVA07K/+dXSxjyq2RbGaWSTewE5PUZzoCfeM++TFSi5eK1S8wOJsHwv0i6Uk\nFWhMChz8HDXlGE1NPaZsq3hX7hBB1OeETGs0QzFeqnDXvsWxM+uhD+NzDsXW\nQaBGpWbQKa5fX/qLSbomhLDMjGF2MbhJ7sFosnoyiQQXR+2bHXigj61el1Xi\nSjiAV197J60bpeJzbh56JmFLaDf9sOM1FZGaqInTRJp+TuHdDuDqxYdPLJ6L\nhOp3wlnsxLGckGrFfZpco2Yg8muAZT1E7UOKPt41BF/o3YRU+esf23YC6bu4\nzIYv\r\n=8GlZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG8E2XZH1kHsCnUCMKAKyXhnIKrsIIuqXxkerc4VmPj1AiBfbb+Uu7VcqsMTjrcr1g1MVU0GikRXIYHjmnnVAx1U1A=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.8.0-next.1592606484.f9b2303d6d1b2e0fae8cb7da9318cf4e2eeba764_1592606485577_0.8730295527692733"},"_hasShrinkwrap":false},"3.8.0":{"name":"docmatter","version":"3.8.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.10.0","assert-helpers":"^6.10.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.5.0","projectz":"^2.7.0","valid-directory":"^2.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"f9b2303d6d1b2e0fae8cb7da9318cf4e2eeba764","_id":"docmatter@3.8.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-DHLuhviMX6nNqlici0mUGRVCc8XZ8pf9YURKP2BUrI20EZDoiCpe+uvsjvzBM/lQHggoO57DZCyP5Ots9JFpKA==","shasum":"ede925ffafd7f89a2e3c87a2d9f9130c54467d94","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.8.0.tgz","fileCount":6,"unpackedSize":23426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7T9ZCRA9TVsSAnZWagAA2lUP/1vJFKCtRWC+4qEM7PhQ\npBv8K0ymM9+IBulGMNuAJgM+G7hOmrKO23uHZuqYlMh500PYiipNW1umA2lW\n0/Tmy1P24/s3VtIwSxqcT4QFxBihwlaidfLJqtG1RPSI/YUzS28Qg0NAezj6\nrG/hTBl3szu2afsYyeTOPXPnxrDWtKCLLZtY4URCeOYPlZS3Mwb2lwDSU2k6\niNTV1g/1+BQSGUc2Z71w9g96O/YtH/+LLSMV6QpKqTp6Ako6a2IvXWS7w/BV\npSNutuDhCREa2GUNq4tF3Eoqx5tB12BahaCIqxnH8LATrjICkn3ABodMagkF\n+c8C72p8a5QQOfUoV1q21jIQBISyxwkTF42pJ57MqKlD0GIYL7Z88rshtNkZ\niVhIPHFy8GLa9Gqc3Y/IfFKEynqaOdNcdzM/MpH3ffE8ggsmP0CrHIRd+1i3\n/PAKhYJLw6Z/+yJxVnPZFl27eIpEuWmp4mPXvlpM6E5lult7GNSfUIdKp6d8\nPMjgLsmjMJ+LqXM6z5i0N8VJc9jkLkW/jVjKykHSh0f+13V0TnXKW2YikQvU\nTh1721Eif1rbgLF79AHxmM17E4TFf5ChqI6qjLoxYaZeAlmYcrDG40WCBQIW\nVwoFkIKHJVZtaKAtG1Zz77uhxjtHnt6Qhs7gANuGdmox4tjxIQwAFInus1ML\nCDzq\r\n=6X1r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJxLKBIHRHTsDYCZ8Zc1p25njCOYFnrcYmPDZcXW2QwQIhAIvLPCvYy/CeJwcFjMrAkNViu5oUk2szhGJsReoF5iVG"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.8.0_1592606552680_0.01368429714402386"},"_hasShrinkwrap":false},"3.9.0-next.1592690219.849b01a30d553a38d881e01a43d36eaebe13fa34":{"name":"docmatter","version":"3.9.0-next.1592690219.849b01a30d553a38d881e01a43d36eaebe13fa34","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"1.9.0","assert-helpers":"6.8.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"5.4.0","projectz":"2.5.0","valid-directory":"2.2.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:coffeelint && yarn run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"849b01a30d553a38d881e01a43d36eaebe13fa34","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.9.0-next.1592690219.849b01a30d553a38d881e01a43d36eaebe13fa34","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-dtxN4miD1fs38UDsZb8HUdVzniBUzpGc5WV8KdriRwmY1sAfpzfVbyktlWO+sbQue/AAKdN9ndAk4Gyuy+XkkA==","shasum":"bde218cba6ed157ac504a5f8364850e8a9953a2c","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.9.0-next.1592690219.849b01a30d553a38d881e01a43d36eaebe13fa34.tgz","fileCount":6,"unpackedSize":23708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7oYtCRA9TVsSAnZWagAAu1IP/1bpRJHzXhr6T73Tojwb\nC5cXJ0EHFqGny55nbZ+43V1Vro/LHjW3SCbYKsPezLQp4XOOTy4/2mBhkuzA\n/+GcbfKM1YJ3qd+9YwbJrK6uA4XfQCHfhZWyFUUh7XyIwuCtbVKKIWX9lCsj\niGh2b//naF8oXtvxst8Y199AJewsmWlpYRZTudVXMA8s3IHA2IJOe+AEWrk7\nwrjY0F6Fl5igpNxdeiF0tmEh9e0KEUCrC0QSr+RJ6SwyQal/YHGK8EGeCPVi\n+5MhI4LU33gSx5pcQPw3O2PmtixX9z3Vp1pYOj8BB7EUqSn7bMwU5uuSdedP\nFE5yhb8p1tNpigQeJFhY+msJNooQtRjKQFjMKpq7+ZhBLtfU4Oi/OVUK9yXB\nzKVzdoO+mQnVjVOS3/bUq74fc15KCPtfMoaxVhWKTqTOu1IlyHzsZ8C/OjBD\ni1k79X4QbxU5s1HQQpozO22lkvWCY2OykE/ugfiUC1XyP/vmYp/TRXKZ2VG2\nt6if6Qr5moiCVD1+E84vemhGmLDGO9+rcAf7VdVevYs/G30cMvr0xmIx6Aoz\nunxb6J+dsbKGWjEKKWpsFn7gd76PRG/C13O6ubZfiO1qGBWyVqkdRCXfo9Be\nPOcbWqaLvMNTXT441wkEmzAevy0DZQIgxnvedKnp6af20r4pvhvNkTAMioYN\nFjPY\r\n=gEvX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF7DqPdcEdeUbmmIMWw/w8+3fpt9hFCzuusG3tL/dnq4AiEA0rXZbgPw6uvcsRGiaxo0YtB03mcqDm5CS0GEuqeqNjc="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.9.0-next.1592690219.849b01a30d553a38d881e01a43d36eaebe13fa34_1592690220617_0.056378605635429846"},"_hasShrinkwrap":false},"3.10.0-next.1592738180.0c282b2c5681b77f09b4a3915c070c70f990bc06":{"name":"docmatter","version":"3.10.0-next.1592738180.0c282b2c5681b77f09b4a3915c070c70f990bc06","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.9.0","assert-helpers":"^6.8.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.7.0","projectz":"^2.9.0","valid-directory":"^2.5.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:coffeelint && yarn run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"0c282b2c5681b77f09b4a3915c070c70f990bc06","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.10.0-next.1592738180.0c282b2c5681b77f09b4a3915c070c70f990bc06","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-2mFFFL/xnN3oZQzLs/jeZBVTWvBr+JaHdLnIw5KMaIXDwEyAOVZHHzddmiwz+ilF/m7TpKKWS8JoEbjPYP79Kg==","shasum":"101727e5add4a9851e9b9fccc21e5b0f4555ce6b","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.10.0-next.1592738180.0c282b2c5681b77f09b4a3915c070c70f990bc06.tgz","fileCount":6,"unpackedSize":23912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe70GGCRA9TVsSAnZWagAAs64P/3BSnOVFIpY2HxjTJyLA\nbJT5XKvKbtPh8+bbv6YpOWHUp1Uud1ZY5ryas7Q0AKq8Y1KMfhnH1yWPV3MS\nxOCseQnhLEEQGmbuo2KX4JnlVt7P63Q1duhtkdZ7YhHH59BooKjSGli0FKhm\n2FCqgVzjGxRu3m8CO24ch7m2ouJbbFGWBEdr85b3TiLEAjKI/YT5KR1GaLdJ\nmz3EjiYqGVALPy2YGgmD4XrAsfbuvZZnb8ESJpEiGKBbwbXFASDmJCw9Itvy\ntpPFKf+D8qWGRDvMvL+HmtCL8oI433gAH+wFrP3+UirpmlRYcdvRncVXyrDO\n+apYdqZ14KNf6S2w3R44/mcsoMi5Ry26wdLTWE0DMID4iEOAAT0L5Tq6eKao\nvUqB4DNv8CeNjF6WK27aavft7CQPewGj9KNmnu9tqEELV/EVwdnSYlWN07AW\ndwgb/OrMHo96ANcSLh4FU79a4YB+6Zn4vE7KxmDNvUuJKWkwEIH4JKqcE5PX\nzoLtdQoWe4IoE+I0RbOfiAUR2Wm/S8Lt8Jry4bQk8HpZmG8lrYroVCEJMxbI\nFHYmsYvl8EZSiT0CXI/lz6WMfnor7ohKUv2XIRaYG2o31c2GGSi/EmfsWT5O\n0nQmUDKsvej5gzTdVF+zQ8AAI1B16vfk3E50CT5MBFzWrwtirexpHh0Vm4JR\naU/W\r\n=2Yk5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGcC+8eT9bBlaLXNzAQfUiMbzHPhk/yaPDfq5kOVjNKFAiEAlvR+yJBjbmstC71Lv0OvB79T368H+Q+pI7bfj1U/F5c="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.10.0-next.1592738180.0c282b2c5681b77f09b4a3915c070c70f990bc06_1592738182126_0.9832307850018187"},"_hasShrinkwrap":false},"3.10.0":{"name":"docmatter","version":"3.10.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.9.0","assert-helpers":"^6.8.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.7.0","projectz":"^2.9.0","valid-directory":"^2.5.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:coffeelint && yarn run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"0c282b2c5681b77f09b4a3915c070c70f990bc06","_id":"docmatter@3.10.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-EIvN1Qg/2jJyq2Jz8h78CaNb8nSieNu7OPbYN+gb/IGhJ5QEmCiOj73kvvZF1/0PtLNhnJbA+2UYfJnW89d5vg==","shasum":"ed7c3927a45cf30b22148f0d440ab7013530e9fd","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.10.0.tgz","fileCount":6,"unpackedSize":23855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe70G+CRA9TVsSAnZWagAAUG4P/2tYcGAGW5xzXY8T4KY4\nZ1TBfwtURl9sa6AeZ/FBfCid+RpIPs1O9A4JLAkMTr/Xe03PDC3jy+T7LDmz\nPAHnJM9NP/DCL7VsRxSN85keuMCywZt3KD1k6MJhHgKxqgWfDBiZojHxVsCj\nEs69w3n5xkM3+WM3YCb3EDiG2U4N7kh0Ened7wN0rYWFKr7hQLluriwsraEv\n8MNVVxN8SxIapvmqX5z2dbe0h0qYKWmMqY2Kd1CJOvSd4nuQiVwoLyrfjo5Z\nAIm33wJIw/Pt6RfvvmYCdKt6hPY9dZI7wCtMTLMizRQSsfOCXFy95cZXrMmC\n7V5rU/nvWUixV76ZXWbO/D10KRFu78Era8xyawpRXhti6hwQZdpFhqhHhiu/\nKJp+pISQLNOisRvTILSO41FGOEaeGE82Aw9UeqMXfo4RhfeuzFmNlxR1dvUQ\nawBiYhMVUA52g4GkeeVY8AJkxOkJbSNDhBkQ242FTpE/9TL7XzX2SacnCH0I\nr7n6v73BtDS9qtzl5FPZT5bnAv/sB59Ee1la/y4xzIJ/QB4L1TpLHVXhfo5y\nZzUiM+jxxItg3UIKX6Iz1fglFY3ZuyL4CCC3uA/p0aa7+zd92zCyaSvmginq\nxa50yqgdCOCWPlMZkMLrYJyqFGcuDMffl6YxxKm6VsFptH02Z13dHyrEh1BO\nIQLI\r\n=8GsO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDO4QCiR8bBSb36iAipXyyUAlJvWawJdJ5YznmlNZAwMgIhAPkBjI7xV/HXwgszAUA42S+ljVRN7neZGUtoKZEGx7jt"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.10.0_1592738238084_0.6085460584267683"},"_hasShrinkwrap":false},"3.11.0-next.1593051731.db01c0d6ab095c46f1c22c6db27428650bac6c16":{"name":"docmatter","version":"3.11.0-next.1593051731.db01c0d6ab095c46f1c22c6db27428650bac6c16","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.12.0","assert-helpers":"^6.13.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.7.0","projectz":"^2.10.1","valid-directory":"^2.5.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:coffeelint && yarn run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"db01c0d6ab095c46f1c22c6db27428650bac6c16","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.11.0-next.1593051731.db01c0d6ab095c46f1c22c6db27428650bac6c16","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-dB/FBlnzHy+idcsI9n7d1reWLsqyM5jOJJNcEZUObuVDma+13ATXnEbvo7B4nyaGJ5josCsJMd+hydXroOi8wg==","shasum":"ba7a0ca9cc34c5cc59148a0b909f1c521445490a","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.11.0-next.1593051731.db01c0d6ab095c46f1c22c6db27428650bac6c16.tgz","fileCount":6,"unpackedSize":24113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9ApUCRA9TVsSAnZWagAAfUAP/2COBGgrdi6uMCKrVKq9\nbckpwLi4x7WSAj1VncrEvn/ItBG1L2gLbkq7ZGgNzcbMBvtpcbt1NQBwqw8O\nDP/waHzlSIoMHDKyvbUBLQFGHkg5jvAA6Pgu5GncVBQO0OjBeDrjywqdDQQL\nk/9RYbT74GPdVqe9WZL6Ey6MdwzEbEaDXB+2hzlOfJSOu8bHWJSCWjRsOWw3\nJmJv8VU3vIVxwKf1Cwutan2hL+W2AEubYaSAtEmUJ/J6/CtrNF8p0SMa0I69\nz+behcR4DykkP7DiSDvWiz+wHpD55gyJT/cCkJO3aoUx0dZeC94hLfAfNQOs\npDhPHYKKWxdfgdupGiAwcZXUWISHavrXF5epvclCzyyEzxCQtiArv0251zIZ\nQgFSfXs/cNAh20g+VF0JdHs4sat7+iBvsrH7is6xxuDTfJMojJjaKhbmFhfq\nTokKp1orOlqbuEZnAe6L8JDpR9luL1OJJc3S2+H+RnSYUPkuyA7uY0mR6Vxm\nyiyFwQbOb9SxXicnmeDK0ChH0rxU0QVv1HxA/tWZ7Koz7iDtuc9dMdykugHQ\nqguvlvB4ZUyI/RghixwUdiiuJIUulL4f/7PLGC6JZoSIN8FyYfl4rp/tRC0C\nMHeFRlAAuBh/0jUVbNjdeQCLNFyEVzPHX71+cKQW2nZH2j+eSk2L445M3DM0\n49Ir\r\n=meze\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkXmhj2J9cvNRuUAuhHlslKlySpaFtotoSd5RhGVOiOAIgOBysglxb8o1KEP4q248J3j0rAvTdNuhjBH4zRTtFrCE="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.11.0-next.1593051731.db01c0d6ab095c46f1c22c6db27428650bac6c16_1593051732406_0.562244031356461"},"_hasShrinkwrap":false},"3.11.0":{"name":"docmatter","version":"3.11.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.12.0","assert-helpers":"^6.13.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.7.0","projectz":"^2.10.1","valid-directory":"^2.5.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:coffeelint && yarn run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"db01c0d6ab095c46f1c22c6db27428650bac6c16","_id":"docmatter@3.11.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-rUDm9cvooClA4ehZDOCu9YgPe9Z26bTHaMQKzj8MdOzSOB18jlOXgQAGCOTQo/vHmyl3XpiNoJGsft6F9vjYAg==","shasum":"fb2d4c9d8bee2a1d4663e9783ae0188189c39410","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.11.0.tgz","fileCount":6,"unpackedSize":24056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9AqJCRA9TVsSAnZWagAAneQP/3jF3zJrvBgEOOMTLGWa\nsJOFdrCnh0x3cOV3wZ/O2FBICjLtsQ/DQE68dhW4GFcjdjVw8jD3P6rhgJPe\neygeJXvA+oq/bdGKkkNjsnHKA9Uv52aqJX3SBOzX1EBawvrAeXCrIx/Fl3ug\n6m2AEXYljoRpc7b9rF0wKdK4/SRrCMXrLc2+6mYvlG/HWC3++4B3dXXYC1cV\nxUwoty6d6v7eFAeM7jpveV7BCUTABQEZdusf8ZdzYLETtN9qKOB08iwTVboe\n6AXSjPQuuhGtVYiBBWdajTGzS9paSYoviQBe04ypWbLg4zEQofJ7ydPrmedT\ncNv/Vvn43ordemsR6b0HAKttXvTed7ZXFGCNgRVcbL4kH0VZSBxC2ckZriqF\n4D+3n+CEmyVTKbZQFGtO65MNE5BEUSpajd5YH3QxE/G/L+e4ST2oAC6kj1ai\nPJOeesgXI1faLCYQgzLzw3wMPr2zJJ08g4PrhJnP8QU75ObeIM8JbUhQKsaC\nez3oHVvWnt0pySdIOGr+QsGlYasyrLWCHnCt52naNpovA01Mwy/f58mh3n79\nZv51sAnsdxLmCNcRR/iFFbkcbt2+wtaza8Hx/Rq33HzlGOYLo2ASoJWsAxKn\nAzwMQLnUwa0NilYQbwhmIWZ1VMRM9eCyn/QqRmzIJjZQ8t+zNblo0JiBVObE\n0jUy\r\n=R1UN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCv+Ybdh+k+oXykK2RYFyImAuQasLmoWH+w4lpwN70RkQIhAI39XPwVTjZZULlgtvF9ZBKwZWAGttKOA0w9J13ovMjh"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.11.0_1593051785056_0.6445523827990487"},"_hasShrinkwrap":false},"3.12.0-next.1593747289.9c5c39a8854f92b0f2e1a9f228db4d4e7fd7eda5":{"name":"docmatter","version":"3.12.0-next.1593747289.9c5c39a8854f92b0f2e1a9f228db4d4e7fd7eda5","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","exports":{"node":{"require":"./edition-esnext/index.js"}},"devDependencies":{"@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.15.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.8.0","projectz":"^2.11.0","valid-directory":"^2.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"9c5c39a8854f92b0f2e1a9f228db4d4e7fd7eda5","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.12.0-next.1593747289.9c5c39a8854f92b0f2e1a9f228db4d4e7fd7eda5","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ZjlhNVyL47eyDOYqwItrmVTutUA0ItKVg0kHL0FUHtu52JptWGTN+erxKh32Y32U1E/KLqDZznBQyTI8DIHvDA==","shasum":"1726e0393e986aa93c537a9ad9646b9fc0d6b461","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.12.0-next.1593747289.9c5c39a8854f92b0f2e1a9f228db4d4e7fd7eda5.tgz","fileCount":7,"unpackedSize":24446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/qdbCRA9TVsSAnZWagAA+UwP/1hqZ2Nkr0539siqWBtl\nOYUlWyyQiMX+7CalBQ2TpozpgHV73dxWKPV0kg7CNIVBoe/7xj3b1KJtIz9K\nztxOQutvvFeYZ8dMdlQMlLf556tANr92qgSgK5WonZHp1R0JXtej1PYj5fDx\nOBNuiuEsAEoJme1y22AyrURSmQdQuGKNWUzbaI4JRIC9tsWSSmDPDFiKDA8q\ninBkwzmsq0V72qQ6zR9PrvRTdJQ/TO++uvNfqL50yFqepPeEF3qgw3YW8Fho\nJbLuv0i40ozt38AvTYo+BsyKFt0/owbbUoux6enq2Z5NAc6QGs7q1bjIdxYv\nTH01MNJosxT09ed0Ky6NAYJ8kZvSm8H5WMp6icOq8XvHjHf3uxN6a4gZPu3M\notWQnhzuzgw+/a/wOh6YP+e4TFxgZuWqRAQ9D3tyo7hMJf5IXPg6KmjatGZC\nL40zhFVmuql/85aIdD+YzhLWN998Lcv9mvZuVwtNIiY1a9jN9mpnxzZqwpAo\ngBRqcHjCE6aNVIJlVj0JyVY5IQAaBI1zm73e2Y0oknbbeGh2PavZ0U/MdaXw\nB3azS5+n0Yn6YGy2PFAp+XvW3S+Izr+JFWvNQoFSTygZ/AzQtD5a5Fai3gtj\nHI7YoQi7i1rP1XTiGlrybn9T2Uw9MLMhy6P2PxnqCj8ticqrSdPHskku7AFV\n6w42\r\n=fVRl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKopdyP368/2K75e89AZTOONipWvT7rd3RTfBAOofIzwIgOUoGXoVjTnz/V5UyH8Mr6ygPudlvckJf/+hdwLl5dt4="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.12.0-next.1593747289.9c5c39a8854f92b0f2e1a9f228db4d4e7fd7eda5_1593747291384_0.8966820798397035"},"_hasShrinkwrap":false},"3.12.0":{"name":"docmatter","version":"3.12.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","exports":{"node":{"require":"./edition-esnext/index.js"}},"devDependencies":{"@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.15.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.8.0","projectz":"^2.11.0","valid-directory":"^2.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"9c5c39a8854f92b0f2e1a9f228db4d4e7fd7eda5","_id":"docmatter@3.12.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-/5V8PYUi8Xq9SBd/BF+0l2Kluf/WgAE3c8K56igO5uCpHpUcEQLy0gNPoelPbLMeoOwEU6jh2Es+C63gIahWjA==","shasum":"45b45de360967dd03e2a7e6622ae3913a0879989","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.12.0.tgz","fileCount":7,"unpackedSize":24389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/qeMCRA9TVsSAnZWagAA5ioP/0wioVgc5ESZEwFc3M1i\nEeSbplsBjDIcLfpDLnhbS1H8gngL1SBVnJ9/TA9GzLdr6ZkbDL8BGGOrrIEK\nl1GVwltJna5hJGV96QqXm/C2oVqlUBeokPWkvzyWrecI2oYjUN5j5zTlD5R7\nJ4POR/YxE5czsqDv6f9T7j42IKKmKy1Ds3B1iqGmzb/rmdUpwVckqgvX15As\nn8JLdTkZAGotnPteH5RstdeJvnXshgY0aaV8nxE2KAWlf0DkPC8gzxj976xs\n29J2/BlAclHl2/UqF/r4qs3jRXQhBOw35hJ9SMFno1RSw6QdjZCvhinhknsI\nGeaUD5wto73bdMRvizYoMqecau5xBs68tkuOVNWq7Bv895n9prhVZI/0snyD\n+kYdGYxBJrZv/8jZ/A5IpQ3qIqeFWxmC4RYEZ9IWuYstjZKb2oOIheT5SlbA\nUulNC/nFG0g8pUdFb7KmGGlBmHY8djYAbUv1X8Bzr9uKof0OPHw2+lPGNuOI\ntT0rjwc83MrRnsdJrc38PwK9yhPdNJoZWk7T4gjerd3OpNmcR44XmwqzEUY8\nNIbkJvLqxw8rRYwiCa+gYb7B2LTwBi6wznGTLlavmw1CSYIQWVvG87jFRM/y\nccF6KaG1xXPIm0DRZ00lSwDxgD8hX2jNcNAS5/I7CjkIyCOQH5olI6J5CAMv\n7+T9\r\n=kU8A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDF3ZclPiZidoo2CbQ8pG4Dj+o2i4I9PEd1T2oHAlce0QIhANLSADEFR2Xar+C9P+wwGp1mzEP2AupX0+R0drynPinL"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.12.0_1593747340176_0.26192088702659544"},"_hasShrinkwrap":false},"3.13.0-next.1593752525.80a2eabda638fcab6de9ec09ffe2b8b4981db99c":{"name":"docmatter","version":"3.13.0-next.1593752525.80a2eabda638fcab6de9ec09ffe2b8b4981db99c","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","exports":{"node":{"require":"./edition-esnext/index.js"}},"devDependencies":{"@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.16.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.8.0","projectz":"^2.11.0","valid-directory":"^2.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"80a2eabda638fcab6de9ec09ffe2b8b4981db99c","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.13.0-next.1593752525.80a2eabda638fcab6de9ec09ffe2b8b4981db99c","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-oSmB4T5NGXbe15OwZO5xVsKYdAwNi1E7fb3zDTPGUJGphzPptFim62r+tIXOfe/I5jisXYv1psHs6Ozz3Ph11g==","shasum":"ba01d5cf4397cdf7b1eae423d5313c56811e7c14","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.13.0-next.1593752525.80a2eabda638fcab6de9ec09ffe2b8b4981db99c.tgz","fileCount":7,"unpackedSize":24643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/rvOCRA9TVsSAnZWagAA6xIP/Askixv44sJ1rhtZN6kw\nXRAn42zlIMOk3JV73SSQL+3vEMBiPGsFiD6WBkyAK4ZbksUB2+iqpqiTNHw5\ngLaFkdpLs5ZnFThmTaDg9ktGQxR7yYkkL+xWgJXM2eb9zyABp8fm287jqY+l\neP6e3tgaOED65tdIuYL4poAOP/7FacpzbEOkgtExA47lrrFFpZ/4ipmhGyUu\naJWVkLo9Tiv1vrA7uwqYGCbJrQiuCH8KV2Sq1KdgRG4iEqN5zJ0POSZZAtEz\nFAJddhJ7e7DMVzHCI3cIXiOb0TpmdV95wZFWzKd/wXEN1ozxMqekDy9rrp5/\ndJOYo6m5A7mVxP5eBCiP6Ag/5Tr3EJirmPHLl7RNJ0s8c5xfdpHMeWPrRfuO\nGv+RfXuSt33RSgdaFaD9N5BcdH1UCMTyb2jaBx4O3kx4JTDZrqHrHgJNC9bi\ny2+OhBDnrKjxhNxIn5RYaHj90MvJoYFIfXX6jlfo5GqPnqFacI7LvDjFCuck\ngtsPeyyA3/8CzBuLbLXBnzyw5KGtu3oRnntDizvxrXx/bV3ABVuXoQLJpysq\ni/n/QW20bPPwys2wdeM8oqIW2iwD1pW1TH370iyDlLWkfVcQUNc5jMmwy4ET\nwh8IIbvTOxCPCJrgXOb+E0dRYQITN8JivZqetjyu6Piexn4JJDrMYXfgp1pi\nWi+C\r\n=syPR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDgz5tXFtBX8MbaZ/5qnofDzAYqAi66suZVdxf1qpiXgIhAOzLlewhXuw7fpfTFqtcYx85RG616kibfwX1aixAd8Os"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.13.0-next.1593752525.80a2eabda638fcab6de9ec09ffe2b8b4981db99c_1593752526540_0.12320644680062776"},"_hasShrinkwrap":false},"3.13.0":{"name":"docmatter","version":"3.13.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","exports":{"node":{"require":"./edition-esnext/index.js"}},"devDependencies":{"@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.16.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.8.0","projectz":"^2.11.0","valid-directory":"^2.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"80a2eabda638fcab6de9ec09ffe2b8b4981db99c","_id":"docmatter@3.13.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Wpf+EIMAFTkACvru4ZYY/1xkEqzKVA/n6AC/+HWd4dY1DA5V5zIMfh5e4VBAx8cJM88ykYgHPKt+Hzb2qWMFbQ==","shasum":"84d414e99ba98fa66d8572c4d449e6480ef734ff","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.13.0.tgz","fileCount":7,"unpackedSize":24586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/rv1CRA9TVsSAnZWagAApgkP/1wgVON0RNc9XVug54ng\nnlg78Y5TR8Qq0yN1Lx2kL6Y81sVuLh3o6Ky3EVjjx8lvLOjugVqXKuKBQg7O\nQsTxSBU9PcVWL02OXX3ASToKzo9V0qzfOINdqqf38M18muqSjIw4/pfuV1wl\nCdyttdFTuoX3JyLLIjUldBcb9lYiH2VbjutA24gYY9sOHXD97Z82gnnr304r\nPfHrG9QJ2Ow5Rf58uRRXXuWw94+dFEFHmwZ2w0FXVyhFLi4QWy0iveS0UIKX\nLPrR/zy8urZcA7tdQ1zKtLuZ0kYEoHlNc2WI+vRMUT8u57kv0IR5hQz81i9o\nn9V4wbAwhTo6CUu6wl8TLY0O+ROjLrbx4AJ/LnuA4vOhlwG/pFbsHPjRmuFH\nqz2JyoM4DQC0n/VNPwW5AiHC7IyopZcQDNyV2fqrcfWiWMqR4KRxbPyBReG4\nfHR6f8Ix8kKOBrgyGYeydgzKt4KhqjF9Hg2ZQhn9DR9Jb3U2l4nfExWbdKn4\nxZX8pshHUU4SYZqLeO+ZGdhF7AYqnv7Mxwy9IIzRh7lQ4OtRNubSkmyzdF/P\nyAToyK32znZoc5+h19jBP0jStaZBsQJOK9QqCxjTTO9HhsNWP6YlxtdpeyIj\nafQoB26OaKXJfrRFafOKRJvCvOwpdwE7y8Kc5abhVEGbWT07YMHCn6Zs/IWp\nmJhq\r\n=pMWw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCe8nIuKnUNmhiu/C9s3jOHbWZnn7V99pKzz8bqjfn2PAIhAPWtsOdhtU8D9QXD7u0q2GylER7jjPMkFKFFVlbVPaJi"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.13.0_1593752565450_0.5109975099288082"},"_hasShrinkwrap":false},"3.14.0-next.1595343611.0cefef16133ae8fd27d7f051914b482e5ff848df":{"name":"docmatter","version":"3.14.0-next.1595343611.0cefef16133ae8fd27d7f051914b482e5ff848df","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.17.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.8.0","projectz":"^2.11.0","valid-directory":"^2.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"0cefef16133ae8fd27d7f051914b482e5ff848df","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.14.0-next.1595343611.0cefef16133ae8fd27d7f051914b482e5ff848df","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-P6Xt0xSAvOTMHMCCrs2UFULa8pDBoIlHQ0V1PN1DTPKtSZaM26qEeMVWh119mP/HkoqrTHpd11E88Ef8T1gGyg==","shasum":"99b034217039622f7eb6eb696ef4cfe6299941ee","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.14.0-next.1595343611.0cefef16133ae8fd27d7f051914b482e5ff848df.tgz","fileCount":7,"unpackedSize":24756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFwL9CRA9TVsSAnZWagAABRQP/2Y1Mdib888eFU3VjniN\njYaIPjzy16vjS9s8eZIVYp2KbSs8xfSY4B8PrGUVz1h8dQOL2pvzUaFYYISs\nCSYRib+Pq3SppJ7VtnN7Yi7cGGu87CcQmMAnyramyPLcU4Dm++IGzHdsweIA\nyGzkXfafQg5YvwmceECs3gS3Anq5OR60+1+N2cSut8iflVIwfNi14w2fQhfC\nRy2pPFK+UXjqF0LGmd9Q/8FAjLqBsi2aQdn3NHc7+n4TMRmAG8YLzussnV/2\nlQAFGZHbb+3S9TGSmHD/CxvXZyfJ+Z8QT1G1Sw0P3vQuvqGbnTmTgboWTPgc\neKGbp7n8zyn7cdD+mfWCAL7Gbk7lcc16KLKtlbLSAEPH3UJZPtJmN3AZeRzg\nzxuphWduj8wSw6L7ZW9w9qAS4ebA694jjTCf9UH/OuOOfGRG5G5Gima1Yvkp\nhmAnqVEjSFvBIbFKg1k//AUWH7amIhyxk59ze8GPUE/crKi0ybzwe16BUT9o\nSstf/jG3my0FhlA+lrgCxP5xIeppdEeAK3+RyvXr00teX/MADcKfKS/A+9XE\nWGhp8hSqgLzLESMjkUGVB59zP4E6ipIgwKKL+CqeSs6pyKfcGm+lXAhjzXnw\nveugQHubMjZXGmRnny/oWga1yNN2v3ZQyHz6dGfL7UUDPGNrkXcuqPJNIscE\ngS+F\r\n=VLSx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgjl99AXpcL/OU0yknz3wSR+PV0Zj8SQam1/Q7HWJ/3QIgIbPGVIoIlV90f4FMzD9HhTyWsjXPMGImh3NYOc5zNNM="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.14.0-next.1595343611.0cefef16133ae8fd27d7f051914b482e5ff848df_1595343613023_0.042600159403908266"},"_hasShrinkwrap":false},"3.14.0":{"name":"docmatter","version":"3.14.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.17.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.8.0","projectz":"^2.11.0","valid-directory":"^2.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"0cefef16133ae8fd27d7f051914b482e5ff848df","_id":"docmatter@3.14.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-MQuW7QceLIkyE049TIrPMpYJxlxlks3oLnar4QSTxYWv/g18JbuqhLRrGIIfLSHuzpJBLw0OnHCbUaIzXkGc3Q==","shasum":"8f37b91ac1bf316e3814c6562b3ca561b3a3465f","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.14.0.tgz","fileCount":7,"unpackedSize":24699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFwMvCRA9TVsSAnZWagAAmY4P/R9Yb7ZySonl07Tur/mS\nIrwjKVgw31Bi8ZM/nHCWEM8Sr0xOYKOFkFy+OoJomCXNo4WNKqGci2obCyz8\nLeqsU0EfpWIiHgzP4in22rxb6Fs/ysCL23Q5dzud5EnYk5/YEJCV44JLHdh5\nu1qK2e7SSkAy8vw2laiQHpe0roW1Gf/F4bRLCgkIaR6jSeKtd1yoGd8tySoY\nw8S8DXDxTaQEacXIjtsdJRRY7iNv2+ThrdAFBQUdvoh27ULhnYjihXaphqvd\nMMqh6oRSDI85Xl/clZUVVKXuvnZ2F+9R3NSIB3d7Synv0FTDscMX7iHZ+beF\nZt5IN7l64W0H8k4nH1qmkaJeC1jWlSYC5B1JByV+Tqn7PZGghu5KJqkgXXKO\nFcswb3678hJKTFCMK7KfnsYcTdflhdHs+TwSwDg1zdO3PUrYTa3Nf8uHzaWl\nNuKA2rnrz9pBQIaOR9+357vSA0b+bjLpDAX66Z39Y3QBQYQeGQZGXs9XAwcL\ns2rbrymWCNdzM03PRZSWvAi/OOhCJwnCqLaG9TSAsV96Fh/qD3FEsuk/XILX\nJGW1kUFzYVvecVsqqV/cqdNW8l4mNulNurqZ18D10i2JGLthJGEaTN+Kk7u+\nqGCEaeP+F+L7plnX5bsjRpchLBAw0sJvCd1tSqmNeTpbaUUyRPX08kIEZqf5\nXux5\r\n=PWMh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFVtZYnvgGhBJORNZxdX/Y566zzJKPUKKLHbR590vLMgIgFurYgxHdkvvpqPL055n/noWSdWpnOOH1MwQ6k9fj0VI="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.14.0_1595343662495_0.5457859019111786"},"_hasShrinkwrap":false},"3.15.0-next.1595352039.4c4fd24a25d8716ef6431da28b062f9ca28ffeb4":{"name":"docmatter","version":"3.15.0-next.1595352039.4c4fd24a25d8716ef6431da28b062f9ca28ffeb4","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.18.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.8.0","projectz":"^2.11.0","valid-directory":"^2.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"4c4fd24a25d8716ef6431da28b062f9ca28ffeb4","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.15.0-next.1595352039.4c4fd24a25d8716ef6431da28b062f9ca28ffeb4","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-9wpPkETcVVVou2LBJCFWOrPB7fRoYdlnqUGMI8ARG27HDDeJ+oFUYGOFWHFHwrr2JhNmklxs16XJPoROSJ1Vvg==","shasum":"7c640854ff3f29663eaf30e29f588d53c256c6a9","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.15.0-next.1595352039.4c4fd24a25d8716ef6431da28b062f9ca28ffeb4.tgz","fileCount":7,"unpackedSize":24954,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFyPpCRA9TVsSAnZWagAAsaoP/12bjlstDg5izTk3lHKm\ncEjdTs5ZkvDfQ0DzLT/a1Sghqvo+9J405S4jS7KoEVquBuJV5NdzayIy+EnP\n8Di3swDkaAuh/vnTu10jjzt3MgwVpTie1szwztri2ya7QaBlAFYyzvBWAYYd\nGmXkq2NCnv71TxYttEkcOxWbOsbpqjH48ygKLjXB327zesATNW/KCdFDENTP\n7U3EWKBONMGjYPdsiuxqa4Pl/+L4gsIu9X8quSbT1Ze0cLSZKpQtK175YU/P\ni1ceGoMJNRpVm9unXNcXFHfgXblL3fGMjWeft2askuG+zqua38w0+qIPYMOF\nZSMXSmptRQvDZMEjWF1BaiQlh1FhJF2x2bdT2zx7as3xaHjuVpB/J0bWL+K5\nRkZ/pnZzq48+HcusWO4tEkNQ+TnRVzp1y54KDegTML5c/So16//9VVqDIZkw\nXD7kcqZfiyrwvaQp5NDFB5kNetM64nCW73M3c2WKTf8ZVSx04EeZXVzGPpGD\nEc8KmuV15bG0TJdSQ6Mpv8GWWn8KT8772eSE3oT3eNPuFLdzIHEFPlnudqhz\njriZDw9N307BVcP8LVE7jQBk2zXI6Cu9Uts0ZTf8Aa863fIfwtX2tABZlOgK\nQTg+ujAzUdDZ1+nrsWggS1tbXE2a4XaSPDtd+rt/I2UqnZ4f7twmKH0XOeVg\n0TFY\r\n=V4ev\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAZnF3kx/K3BX06fZ9zNaGKfQx6fTDDInqDjBF9bhXJ0AiAK/WODZBa+3PQ2iBXnpqV9QpixKi2g9XLoINmIB1jzgA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.15.0-next.1595352039.4c4fd24a25d8716ef6431da28b062f9ca28ffeb4_1595352040582_0.8361114368672704"},"_hasShrinkwrap":false},"3.15.0":{"name":"docmatter","version":"3.15.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.18.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.8.0","projectz":"^2.11.0","valid-directory":"^2.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"4c4fd24a25d8716ef6431da28b062f9ca28ffeb4","_id":"docmatter@3.15.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ChcWzQ4kAQ9d2gRjV9Ce7iNeRmR3A/gf6ybjepl9cHCjFVXSkzONvqEJiO7WcpLqXy2OwtB9Lele5lXPAjkU9g==","shasum":"c1c5ce35390d814bdcf099f502b321f64ebc6e89","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.15.0.tgz","fileCount":7,"unpackedSize":24897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFyQgCRA9TVsSAnZWagAAwxAP/2JrZ7nrPVUQBwvQRxBs\naUHwttwTeih+l7MWBwoc0tP/RRYHqagyve5snQ2HMDyC1m9q9vMZRAZCMrAd\n1qaI+f/TsWLWczEkonzFybl2lBkFxK4Qm8/BQTcoP2DZ80Fn58oIoWjW58f8\nUxbLu0PQ8TsuFpajacJ6Dl/SD+B42Ppq81AgymA9ItuGIXTR4qioerl5kasq\nYEDRt5obwT/+yHAEekPV+sCXOyr07lBWHMOqGrDEyTqMDq+OICXOIyZdkbAP\nEbbNttwD/P+GOlwXvRf8zmNWhuujD8ipbQ+amfd9NOLhMoz/g2gLfYNE3g8j\ni7SQWpXVE87LGz24+9+fx7JLrUr+6SDHw2QEfKPon6ZiXO4zMR5yn+lgDbxy\n2kAqsrLzd3FMRMAGD+t2qnv+n3KFsgeJ89bdHQK/AnOr1uo193KbH3FQNzY0\n24xxMzMHJdjStrmhzLs7fxHqqP8jGgjJ3wZtqJY+YLjW1EGK1IAqt/DAU21P\ntoedbHF+jb4PgiOwzla6CFK0TSbcRRO4s0ZU5TEwSQr+BJBAVp00Z4gVHzyG\nMwtzb4pzJDSp7CdQmQnejZr2zxnqjrTJivg0rI42HFCcchVXCVyGUFcF7glV\nEirzxRqjKUAO4bCPZWEjs+tTTFBdg1CB7/UcY9C6AvGzLON5tJ3BEdWEXRJl\n+CIG\r\n=kDVa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICq567CZ45XQ9mnizKely2o+eHxkicsSz6ifY6FKsiriAiA0M7BwylO4PpYP34qyXZB4/9LunOxp0i9LWyCXp+Tr+w=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.15.0_1595352095775_0.52267075813088"},"_hasShrinkwrap":false},"3.16.0-next.1596513104.994835df11b87557b009f950d112f710f3b537b9":{"name":"docmatter","version":"3.16.0-next.1596513104.994835df11b87557b009f950d112f710f3b537b9","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.14.0","assert-helpers":"^6.19.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.9.0","projectz":"^2.12.0","valid-directory":"^2.7.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"994835df11b87557b009f950d112f710f3b537b9","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.16.0-next.1596513104.994835df11b87557b009f950d112f710f3b537b9","_nodeVersion":"14.7.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-pQBmohXlySTwXJhsJhnThnSfcCkjAX4vuzJPl9mHT+JGd59RDTJzFuoXuz7+v2JdhmTjPoFf0kzNvgmel0Ckug==","shasum":"387e0324b8c17ee5c23020b669ff2bdf9cf6bbf6","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.16.0-next.1596513104.994835df11b87557b009f950d112f710f3b537b9.tgz","fileCount":7,"unpackedSize":25153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKNtSCRA9TVsSAnZWagAAMF8P/3eVkT5PUAZ8SrgFB5gv\n46y1hk1XfqOz3Rv9NsICkiVIZzy+eShAH6utdNm/m0N45TEDSfpqju/xJ+vB\n1YH2zRAPFn9m0qfBLiZV2avQ3I5x9X/EPv+Z6AzIiR7ZgAlrm8sgItoruXg8\nyoDKLFNwEP4g0xh5od3FDI9rwoLLY7z1/mpNmTNhBUS2lVXPtZ7DcDognhXa\nD5+MiTpz4LLDx87RiXLSi2Tc81+HfdvNfuQJBd3f0tXcSc4Cku6zbKtHD8t/\nnejWzxtiDCTWNJ7EIzKtKZhJacPo+iHLN+6gYz/wjXNggdz4oUb0/UQiREON\nbPXpwb7Iae2dgCTlCgAbUzg8dZtYhbQKU3TC+NYH4BiHw4oOOXGzXrjFS5YH\n7x6Mt8ZN5f8niNHn4Ifqckmd+AHix+GT4rWOPxClsW0cG7dE70dH8vsjsuCz\nu3fmQJQl2yaquq4iLWQUPJm6Ovc45yAxJ4WCBLUh3/mHF5YE2C2bCXnm6CPf\n75l4Cj+JcCyR7YVejqYAQLiwDjrIfSB31SR8lUooQj5kiIalK5Yq6Cv8+zB/\nXFix8Z2n0sLDXRBEHjlswdEv4cMZU4IQ/rQy07TsNCoomaVZ4YXVYIo8IxwF\nb+lBhtwml5zaz/x74rFxosgxcTH9tsfVrc2R8aE1OhW4Wgk20KU4pzZn4hKJ\nQdho\r\n=RQ5E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICfCPmMy03uFzgYcCMEyuJovkc2AxLftXm4Yf8HmQBXzAiEArp3g9D5NNF7YR4grIc+fOLvd26tiZbDXjx+tJpsY99g="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.16.0-next.1596513104.994835df11b87557b009f950d112f710f3b537b9_1596513105637_0.06345224533323202"},"_hasShrinkwrap":false},"3.16.0":{"name":"docmatter","version":"3.16.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.14.0","assert-helpers":"^6.19.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.9.0","projectz":"^2.12.0","valid-directory":"^2.7.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"994835df11b87557b009f950d112f710f3b537b9","_id":"docmatter@3.16.0","_nodeVersion":"14.7.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-2Z3e9++AIJbqwrfFYyDt59+Klzgvd5r7wmHRnNkGIbu0oKCq+LfYnhOIPZyjIAU1Od2TaxZaYuMBkYXyvLvfjg==","shasum":"925b3304e785da392fe7e010965de422f7f6d01f","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.16.0.tgz","fileCount":7,"unpackedSize":25096,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKNuRCRA9TVsSAnZWagAA7uIP/1WrSgKBG7Z6zE08sU3v\nxVN2egn7wgOsaG2LLW7REI/rbmP/P61tW6tG3g6LT8U/TSAGF85Aup+1NA8S\nGHVpw5F/LKpCLnz+aF4gaXLlUIDPTfSDyVuWQls3se6uNwAU9lr2rGcADY7f\n7KzrOhoLgIBGt1jMOf27+youcuoxHeZlwm18ZgNpJwBJqbbyBK2/5cjbLUAK\nEWXqhIG+0nzRpKDJtffJGLA0Xx+GTKNJIr1Jzayd9solsaNwkHorWEUSv3gl\niX7BG+4uNwqHgaHdB0xIR/xs+UwQkJclRvuo+iNuwtsyUl1sgdjfWlZ5JNY/\nYNgtU4n/J0X9dl82YUSI8zMaON+ZyN01AcF7GGOqCtznsgiwZcYztsexRA4C\nCqctGnwdIRzopVF8Xo1wnH/NgbUYCDPTl5lCO3TQFQ7Zk9r8lZWEGE4Dfscr\nx19HSQxLzC0hyU75BBN7wfAcmHCzwRSCj/aduqFUh3hCZQUxhbhhI1mRJR43\nY3wQqKwCTwmNIze3v2QzYo/fBArJv7W2yTWM3Q8ViZTpnB9z+Ba2vdCXntwv\njNWMmXkZ9dQmQgNRux2Bt1ejn3ya52Sy0Zzkf78nkw3SvPToqn4f3sqaJWRY\nxh6OQGzNjVdDH7CnJBc+tjr6zSARzJldnma7ryg5rtE6PCg2sBK9CS1gp/3t\nSse2\r\n=aOHo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvAaM2NBgdzl/7nRreZ1lGZzHnSpVgKLWeD6rxGne8PAIgaB4hnopP0Bt+RWNv2IzWbM/wmwb1O6BWpeU2HoB0EMU="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.16.0_1596513168862_0.48303773919793946"},"_hasShrinkwrap":false},"3.17.0-next.1597693332.67333e62e2eb0560737570aab612383c38061fc2":{"name":"docmatter","version":"3.17.0-next.1597693332.67333e62e2eb0560737570aab612383c38061fc2","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.15.0","assert-helpers":"^6.19.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.10.0","projectz":"^2.14.0","valid-directory":"^3.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"67333e62e2eb0560737570aab612383c38061fc2","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.17.0-next.1597693332.67333e62e2eb0560737570aab612383c38061fc2","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-N92L3+9q1XaDwtadhLf4gdGfsj38QpIjTSDQk6W5Jm49ld10kLkvsiKZTUI9y5pDBCFLnYMalW0QnzKAwVGgCA==","shasum":"4068b4bfecd5f03434cfa313ab6d24d4bc1afded","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.17.0-next.1597693332.67333e62e2eb0560737570aab612383c38061fc2.tgz","fileCount":7,"unpackedSize":25354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOt2VCRA9TVsSAnZWagAAo5oP/0gemUhq6sAKpTXft9Hd\nWZYASKmXInB/ka1u+tLsoIrFTWpY1VAEiETaJ3j06Xr0c2r1qGH97XVJVB7e\n4kuoxH22nrzxE8MlN040QuZb4pBMo7FBIWr5XMiFf0xAWoNPZrVehL56fY5L\nhieW6PkFq/6Ewp+ReJ8q/LzsikgmPI4HCEXg/ztjnyY7ItBVkeJT9P21ViRN\ngP0Rz5KM0KJ+PB/lI6Kx4FE/qjC+Tp1HplOb4N369kdvydyvNiGcX8IOiZoR\nSng40/GmODXn8UD4dbcpOSzqrk328vV9mxghiE0uRnDwD6QygXOu9yUe5FM9\nVl1hBy21ZMUyF7S3tUbMNorr+nTbj7yuX1ec6uYlsWsGhPayBKHPALCrOqrZ\nXwpusXao09+486MtPPXIBp7T2te4FgpwP5JjnDjN4cM8h9xCinb4+cyeyNC7\ngyuTDdhOJqnkX1kzbUWQXrhn1fo1jJBmob7yArGstLC7z60BzAGpuqgZsHso\nX5FDylVkNuFKaBN9EmzpEn3ViTEUvM6LnHLqMnT0eEjFnuRPRaoRO/HJIYWM\nmjeSH0+Ow/WP3ZMLcTlJMqMClIwrtEX3XvRTfYgOo/VXGEonyi1FjCg1pN3D\nVQ4/Au4p72Hsyfh9Y4kWoRagR+RMfXd6/p1CW0gEf7f+0Oi9NSHEOdYwfelu\nf0u+\r\n=rf5t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHCawq2+jho4bSjRxu+oKQ3oBWHgl7ywySX7mzPwZ10RAiEAvazIlf+DEyasXYzoDOE5D9F0WWRPNrsM3+8rXc9Gn+g="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.17.0-next.1597693332.67333e62e2eb0560737570aab612383c38061fc2_1597693333447_0.37639411994312666"},"_hasShrinkwrap":false},"3.17.0":{"name":"docmatter","version":"3.17.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.15.0","assert-helpers":"^6.19.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.10.0","projectz":"^2.14.0","valid-directory":"^3.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"67333e62e2eb0560737570aab612383c38061fc2","_id":"docmatter@3.17.0","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-6t1VIlsxuSKHmPFJVUxAElXCLiToyhUnWPJyJFroqIW1N4nYdcHN03VLnBcXjAwgn89mGjNR6GwsRxlEc0mBIw==","shasum":"90e0acc14bbfa5b415258d19cf042c4f0b8b0dae","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.17.0.tgz","fileCount":7,"unpackedSize":25297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOt3ICRA9TVsSAnZWagAAEH4P/2Pwvey9TOR04MaFuoJE\njgEKIAC9FEPuWMIr0sZz/A3EIDGKdpJzUWjwr1+uAThNpZfI1aItxD/7w2Ir\nqV+oeKIx4MJBEnbf6kce6/SDlSc9tuYW1Y2BpSdfnwhg94CPr/udjPtSjQhe\nNvQdfHLvTmlmRaAG7DSNHHMaGfJq9fwbZYctV4uV52jqHqBldZQbrDR1Paa3\nKF22wx4gnyvVOT74KAFGTldAWd71BI8kELZcOP7S9/9iDucbuokR3aIcwYhl\n5UrpJXPugM+hoLBS9AUel9EBNl9WT8rIx3uoWohQ9AWIbIolG5Vhwb4/20wB\nonY+SpLC8lKlsE25xDAK6qphTZMBTmEEU+gTizW+/L4ExS4jmfD5mZ1wG7Yy\n2dw4owec2F0DzSxbFOGF/I3q29u9Cv8ddpntrrDnqL8HJ07a3ho1I8p0ARu9\nrF5N6wYWeEfTKh9eWNWyIuT+jnCYLYl/YEc7fjd0V3xsr9vt79HtZ6wOjO3i\ndPzkG5vXe9WMHgfW6nWPsdhjhYNMSYpYw/GXKwhaPyOlIsWihbQCqaLJCWsq\nN+hRnLM6F5P30/GmHKozcwN980z+cmx+PpxTGEozY++nKNMFSzqLgIzU2W88\nFFt1da3+LRXGmOxdbJuadkseUVfGqgYml4Cox/JGF+5zj8m+jfmR/Xnu/6Vo\npcns\r\n=1Jsw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICFlYNLCTd7z3pW9UfmIEUgqNOHr3b98Tm7G66rH3St0AiAery6oAZV/5kcIdEg3r/mwJQMI/Cx5dl8uQJQbX4SLVA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.17.0_1597693384084_0.21043602116284954"},"_hasShrinkwrap":false},"3.18.0":{"name":"docmatter","version":"3.18.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.11.0","projectz":"^2.15.0","valid-directory":"^3.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"f7796deb3886fb3415ad8f44e510148ef76ddc0c","_id":"docmatter@3.18.0","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-603knqKbkrTy3An2qv09wFqkA2oMPb+bJAwo2VqRWOhERDoKlZvx6w03U33lrNKTd1dQRmAtk5shfHre7siqag==","shasum":"fa35e8af4b5e2fa868829e7c57e3b0b770cef03b","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.18.0.tgz","fileCount":8,"unpackedSize":25787,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUgPBCRA9TVsSAnZWagAAf4oQAJwpc64EkZ27ozRdv+gX\nxTVBkiA1SR3mrNQqLBflJ0R32z3aXjUGldBmWMwKc0nSTSQdBIpOaBbMV9Mp\npkcwz71aDVnUVknFFxBKLxd6V6VYs5570SmhKBypCbhJCkIG5Fw+aHOGQ4S/\nuqhJymme0hNgZxcSRTnbqo22wxPIVot/PxZcCHCY0A/nIsdpLBEPSPeKpd2/\nMXsnZiCFHSxe6Aepo9EX4FRlowCXP1uZg2FqA41AlSf1QUkCa/ylXwQYY8zv\ni+TOmtjvL20X315buSNOMmGGqxcoNr2wJkuVpFudOnxQdFqtyoIweM64i4/M\ne00WJoWgMGyJ0BsfabUh0l865Xm0cIpqaqVxUbylnZHqCURuqNv7k0isnh//\nA7GbJc9Wtzn8v+B9RpQZcq4ue22wTShI6hZMeL3WbU4sdYIw813Ze+LrXLtg\n1koeu3yO7OY/OB/ThIxE+95fcnT/wXCzi/iJgQDsDxBHK+W//WrqczyqBe08\nt9Fu2HSgG9UVfb8wYV+dkOGykoU81AuPr2q7GA0gHZXpHagGmPDojRn6+kam\nrR7sLGkCAheBzaj230WfbOewIjbYHnOF/3mtlNvzbnpXDAyaLj3ho+AmdDH/\nFLqpFh3QYnMhsZ1YQay9i8bKkIsIrrNE93DkpWvAs8kD1+HPPz544ErJUrWh\nihzt\r\n=8SB0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSVau53U8hHP2RPydFIOTYQ6bzvYPx/kbS+1nwGqPl0gIgNKOlLE0nmOEMGOtE6CwsSn1bg2YYBxRvibcCPplzCjE="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.18.0_1599210432980_0.8860540977398652"},"_hasShrinkwrap":false},"3.18.0-next.1599210445.9bdd224b0a732c184d90a6cf8aa7e36e071b6f68":{"name":"docmatter","version":"3.18.0-next.1599210445.9bdd224b0a732c184d90a6cf8aa7e36e071b6f68","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.11.0","projectz":"^2.15.0","valid-directory":"^3.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"9bdd224b0a732c184d90a6cf8aa7e36e071b6f68","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.18.0-next.1599210445.9bdd224b0a732c184d90a6cf8aa7e36e071b6f68","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-JHfqUUH9zUKD9nS/DvrMqXS8DIDB9rVSUAnHC456GQ4pbXnlKPDpZPEMeq+GQBNeqAC0cYsM3cGYDEbJhN6l/Q==","shasum":"5853832f51094e59f3d2c075c6838c7744cd99a3","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.18.0-next.1599210445.9bdd224b0a732c184d90a6cf8aa7e36e071b6f68.tgz","fileCount":8,"unpackedSize":25844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUgPPCRA9TVsSAnZWagAA3igP/1Eh2Yx1LgY+PNbh5DDM\nkEhuOjXN8EdBM8kBMwbZjMjxA9Xav/qxrOyBCVtqSzDJTMLzDXvvcGigFEyQ\nRD0JbG5hrO++6Zwgf21FDx7tK+hMFNKDl1M8B77gFn/PRSbY1qPpWdTHrQqU\nsawTRt7obgHf9XzzzlRrpZAsjxkwE8ZXBjmT1ksj+iw9RcsYvq6FtfI0ObfL\n3kVn2sGnoexoC5Dqx2L1U+4m6PqB7yL/nnYRa5WjfjUr0BsxhZeeRsqPjkFD\n5JqttdKDxpo9jkLDWaY4TXKAFtXPq/TlO0Hs4tmhpZef3TxE3busSsi2swrc\nZ3yMQZnJ6Vtx87a6ItR2q8NRMI+s5LAZiG9+QXrxUUf2sMKgg4Gi4s7BfZPl\nSbOFl/m1HpsHV0EM9UliQcWDP4sjVd7jwxYsfgoSS/2b2jsL+E7vEYXEJ7oE\n8SJwxn6+SR+8aPPow+PKZO7IyRkkwh3wQ+vzLXrglM0bFAesR3v3ZIz+DYE3\nxcVU+LfbNdsiuUw7EfivD9obFdgqLIYV4QcVNoFU7iyQUPCaWLqBdeofk7iu\nJDxXOSwD+niCaMGxQWTe5Ii9tFVngnSPN08WMNqR3e5F/8iVLE34zTlAUEBC\nXnoNZVTadD+2s4PXmfb4AWOAAF989lSQubYNMD/+pP8Ey3G7G5U5Mqdyp9Fo\nh12A\r\n=l+ln\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIALonqpGD1pkTWqNr6KEQx28pQjjC4DTfdL5ErSBxR6VAiBOYXqZVnBpWP2JD1ssapReEDu5lE9xYrPwSHQNRIZeKA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.18.0-next.1599210445.9bdd224b0a732c184d90a6cf8aa7e36e071b6f68_1599210446823_0.39666923722488456"},"_hasShrinkwrap":false},"3.18.0-next.1599392844.5466f1adf9a47bcf9765d9adee694b78202cf308":{"name":"docmatter","version":"3.18.0-next.1599392844.5466f1adf9a47bcf9765d9adee694b78202cf308","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.11.0","projectz":"^2.15.0","valid-directory":"^3.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"5466f1adf9a47bcf9765d9adee694b78202cf308","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.18.0-next.1599392844.5466f1adf9a47bcf9765d9adee694b78202cf308","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Z+F/1nk6bLPhxxGrGIUwiyslBXhG9IWGnIkIl+dC1CX+g75VRZNgDIH4Zeihn7sGAZJnoA+ylWKk2isZpGhFxA==","shasum":"48a54fde3047f18b56af441b344bcf9568f70462","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.18.0-next.1599392844.5466f1adf9a47bcf9765d9adee694b78202cf308.tgz","fileCount":8,"unpackedSize":25844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVMxOCRA9TVsSAnZWagAAjy8P/iTEX16WH2/6976Wrhr6\nNhyXYAZLXMDKLqSPcl6unr+bAK3kOYO40cUkeg6f3bwlZfeFxyg7B+Odh3/P\n3hgZxBLzgRvT6gVfFqkKNk8oaRwLnHWb3wBwNcezyKrxd5qqGW/6bk02tfqn\nyewmTczwKVI2l5bxEVrrJ4/2lRy+Vv4vxCkpOtpv/nAso9mk9pag488jZqxd\nBdERKm79t9Cmv85Yleu0Yk56AF/633UtwEpXHvpEHf+zK45oW+ei54GEceTW\noGTd3f5Twnr8dPu2pucn71R2w+o+5DX2M3SOOMJV3mCgoIiOgVXbNL6yqWEN\nmq33AC8CCQFZfu7k/afBY3gQJ8DyulhYIYk9YGaKTB2iwQOs4ZVirtLEAoFm\nFCXtoOIrTWfDcsFgq9wpyjLVpLnkCwDI5vTurLLaPPMUFjk5gAuI3WSBjsZG\naPpMB0kc5fZDOnML2NKlWSXNJ+jOuyMQJgeRGPu4K4lsGv4DMqJBULpPlcB+\nr7vyxWhNXph9WD+2Fw4ciGJta35ulBcnWYYm1MxYte83rOkq2fjB8nR515SI\nJY3aFrId0eFAI8pZPFeYY3kraspi6O3ipRjpkPOectsrR4Dim+qzy96S2xC1\nnnMTFRkfgNNMy2YGxC48AmWHrQtLM8nrFYK76sZvMDIl79afFLWNGMhs9WRb\ndm7U\r\n=JSQl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH3E4Y7PCM2InPQczXJEj8nmHU/yu9KyZHteNGhNQqeRAiEAsmXfsdS8hyqu80wCP2s1ReTcpggYKBw4hGNjPcNjBH0="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.18.0-next.1599392844.5466f1adf9a47bcf9765d9adee694b78202cf308_1599392846293_0.026361883223034566"},"_hasShrinkwrap":false},"3.18.0-next.1599398745.733daa79693e91f5114674763c1eba04eece9524":{"name":"docmatter","version":"3.18.0-next.1599398745.733daa79693e91f5114674763c1eba04eece9524","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.11.0","projectz":"^2.15.0","valid-directory":"^3.3.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"733daa79693e91f5114674763c1eba04eece9524","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.18.0-next.1599398745.733daa79693e91f5114674763c1eba04eece9524","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-VzTUIDyoT0HoPHOQNOB3P8PN6VfnSPbmeCF+QTFJGEAuiciiNPmvVjtj+s/Cgjfq3M8ukONZc5JMriV6KIYnVQ==","shasum":"174d023dec5ef3eaea69d8bc7e08448e8e6a8331","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.18.0-next.1599398745.733daa79693e91f5114674763c1eba04eece9524.tgz","fileCount":8,"unpackedSize":25844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVONbCRA9TVsSAnZWagAAyK4P+wTIAJt1cQIyuKyR4ybE\n2O96gCk3X4KJ0wCUCoxRrNPlRVZnn69T8VX5qpANjT3OLRG0fpzQKNUx+kFs\nNnM9nWoWfzrSej3O27o1wAAMIrenzBVUeOdMgMWwQupYJTw7+2d9bM5mw20e\nWZKampI2W/cXnnEMu4STnmMv1D1jmk3DXQZF6Sw3bokLIzJujJLGZTfwR+iM\nH4oxzqBgpPlmVtlza82EjIIxIaiS0+TyLYIl0KRJipU9FEGTk4LpPevDQBSs\nIAwronwGcaXQZ6xN0ufiMNWdlKmwGRPSCqCXGKNG/O1t3QxplrP2yw+WmclV\nyQ76Qmh/6Cz90ZwWoplHp62OPIrUjpDIA5bwumhe/1JJNwmKwPP85vpJxQq4\nAyPszXEaNKegyZ6Ml43YTlFJuiDotm+f0llDx40yE2QcG1vh1qVEq3wvkp4L\nCgzG1Jx/Atjz9d4RQgNRFNUNOudXdJK1irlW4qzpfyytdRlxOE5ztHr0hn5j\n1yCyxMVw73E6JJqCXQnlpKAyesVW+6K+H2vJ4/WgGsrY+I03e6hz/hHZIbEx\nhHRcCZueS+/qGrdlqPAxkEaVtrdtY97RWa6AyoQKbpNE9QIoYSvJ2sH2MmcX\nDJKiBt72P+BCyY9qvAyLWXYMuVmm8F3TovTZBzXxf6Pvv+GtPtdJ02+deIVj\nTGyV\r\n=aGJV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqLK6GK3QqGqjCCq9GMuyXklArdbwmXVG9KcqPyCHrSAIhAIHvGvzCM/0mPqfpL9XnVLmP9HmtjgmZkMOsf5k9uszj"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.18.0-next.1599398745.733daa79693e91f5114674763c1eba04eece9524_1599398747463_0.16825610261694646"},"_hasShrinkwrap":false},"3.19.0-next.1603927619.f7b3f1bbae9ebcddf9a5228515652776c128f500":{"name":"docmatter","version":"3.19.0-next.1603927619.f7b3f1bbae9ebcddf9a5228515652776c128f500","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 15"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.17.0","assert-helpers":"^8.1.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.12.0","projectz":"^2.16.0","valid-directory":"^3.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"f7b3f1bbae9ebcddf9a5228515652776c128f500","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.19.0-next.1603927619.f7b3f1bbae9ebcddf9a5228515652776c128f500","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-hJUTSEy7zMD2nFlIPcCtkkoCKa3EvNv+vkf/4dpiUmEniNFSVFdgz6EMrdzY2geNw4ePLFYimEoKZ03J1MwZfQ==","shasum":"97cd5a41677c362f378f584814d1709bbc00b610","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.19.0-next.1603927619.f7b3f1bbae9ebcddf9a5228515652776c128f500.tgz","fileCount":8,"unpackedSize":26045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmf5ECRA9TVsSAnZWagAArBcP/j8rgZPO2AEwaSTiw1VW\n1psAIz44wsHpnew23Br2ytu5SHYhRbzxMquJkJrsumvJ2dgmrb5neIn8g6Uu\nU5LZp6tZILDhVx+PVw7o5IBCA6EdPsa8ObVk8DH655hjpNq9lDbUUQeBOlID\naaMDHozLVJQazra4d1FivMKLvlhsAozUB8sAi0Pl/x7WLO/lAnyqZry0fgZG\nkIy3WN72cxU3V58i0I0nCOS8mQ8ZQ5wNRDoHueWInDP8eInrDpL10bVtPl4D\nIeKdGs/w+b1sjbNx+OpGuc6Omm1OsWV0EDKmS6VqM/tS5m5rNGgRG8o6hDO7\nREwUk9qlBWyyG500yK2UChhOK2Rx+JXVmYTHIBWxNf1Z+HkTY0B5b1JenPXL\ng8m/GSq5G3To6Kbp12DamE5vlwI98LF1B96MB1TF4jORcnlbjZYKUkF/Am11\n4KnSgFjvmx5p1v2SkEaTX7kAiYDEEhOesuaDKKjY/CvbumT4dbI6dhg8hPDu\ngRkzU3OQot+9Uad+AcmqKMLmGGSiRQTa65/tKOvQmPyiKLKvIiCRXdxtDyFP\nBbpHa6YGhpQooKUT9N5Fp5o62P/tMvr2W3+kMKIwvW7JeQke5v8zcW0iztV0\nuh5l2ppKcoli5OpvY93JcuYUWVAIEK7wOePPrEHzil8nq46J1X4NHbxztWiI\nondf\r\n=yDzD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDalUideDFkbR6Tu2lwAFOFPMZC1pGr2veo42koO15k2gIhAMEgI/CTkl2AZCP1ZP/SVttQjQH5Oy78InknwHuxnFOG"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.19.0-next.1603927619.f7b3f1bbae9ebcddf9a5228515652776c128f500_1603927620365_0.4942426770934143"},"_hasShrinkwrap":false},"3.19.0":{"name":"docmatter","version":"3.19.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 15"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.17.0","assert-helpers":"^8.1.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.12.0","projectz":"^2.16.0","valid-directory":"^3.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"f7b3f1bbae9ebcddf9a5228515652776c128f500","_id":"docmatter@3.19.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-9retBMMU8ec8Lz3oZUeksLJspurDJnrUbevreVmPNhOvDVYkzHYgufLb9YA4cR2JHdUMhpajGmdHcNoGrneRAA==","shasum":"5f6e2d2d1e3a39b470afefde52bbe4ece4a2ce98","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.19.0.tgz","fileCount":8,"unpackedSize":25988,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmf55CRA9TVsSAnZWagAAjcYP/2y21AWCHzSsBJaiKyhB\n76pdG/iDYuCe7zz8rmvqXIJ/Q1qtOR1L/fDdtCcs3Thxzn9uhqozACMIBbvw\nlc+FPJMp9YugD5bgtdNvU/d+b3TouEvRcFOr05RTqYhKpfEZV+5zI7UrPejO\nYjqOSxyCI0Rq4GiPQbi2FR8BEGZUtpM/IrmMI1zKFnGvHHHMM9dxAqJGyL1k\nDZbqRb3wg8JiyPhEKJNJuy8NEBmtpADG5BCHJU9dxjOkDgDN2qYGh1vtMM9V\nEsrZkCNl2GF1NefqWpaC24Q+gckK9GQL65++qzvEzI1TPQiE/4Be4QZaaFNo\n+bDfVaqPINNl+fdUkkrrg7QnKW7f9f9v6llckmewdoN7wVQWOnFN1pJlG4AT\n58sPvLv2Nbf+zUupR2ezxuse/IL7Nd/rCVu2YSSjxBLkp3dYJOv3yiXtsovC\nSqDHeHMzukx7kvi7e2en2s8wyy1PnPKzRnZCdgRBa32meZdTzMN64fyfEADD\nDMYsM2nKuf8sVz69Il6Z51j/9jYtq7NSy8p69U1zI/CGzxsBs17PqOFl29RU\njDm82Psd5Y1P2BJRCCqgraGe9s2oosn6VLLlcKFPmj2oKOKG3b02NR8e57xC\n/trbyvxO3ka4PFGL27oqxzB73Wi2TaBmZu3oTLEgj3WgetmE+omBioEcA0Ne\n2hzH\r\n=yn1Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICNMji4wXDr3Z0KlXMV6w7ZVjkuP6VYO5C3SEzE6WIexAiBAZe7ijyeUvg7c1RtqkbqtmPCbMyozUT460nsW3aYMFg=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.19.0_1603927673313_0.5946213026071419"},"_hasShrinkwrap":false},"3.19.0-next.1604239825.3b184813fe097953e1a023143ca4e139867c5d03":{"name":"docmatter","version":"3.19.0-next.1604239825.3b184813fe097953e1a023143ca4e139867c5d03","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 15"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.17.0","assert-helpers":"^8.1.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.12.0","projectz":"^2.16.0","valid-directory":"^3.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"3b184813fe097953e1a023143ca4e139867c5d03","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/docmatter\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/docmatter/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"docmatter@3.19.0-next.1604239825.3b184813fe097953e1a023143ca4e139867c5d03","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-1g7wNsQ9ClTagQby6SalePlLIxzq83JIp2bxMEgb9FS066c9yq5BgtBUmQ/tQT5DUwH4uyYSlu3tEqbIAKIsag==","shasum":"dcf460faafac959cd252a89b82366fa19351cf30","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.19.0-next.1604239825.3b184813fe097953e1a023143ca4e139867c5d03.tgz","fileCount":8,"unpackedSize":26045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnsHTCRA9TVsSAnZWagAATioP/jBzquKcHHunFhGq0cOR\nZvtVI+t06i8VG8Sg7m4eKJeGZhnTc5JKm0r9Toh2JtKE7X0v1bVqnpbYBEGv\nKorOF9DOkmAcpYkCSktB99SyWC9hw6DnEX1Y9oq/s7OHj8LJ2/Avi7g3Ezew\nfVcsnYwiNx6B57FVZW1re/raLElRZLFSXPsFve1G6lXW4g1zHYzcPBhgGAa8\nb3jQbHCzW3gbksHhxBtq6B+bGYv3zjSbPK57x4fgAc1bF8ADVaPfMHejn8xh\nF4I+deMiYtfVY26WkvD+l2fWUaZNcDqzq/zof848QaP/y4jA/uO94xFt7xdp\nr3DhIZ+/hdnojBnsvLZxOyFv/Y8e7V7nwef4OTapLi2Foo6rjjqh6Qr9bGTs\nHBT4c1i9ySP++U21MWUryxtgWGqW5xyW5rSTK6ugcgF7Rr7Ycd1fhZ/6izYS\n448E43VnmxbnYJ7bcZ0RdsNrpdaXuTPWh20mZ7u5vBErwyslS9bWSP/I6qdd\nwe7jUxA8Bq5r1mTZu2amEb6s18bvkH3rSR7MjoivavKYxfaBKcgYP1W806qv\nd+XCdY00R5KQ2ZdYoWkHvll7lq9AESm9YZCTK31ygwM1PfNw2Y9BqsSdEAt7\n17QitUqVbo2AUoCh/mB0p9+XbhtWKc5ATdoPbYiRuh0J0TwCwyIrYGYdr9rB\nK6uF\r\n=B+kC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHFY0s3ZqAqCJppL/wirhNhVHd8MtABHMVin+S8jKMYBAiEA34X1K2uJMbUZdgb9DkQBLSOYC7B5btypD1uNVL8mxgI="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.19.0-next.1604239825.3b184813fe097953e1a023143ca4e139867c5d03_1604239827326_0.37994887685898004"},"_hasShrinkwrap":false},"3.20.0-next.1627421138.389c34b229d76bf6305f00d966cf568c9534cdd3":{"name":"docmatter","version":"3.20.0-next.1627421138.389c34b229d76bf6305f00d966cf568c9534cdd3","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.18.0","assert-helpers":"^8.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.13.0","projectz":"^2.18.0","valid-directory":"^3.7.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"389c34b229d76bf6305f00d966cf568c9534cdd3","_id":"docmatter@3.20.0-next.1627421138.389c34b229d76bf6305f00d966cf568c9534cdd3","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-4tp+g39AjQQ/lh5larCjxadmyMIY13LOVw8gneZQQomjkqt91aD963u2LN32GRzpu487H6MUybd+xGBup9Bgzg==","shasum":"30fc3c281b7d083694f8a1828489f95d8881fa2d","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.20.0-next.1627421138.389c34b229d76bf6305f00d966cf568c9534cdd3.tgz","fileCount":7,"unpackedSize":26035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAHnUCRA9TVsSAnZWagAAH/UQAIXEVHyXdecFPxRDBDOI\nduj2HCGHHmX+aOsBGSQ5AcCKxvNRAbC5b/GL4HZnMTgqfgpuDJO1RQXKPF4o\n66irzgthVss3ExkrAaZ4nPYc9qJuIZv1A6FyH0SJgkauwLsJjqnG6gvNo5Tr\nsyR/hayRfhQJJ/SLHjJ3uOU044Yqpsu2JxTYKtIvqBLe6kgtRXh1CNcF7Ak0\nwc5KgElIfmWlIVuhYdNzm8HAjx/lSVrYYjj682LR9FMtjwpO/YSwOuyrRbaT\nBVVHAM78YM/1PxUv7WgIx/6r0+h6oaC7E4MA8TqzvdkNIzRBrUCCficHFrU3\neyHAipbmsC72iDs9HToq3JO33xKupyhZC6ze/P/QjAjhiblf2pP0x3iPafip\nUZKooHC/q1tB0XGyt50679l+WbgHEXQfu93PhZ9fzYMkvG3sivGFQ2WYLnmu\nNMwLgFwalxarmfq1AyhlLZv+3lF3KEnV1KDClSsE/iaw0v9nTMJMWIun6TyW\ngj+wyPOLCG4ZUXxMkrvTqk7wYiTTSIu0al3dWwjTjGmDpUWN4CBAZsS5T18p\nRjUisCvO006XLgL1SWiHIGkugiRy2Dgo1SQfwhfS+gZmu8/aY6sLhgPkwV7u\nvweKpBdkDotpPSVLNjGxH0+JI/rBS5q6Jig+9QjMmhNowc71zS8mEagcld7k\nibbW\r\n=Haux\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7HItgafzV+TK4M3qfFDky4Uv3eW/8rpddTUVSdrEIFAIgV8WrRF2G1dXOywPGkeEpoDmQjP2Sg2vmipKeTpsCSQM="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.20.0-next.1627421138.389c34b229d76bf6305f00d966cf568c9534cdd3_1627421140112_0.07467628786768477"},"_hasShrinkwrap":false},"3.20.0":{"name":"docmatter","version":"3.20.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.18.0","assert-helpers":"^8.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.13.0","projectz":"^2.18.0","valid-directory":"^3.7.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"389c34b229d76bf6305f00d966cf568c9534cdd3","_id":"docmatter@3.20.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-WPMK1N8HsaIYrAS9kcqkiyu8tizV1jlhENHwNk2zuWFUw3Drr+iTQyIrrKZdSCc9v/UCSBlCgUxIoy+lZEvvQg==","shasum":"a24d88900da6ca0ad3ec8ae96adf48ffac619126","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.20.0.tgz","fileCount":7,"unpackedSize":25978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAHoKCRA9TVsSAnZWagAAMJ4P/3oFzyBCbPPjwEYeyfPV\noQn/YjDEO9ll5kJBC/LR6CztvjBfJHrjgqc9UnUUP9xDyI0C7/LaowXruFfm\nB80DG5FKRkQqCq105reLsPBVXM80TyZuH+PbOV4eam+zoRk6rYzvG0CM+15X\noopxTsY0516FGjco0nwAJ5LUfBDXqnWw/Oa6SjYS3vV7KvtR1cwlIwZgFp63\nB0VvVZ5yIck+wMvEqWYSbPLozjzhZgVBG9w9TRc26AomoU3AXjrPHuihgNTf\nEYCev7qUAVjCpifLH9Bj0PBDiW8DQFBLah6i9J/UPFjqOoT0cX5NO8H3uBKl\nqjKoSLQgftL4IiZpYywPKTXh5j357DrHXcsngxYoFNAXNxJYFsklfJztho6z\n0YBBrTFIYNwBqGFRRLT3GZmjWT9W5QaZiLW1eEbiXZHG5sG8MHor59P1EiXL\nJEyLgQq7dc/aV0fZ/PaLj7pnG+edcU6ap+T3DdQa9596Cs6mJU8Cc+vlbJVJ\nPPqJzk3VGwIw2Z+ZWw7lhfISSqs4dmE1706pItVp1F3oCTYnnVCnVsg1obDo\nHtRBW2Mv8f4dAJeHWT5QO3t0QltFot992p8iGjupP5TZK31VPf6C2Rk21SGB\n18X6NxQtNa4P5CYXCoTJBsw0ul2mDM08UEU3lOwlnTn4VVj7w0JVfeqDCNnd\nbham\r\n=SnSN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCr9OReVxwRni/pvIIzkixdN0/TQNyPWwyMjcA0CFYYmgIhANuuJL3PfjfHM2qPHbR8xdEVX34ES+/ADmfdijjuYgWM"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.20.0_1627421194424_0.9272975482732448"},"_hasShrinkwrap":false},"3.21.0-next.1627498562.9b29393a4ca724e23e41e580d7d9d4c406051722":{"name":"docmatter","version":"3.21.0-next.1627498562.9b29393a4ca724e23e41e580d7d9d4c406051722","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 16"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.19.0","assert-helpers":"^8.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.14.0","projectz":"^2.18.0","valid-directory":"^3.7.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"9b29393a4ca724e23e41e580d7d9d4c406051722","_id":"docmatter@3.21.0-next.1627498562.9b29393a4ca724e23e41e580d7d9d4c406051722","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-UptGhFd9/l+9VAyIcBW6i3Fz0bD2HhydF9yBmt4UKyq1BHdCOdx30c8iasnlrfGQ8eMmjAP/KhR30jMjwSNX5g==","shasum":"4dc9ab94b44d4964fd7c6bc2f5e0021030cf59db","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.21.0-next.1627498562.9b29393a4ca724e23e41e580d7d9d4c406051722.tgz","fileCount":7,"unpackedSize":26239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAahECRA9TVsSAnZWagAALcsP/2mWY9gw14Go/dGbfDSw\n6mkOG2h38viwmdDeBEq91UYVwoUho31y42BYvVMEoBdmL7p2B4CqbVWm6+ku\n/JNYrqNtNsFqj0dliidPGLYK8tz7s4NC8wut4Xy4VSSlXMoaclgW0fv38CHA\nlt/DaCMp9T5qaAg9eqTep7XUY15ci3c5XMjphc3g4oHZJqwr2wjF/SR/O0HR\nR+12EXfIHxb42IN+eB61HhCq5syAAjZD1bnTraTpQJ0H9hZbG7HAcXGUYvi0\nKz1TjxBLv9JDmbeT9crmG+C+ia1LllzruOoZKx8K9vuaws2Sh0e9uPb/4HNJ\nNrRc1vjif9Jf8PT0jsOk+/KCnatFtZo/57dioBSzdpKJgb7tVZ94zLoBSmqL\nYwmuOfKpspimRL2N56E7P96RiKDvU+c8d6XcJGD/T+gIfCqowX7DW/KmTIE6\nLzq8GqKCaY/Z9D1gh7Kem5G54fZje0AQiMzmVmEi4xCIRmKvhTqX7esD5P07\nbUPdCGK3FGS7+S3ggXVqtKx6S+mK/F8kBAnXowp1zP5QpZBN3xcIr0xgIq5L\nOIv6XDkMB0aJL0M2eCyuW5eTHiHdhFFt4HbP+/cJHVomXTqN8Xw7LNLDAGDc\npQEHJoUQT6cmWw6+pSdNEydp6f6KBfaz0SsYQmO2ScYQIp58WBiUFfvzZvyM\nIDSz\r\n=DHjK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSaJ3LtPSS2GAcp2pUzV42AClHwsEB8KX4ayzq5WClDgIhANapMv+GzhoDaOPzb/0bsZ9fTphb6bxl/dXQoN94Jr/V"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.21.0-next.1627498562.9b29393a4ca724e23e41e580d7d9d4c406051722_1627498564278_0.44822593748218176"},"_hasShrinkwrap":false},"3.21.0":{"name":"docmatter","version":"3.21.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 16"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.19.0","assert-helpers":"^8.2.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.14.0","projectz":"^2.18.0","valid-directory":"^3.7.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"9b29393a4ca724e23e41e580d7d9d4c406051722","_id":"docmatter@3.21.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-L83zObPpGUM8FkJjMMPoMfEeHxT8+pZbGCv86m137AvtBcIC2ZIEYKpUm1pvcDTJjDUB4BN7ffmfrXtA3HisVg==","shasum":"eadaa2f429fbad487734653b29aa3a8abed2057b","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.21.0.tgz","fileCount":7,"unpackedSize":26182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAahbCRA9TVsSAnZWagAAMaIQAKGwyeYDeZzXQHpe46uf\nV7SL1CL5WufYguIir2D/tPmb378Q6dO7bkJSBmFtytYkbcqkyNpaoAutwY+i\nPFENtKBSQsQbkw0aTGgd4sjAOENjvMAyAt8wEpTQTd30c4CGtDRP4ryoWbZS\nCRqR2jO4UG101mAs6nrLqU0DduvrEbBqfhaKNLBI3CYQThY0aiEBrvWPy+Zd\neVal2VTeIOVaZVIvAAUTNAWfB9GdEUAZyrR5ek59AJPvP6gkTAOq0bRkeWzH\nYhHgV4BYiv/3cwBbLBTpUw9PQdimx8fMvlzyiskY/DUDzZTpDFnH22o43Ejb\ni171mLt7vUnAw4PFz1ohOABeSRwNUKzE6c/fddGC5MXmsfdirYzL6W3ka+iA\nnwNLZUax5lYjBz7KDehJI6F0LjC+3CStJyn5LplN6ml2OrWijudu4HTWk0C1\nStRojOSeXTL/QROVNjSpCEDCpzb7d21Tg+oob9biSIvfuteWVt+vmQD9KIs8\nze/TgWExnPnJG5qebsPQ/Hf0BIzQogyrjbHuQobyNK6HMwiXCrapSddvkzxd\nOnregUFy9HggeGF2BvqlygQrt1AoNt//ToiDdpZN9TwQMGVGc1pL4QljvaPo\ntS5yKLMPhxenZEZY/h6M/6N9h5I1ibm47mJB5K5y1EEQchb7/zW61qAD/q5K\nDxW2\r\n=9Y3N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCN9PeYRLDi2z5Mg3VVjMfjOkcTyjn1NOumv+lFU4q/agIhAO1oUGD5vYUxyAe9cO+qfW8aJUx/lwQm/KuGXZPnrGet"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.21.0_1627498587532_0.08988761011142254"},"_hasShrinkwrap":false},"3.22.0-next.1627591300.36f08640d8545dfcae6435d23e70576f05687450":{"name":"docmatter","version":"3.22.0-next.1627591300.36f08640d8545dfcae6435d23e70576f05687450","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 16"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.19.0","assert-helpers":"^8.4.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.14.0","projectz":"^2.21.0","valid-directory":"^3.7.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/docmatter\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/docmatter.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/docmatter#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/docmatter.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"36f08640d8545dfcae6435d23e70576f05687450","_id":"docmatter@3.22.0-next.1627591300.36f08640d8545dfcae6435d23e70576f05687450","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-w9TKjXW9nCFx4fZvMLbmc9ZwAZPP14BaQ4ORY6sqbxumHDvf+fTYnEt90OUClQflMjsCOl98DP8B8Kxr11UHcA==","shasum":"b3746c12a3c5a61fd08ebcbc9c6d0e05421f579a","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.22.0-next.1627591300.36f08640d8545dfcae6435d23e70576f05687450.tgz","fileCount":7,"unpackedSize":26437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAxKFCRA9TVsSAnZWagAAIGUP/RXTFFXW4oGGMWJP/gqf\n87440PhqGcA89receG52poxS2bwCNtXWW34uuhw+Wo9IQQ8cWK9vAXShcXDt\n1J7LF+DYtHTllD7x7eoJtS8VWK7vWuR1Fayh2SmaZ5lmPRo3YkQ42AgTXF10\nOCxCGD/oOWPxSwyYkZCcp2fhgeI70+rPCveiJ0E5wV4Egt+Wi3/bEge3xEn0\nVpM5DZEJPnmIdYttfwLdGX9KKRw+rKKOx/uYls1rz4fm4R4MEF8QuEJnKnIS\n5mDQyeQ346Ien8nQDHMt3fdyB50ZOBoBgsH3J6mrs3LkbiGF9z/cvNhuOsO6\noTTLNyQAvenVbIJ1q7xwS3xHaQwJ4cJJJrHRiuygFSLAwNeHlPVA85d7MvhO\nfLgT1cflB6tdZf6szKmletijuSlA1Rw1su8j+m9g0hwKBGKXU/EqjPZccvTP\njWec+KnNc0GiF0I8KXH2AGTqGI+CY+awAxleM9WNBx9QAQi+IF3Q5J1Tfnem\nUPvpeq6BcrNmFuHbqJtn/fUChdzqxpVRbwsXhzJftILWBDL3pmcru/nzd6I5\net5ofi2YITtG1Bg0TZ4xpVPH9XakKxc1P50x5iMEWId6+tsTxkNsKaQDoE67\nCa0B2wx2BRQaNVqyktP/tkC9QbPhn+ksxHvzpYUOubIsUIMYq0gpInDei8do\nkZdr\r\n=bxK+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXEKb0YbWJB1UbvH90anbQrtaqpJ5l/iqu4bFJM1PgiAiEAhby2BQzTRu4X9ewfiFimzOFMDR0BwigOp5BM+sQcf/o="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.22.0-next.1627591300.36f08640d8545dfcae6435d23e70576f05687450_1627591301690_0.6409062065917437"},"_hasShrinkwrap":false},"3.22.0":{"name":"docmatter","version":"3.22.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"MIT","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 16"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.19.0","assert-helpers":"^8.4.0","coffeelint":"^2.1.0","coffeescript":"^2.5.1","kava":"^5.14.0","projectz":"^2.21.0","valid-directory":"^3.7.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && echo '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"gitHead":"36f08640d8545dfcae6435d23e70576f05687450","_id":"docmatter@3.22.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-n/546nW9MObt+Gmb0TeqPEZXZH93+IyGLE/2LF/CxD51yqeXG3O7m1VyIvLtTk7recdQxodLMElNf6bbTfqtjg==","shasum":"cda1f78ae330dcf3a2ba959b254264fabc35bcf0","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.22.0.tgz","fileCount":7,"unpackedSize":26379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAxNOCRA9TVsSAnZWagAAVFUP/2AT0yjEcGj2HcYV6bXp\n1yJ5yS8JcrnVDciWKtT1X/cLFw/prZKxuqAHV9DUAgrwuve1OgXzqu7iYPwe\numU8Z0eb0ixu6sKeKT/FY0jxFuAaYAJt7lwn8uU5MCKSPbS9msEtNyFrOwsc\n66fDuE6Lp2Dtw+Zct2rSWc7+sc9yK0dM8gRWGJ3zdo0CwzAacnd2qOINIumR\np0tJZD+5tQMtDKbsPbQyS0zTWsMDyShJwzcYYEMcN74nCCj63N7YbMMN5KG0\n3VpqR4B/op0QC2sHEMmqu1ZELc+yy0zXoZ12eLNBjKSba48vUO2NwsqAc7WC\nWj8hkCyWgtZLl9DUlJjdmYEIZRo7e8XRT/VLEBB5/qLOY/wZQuJVFezmPlWC\nn6dT+9LSD3yfXQxOGDhmKUDduxEEkp02zEh9Nd28mJ494nXdnhXpFxeBL2cq\nsBdjWTSgjECEIx8Who4Hl3pWtLRlo1Mk+K/rc0yVDoP80/hbny23mALrVGOL\nh4yVIMt7TKh441sN5lSDK7TZE8EEXd66elLUI9HdUPz84LjTFdkdEPj5LRNx\nSEwNDlvYEW07/xxD6ihhz2fOl7KANbnboAKDbevmUWI9ETlPg61vQ8KCkdgM\nyJhvXXdqRa+hfDMSMoQC9lC++Fxfor9A5PsUAniyAuFp6FbVkydnpac0SYIR\n/SWw\r\n=ooYV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDccl2FqgcFriuhK/srJwA72ccyDzvstSfcI9B+blCFAIgaGdSIlI9vXiJJ74lRTTMPnLXLSpwD/6QBt/fpqZC3DE="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.22.0_1627591501892_0.7867061862380573"},"_hasShrinkwrap":false},"3.23.0-next.1698771905.b4a35bbfde890b8ead1f72499921377e1d79785a":{"name":"docmatter","version":"3.23.0-next.1698771905.b4a35bbfde890b8ead1f72499921377e1d79785a","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.22.0","assert-helpers":"^8.4.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^5.15.0","projectz":"^2.23.0","valid-directory":"^4.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@3.23.0-next.1698771905.b4a35bbfde890b8ead1f72499921377e1d79785a","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/balupton\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/balupton\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/Artistic-2.0.html\">Artistic License 2.0</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"b4a35bbfde890b8ead1f72499921377e1d79785a","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-2Mutfyy3dfpj+05O1cvThEumMRBXPQGUkwSalm5v857mXgd6N4Cqr8f3RgKIMELgIhovMun7NqWS4Y8gxV1trA==","shasum":"eaad5c8c0158d9478963281a96daa42045aa7682","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.23.0-next.1698771905.b4a35bbfde890b8ead1f72499921377e1d79785a.tgz","fileCount":7,"unpackedSize":28342,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGzxXFnJSxuTk7cPI/bI49FJlNB5UvhnOixpCP56cBtlAiEAhZz8alUHSsYc6liJfl+Y+4xcYIES4l20XRfrNSLw+Dc="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.23.0-next.1698771905.b4a35bbfde890b8ead1f72499921377e1d79785a_1698771907715_0.4993082301373375"},"_hasShrinkwrap":false},"3.23.0":{"name":"docmatter","version":"3.23.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=10"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.22.0","assert-helpers":"^8.4.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^5.15.0","projectz":"^2.23.0","valid-directory":"^4.0.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@3.23.0","gitHead":"b4a35bbfde890b8ead1f72499921377e1d79785a","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-GHFzBvTnKBHJrKCQG3Z9oEpYXVWxpBFuJdp0ai9SARwe43T+ZQY8pXniroL5VY7o4BqGo6JbBg0u2dXCuhMDUA==","shasum":"277bed9e1f5a7ace859eefddc2c9d634a0678e4d","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-3.23.0.tgz","fileCount":7,"unpackedSize":28284,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGFXyzVIqT0/zP9SKjgxty4nkhlCpxodhl1Z2/gtBfh/AiAwHB+bZYUcuEAsg2rjdvYNirCygNHB5w5nG7FH4AXQAA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_3.23.0_1698771959314_0.8632103352762759"},"_hasShrinkwrap":false},"4.0.0-next.1699885751.1237bc573d03fa4354c44695db5d443bd94371c0":{"name":"docmatter","version":"4.0.0-next.1699885751.1237bc573d03fa4354c44695db5d443bd94371c0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.2.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.1.0","projectz":"^2.23.0","valid-directory":"^4.1.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.0.0-next.1699885751.1237bc573d03fa4354c44695db5d443bd94371c0","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/balupton\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/balupton\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/Artistic-2.0.html\">Artistic License 2.0</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"1237bc573d03fa4354c44695db5d443bd94371c0","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-bPq+VMTWFbYEwm4jjKwN3wxdQlaCfKUZ3yaoZzMDfi2ST0Peksina340J05gSsBiUgQyKWkiLZbyoTSySUaYSA==","shasum":"9c865113c2a0673adc315914cf8ee18eedd1d7f3","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.0.0-next.1699885751.1237bc573d03fa4354c44695db5d443bd94371c0.tgz","fileCount":7,"unpackedSize":28374,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQTs8rnhL2Fx/pdO7tS7Rq7F3430fKL/goWdwiWyiKTgIgeU+EsTaGxbSs0VnuS5MLSsdSBKZ0yWfpfVq8L5sQUYI="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.0.0-next.1699885751.1237bc573d03fa4354c44695db5d443bd94371c0_1699885752471_0.9219507334563122"},"_hasShrinkwrap":false},"4.0.0":{"name":"docmatter","version":"4.0.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.2.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.1.0","projectz":"^2.23.0","valid-directory":"^4.1.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.0.0","gitHead":"1237bc573d03fa4354c44695db5d443bd94371c0","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-FX9XmW6t/NSyupbNSYJFwNokWdTV0ZTtLftVHZ6mvsjYAMGNSg3FW6MksS4H+dhvtP+vA9tkJdl5GGpI79W+vw==","shasum":"8ef452cb8351eef262e37138d1aa44d4ff739bb5","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.0.0.tgz","fileCount":7,"unpackedSize":28316,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDabfhuFtZinDcMNyyOKqHOTQ/drCic5ajCHe5lAS4rugIgbdb34jy4Qx5moxHgaoBvoNo32Rw+ekCZojirWSSU2Hg="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.0.0_1699885756881_0.3155814533451553"},"_hasShrinkwrap":false},"4.1.0-next.1699971255.6df09230bcd11b45b7b572dba1fb2d9cf49849a0":{"name":"docmatter","version":"4.1.0-next.1699971255.6df09230bcd11b45b7b572dba1fb2d9cf49849a0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.3.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.1.0","projectz":"^3.0.0","valid-directory":"^4.2.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.1.0-next.1699971255.6df09230bcd11b45b7b572dba1fb2d9cf49849a0","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/balupton\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/balupton\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/Artistic-2.0.html\">Artistic License 2.0</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"6df09230bcd11b45b7b572dba1fb2d9cf49849a0","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-L8vgZyGba3K7YRQdefDZigq/epCBXfa2i8EznDq7KlD5oUvLqDHS2pTUrXExeDMKgN15ls+3VMOembkuLoUdQQ==","shasum":"eb51fad60bd0590bb026b3496cb1e5c467851bc5","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.1.0-next.1699971255.6df09230bcd11b45b7b572dba1fb2d9cf49849a0.tgz","fileCount":8,"unpackedSize":30081,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFzyZV6o136lGiAgMCi1Dzqct2ZbNEh+GKMLVeywFi3SAiAw8Iw0nbvz8AI5ATE3FwMyGqa5H4AIUkoj0hXCtMZKSA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.1.0-next.1699971255.6df09230bcd11b45b7b572dba1fb2d9cf49849a0_1699971256451_0.032787802691050416"},"_hasShrinkwrap":false},"4.1.0":{"name":"docmatter","version":"4.1.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.3.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.1.0","projectz":"^3.0.0","valid-directory":"^4.2.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.1.0","gitHead":"6df09230bcd11b45b7b572dba1fb2d9cf49849a0","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-XwU6mw2e4B3waW8cpUE1GOx5XKpFh9cMZdB0nN+PFzYbXYxrmd9R3I2Fn0eoXNMVAvUrsyAL4Pe0+K0kuk1bqQ==","shasum":"9073b827e47294e5642d82cd57ef1861bcaf6368","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.1.0.tgz","fileCount":8,"unpackedSize":30023,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmE0LaOX+g1qO/R9suksY118i0Tu3TA2KmcIwoS6lWJAiBLqDCXHI53zHYSWZNxpJv7MZBDv8iZSv5URPXujtMEng=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.1.0_1699971261775_0.01912268323479216"},"_hasShrinkwrap":false},"4.2.0-next.1699988010.63f3ef9c89a98a7bf87f3fac7a63fa5f64e9ec64":{"name":"docmatter","version":"4.2.0-next.1699988010.63f3ef9c89a98a7bf87f3fac7a63fa5f64e9ec64","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.4.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.2.0","projectz":"^3.0.0","valid-directory":"^4.2.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.2.0-next.1699988010.63f3ef9c89a98a7bf87f3fac7a63fa5f64e9ec64","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/balupton\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/balupton\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/Artistic-2.0.html\">Artistic License 2.0</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"63f3ef9c89a98a7bf87f3fac7a63fa5f64e9ec64","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-7YcZEpVWHBeLZdAcLqNsJgHj8ZnRAcbffPbE2Kbsfa6bIPRgr+bZ33ca0vL4q/AjC80OLDbAHA0Vg99Ve2yTeg==","shasum":"05a4d0b4489069e03266d01d59a80e20a7180529","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.2.0-next.1699988010.63f3ef9c89a98a7bf87f3fac7a63fa5f64e9ec64.tgz","fileCount":8,"unpackedSize":30084,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAO6caekwxkOYkcvvEQCQB/EMeo09oT4fjMf83PXRw+NAiEA9ZnnHcKjswqJimtsreCHlsvWlEyk569NaUIV9/wzdho="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.2.0-next.1699988010.63f3ef9c89a98a7bf87f3fac7a63fa5f64e9ec64_1699988011450_0.6625574506517775"},"_hasShrinkwrap":false},"4.2.0":{"name":"docmatter","version":"4.2.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.4.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.2.0","projectz":"^3.0.0","valid-directory":"^4.2.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.2.0","gitHead":"63f3ef9c89a98a7bf87f3fac7a63fa5f64e9ec64","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-Kx/na8V3n7fWDCL8JiLRGvAqjEWvwDeYFhpWKe4iG3V1HN6bV0iNmIWJky93jg8qfFui8touMBKn0gP0QhLX9A==","shasum":"473308b760c265116668dde310cb6062013a01e7","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.2.0.tgz","fileCount":8,"unpackedSize":30026,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEPuSiXTDxfZQAHRZ7TlI+3VNXG45VwXtrNRseczE9gIAiEAvUz8UH3V854bg0AWBiUXw31fHf/Q8bIDSYxGZTTd0sg="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.2.0_1699988016942_0.757759040610595"},"_hasShrinkwrap":false},"4.3.0-next.1700553553.bec792f4e3f198ea8245e8cd3262a6ea50527ec6":{"name":"docmatter","version":"4.3.0-next.1700553553.bec792f4e3f198ea8245e8cd3262a6ea50527ec6","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","liberapay","buymeacoffee","opencollective","crypto","paypal","---","discord","twitch"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"bevry","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","discordServerID":"1147436445783560193","discordServerInvite":"nQuXddV7VP","twitchUsername":"balupton","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.5.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.3.0","projectz":"^3.2.0","valid-directory":"^4.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.3.0-next.1700553553.bec792f4e3f198ea8245e8cd3262a6ea50527ec6","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-discord\"><a href=\"https://discord.gg/nQuXddV7VP\" title=\"Join this project's community on Discord\"><img src=\"https://img.shields.io/discord/1147436445783560193?logo=discord&amp;label=discord\" alt=\"Discord server badge\" /></a></span>\n<span class=\"badge-twitch\"><a href=\"https://www.twitch.tv/balupton\" title=\"Join this project's community on Twitch\"><img src=\"https://img.shields.io/twitch/status/balupton?logo=twitch\" alt=\"Twitch community badge\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/Artistic-2.0.html\">Artistic License 2.0</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"bec792f4e3f198ea8245e8cd3262a6ea50527ec6","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-QwX/puLpODZ6pmcSLf89VG9FwdBOyiSJsmfT0edhvZaJyZ1gaPgMfbbLEmCqF+p5ej5Ws9/JeCIbA2Fcg05nsA==","shasum":"d47ebe7002b725228b454d2dbc11aaeddf8de28c","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.3.0-next.1700553553.bec792f4e3f198ea8245e8cd3262a6ea50527ec6.tgz","fileCount":8,"unpackedSize":29838,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDr1GpJDRKXY+yShzuNw0QTZRFkuDbNY44KsrEAe5fRBAiEApJR3fLHNb95TPgy+tlEDTcrH4XVgNIGv08T7gpMS294="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.3.0-next.1700553553.bec792f4e3f198ea8245e8cd3262a6ea50527ec6_1700553554890_0.3166861337556517"},"_hasShrinkwrap":false},"4.3.0":{"name":"docmatter","version":"4.3.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","liberapay","buymeacoffee","opencollective","crypto","paypal","---","discord","twitch"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"bevry","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","discordServerID":"1147436445783560193","discordServerInvite":"nQuXddV7VP","twitchUsername":"balupton","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.5.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.3.0","projectz":"^3.2.0","valid-directory":"^4.4.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.3.0","gitHead":"bec792f4e3f198ea8245e8cd3262a6ea50527ec6","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-CzdsQeRokJDwKvO/y/rRZU4NFEmBfQFXeeLBGDIkLva0bEcRD0jmakeZB1nVUplUpRgbK/p1kQnCDNBa3wvO7w==","shasum":"b4d7027223549a0f29c1bb2f9ebec4b5cbd5b400","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.3.0.tgz","fileCount":8,"unpackedSize":29780,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAE0J3+b3/7RPcf/I6m4nyEHvC/49euviEQ+G6HUY40QIhAIUvAGZKw7d11L7HGFIR+ayPZUWRLF9BiFJNdmVDAta1"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.3.0_1700553582590_0.8949683870436551"},"_hasShrinkwrap":false},"4.4.0-next.1700835930.75ef2234984791bf7f3052f98c74ec1c67f138ee":{"name":"docmatter","version":"4.4.0-next.1700835930.75ef2234984791bf7f3052f98c74ec1c67f138ee","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","liberapay","buymeacoffee","opencollective","crypto","paypal","---","discord","twitch"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"bevry","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","discordServerID":"1147436445783560193","discordServerInvite":"nQuXddV7VP","twitchUsername":"balupton","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.6.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.3.0","projectz":"^3.3.0","valid-directory":"^4.5.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.4.0-next.1700835930.75ef2234984791bf7f3052f98c74ec1c67f138ee","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-discord\"><a href=\"https://discord.gg/nQuXddV7VP\" title=\"Join this project's community on Discord\"><img src=\"https://img.shields.io/discord/1147436445783560193?logo=discord&amp;label=discord\" alt=\"Discord server badge\" /></a></span>\n<span class=\"badge-twitch\"><a href=\"https://www.twitch.tv/balupton\" title=\"Join this project's community on Twitch\"><img src=\"https://img.shields.io/twitch/status/balupton?logo=twitch\" alt=\"Twitch community badge\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/Artistic-2.0.html\">Artistic License 2.0</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"75ef2234984791bf7f3052f98c74ec1c67f138ee","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-EQcKxitrx9my+98tn/XnSltDtzylQHmayJsTd4uYlruOh6lRWOtRUHdjidMTHv0AuUNyTpRyK6r3djJLczp2NA==","shasum":"dd8013970bc539a7e477618be65d33783f469959","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.4.0-next.1700835930.75ef2234984791bf7f3052f98c74ec1c67f138ee.tgz","fileCount":8,"unpackedSize":29841,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFIz/xq98MEk9/CJKuuJqgCX456Pf7dvPvOfCmXb4IQgIhAPomj6dQJRqUcVVTo14aXqab/JzL+RAeDK/Uz9RxBiZ+"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.4.0-next.1700835930.75ef2234984791bf7f3052f98c74ec1c67f138ee_1700835931970_0.10991148964610598"},"_hasShrinkwrap":false},"4.4.0":{"name":"docmatter","version":"4.4.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","liberapay","buymeacoffee","opencollective","crypto","paypal","---","discord","twitch"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"bevry","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","discordServerID":"1147436445783560193","discordServerInvite":"nQuXddV7VP","twitchUsername":"balupton","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.6.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.3.0","projectz":"^3.3.0","valid-directory":"^4.5.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.4.0","gitHead":"75ef2234984791bf7f3052f98c74ec1c67f138ee","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-t20hvd2bH5s2aqsho1SHT2JTT4RDu/cb4IcHqdNe7h7tZvtytn6cYgr2n2d4J1revRlDDFoSKQzU/gAf1Riv1Q==","shasum":"a7a21de962f38fba63b5ca50442268a56633bee6","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.4.0.tgz","fileCount":8,"unpackedSize":29783,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhFhwvnhPfagceNrDdybE2ecOHxcSArcC+ez/H/MkTYgIgebDVgtDnfrQr2BD9+G2Svxyjs0p5Z8RMEA8faXaC0lE="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.4.0_1700835938839_0.703967946152724"},"_hasShrinkwrap":false},"4.5.0-next.1701804448.fee62e804c2d23853edeaa52448bcf3224a99430":{"name":"docmatter","version":"4.5.0-next.1701804448.fee62e804c2d23853edeaa52448bcf3224a99430","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","liberapay","buymeacoffee","opencollective","crypto","paypal","---","discord","twitch"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"bevry","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","discordServerID":"1147436445783560193","discordServerInvite":"nQuXddV7VP","twitchUsername":"balupton","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.9.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.5.0","projectz":"^3.4.0","valid-directory":"^4.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.5.0-next.1701804448.fee62e804c2d23853edeaa52448bcf3224a99430","readme":"<!-- TITLE/ -->\n\n<h1>docmatter</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-discord\"><a href=\"https://discord.gg/nQuXddV7VP\" title=\"Join this project's community on Discord\"><img src=\"https://img.shields.io/discord/1147436445783560193?logo=discord&amp;label=discord\" alt=\"Discord server badge\" /></a></span>\n<span class=\"badge-twitch\"><a href=\"https://www.twitch.tv/balupton\" title=\"Join this project's community on Twitch\"><img src=\"https://img.shields.io/twitch/status/balupton?logo=twitch\" alt=\"Twitch community badge\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save docmatter</code></li>\n<li>Import: <code>import * as pkg from ('docmatter')</code></li>\n<li>Require: <code>const pkg = require('docmatter')</code></li>\n</ul>\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>docmatter/source/index.coffee</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> source code with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>docmatter</code> aliases <code>docmatter/edition-esnext/index.js</code></li>\n<li><code>docmatter/edition-esnext/index.js</code> is <a href=\"https://coffeescript.org\" title=\"CoffeeScript is a little language that compiles into JavaScript\">CoffeeScript</a> compiled for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/docmatter/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/docmatter/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2018+ <a href=\"https://balupton.com\">Benjamin Lupton</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/Artistic-2.0.html\">Artistic License 2.0</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"fee62e804c2d23853edeaa52448bcf3224a99430","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-DTdcAOaMnxkCCu7FLNcTMEmtHC+KpTgdWGrsYWS5IAwx5S75pmKE7heUpDYFIXpFEw19Nb6wmnaXErEOqMH3nQ==","shasum":"60f2eee025b76a0b0a72394597c057e722f08e1e","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.5.0-next.1701804448.fee62e804c2d23853edeaa52448bcf3224a99430.tgz","fileCount":8,"unpackedSize":29844,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFtLmTLibx3TQmnS3bN1D9C0fmAhGiJd8+LhDD3TJ6B0AiEAhtxFaVUgRUH435w9pHNnATUJGB+5CyvoPRKfEC/WIyI="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.5.0-next.1701804448.fee62e804c2d23853edeaa52448bcf3224a99430_1701804449938_0.8652057105776483"},"_hasShrinkwrap":false},"4.5.0":{"name":"docmatter","version":"4.5.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","license":"Artistic-2.0","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","liberapay","buymeacoffee","opencollective","crypto","paypal","---","discord","twitch"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"bevry","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","discordServerID":"1147436445783560193","discordServerInvite":"nQuXddV7VP","twitchUsername":"balupton","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"funding":"https://bevry.me/fund","author":{"name":"2018+ Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"@bevry/update-contributors":"^1.23.0","assert-helpers":"^11.9.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.5.0","projectz":"^3.4.0","valid-directory":"^4.6.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint && npm run our:verify:directory","our:verify:coffeelint":"coffeelint ./source","our:verify:directory":"valid-directory","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.5.0","gitHead":"fee62e804c2d23853edeaa52448bcf3224a99430","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-dGtDHVfPlBqCCqGZCYyUEJNQ2i1rZaacAborqgWEFXuA6DxEm23I4180/eH4Yjp18EJ44iKYtSX5ClIyDDIEEw==","shasum":"cd5ec3823122aa18f156ffd4c081e885ef80ada6","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.5.0.tgz","fileCount":8,"unpackedSize":29786,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfCd4CV96ddBy1bjZbAUYS0rgClEDdUuwxkNfLlNweugIgcpepkCh7LVfhcjNWOo+Cu6cuYwUIqfZimdbcej96x3M="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.5.0_1701804472600_0.17181718368540477"},"_hasShrinkwrap":false},"4.6.0-next.1703677215.bc692639868ea8682e6fd8f3160126d9a66ddcde":{"name":"docmatter","version":"4.6.0-next.1703677215.bc692639868ea8682e6fd8f3160126d9a66ddcde","license":"Artistic-2.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","funding":"https://bevry.me/fund","repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","liberapay","buymeacoffee","opencollective","crypto","paypal","---","discord","twitch"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"bevry","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","discordServerID":"1147436445783560193","discordServerInvite":"nQuXddV7VP","twitchUsername":"balupton","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"author":{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"authors":["Benjamin Lupton <b@lupton.cc> (https://balupton.com) (https://github.com/balupton): Accelerating collaborative wisdom."],"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"}],"sponsors":["Andrew Nesbitt (https://nesbitt.io) (https://github.com/andrew): Software engineer and researcher","Balsa <hello@balsa.com> (https://balsa.com) (https://github.com/balsa): We're Balsa, and we're building tools for builders.","Codecov <hello-codecov@sentry.io> (https://codecov.io/) (https://github.com/codecov): Empower developers with tools to improve code quality and testing.","Poonacha Medappa (https://poonachamedappa.com) (https://github.com/km-Poonacha)","Rob Morris <rob@prismatik.com.au> (https://github.com/Rob-Morris)","Sentry (https://sentry.io) (https://github.com/getsentry): Real-time crash reporting for your web apps, mobile apps, and games.","Syntax <scott@syntax.fm> (https://syntax.fm) (https://github.com/syntaxfm): Syntax Podcast"],"donors":["Andrew Nesbitt (https://nesbitt.io) (https://github.com/andrew)","Balsa <hello@balsa.com> (https://balsa.com) (https://github.com/balsa)","Chad (https://opencollective.com/chad8)","Codecov <hello-codecov@sentry.io> (https://codecov.io/) (https://github.com/codecov)","entroniq (https://gitlab.com/entroniq) (https://thanks.dev/d/gl/entroniq)","Jean-Luc Geering (https://github.com/jlgeering) (https://opencollective.com/jlgeering) (https://twitter.com/jlgeering)","Michael Duane Mooring (https://bevry.me) (https://github.com/mikeumus) (https://opencollective.com/mikeumus) (https://twitter.com/mikeumus)","Mohammed Shah <shah@idk.uno> (https://github.com/smashah) (https://thanks.dev/d/gh/smashah) (https://twitter.com/smashah)","Poonacha Medappa (https://poonachamedappa.com) (https://github.com/km-Poonacha)","Rob Morris <rob@prismatik.com.au> (https://github.com/Rob-Morris)","Sentry (https://sentry.io) (https://github.com/getsentry)","ServieJS (https://github.com/serviejs) (https://thanks.dev/d/gh/serviejs)","Skunk Team (https://skunk.team) (https://github.com/skunkteam)","Syntax <scott@syntax.fm> (https://syntax.fm) (https://github.com/syntaxfm)"],"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^11.11.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.6.0","projectz":"^4.0.0","valid-directory":"^4.7.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint","our:verify:coffeelint":"coffeelint ./source","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.6.0-next.1703677215.bc692639868ea8682e6fd8f3160126d9a66ddcde","readme":"<!-- TITLE/ -->\n\n# docmatter\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-discord\"><a href=\"https://discord.gg/nQuXddV7VP\" title=\"Join this project's community on Discord\"><img src=\"https://img.shields.io/discord/1147436445783560193?logo=discord&amp;label=discord\" alt=\"Discord server badge\" /></a></span>\n<span class=\"badge-twitch\"><a href=\"https://www.twitch.tv/balupton\" title=\"Join this project's community on Twitch\"><img src=\"https://img.shields.io/twitch/status/balupton?logo=twitch\" alt=\"Twitch community badge\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n## Install\n\n### [npm](https://npmjs.com \"npm is a package manager for javascript\")\n\n-   Install: `npm install --save docmatter`\n-   Import: `import * as pkg from ('docmatter')`\n-   Require: `const pkg = require('docmatter')`\n\n### [Editions](https://editions.bevry.me \"Editions are the best way to produce and consume packages you care about.\")\n\nThis package is published with the following editions:\n-   `docmatter/source/index.coffee` is [CoffeeScript](https://coffeescript.org \"CoffeeScript is a little language that compiles into JavaScript\") source code with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html \"Node/CJS Modules\") for modules\n-   `docmatter` aliases `docmatter/edition-esnext/index.js`\n-   `docmatter/edition-esnext/index.js` is [CoffeeScript](https://coffeescript.org \"CoffeeScript is a little language that compiles into JavaScript\") compiled for [Node.js](https://nodejs.org \"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\") 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html \"Node/CJS Modules\") for modules\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n## History\n\n[Discover the release history by heading on over to the `HISTORY.md` file.](https://github.com/bevry/docmatter/blob/HEAD/HISTORY.md#files)\n\n<!-- /HISTORY -->\n\n<!-- BACKERS/ -->\n\n## Backers\n\n### Code\n\n[Discover how to contribute via the `CONTRIBUTING.md` file.](https://github.com/bevry/docmatter/blob/HEAD/CONTRIBUTING.md#files)\n\n#### Authors\n\n-   [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.\n\n#### Maintainers\n\n-   [Benjamin Lupton](https://github.com/balupton) — Accelerating collaborative wisdom.\n\n#### Contributors\n\n-   [Benjamin Lupton](https://github.com/balupton) — [view contributions](https://github.com/bevry/docmatter/commits?author=balupton \"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\")\n\n### Finances\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n\n#### Sponsors\n\n-   [Andrew Nesbitt](https://nesbitt.io) — Software engineer and researcher\n-   [Balsa](https://balsa.com) — We're Balsa, and we're building tools for builders.\n-   [Codecov](https://codecov.io/) — Empower developers with tools to improve code quality and testing.\n-   [Poonacha Medappa](https://poonachamedappa.com)\n-   [Rob Morris](https://github.com/Rob-Morris)\n-   [Sentry](https://sentry.io) — Real-time crash reporting for your web apps, mobile apps, and games.\n-   [Syntax](https://syntax.fm) — Syntax Podcast\n\n#### Donors\n\n-   [Andrew Nesbitt](https://nesbitt.io)\n-   [Balsa](https://balsa.com)\n-   [Chad](https://opencollective.com/chad8)\n-   [Codecov](https://codecov.io/)\n-   [entroniq](https://gitlab.com/entroniq)\n-   [Jean-Luc Geering](https://github.com/jlgeering)\n-   [Michael Duane Mooring](https://bevry.me)\n-   [Mohammed Shah](https://github.com/smashah)\n-   [Poonacha Medappa](https://poonachamedappa.com)\n-   [Rob Morris](https://github.com/Rob-Morris)\n-   [Sentry](https://sentry.io)\n-   [ServieJS](https://github.com/serviejs)\n-   [Skunk Team](https://skunk.team)\n-   [Syntax](https://syntax.fm)\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n## License\n\nUnless stated otherwise all works are:\n\n-   Copyright &copy; [Benjamin Lupton](https://balupton.com)\n\nand licensed under:\n\n-   [Artistic License 2.0](http://spdx.org/licenses/Artistic-2.0.html)\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"bc692639868ea8682e6fd8f3160126d9a66ddcde","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-pU2KH7lDkST/Mjr0sDl8JQLSJ/itO2vuLve57mPEHdFplmzfYZWfqhPU196/wUKiAT9ktCKfpIB7vVKXIrSQ8A==","shasum":"c0d74b828101a6ceb148f599ac17ef980bce8d4a","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.6.0-next.1703677215.bc692639868ea8682e6fd8f3160126d9a66ddcde.tgz","fileCount":8,"unpackedSize":32187,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG4YVH5nnC/vQaL7J+50tvxmPAJTet6jpoKA0CV6SODsAiBFDqMxyViy69zVaoNeeSBmcKd25FuTZH4/40XT9JX7Iw=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.6.0-next.1703677215.bc692639868ea8682e6fd8f3160126d9a66ddcde_1703677216422_0.8852415465674504"},"_hasShrinkwrap":false},"4.7.0-next.1703844277.18e3f340cf0adccb5f01e6dcadbe7480284918ee":{"name":"docmatter","version":"4.7.0-next.1703844277.18e3f340cf0adccb5f01e6dcadbe7480284918ee","license":"Artistic-2.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","funding":"https://bevry.me/fund","repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","liberapay","buymeacoffee","opencollective","crypto","paypal","---","discord","twitch"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"bevry","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","discordServerID":"1147436445783560193","discordServerInvite":"nQuXddV7VP","twitchUsername":"balupton","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"author":{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"authors":["Benjamin Lupton <b@lupton.cc> (https://balupton.com) (https://github.com/balupton): Accelerating collaborative wisdom."],"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"}],"sponsors":["Andrew Nesbitt (https://nesbitt.io) (https://github.com/andrew): Software engineer and researcher","Balsa <hello@balsa.com> (https://balsa.com) (https://github.com/balsa): We're Balsa, and we're building tools for builders.","Codecov <hello-codecov@sentry.io> (https://codecov.io) (https://github.com/codecov): Empower developers with tools to improve code quality and testing.","Poonacha Medappa (https://poonachamedappa.com) (https://github.com/km-Poonacha)","Rob Morris <rob@prismatik.com.au> (https://github.com/Rob-Morris)","Sentry (https://sentry.io) (https://github.com/getsentry): Real-time crash reporting for your web apps, mobile apps, and games.","Syntax <scott@syntax.fm> (https://syntax.fm) (https://github.com/syntaxfm): Syntax Podcast"],"donors":["Andrew Nesbitt (https://nesbitt.io) (https://github.com/andrew)","Armen Mkrtchian (https://mogoni.dev) (https://github.com/Armenm)","Balsa <hello@balsa.com> (https://balsa.com) (https://github.com/balsa)","Chad (https://opencollective.com/chad8)","Codecov <hello-codecov@sentry.io> (https://codecov.io) (https://github.com/codecov)","dr.dimitru (https://veliovgroup.com) (https://github.com/dr-dimitru)","Elliott Ditman (https://elliottditman.com) (https://github.com/elliottditman)","entroniq (https://gitlab.com/entroniq) (https://thanks.dev/d/gl/entroniq)","GitHub (https://github.com/about) (https://github.com/github)","Hunter Beast (https://cryptoquick.com) (https://github.com/cryptoquick)","Jean-Luc Geering (https://github.com/jlgeering) (https://opencollective.com/jlgeering) (https://twitter.com/jlgeering)","Michael Duane Mooring (https://mdm.cc) (https://github.com/mikeumus) (https://opencollective.com/mikeumus) (https://twitter.com/mikeumus)","Michael Harry Scepaniak <mhs1.sys@gmail.com> (https://michaelscepaniak.com) (https://github.com/hispanic)","Mohammed Shah <shah@idk.uno> (https://github.com/smashah) (https://thanks.dev/d/gh/smashah) (https://twitter.com/smashah)","Mr. Henry <hello@mrhenry.be> (https://mrhenry.be) (https://github.com/mrhenry)","Nermal <nermalcat69@skiff.com> (https://arjunaditya.vercel.app) (https://github.com/nermalcat69)","Pleo (https://pleo.io) (https://github.com/pleo-io)","Poonacha Medappa (https://poonachamedappa.com) (https://github.com/km-Poonacha)","Rob Morris <rob@prismatik.com.au> (https://github.com/Rob-Morris)","Robert de Forest <guitar.robot@gmail.com> (https://github.com/rdeforest)","Sentry (https://sentry.io) (https://github.com/getsentry)","ServieJS (https://github.com/serviejs) (https://thanks.dev/d/gh/serviejs)","Skunk Team (https://skunk.team) (https://github.com/skunkteam)","Syntax <scott@syntax.fm> (https://syntax.fm) (https://github.com/syntaxfm)","WriterJohnBuck (https://github.com/WriterJohnBuck)"],"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^11.12.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.8.0","projectz":"^4.1.1","valid-directory":"^4.8.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz --offline","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint","our:verify:coffeelint":"coffeelint ./source","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.7.0-next.1703844277.18e3f340cf0adccb5f01e6dcadbe7480284918ee","readme":"<!-- TITLE/ -->\n\n# docmatter\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-discord\"><a href=\"https://discord.gg/nQuXddV7VP\" title=\"Join this project's community on Discord\"><img src=\"https://img.shields.io/discord/1147436445783560193?logo=discord&amp;label=discord\" alt=\"Discord server badge\" /></a></span>\n<span class=\"badge-twitch\"><a href=\"https://www.twitch.tv/balupton\" title=\"Join this project's community on Twitch\"><img src=\"https://img.shields.io/twitch/status/balupton?logo=twitch\" alt=\"Twitch community badge\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n## Install\n\n### [npm](https://npmjs.com \"npm is a package manager for javascript\")\n\n-   Install: `npm install --save docmatter`\n-   Import: `import * as pkg from ('docmatter')`\n-   Require: `const pkg = require('docmatter')`\n\n### [Editions](https://editions.bevry.me \"Editions are the best way to produce and consume packages you care about.\")\n\nThis package is published with the following editions:\n-   `docmatter/source/index.coffee` is [CoffeeScript](https://coffeescript.org \"CoffeeScript is a little language that compiles into JavaScript\") source code with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html \"Node/CJS Modules\") for modules\n-   `docmatter` aliases `docmatter/edition-esnext/index.js`\n-   `docmatter/edition-esnext/index.js` is [CoffeeScript](https://coffeescript.org \"CoffeeScript is a little language that compiles into JavaScript\") compiled for [Node.js](https://nodejs.org \"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\") 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html \"Node/CJS Modules\") for modules\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n## History\n\n[Discover the release history by heading on over to the `HISTORY.md` file.](https://github.com/bevry/docmatter/blob/HEAD/HISTORY.md#files)\n\n<!-- /HISTORY -->\n\n<!-- BACKERS/ -->\n\n## Backers\n\n### Code\n\n[Discover how to contribute via the `CONTRIBUTING.md` file.](https://github.com/bevry/docmatter/blob/HEAD/CONTRIBUTING.md#files)\n\n#### Authors\n\n-   [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.\n\n#### Maintainers\n\n-   [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.\n\n#### Contributors\n\n-   [Benjamin Lupton](https://github.com/balupton) — [view contributions](https://github.com/bevry/docmatter/commits?author=balupton \"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\")\n\n### Finances\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n\n#### Sponsors\n\n-   [Andrew Nesbitt](https://nesbitt.io) — Software engineer and researcher\n-   [Balsa](https://balsa.com) — We're Balsa, and we're building tools for builders.\n-   [Codecov](https://codecov.io) — Empower developers with tools to improve code quality and testing.\n-   [Poonacha Medappa](https://poonachamedappa.com)\n-   [Rob Morris](https://github.com/Rob-Morris)\n-   [Sentry](https://sentry.io) — Real-time crash reporting for your web apps, mobile apps, and games.\n-   [Syntax](https://syntax.fm) — Syntax Podcast\n\n#### Donors\n\n-   [Andrew Nesbitt](https://nesbitt.io)\n-   [Armen Mkrtchian](https://mogoni.dev)\n-   [Balsa](https://balsa.com)\n-   [Chad](https://opencollective.com/chad8)\n-   [Codecov](https://codecov.io)\n-   [dr.dimitru](https://veliovgroup.com)\n-   [Elliott Ditman](https://elliottditman.com)\n-   [entroniq](https://gitlab.com/entroniq)\n-   [GitHub](https://github.com/about)\n-   [Hunter Beast](https://cryptoquick.com)\n-   [Jean-Luc Geering](https://github.com/jlgeering)\n-   [Michael Duane Mooring](https://mdm.cc)\n-   [Michael Harry Scepaniak](https://michaelscepaniak.com)\n-   [Mohammed Shah](https://github.com/smashah)\n-   [Mr. Henry](https://mrhenry.be)\n-   [Nermal](https://arjunaditya.vercel.app)\n-   [Pleo](https://pleo.io)\n-   [Poonacha Medappa](https://poonachamedappa.com)\n-   [Rob Morris](https://github.com/Rob-Morris)\n-   [Robert de Forest](https://github.com/rdeforest)\n-   [Sentry](https://sentry.io)\n-   [ServieJS](https://github.com/serviejs)\n-   [Skunk Team](https://skunk.team)\n-   [Syntax](https://syntax.fm)\n-   [WriterJohnBuck](https://github.com/WriterJohnBuck)\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n## License\n\nUnless stated otherwise all works are:\n\n-   Copyright &copy; [Benjamin Lupton](https://balupton.com)\n\nand licensed under:\n\n-   [Artistic License 2.0](http://spdx.org/licenses/Artistic-2.0.html)\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","gitHead":"18e3f340cf0adccb5f01e6dcadbe7480284918ee","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-N/te3LX5fypqBH9/S8pD2v0uk5B1KBrqzT9ew8F0bREG2f1YPzafMpYkgQYaBBEsUp/zsU8H96vbElJhYV5yuw==","shasum":"4228b9199a4f9f8943e241c1c159aefe033a34b8","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.7.0-next.1703844277.18e3f340cf0adccb5f01e6dcadbe7480284918ee.tgz","fileCount":8,"unpackedSize":33562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFPOavqohRhZB7EJQfOqT/EZNMjygNZHAhKj55BfG320AiAVgvaZDLTqvbhaCpABnR+Z9KPX7AaIUD0OcrL8+mCuIg=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.7.0-next.1703844277.18e3f340cf0adccb5f01e6dcadbe7480284918ee_1703844333500_0.8792741436776028"},"_hasShrinkwrap":false},"4.7.0":{"name":"docmatter","version":"4.7.0","license":"Artistic-2.0","description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","funding":"https://bevry.me/fund","repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"badges":{"list":["githubworkflow","npmversion","npmdownloads","---","githubsponsors","thanksdev","patreon","liberapay","buymeacoffee","opencollective","crypto","paypal","---","discord","twitch"],"config":{"githubWorkflow":"bevry","githubSponsorsUsername":"balupton","thanksdevGithubUsername":"bevry","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","discordServerID":"1147436445783560193","discordServerInvite":"nQuXddV7VP","twitchUsername":"balupton","githubUsername":"bevry","githubRepository":"docmatter","githubSlug":"bevry/docmatter","npmPackageName":"docmatter"}},"author":{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"authors":["Benjamin Lupton <b@lupton.cc> (https://balupton.com) (https://github.com/balupton): Accelerating collaborative wisdom."],"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"}],"sponsors":["Andrew Nesbitt (https://nesbitt.io) (https://github.com/andrew): Software engineer and researcher","Balsa <hello@balsa.com> (https://balsa.com) (https://github.com/balsa): We're Balsa, and we're building tools for builders.","Codecov <hello-codecov@sentry.io> (https://codecov.io) (https://github.com/codecov): Empower developers with tools to improve code quality and testing.","Poonacha Medappa (https://poonachamedappa.com) (https://github.com/km-Poonacha)","Rob Morris <rob@prismatik.com.au> (https://github.com/Rob-Morris)","Sentry (https://sentry.io) (https://github.com/getsentry): Real-time crash reporting for your web apps, mobile apps, and games.","Syntax <scott@syntax.fm> (https://syntax.fm) (https://github.com/syntaxfm): Syntax Podcast"],"donors":["Andrew Nesbitt (https://nesbitt.io) (https://github.com/andrew)","Armen Mkrtchian (https://mogoni.dev) (https://github.com/Armenm)","Balsa <hello@balsa.com> (https://balsa.com) (https://github.com/balsa)","Chad (https://opencollective.com/chad8)","Codecov <hello-codecov@sentry.io> (https://codecov.io) (https://github.com/codecov)","dr.dimitru (https://veliovgroup.com) (https://github.com/dr-dimitru)","Elliott Ditman (https://elliottditman.com) (https://github.com/elliottditman)","entroniq (https://gitlab.com/entroniq) (https://thanks.dev/d/gl/entroniq)","GitHub (https://github.com/about) (https://github.com/github)","Hunter Beast (https://cryptoquick.com) (https://github.com/cryptoquick)","Jean-Luc Geering (https://github.com/jlgeering) (https://opencollective.com/jlgeering) (https://twitter.com/jlgeering)","Michael Duane Mooring (https://mdm.cc) (https://github.com/mikeumus) (https://opencollective.com/mikeumus) (https://twitter.com/mikeumus)","Michael Harry Scepaniak <mhs1.sys@gmail.com> (https://michaelscepaniak.com) (https://github.com/hispanic)","Mohammed Shah <shah@idk.uno> (https://github.com/smashah) (https://thanks.dev/d/gh/smashah) (https://twitter.com/smashah)","Mr. Henry <hello@mrhenry.be> (https://mrhenry.be) (https://github.com/mrhenry)","Nermal <nermalcat69@skiff.com> (https://arjunaditya.vercel.app) (https://github.com/nermalcat69)","Pleo (https://pleo.io) (https://github.com/pleo-io)","Poonacha Medappa (https://poonachamedappa.com) (https://github.com/km-Poonacha)","Rob Morris <rob@prismatik.com.au> (https://github.com/Rob-Morris)","Robert de Forest <guitar.robot@gmail.com> (https://github.com/rdeforest)","Sentry (https://sentry.io) (https://github.com/getsentry)","ServieJS (https://github.com/serviejs) (https://thanks.dev/d/gh/serviejs)","Skunk Team (https://skunk.team) (https://github.com/skunkteam)","Syntax <scott@syntax.fm> (https://syntax.fm) (https://github.com/syntaxfm)","WriterJohnBuck (https://github.com/WriterJohnBuck)"],"engines":{"node":">=6"},"editions":[{"description":"CoffeeScript source code with Require for modules","directory":"source","entry":"index.coffee","tags":["source","coffeescript","require"],"engines":false},{"description":"CoffeeScript compiled for Node.js 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules","directory":"edition-esnext","entry":"index.js","tags":["compiled","javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21"}}],"type":"commonjs","main":"edition-esnext/index.js","devDependencies":{"assert-helpers":"^11.12.0","coffeelint":"^2.1.0","coffeescript":"^2.7.0","kava":"^7.8.0","projectz":"^4.1.1","valid-directory":"^4.8.0","yamljs":"^0.3.0"},"scripts":{"our:clean":"rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-esnext","our:compile:edition-esnext":"coffee -bco ./edition-esnext ./source && printf '%s' '{\"type\": \"commonjs\"}' > edition-esnext/package.json","our:deploy":"printf '%s\n' 'no need for this project'","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz --offline","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (printf '%s\n' 'proper changelog entry not found' && exit -1) && git tag \"v$npm_package_version\" -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:coffeelint","our:verify:coffeelint":"coffeelint ./source","test":"node ./edition-esnext/test.js"},"_id":"docmatter@4.7.0","gitHead":"18e3f340cf0adccb5f01e6dcadbe7480284918ee","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-98knY8AsR0POvI+PlDbOy1An2OX1onV+oy9Q0Z4Tzb/qTr3voFyDLuGjiidnvbjFAx8VHMtz3n3KFIyWPLF4QA==","shasum":"f97d7ef6f6a0f55f93eb9b2ef62f8cfe34988d93","tarball":"https://registry.npmjs.org/docmatter/-/docmatter-4.7.0.tgz","fileCount":8,"unpackedSize":33505,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD91lmG4nM4CeM0DSCNrKdSaODRs9yXiR+S/waOqQpZ5QIhANx4AGplhn2Vqe2cLJK8hAMwL0vLEU31i4qbjors3Soo"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/docmatter_4.7.0_1703844377858_0.24061662537041628"},"_hasShrinkwrap":false}},"time":{"created":"2018-06-10T06:12:33.344Z","1.0.0":"2018-06-10T06:12:33.437Z","modified":"2023-12-29T10:06:18.210Z","1.1.0":"2019-01-01T08:17:40.830Z","1.2.0-next.1573623534.d5113f6ab0b32255af655666de3e8e6c9905d280":"2019-11-13T05:38:56.637Z","1.2.0":"2019-11-13T05:40:49.059Z","1.2.0-next.1573631080.3e120ac49515443cd0e614474b3b6b339b7b510e":"2019-11-13T07:44:42.703Z","1.2.0-next.1573737990.af5d60195609b3a8900eca750b20c1622d64fef4":"2019-11-14T13:26:32.664Z","2.0.0-next.1574045430.a4bba915a1a440e4e04b04d5f6edcf5992a31985":"2019-11-18T02:50:31.819Z","2.0.0":"2019-11-18T02:51:38.729Z","2.1.0-next.1574046334.f7a7859000e7883ec31b5e129cd2dc364e1e4c00":"2019-11-18T03:05:35.635Z","2.1.0":"2019-11-18T03:06:33.635Z","2.1.0-next.1574628514.d41c3a59a4efb2c4d1968144e1a560a60ebe9c11":"2019-11-24T20:48:36.051Z","2.1.0-next.1574650234.8e293103de06e10abe2b4d0c7a6d94d956a8128b":"2019-11-25T02:50:36.162Z","2.2.0-next.1575138893.a98f04b03d65accc44db7f754a6318f818cdb8ae":"2019-11-30T18:34:54.918Z","2.2.0":"2019-11-30T18:35:57.174Z","2.3.0-next.1575145624.98869fdc2b61d1c04663cb6bed084705278c40ba":"2019-11-30T20:27:05.471Z","2.3.0":"2019-11-30T20:28:12.346Z","2.4.0-next.1575169329.565cf079386a943a57b50190e32efd7031dc4cc3":"2019-12-01T03:02:10.941Z","2.4.0":"2019-12-01T03:03:09.803Z","2.5.0":"2019-12-09T08:06:36.834Z","2.5.0-next.1575878849.f7fdd09d80374f072229ea7501ed5603ba650507":"2019-12-09T08:07:31.577Z","2.5.0-next.1585175411.598c51a57863e2c135fc1725f5fafd9799427a5c":"2020-03-25T22:30:12.780Z","3.0.0-next.1585175555.5f300a4a15c659e530c4192ba37000e51c9fb352":"2020-03-25T22:32:36.645Z","3.0.0":"2020-03-25T22:32:58.087Z","3.1.0-next.1588595629.c0c1dfe38fc2cae59b84f4f558a94cc2ad09a940":"2020-05-04T12:33:50.539Z","3.1.0":"2020-05-04T12:34:46.999Z","3.2.0-next.1589250034.f937b82699ef15ae1dd3e73714afffb278eabc40":"2020-05-12T02:20:35.566Z","3.2.0":"2020-05-12T02:21:32.656Z","3.3.0-next.1590035077.57aa43c004aa4b337575824b64c17b52f1f91a68":"2020-05-21T04:24:39.464Z","3.3.0":"2020-05-21T04:25:44.961Z","3.4.0-next.1590071915.096bf5f7a330b8050d1195dbcf9e06d4da519a3d":"2020-05-21T14:38:36.702Z","3.4.0":"2020-05-21T14:39:32.423Z","3.5.0-next.1591775943.32201cd951c70708b4859692cc25f662f72cafeb":"2020-06-10T07:59:05.130Z","3.5.0":"2020-06-10T07:59:40.360Z","3.6.0-next.1591793139.057cdcd17f84aeda2dda70ff0cf33f9de66022f8":"2020-06-10T12:45:40.701Z","3.6.0":"2020-06-10T12:46:41.455Z","3.7.0-next.1592601744.d58cf688c2377d19b71fca20de37e897cfbda4e2":"2020-06-19T21:22:25.454Z","3.7.0":"2020-06-19T21:23:31.072Z","3.8.0-next.1592606484.f9b2303d6d1b2e0fae8cb7da9318cf4e2eeba764":"2020-06-19T22:41:25.683Z","3.8.0":"2020-06-19T22:42:32.815Z","3.9.0-next.1592690219.849b01a30d553a38d881e01a43d36eaebe13fa34":"2020-06-20T21:57:00.793Z","3.10.0-next.1592738180.0c282b2c5681b77f09b4a3915c070c70f990bc06":"2020-06-21T11:16:22.312Z","3.10.0":"2020-06-21T11:17:18.272Z","3.11.0-next.1593051731.db01c0d6ab095c46f1c22c6db27428650bac6c16":"2020-06-25T02:22:12.514Z","3.11.0":"2020-06-25T02:23:05.160Z","3.12.0-next.1593747289.9c5c39a8854f92b0f2e1a9f228db4d4e7fd7eda5":"2020-07-03T03:34:51.513Z","3.12.0":"2020-07-03T03:35:40.298Z","3.13.0-next.1593752525.80a2eabda638fcab6de9ec09ffe2b8b4981db99c":"2020-07-03T05:02:06.700Z","3.13.0":"2020-07-03T05:02:45.567Z","3.14.0-next.1595343611.0cefef16133ae8fd27d7f051914b482e5ff848df":"2020-07-21T15:00:13.123Z","3.14.0":"2020-07-21T15:01:02.604Z","3.15.0-next.1595352039.4c4fd24a25d8716ef6431da28b062f9ca28ffeb4":"2020-07-21T17:20:40.695Z","3.15.0":"2020-07-21T17:21:35.914Z","3.16.0-next.1596513104.994835df11b87557b009f950d112f710f3b537b9":"2020-08-04T03:51:45.756Z","3.16.0":"2020-08-04T03:52:48.974Z","3.17.0-next.1597693332.67333e62e2eb0560737570aab612383c38061fc2":"2020-08-17T19:42:13.551Z","3.17.0":"2020-08-17T19:43:04.251Z","3.18.0":"2020-09-04T09:07:13.185Z","3.18.0-next.1599210445.9bdd224b0a732c184d90a6cf8aa7e36e071b6f68":"2020-09-04T09:07:26.974Z","3.18.0-next.1599392844.5466f1adf9a47bcf9765d9adee694b78202cf308":"2020-09-06T11:47:26.421Z","3.18.0-next.1599398745.733daa79693e91f5114674763c1eba04eece9524":"2020-09-06T13:25:47.594Z","3.19.0-next.1603927619.f7b3f1bbae9ebcddf9a5228515652776c128f500":"2020-10-28T23:27:00.531Z","3.19.0":"2020-10-28T23:27:53.476Z","3.19.0-next.1604239825.3b184813fe097953e1a023143ca4e139867c5d03":"2020-11-01T14:10:27.457Z","3.20.0-next.1627421138.389c34b229d76bf6305f00d966cf568c9534cdd3":"2021-07-27T21:25:40.255Z","3.20.0":"2021-07-27T21:26:34.569Z","3.21.0-next.1627498562.9b29393a4ca724e23e41e580d7d9d4c406051722":"2021-07-28T18:56:04.397Z","3.21.0":"2021-07-28T18:56:27.894Z","3.22.0-next.1627591300.36f08640d8545dfcae6435d23e70576f05687450":"2021-07-29T20:41:41.850Z","3.22.0":"2021-07-29T20:45:02.457Z","3.23.0-next.1698771905.b4a35bbfde890b8ead1f72499921377e1d79785a":"2023-10-31T17:05:07.980Z","3.23.0":"2023-10-31T17:05:59.457Z","4.0.0-next.1699885751.1237bc573d03fa4354c44695db5d443bd94371c0":"2023-11-13T14:29:12.711Z","4.0.0":"2023-11-13T14:29:17.071Z","4.1.0-next.1699971255.6df09230bcd11b45b7b572dba1fb2d9cf49849a0":"2023-11-14T14:14:16.606Z","4.1.0":"2023-11-14T14:14:22.038Z","4.2.0-next.1699988010.63f3ef9c89a98a7bf87f3fac7a63fa5f64e9ec64":"2023-11-14T18:53:31.695Z","4.2.0":"2023-11-14T18:53:37.226Z","4.3.0-next.1700553553.bec792f4e3f198ea8245e8cd3262a6ea50527ec6":"2023-11-21T07:59:15.056Z","4.3.0":"2023-11-21T07:59:42.740Z","4.4.0-next.1700835930.75ef2234984791bf7f3052f98c74ec1c67f138ee":"2023-11-24T14:25:32.143Z","4.4.0":"2023-11-24T14:25:39.137Z","4.5.0-next.1701804448.fee62e804c2d23853edeaa52448bcf3224a99430":"2023-12-05T19:27:30.150Z","4.5.0":"2023-12-05T19:27:52.910Z","4.6.0-next.1703677215.bc692639868ea8682e6fd8f3160126d9a66ddcde":"2023-12-27T11:40:16.619Z","4.7.0-next.1703844277.18e3f340cf0adccb5f01e6dcadbe7480284918ee":"2023-12-29T10:05:33.690Z","4.7.0":"2023-12-29T10:06:18.026Z"},"maintainers":[{"name":"bevryme","email":"us@bevry.me"}],"description":"Battle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cso","homepage":"https://github.com/bevry/docmatter","keywords":["coffeescript","data","esnext","extract","extracting","front","front-matter","frontmatter","generator","matter","meta","meta-data","metadata","node","ssg","static-site-generator","template"],"repository":{"type":"git","url":"git+https://github.com/bevry/docmatter.git"},"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"}],"author":{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},"bugs":{"url":"https://github.com/bevry/docmatter/issues"},"license":"Artistic-2.0","readme":"<!-- TITLE/ -->\n\n# docmatter\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-githubworkflow\"><a href=\"https://github.com/bevry/docmatter/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"><img src=\"https://github.com/bevry/docmatter/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/docmatter.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/docmatter\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/docmatter.svg\" alt=\"NPM downloads\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-discord\"><a href=\"https://discord.gg/nQuXddV7VP\" title=\"Join this project's community on Discord\"><img src=\"https://img.shields.io/discord/1147436445783560193?logo=discord&amp;label=discord\" alt=\"Discord server badge\" /></a></span>\n<span class=\"badge-twitch\"><a href=\"https://www.twitch.tv/balupton\" title=\"Join this project's community on Twitch\"><img src=\"https://img.shields.io/twitch/status/balupton?logo=twitch\" alt=\"Twitch community badge\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nBattle tested SSG front matter parser. Extracted from DocPad. Delimiter lines have 3+ of the same character (such as `/***` and `***/`) allowing front matters to work with the syntax highlighting of your code editor. Supports custom parsers, e.g. `--- cson`. Parsers are handled externally.\n\n<!-- /DESCRIPTION -->\n\n\n## Usage\n\ndocmatter is designed to be functional yet minimal, default parser as well as parsing of the headers are handled by you\n\n``` js\nconst docmatter = require('docmatter')\nconst yamljs = require('yamljs')\n\nfunction parse (input) {\n    const matter = docmatter(input)\n\n    // if no front matter: {content}\n    if (!matter.header) return { content: matter.content.trim() }\n\n    // if front matter: {delimiter, parser, header, body, content}\n    let data = null\n    switch (matter.parser) {\n        case 'json':\n            if (matter.header[0] === '{' && matter.header[matter.header.length - 1] === '}') {\n                data = JSON.parse(matter.header)\n            }\n            else {\n                data = JSON.parse(`{${matter.header}}`)\n            }\n            break;\n\n\n        case 'yaml':\n        default:\n            data = yamljs.parse(\n                matter.header.replace(/\\t/g, '    ')  // YAML doesn't support tabs that well\n            )\n            break;\n    }\n    return { data, content: matter.body.trim() }\n}\n\n\n// no content and only front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n`))\n// => { data: { title: 'Hello World' }, content: '' }\n\n\n// markdown content with default front matter\nconsole.log(parse(`\n---\ntitle: Hello World\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with json front matter\nconsole.log(parse(`\n--- json\n\"title\": \"Hello World\"\n---\n\n**hello world**\n`))\n// => { data: { title: 'Hello World' }, content: '**hello world**' }\n\n\n// markdown content with no front matter\nconsole.log(parse(`\n**hello world**\n`))\n// => { content: '**hello world**' }\n\n\n// javascript content with default front matter\nconsole.log(parse(`\n/***\nminify: true\n***/\n\nalert('Hello World')\n`))\n// => { data: { minify: true }, content: 'alert(\\'Hello World\\')' }\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- INSTALL/ -->\n\n## Install\n\n### [npm](https://npmjs.com \"npm is a package manager for javascript\")\n\n-   Install: `npm install --save docmatter`\n-   Import: `import * as pkg from ('docmatter')`\n-   Require: `const pkg = require('docmatter')`\n\n### [Editions](https://editions.bevry.me \"Editions are the best way to produce and consume packages you care about.\")\n\nThis package is published with the following editions:\n-   `docmatter/source/index.coffee` is [CoffeeScript](https://coffeescript.org \"CoffeeScript is a little language that compiles into JavaScript\") source code with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html \"Node/CJS Modules\") for modules\n-   `docmatter` aliases `docmatter/edition-esnext/index.js`\n-   `docmatter/edition-esnext/index.js` is [CoffeeScript](https://coffeescript.org \"CoffeeScript is a little language that compiles into JavaScript\") compiled for [Node.js](https://nodejs.org \"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\") 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html \"Node/CJS Modules\") for modules\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n## History\n\n[Discover the release history by heading on over to the `HISTORY.md` file.](https://github.com/bevry/docmatter/blob/HEAD/HISTORY.md#files)\n\n<!-- /HISTORY -->\n\n<!-- BACKERS/ -->\n\n## Backers\n\n### Code\n\n[Discover how to contribute via the `CONTRIBUTING.md` file.](https://github.com/bevry/docmatter/blob/HEAD/CONTRIBUTING.md#files)\n\n#### Authors\n\n-   [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.\n\n#### Maintainers\n\n-   [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.\n\n#### Contributors\n\n-   [Benjamin Lupton](https://github.com/balupton) — [view contributions](https://github.com/bevry/docmatter/commits?author=balupton \"View the GitHub contributions of Benjamin Lupton on repository bevry/docmatter\")\n\n### Finances\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-thanksdev\"><a href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"><img src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n\n#### Sponsors\n\n-   [Andrew Nesbitt](https://nesbitt.io) — Software engineer and researcher\n-   [Balsa](https://balsa.com) — We're Balsa, and we're building tools for builders.\n-   [Codecov](https://codecov.io) — Empower developers with tools to improve code quality and testing.\n-   [Poonacha Medappa](https://poonachamedappa.com)\n-   [Rob Morris](https://github.com/Rob-Morris)\n-   [Sentry](https://sentry.io) — Real-time crash reporting for your web apps, mobile apps, and games.\n-   [Syntax](https://syntax.fm) — Syntax Podcast\n\n#### Donors\n\n-   [Andrew Nesbitt](https://nesbitt.io)\n-   [Armen Mkrtchian](https://mogoni.dev)\n-   [Balsa](https://balsa.com)\n-   [Chad](https://opencollective.com/chad8)\n-   [Codecov](https://codecov.io)\n-   [dr.dimitru](https://veliovgroup.com)\n-   [Elliott Ditman](https://elliottditman.com)\n-   [entroniq](https://gitlab.com/entroniq)\n-   [GitHub](https://github.com/about)\n-   [Hunter Beast](https://cryptoquick.com)\n-   [Jean-Luc Geering](https://github.com/jlgeering)\n-   [Michael Duane Mooring](https://mdm.cc)\n-   [Michael Harry Scepaniak](https://michaelscepaniak.com)\n-   [Mohammed Shah](https://github.com/smashah)\n-   [Mr. Henry](https://mrhenry.be)\n-   [Nermal](https://arjunaditya.vercel.app)\n-   [Pleo](https://pleo.io)\n-   [Poonacha Medappa](https://poonachamedappa.com)\n-   [Rob Morris](https://github.com/Rob-Morris)\n-   [Robert de Forest](https://github.com/rdeforest)\n-   [Sentry](https://sentry.io)\n-   [ServieJS](https://github.com/serviejs)\n-   [Skunk Team](https://skunk.team)\n-   [Syntax](https://syntax.fm)\n-   [WriterJohnBuck](https://github.com/WriterJohnBuck)\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n## License\n\nUnless stated otherwise all works are:\n\n-   Copyright &copy; [Benjamin Lupton](https://balupton.com)\n\nand licensed under:\n\n-   [Artistic License 2.0](http://spdx.org/licenses/Artistic-2.0.html)\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md"}