{"_id":"@11ty/gray-matter","_rev":"6-f5b24ce884bf0a9c1d87d1906346b50b","name":"@11ty/gray-matter","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@11ty/gray-matter","version":"1.0.0","keywords":["assemble","data","docs","documentation","extract","extracting","front","front-matter","frontmatter","generate","generator","gh-pages","gray","javascript","jekyll","js","JSON","markdown","matter","parse","parser","parsing","site","static","template","toml","yaml","yfm"],"author":{"url":"https://github.com/jonschlinkert","name":"Jon Schlinkert"},"license":"MIT","_id":"@11ty/gray-matter@1.0.0","maintainers":[{"name":"zachleat","email":"zachleatherman@gmail.com"},{"name":"fortawesome-admin","email":"admin@fortawesome.com"}],"contributors":[{"url":"https://github.com/Ajedi32","name":"Andrew Meyer"},{"url":"https://twitter.com/doowb","name":"Brian Woodward"},{"url":"https://caesarschinas.com","name":"Caesar Schinas"},{"url":"http://ianstormtaylor.com","name":"Ian Storm Taylor"},{"url":"http://twitter.com/jonschlinkert","name":"Jon Schlinkert"},{"url":"http://onokumus.com","name":"Osman Nuri Okumuş"},{"url":"http://blog.3d-logic.com","name":"Pawel Kadluczka"},{"url":"http://robloach.net","name":"Rob Loach"},{"url":"https://github.com/heymind"},{"url":"http://zachwhaleys.website","name":"Zach Whaley"},{"url":"https://zachleat.com","name":"Zach Leatherman"}],"homepage":"https://github.com/11ty/gray-matter","bugs":{"url":"https://github.com/11ty/gray-matter/issues"},"dist":{"shasum":"35ee04d76b870893c053f64f659c923a7a9db2d7","tarball":"https://registry.npmjs.org/@11ty/gray-matter/-/gray-matter-1.0.0.tgz","fileCount":13,"integrity":"sha512-7mJJl+wf1AByoT0PknQiQfOPnVNT4fevGrUBVWO4HXsnYn1aQPyRyrELYrNUFleUBM++KzMKN6QaxHPk0t/6/g==","signatures":[{"sig":"MEYCIQDIPRmw2rg+zQ43F0RoLwcIdMfzKhdVljWu4M8QPWUdPwIhAK4OtSwVhoz0sylVazXaKdJE5tev9GMK+Dre/VHytkTo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35878},"main":"index.js","verb":{"toc":false,"lint":{"reflinks":true},"tasks":["readme"],"layout":"default","helpers":{"examples":"./examples/helper.js"},"plugins":["gulp-format-md"],"related":{"list":["assemble","metalsmith","verb"]},"reflinks":["generate","js-yaml","toml","update"]},"browser":{"fs":false},"engines":{"node":">=11"},"gitHead":"8f27c6a236ad8bfce1d1b095cdc9bb07aa48175f","scripts":{"test":"mocha"},"typings":"gray-matter.d.ts","_npmUser":{"name":"zachleat","email":"zachleatherman@gmail.com"},"repository":{"url":"git+https://github.com/11ty/gray-matter.git","type":"git"},"_npmVersion":"11.2.0","description":"Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, TOML Front-Matter, with options to set custom delimiters. Used by metalsmith, assemble, verb and many other","directories":{},"_nodeVersion":"22.13.1","dependencies":{"js-yaml":"^4.1.0","kind-of":"^6.0.3","section-matter":"^1.0.0","strip-bom-string":"^1.0.0"},"eslintConfig":{"rules":{"no-console":0}},"_hasShrinkwrap":false,"devDependencies":{"toml":"^2.3.6","mocha":"^10.8.2","vinyl":"^2.2.1","write":"^1.0.3","minimist":"^1.2.8","ansi-green":"^0.1.1","benchmarked":"^2.0.0","front-matter":"^2.3.0","extend-shallow":"^3.0.2","gulp-format-md":"^2.0.0","delimiter-regex":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gray-matter_1.0.0_1747062607479_0.19166370206226646","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@11ty/gray-matter","version":"2.0.0","keywords":["assemble","data","docs","documentation","extract","extracting","front","front-matter","frontmatter","generate","generator","gh-pages","gray","javascript","jekyll","js","JSON","markdown","matter","parse","parser","parsing","site","static","template","toml","yaml","yfm"],"author":{"url":"https://github.com/jonschlinkert","name":"Jon Schlinkert"},"license":"MIT","_id":"@11ty/gray-matter@2.0.0","maintainers":[{"name":"zachleat","email":"zachleatherman@gmail.com"},{"name":"fortawesome-admin","email":"admin@fortawesome.com"}],"contributors":[{"url":"https://github.com/Ajedi32","name":"Andrew Meyer"},{"url":"https://twitter.com/doowb","name":"Brian Woodward"},{"url":"https://caesarschinas.com","name":"Caesar Schinas"},{"url":"http://ianstormtaylor.com","name":"Ian Storm Taylor"},{"url":"http://twitter.com/jonschlinkert","name":"Jon Schlinkert"},{"url":"http://onokumus.com","name":"Osman Nuri Okumuş"},{"url":"http://blog.3d-logic.com","name":"Pawel Kadluczka"},{"url":"http://robloach.net","name":"Rob Loach"},{"url":"https://github.com/heymind"},{"url":"http://zachwhaleys.website","name":"Zach Whaley"},{"url":"https://zachleat.com","name":"Zach Leatherman"}],"homepage":"https://github.com/11ty/gray-matter","bugs":{"url":"https://github.com/11ty/gray-matter/issues"},"dist":{"shasum":"a443dddaa5abe5ab024ad8cd9f79a2ffc53cbe88","tarball":"https://registry.npmjs.org/@11ty/gray-matter/-/gray-matter-2.0.0.tgz","fileCount":13,"integrity":"sha512-/SYlaidm5alB6/HMnFTLj7NEskdi0NDr05gl5mfcqLjfUWOy1GZ+ZA/3ZbLqnjToPie666Us6sZhScJ0pCt7JQ==","signatures":[{"sig":"MEYCIQC0LboNNRi7R5zGe79SKmfRzzOs+M41FWRNYDIP0fhJWAIhAKZ01DQ41geGRLGPqtjAelldVqoIkuuvEQ1c3C1MTPh8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35753},"main":"index.js","verb":{"toc":false,"lint":{"reflinks":true},"tasks":["readme"],"layout":"default","helpers":{"examples":"./examples/helper.js"},"plugins":["gulp-format-md"],"related":{"list":["assemble","metalsmith","verb"]},"reflinks":["generate","js-yaml","toml","update"]},"browser":{"fs":false},"engines":{"node":">=11"},"gitHead":"e72ea588697029a9a6746c81196119bdaf51566c","scripts":{"test":"mocha"},"typings":"gray-matter.d.ts","_npmUser":{"name":"zachleat","actor":{"name":"zachleat","type":"user","email":"zachleatherman@gmail.com"},"email":"zachleatherman@gmail.com"},"repository":{"url":"git+https://github.com/11ty/gray-matter.git","type":"git"},"_npmVersion":"11.2.0","description":"Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, TOML Front-Matter, with options to set custom delimiters. Used by metalsmith, assemble, verb and many other","directories":{},"_nodeVersion":"22.14.0","dependencies":{"js-yaml":"^4.1.0","kind-of":"^6.0.3","section-matter":"^1.0.0","strip-bom-string":"^1.0.0"},"eslintConfig":{"rules":{"no-console":0}},"_hasShrinkwrap":false,"devDependencies":{"toml":"^2.3.6","mocha":"^10.8.2","vinyl":"^2.2.1","write":"^1.0.3","minimist":"^1.2.8","ansi-green":"^0.1.1","benchmarked":"^2.0.0","front-matter":"^2.3.0","extend-shallow":"^3.0.2","gulp-format-md":"^2.0.0","delimiter-regex":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gray-matter_2.0.0_1751482221483_0.4236428545430728","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@11ty/gray-matter","version":"2.0.1","keywords":["assemble","data","docs","documentation","extract","extracting","front","front-matter","frontmatter","generate","generator","gh-pages","gray","javascript","jekyll","js","JSON","markdown","matter","parse","parser","parsing","site","static","template","toml","yaml","yfm"],"author":{"url":"https://github.com/jonschlinkert","name":"Jon Schlinkert"},"license":"MIT","_id":"@11ty/gray-matter@2.0.1","maintainers":[{"name":"zachleat","email":"zachleatherman@gmail.com"},{"name":"fortawesome-admin","email":"admin@fortawesome.com"}],"contributors":[{"url":"https://github.com/Ajedi32","name":"Andrew Meyer"},{"url":"https://twitter.com/doowb","name":"Brian Woodward"},{"url":"https://caesarschinas.com","name":"Caesar Schinas"},{"url":"http://ianstormtaylor.com","name":"Ian Storm Taylor"},{"url":"http://twitter.com/jonschlinkert","name":"Jon Schlinkert"},{"url":"http://onokumus.com","name":"Osman Nuri Okumuş"},{"url":"http://blog.3d-logic.com","name":"Pawel Kadluczka"},{"url":"http://robloach.net","name":"Rob Loach"},{"url":"https://github.com/heymind"},{"url":"http://zachwhaleys.website","name":"Zach Whaley"},{"url":"https://zachleat.com","name":"Zach Leatherman"}],"homepage":"https://github.com/11ty/gray-matter","bugs":{"url":"https://github.com/11ty/gray-matter/issues"},"dist":{"shasum":"411b0583e049d2cc85fa7ea03b77c05fb08ddd95","tarball":"https://registry.npmjs.org/@11ty/gray-matter/-/gray-matter-2.0.1.tgz","fileCount":13,"integrity":"sha512-IJtfwNC6pX4lV1PXqf25Tnqlp5wFAg7MyuSzqQ9vWoRJsnRggc+yuOQUT3GiedEhGGu8d19n51LzLlRbMPPYZQ==","signatures":[{"sig":"MEYCIQDcUxMqFOY8f9TCAw9uYdmq0knbtJ1/R0gaRHtXyANkyAIhAP9+Dzi7sNwioGd9SjTPYc6Y2E/XqtsNypY8+mUJboXX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35783},"main":"index.js","verb":{"toc":false,"lint":{"reflinks":true},"tasks":["readme"],"layout":"default","helpers":{"examples":"./examples/helper.js"},"plugins":["gulp-format-md"],"related":{"list":["assemble","metalsmith","verb"]},"reflinks":["generate","js-yaml","toml","update"]},"browser":{"fs":false},"engines":{"node":">=11"},"gitHead":"5681d92ec29706311d6fd087163da5522cdcf57d","scripts":{"test":"mocha"},"typings":"gray-matter.d.ts","_npmUser":{"name":"zachleat","email":"zachleatherman@gmail.com"},"repository":{"url":"git+https://github.com/11ty/gray-matter.git","type":"git"},"_npmVersion":"11.6.2","description":"Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, TOML Front-Matter, with options to set custom delimiters. Used by metalsmith, assemble, verb and many other","directories":{},"_nodeVersion":"24.11.1","dependencies":{"js-yaml":"^4.1.1","kind-of":"^6.0.3","section-matter":"^1.0.0","strip-bom-string":"^1.0.0"},"eslintConfig":{"rules":{"no-console":0}},"_hasShrinkwrap":false,"devDependencies":{"toml":"^2.3.6","mocha":"^10.8.2","vinyl":"^2.2.1","write":"^1.0.3","minimist":"^1.2.8","ansi-green":"^0.1.1","benchmarked":"^2.0.0","front-matter":"^2.3.0","extend-shallow":"^3.0.2","gulp-format-md":"^2.0.0","delimiter-regex":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gray-matter_2.0.1_1763140258615_0.19220881122785682","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@11ty/gray-matter","version":"2.0.2","keywords":["assemble","data","docs","documentation","extract","extracting","front","front-matter","frontmatter","generate","generator","gh-pages","gray","javascript","jekyll","js","JSON","markdown","matter","parse","parser","parsing","site","static","template","toml","yaml","yfm"],"author":{"url":"https://github.com/jonschlinkert","name":"Jon Schlinkert"},"license":"MIT","_id":"@11ty/gray-matter@2.0.2","maintainers":[{"name":"zachleat","email":"zachleatherman@gmail.com"},{"name":"fortawesome-admin","email":"admin@fortawesome.com"}],"contributors":[{"url":"https://github.com/Ajedi32","name":"Andrew Meyer"},{"url":"https://twitter.com/doowb","name":"Brian Woodward"},{"url":"https://caesarschinas.com","name":"Caesar Schinas"},{"url":"http://ianstormtaylor.com","name":"Ian Storm Taylor"},{"url":"http://twitter.com/jonschlinkert","name":"Jon Schlinkert"},{"url":"http://onokumus.com","name":"Osman Nuri Okumuş"},{"url":"http://blog.3d-logic.com","name":"Pawel Kadluczka"},{"url":"http://robloach.net","name":"Rob Loach"},{"url":"https://github.com/heymind"},{"url":"http://zachwhaleys.website","name":"Zach Whaley"},{"url":"https://zachleat.com","name":"Zach Leatherman"}],"homepage":"https://github.com/11ty/gray-matter","bugs":{"url":"https://github.com/11ty/gray-matter/issues"},"dist":{"shasum":"c4addbf4fd2f9ddd7f6c33f5c8613142cfb85f2a","tarball":"https://registry.npmjs.org/@11ty/gray-matter/-/gray-matter-2.0.2.tgz","fileCount":13,"integrity":"sha512-+sbmr+BPzzi0z4lFvruKiGQ3D/d5zBssavhH9SzXmWkf7rStnB4gfeEMgz6k1Ac8bpN5NAFCH5GyR3xHk1BGPA==","signatures":[{"sig":"MEUCIHlhG29H09U6S861xpasVW4gJlpsR3A/KtDyLy9Mr0VMAiEAxvP3N8Ub4uqGazfspxfnCmfQb2HQaa6oIIa2w9TugLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35755},"main":"index.js","verb":{"toc":false,"lint":{"reflinks":true},"tasks":["readme"],"layout":"default","helpers":{"examples":"./examples/helper.js"},"plugins":["gulp-format-md"],"related":{"list":["assemble","metalsmith","verb"]},"reflinks":["generate","js-yaml","toml","update"]},"browser":{"fs":false},"engines":{"node":">=11"},"gitHead":"207c6c6a1a6651845e54d1136a16caece638075c","scripts":{"test":"mocha"},"typings":"gray-matter.d.ts","_npmUser":{"name":"zachleat","email":"zachleatherman@gmail.com"},"repository":{"url":"git+https://github.com/11ty/gray-matter.git","type":"git"},"_npmVersion":"11.12.1","description":"Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, TOML Front-Matter, with options to set custom delimiters. Used by metalsmith, assemble, verb and many other","directories":{},"_nodeVersion":"24.14.0","dependencies":{"js-yaml":"^4.1.1","section-matter":"^1.0.0"},"eslintConfig":{"rules":{"no-console":0}},"_hasShrinkwrap":false,"devDependencies":{"toml":"^2.3.6","mocha":"^10.8.2","vinyl":"^2.2.1","write":"^1.0.3","minimist":"^1.2.8","ansi-green":"^0.1.1","benchmarked":"^2.0.0","front-matter":"^2.3.0","extend-shallow":"^3.0.2","gulp-format-md":"^2.0.0","delimiter-regex":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gray-matter_2.0.2_1776693484798_0.7739485864206646","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@11ty/gray-matter","version":"2.1.0","keywords":["assemble","data","docs","documentation","extract","extracting","front","front-matter","frontmatter","generate","generator","gh-pages","gray","javascript","jekyll","js","JSON","markdown","matter","parse","parser","parsing","site","static","template","toml","yaml","yfm"],"author":{"url":"https://github.com/jonschlinkert","name":"Jon Schlinkert"},"license":"MIT","_id":"@11ty/gray-matter@2.1.0","maintainers":[{"name":"zachleat","email":"zachleatherman@gmail.com"},{"name":"fortawesome-admin","email":"admin@fortawesome.com"}],"contributors":[{"url":"https://github.com/Ajedi32","name":"Andrew Meyer"},{"url":"https://twitter.com/doowb","name":"Brian Woodward"},{"url":"https://caesarschinas.com","name":"Caesar Schinas"},{"url":"http://ianstormtaylor.com","name":"Ian Storm Taylor"},{"url":"http://twitter.com/jonschlinkert","name":"Jon Schlinkert"},{"url":"http://onokumus.com","name":"Osman Nuri Okumuş"},{"url":"http://blog.3d-logic.com","name":"Pawel Kadluczka"},{"url":"http://robloach.net","name":"Rob Loach"},{"url":"https://github.com/heymind"},{"url":"http://zachwhaleys.website","name":"Zach Whaley"},{"url":"https://zachleat.com","name":"Zach Leatherman"}],"homepage":"https://github.com/11ty/gray-matter","bugs":{"url":"https://github.com/11ty/gray-matter/issues"},"dist":{"shasum":"9fedfa673b98d8200ebcf2de89013c1446782a74","tarball":"https://registry.npmjs.org/@11ty/gray-matter/-/gray-matter-2.1.0.tgz","fileCount":13,"integrity":"sha512-fNdBOb3MgDz/1UCIoeY4wDuGbp+/3s5y6UrsyfMabECbh/CVycj7Er33JXqSxRwxrRKXcGE1Jipuq/1mODInsQ==","signatures":[{"sig":"MEUCIAEpA8pY3gNr9moEtMThDQUvQIKmHF+75lzBRBGjASnjAiEAlMu84cvrmTN1WEbwBme4qz642ef4JrwR/+3lbRtOwns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35755},"main":"index.js","verb":{"toc":false,"lint":{"reflinks":true},"tasks":["readme"],"layout":"default","helpers":{"examples":"./examples/helper.js"},"plugins":["gulp-format-md"],"related":{"list":["assemble","metalsmith","verb"]},"reflinks":["generate","js-yaml","toml","update"]},"browser":{"fs":false},"engines":{"node":">=11"},"gitHead":"27c1066128f6c8ea8bbf072430582b5a0ebf1364","scripts":{"test":"mocha"},"typings":"gray-matter.d.ts","_npmUser":{"name":"zachleat","email":"zachleatherman@gmail.com"},"repository":{"url":"git+https://github.com/11ty/gray-matter.git","type":"git"},"_npmVersion":"11.16.0","description":"Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, TOML Front-Matter, with options to set custom delimiters. Used by metalsmith, assemble, verb and many other","directories":{},"_nodeVersion":"26.3.0","dependencies":{"js-yaml":"^4.2.0","section-matter":"^1.0.0"},"eslintConfig":{"rules":{"no-console":0}},"_hasShrinkwrap":false,"devDependencies":{"toml":"^2.3.6","mocha":"^11.7.6","vinyl":"^2.2.1","write":"^1.0.3","minimist":"^1.2.8","ansi-green":"^0.1.1","benchmarked":"^2.0.0","front-matter":"^2.3.0","extend-shallow":"^3.0.2","gulp-format-md":"^2.0.0","delimiter-regex":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gray-matter_2.1.0_1781645140959_0.5779890460488211","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@11ty/gray-matter","description":"Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, TOML Front-Matter, with options to set custom delimiters. Used by metalsmith, assemble, verb and many other","version":"3.0.0","homepage":"https://github.com/11ty/gray-matter","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"contributors":[{"name":"Andrew Meyer","url":"https://github.com/Ajedi32"},{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Caesar Schinas","url":"https://caesarschinas.com"},{"name":"Ian Storm Taylor","url":"http://ianstormtaylor.com"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"},{"name":"Osman Nuri Okumuş","url":"http://onokumus.com"},{"name":"Pawel Kadluczka","url":"http://blog.3d-logic.com"},{"name":"Rob Loach","url":"http://robloach.net"},{"url":"https://github.com/heymind"},{"name":"Zach Whaley","url":"http://zachwhaleys.website"},{"name":"Zach Leatherman","url":"https://zachleat.com"}],"repository":{"type":"git","url":"git+https://github.com/11ty/gray-matter.git"},"bugs":{"url":"https://github.com/11ty/gray-matter/issues"},"license":"MIT","main":"index.js","engines":{"node":">=11"},"scripts":{"test":"mocha"},"dependencies":{"js-yaml":"^5.2.2","section-matter":"^1.0.0"},"devDependencies":{"ansi-green":"^0.1.1","benchmarked":"^2.0.0","delimiter-regex":"^2.0.0","extend-shallow":"^3.0.2","front-matter":"^2.3.0","gulp-format-md":"^2.0.0","minimist":"^1.2.8","mocha":"^11.7.6","toml":"^2.3.6","vinyl":"^2.2.1","write":"^1.0.3"},"keywords":["assemble","data","docs","documentation","extract","extracting","front","front-matter","frontmatter","generate","generator","gh-pages","gray","javascript","jekyll","js","JSON","markdown","matter","parse","parser","parsing","site","static","template","toml","yaml","yfm"],"browser":{"fs":false},"typings":"gray-matter.d.ts","eslintConfig":{"rules":{"no-console":0}},"verb":{"toc":false,"layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"helpers":{"examples":"./examples/helper.js"},"lint":{"reflinks":true},"related":{"list":["assemble","metalsmith","verb"]},"reflinks":["generate","js-yaml","toml","update"]},"gitHead":"ec415034992e7846b6dc51456552ba723a32b7cd","_id":"@11ty/gray-matter@3.0.0","_nodeVersion":"24.16.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-mi6KB36DZCpCfCb9XP3NtDDNXe1N0jKtuFj9mTCZNy5H7vTabODyMgFmmOiGIGJKt+i8mJqEb/REtK+JTEzlpQ==","shasum":"f60b32910636294fcc9e4bea69aa0de825550f88","tarball":"https://registry.npmjs.org/@11ty/gray-matter/-/gray-matter-3.0.0.tgz","fileCount":13,"unpackedSize":35755,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBWrpff7/UpvY2WK288VE1HnST4PWHS+ypajA+5HCg5+AiEA9GeiUEeSBI/hgh6j+UjriVK6UTl0sRjAPbPX3kUnfx4="}]},"_npmUser":{"name":"zachleat","email":"zachleatherman@gmail.com"},"directories":{},"maintainers":[{"name":"zachleat","email":"zachleatherman@gmail.com"},{"name":"fortawesome-admin","email":"admin@fortawesome.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gray-matter_3.0.0_1785363284306_0.7873332528847605"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-12T15:10:07.375Z","modified":"2026-07-29T22:14:44.658Z","1.0.0":"2025-05-12T15:10:07.686Z","2.0.0":"2025-07-02T18:50:21.653Z","2.0.1":"2025-11-14T17:10:58.802Z","2.0.2":"2026-04-20T13:58:04.941Z","2.1.0":"2026-06-16T21:25:41.085Z","3.0.0":"2026-07-29T22:14:44.480Z"},"bugs":{"url":"https://github.com/11ty/gray-matter/issues"},"author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"license":"MIT","homepage":"https://github.com/11ty/gray-matter","keywords":["assemble","data","docs","documentation","extract","extracting","front","front-matter","frontmatter","generate","generator","gh-pages","gray","javascript","jekyll","js","JSON","markdown","matter","parse","parser","parsing","site","static","template","toml","yaml","yfm"],"repository":{"type":"git","url":"git+https://github.com/11ty/gray-matter.git"},"description":"Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, TOML Front-Matter, with options to set custom delimiters. Used by metalsmith, assemble, verb and many other","contributors":[{"name":"Andrew Meyer","url":"https://github.com/Ajedi32"},{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Caesar Schinas","url":"https://caesarschinas.com"},{"name":"Ian Storm Taylor","url":"http://ianstormtaylor.com"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"},{"name":"Osman Nuri Okumuş","url":"http://onokumus.com"},{"name":"Pawel Kadluczka","url":"http://blog.3d-logic.com"},{"name":"Rob Loach","url":"http://robloach.net"},{"url":"https://github.com/heymind"},{"name":"Zach Whaley","url":"http://zachwhaleys.website"},{"name":"Zach Leatherman","url":"https://zachleat.com"}],"maintainers":[{"name":"zachleat","email":"zachleatherman@gmail.com"},{"name":"fortawesome-admin","email":"admin@fortawesome.com"}],"readme":"# @11ty/gray-matter\n\nReduced and maintained fork of [`gray-matter` originally by Jon Schlinkert](https://www.npmjs.com/package/gray-matter).\n\nCurrent differences:\n\n- [Upstream package last released in 2019](https://github.com/jonschlinkert/gray-matter/releases/tag/4.0.2).\n- Upgrades `js-yaml` major version to v4\n- Uses Uint8Array internally instead of Node-env specific Buffer for more runtime compatibility.\n- Removes `javascript` front matter type (removing use of `eval`)\n\n> Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, or TOML Front-Matter, with options to set custom delimiters.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\n$ npm install --save @11ty/gray-matter\n```\n\n## Heads up!\n\nPlease see the [changelog](CHANGELOG.md) to learn about breaking changes that were made in v3.0.\n\n<br />\n\n## What does this do?\n\n<details>\n<summary><strong>Run this example</strong></summary>\n\nAdd the HTML in the following example to `example.html`, then add the following code to `example.js` and run `$ node example` (without the `$`):\n\n```js\nconst fs = require('fs');\nconst matter = require('@11ty/gray-matter');\nconst str = fs.readFileSync('example.html', 'utf8');\nconsole.log(matter(str));\n```\n\n</details>\n\nConverts a string with front-matter, like this:\n\n```handlebars\n---\ntitle: Hello\nslug: home\n---\n<h1>Hello world!</h1>\n```\n\nInto an object like this:\n\n```js\n{\n  content: '<h1>Hello world!</h1>',\n  data: {\n    title: 'Hello',\n    slug: 'home'\n  }\n}\n```\n\n## Why use gray-matter?\n\n* **simple**: main function takes a string and returns an object\n* **accurate**: better at catching and handling edge cases than front-matter parsers that rely on regex for parsing\n* **fast**: faster than other front-matter parsers that use regex for parsing\n* **flexible**: By default, gray-matter is capable of parsing [YAML](https://github.com/nodeca/js-yaml), [JSON](http://en.wikipedia.org/wiki/Json) and JavaScript front-matter. But other [engines](#optionsengines) may be added.\n* **extensible**: Use [custom delimiters](#optionsdelimiters), or add support for [any language](#optionsengines), like [TOML](http://github.com/mojombo/toml).\n* **battle-tested**: used by [assemble](https://github.com/assemble/assemble), [metalsmith](https://github.com/segmentio/metalsmith), [phenomic](https://github.com/phenomic/phenomic), [verb](https://github.com/assemble/verb), [generate](https://github.com/generate/generate), [update](https://github.com/update/update) and many others.\n\n<details>\n<summary><strong>Rationale</strong></summary>\n\n**Why did we create gray-matter in the first place?**\n\nWe created gray-matter after trying out other libraries that failed to meet our standards and requirements.\n\nSome libraries met most of the requirements, but _none met all of them_.\n\n**Here are the most important**:\n\n* Be usable, if not simple\n* Use a dependable and well-supported library for parsing YAML\n* Support other languages besides YAML\n* Support stringifying back to YAML or another language\n* Don't fail when no content exists\n* Don't fail when no front matter exists\n* Don't use regex for parsing. This is a relatively simple parsing operation, and regex is the slowest and most error-prone way to do it.\n* Have no problem reading YAML files directly\n* Have no problem with complex content, including **non-front-matter** fenced code blocks that contain examples of YAML front matter. Other parsers fail on this.\n* Support stringifying back to front-matter. This is useful for linting, updating properties, etc.\n* Allow custom delimiters, when it's necessary for avoiding delimiter collision.\n* Should return an object with at least these three properties:\n  - `data`: the parsed YAML front matter, as a JSON object\n  - `content`: the contents as a string, without the front matter\n  - `orig`: the \"original\" content (for debugging)\n\n</details>\n\n## Usage\n\nUsing CommonJS:\n\n```js\nconst matter = require('@11ty/gray-matter');\n```\n\nOr ESM:\n\n```js\nimport matter = require('@11ty/gray-matter');\n// OR\nimport * as matter from '@11ty/gray-matter';\n```\n\nPass a string and [options](#options) to gray-matter:\n\n```js\nconsole.log(matter('---\\ntitle: Front Matter\\n---\\nThis is content.'));\n```\n\nReturns:\n\n```js\n{\n  content: '\\nThis is content.',\n  data: {\n    title: 'Front Matter'\n  }\n}\n```\n\nMore about the returned object in the following section.\n\n***\n\n## Returned object\n\ngray-matter returns a `file` object with the following properties.\n\n**Enumerable**\n\n* `file.data` **{Object}**: the object created by parsing front-matter\n* `file.content` **{String}**: the input string, with `matter` stripped\n* `file.excerpt` **{String}**: an excerpt, if [defined on the options](#optionsexcerpt)\n* `file.empty` **{String}**: when the front-matter is \"empty\" (either all whitespace, nothing at all, or just comments and no data), the original string is set on this property. See [#65](https://github.com/jonschlinkert/gray-matter/issues/65) for details regarding use case.\n* `file.isEmpty` **{Boolean}**: true if front-matter is empty.\n\n**Non-enumerable**\n\nIn addition, the following non-enumberable properties are added to the object to help with debugging.\n\n* `file.orig` **{Uint8Array}**: the original input string (or Uint8Array)\n* `file.language` **{String}**: the front-matter language that was parsed. `yaml` is the default\n* `file.matter` **{String}**: the _raw_, un-parsed front-matter string\n* `file.stringify` **{Function}**: [stringify](#stringify) the file by converting `file.data` to a string in the given language, wrapping it in delimiters and prepending it to `file.content`.\n\n## Run the examples\n\nIf you'd like to test-drive the examples, first clone gray-matter into `my-project` (or wherever you want):\n\n```sh\n$ git clone https://github.com/jonschlinkert/gray-matter my-project\n```\n\nCD into `my-project` and install dependencies:\n\n```sh\n$ cd my-project && npm install\n```\n\nThen run any of the [examples](./examples) to see how gray-matter works:\n\n```sh\n$ node examples/<example_name>\n```\n\n**Links to examples**\n\n* [excerpt-separator](examples/excerpt-separator.js)\n* [excerpt-stringify](examples/excerpt-stringify.js)\n* [excerpt](examples/excerpt.js)\n* [javascript](examples/javascript.js)\n* [json-stringify](examples/json-stringify.js)\n* [json](examples/json.js)\n* [restore-empty](examples/restore-empty.js)\n* [sections-excerpt](examples/sections-excerpt.js)\n* [sections](examples/sections.js)\n* [toml](examples/toml.js)\n* [yaml-stringify](examples/yaml-stringify.js)\n* [yaml](examples/yaml.js)\n\n## API\n\n### [matter](index.js#L29)\n\nTakes a string or object with `content` property, extracts and parses front-matter from the string, then returns an object with `data`, `content` and other [useful properties](#returned-object).\n\n**Params**\n\n* `input` **{Object|String}**: String, or object with `content` string\n* `options` **{Object}**\n* `returns` **{Object}**\n\n**Example**\n\n```js\nconst matter = require('@11ty/gray-matter');\nconsole.log(matter('---\\ntitle: Home\\n---\\nOther stuff'));\n//=> { data: { title: 'Home'}, content: 'Other stuff' }\n```\n\n### [.stringify](index.js#L160)\n\nStringify an object to YAML or the specified language, and append it to the given string. By default, only YAML and JSON can be stringified. See the [engines](#engines) section to learn how to stringify other languages.\n\n**Params**\n\n* `file` **{String|Object}**: The content string to append to stringified front-matter, or a file object with `file.content` string.\n* `data` **{Object}**: Front matter to stringify.\n* `options` **{Object}**: [Options](#options) to pass to gray-matter and [js-yaml](https://github.com/nodeca/js-yaml).\n* `returns` **{String}**: Returns a string created by wrapping stringified yaml with delimiters, and appending that to the given string.\n\n**Example**\n\n```js\nconsole.log(matter.stringify('foo bar baz', {title: 'Home'}));\n// results in:\n// ---\n// title: Home\n// ---\n// foo bar baz\n```\n\n### [.read](index.js#L178)\n\nSynchronously read a file from the file system and parse front matter. Returns the same object as the [main function](#matter).\n\n**Params**\n\n* `filepath` **{String}**: file path of the file to read.\n* `options` **{Object}**: [Options](#options) to pass to gray-matter.\n* `returns` **{Object}**: Returns [an object](#returned-object) with `data` and `content`\n\n**Example**\n\n```js\nconst file = matter.read('./content/blog-post.md');\n```\n\n### [.test](index.js#L193)\n\nReturns true if the given `string` has front matter.\n\n**Params**\n\n* `string` **{String}**\n* `options` **{Object}**\n* `returns` **{Boolean}**: True if front matter exists.\n\n## Options\n\n### options.excerpt\n\n**Type**: `Boolean|Function`\n\n**Default**: `undefined`\n\nExtract an excerpt that directly follows front-matter, or is the first thing in the string if no front-matter exists.\n\nIf set to `excerpt: true`, it will look for the frontmatter delimiter, `---` by default and grab everything leading up to it.\n\n**Example**\n\n```js\nconst str = '---\\nfoo: bar\\n---\\nThis is an excerpt.\\n---\\nThis is content';\nconst file = matter(str, { excerpt: true });\n```\n\nResults in:\n\n```js\n{\n  content: 'This is an excerpt.\\n---\\nThis is content',\n  data: { foo: 'bar' },\n  excerpt: 'This is an excerpt.\\n'\n}\n```\n\nYou can also set `excerpt` to a function. This function uses the 'file' and 'options' that were initially passed to gray-matter as parameters, so you can control how the excerpt is extracted from the content.\n\n**Example**\n\n```js\n// returns the first 4 lines of the contents\nfunction firstFourLines(file, options) {\n  file.excerpt = file.content.split('\\n').slice(0, 4).join(' ');\n}\n\nconst file =  matter([\n  '---',\n  'foo: bar',\n  '---',\n  'Only this',\n  'will be',\n  'in the',\n  'excerpt',\n  'but not this...'\n].join('\\n'), {excerpt: firstFourLines});\n```\n\nResults in:\n\n```js\n{\n  content: 'Only this\\nwill be\\nin the\\nexcerpt\\nbut not this...',\n  data: { foo: 'bar' },\n  excerpt: 'Only this will be in the excerpt'\n}\n```\n\n### options.excerpt_separator\n\n**Type**: `String`\n\n**Default**: `undefined`\n\nDefine a custom separator to use for excerpts.\n\n```js\nconsole.log(matter(string, {excerpt_separator: '<!-- end -->'}));\n```\n\n**Example**\n\nThe following HTML string:\n\n```html\n---\ntitle: Blog\n---\nMy awesome blog.\n<!-- end -->\n<h1>Hello world</h1>\n```\n\nResults in:\n\n```js\n{\n  data: { title: 'Blog'},\n  excerpt: 'My awesome blog.',\n  content: 'My awesome blog.\\n<!-- end -->\\n<h1>Hello world</h1>'\n}\n```\n\n### options.engines\n\nDefine custom engines for parsing and/or stringifying front-matter.\n\n**Type**: `Object` Object of engines\n\n**Default**: `JSON`, `YAML` and `JavaScript` are already handled by default.\n\n**Engine format**\n\nEngines may either be an object with `parse` and (optionally) `stringify` methods, or a function that will be used for parsing only.\n\n**Examples**\n\n```js\nconst toml = require('toml');\n\n/**\n * defined as a function\n */\n\nconst file = matter(str, {\n  engines: {\n    toml: toml.parse.bind(toml),\n  }\n});\n\n/**\n * Or as an object\n */\n\nconst file = matter(str, {\n  engines: {\n    toml: {\n      parse: toml.parse.bind(toml),\n\n      // example of throwing an error to let users know stringifying is\n      // not supported (a TOML stringifier might exist, this is just an example)\n      stringify: function() {\n        throw new Error('cannot stringify to TOML');\n      }\n    }\n  }\n});\n\nconsole.log(file);\n```\n\n### options.language\n\n**Type**: `String`\n\n**Default**: `yaml`\n\nDefine the engine to use for parsing front-matter.\n\n```js\nconsole.log(matter(string, {language: 'toml'}));\n```\n\n**Example**\n\nThe following HTML string:\n\n```html\n---\ntitle = \"TOML\"\ndescription = \"Front matter\"\ncategories = \"front matter toml\"\n---\nThis is content\n```\n\nResults in:\n\n```js\n{ content: 'This is content',\n  excerpt: '',\n  data:\n   { title: 'TOML',\n     description: 'Front matter',\n     categories: 'front matter toml' } }\n```\n\n**Dynamic language detection**\n\nInstead of defining the language on the options, gray-matter will automatically detect the language defined after the first delimiter and select the correct engine to use for parsing.\n\n```html\n---toml\ntitle = \"TOML\"\ndescription = \"Front matter\"\ncategories = \"front matter toml\"\n---\nThis is content\n```\n\n### options.delimiters\n\n**Type**: `String`\n\n**Default**: `---`\n\nOpen and close delimiters can be passed in as an array of strings.\n\n**Example:**\n\n```js\n// format delims as a string\nmatter.read('file.md', {delims: '~~~'});\n// or an array (open/close)\nmatter.read('file.md', {delims: ['~~~', '~~~']});\n```\n\nwould parse:\n\n```html\n~~~\ntitle: Home\n~~~\nThis is the {{title}} page.\n```\n\n## Deprecated options\n\n### options.lang\n\nDecrecated, please use [options.language](#optionslanguage) instead.\n\n### options.delims\n\nDecrecated, please use [options.delimiters](#optionsdelimiters) instead.\n\n### options.parsers\n\nDecrecated, please use [options.engines](#optionsengines) instead.\n\n## About\n\n<details>\n<summary><strong>Contributing</strong></summary>\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).\n\n</details>\n\n<details>\n<summary><strong>Running Tests</strong></summary>\n\nRunning and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:\n\n```sh\n$ npm install && npm test\n```\n\n</details>\n\n### Contributors\n\n| **Commits** | **Contributor** |\n| --- | --- |\n| 179 | [jonschlinkert](https://github.com/jonschlinkert) |\n| 13  | [robertmassaioli](https://github.com/robertmassaioli) |\n| 7   | [RobLoach](https://github.com/RobLoach) |\n| 5   | [doowb](https://github.com/doowb) |\n| 5   | [heymind](https://github.com/heymind) |\n| 3   | [aljopro](https://github.com/aljopro) |\n| 3   | [shawnbot](https://github.com/shawnbot) |\n| 2   | [reccanti](https://github.com/reccanti) |\n| 2   | [onokumus](https://github.com/onokumus) |\n| 2   | [moozzyk](https://github.com/moozzyk) |\n| 2   | [ajaymathur](https://github.com/ajaymathur) |\n| 1   | [Ajedi32](https://github.com/Ajedi32) |\n| 1   | [arlair](https://github.com/arlair) |\n| 1   | [caesar](https://github.com/caesar) |\n| 1   | [ianstormtaylor](https://github.com/ianstormtaylor) |\n| 1   | [qm3ster](https://github.com/qm3ster) |\n| 1   | [zachwhaley](https://github.com/zachwhaley) |\n\n### Author\n\n**Jon Schlinkert**\n\n* [GitHub Profile](https://github.com/jonschlinkert)\n* [Twitter Profile](https://twitter.com/jonschlinkert)\n* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)\n\n### License\n\nCopyright © 2023, [Jon Schlinkert](https://github.com/jonschlinkert).\nReleased under the [MIT License](LICENSE).\n","readmeFilename":"README.md"}