Use graymatter package for frontmatter parsing

This commit is contained in:
Ole Eskild Steensen 2022-03-02 15:54:06 +01:00
parent 4cf09880b0
commit 56a0bd05f8
3 changed files with 9 additions and 37 deletions

View File

@ -1,7 +1,7 @@
const slugify = require("@sindresorhus/slugify"); const slugify = require("@sindresorhus/slugify");
const markdownIt = require("markdown-it"); const markdownIt = require("markdown-it");
const fs = require('fs'); const fs = require('fs');
const fm = require('front-matter') const matter = require('gray-matter')
module.exports = function(eleventyConfig) { module.exports = function(eleventyConfig) {
let markdownLib = markdownIt({ let markdownLib = markdownIt({
@ -68,9 +68,9 @@ module.exports = function(eleventyConfig) {
try { try {
const file = fs.readFileSync(`./src/site/notes/${fileName}.md`, 'utf8'); const file = fs.readFileSync(`./src/site/notes/${fileName}.md`, 'utf8');
const fmdata = fm(file); const frontMatter = matter(file);
if (fmdata.attributes.permalink) { if (frontMatter.data.permalink) {
permalink = fmdata.attributes.permalink; permalink = frontMatter.data.permalink;
} }
} catch { } catch {
//Ignore if file doesn't exist //Ignore if file doesn't exist

36
package-lock.json generated
View File

@ -13,7 +13,7 @@
"@octokit/core": "^3.5.1", "@octokit/core": "^3.5.1",
"@sindresorhus/slugify": "^1.1.0", "@sindresorhus/slugify": "^1.1.0",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"front-matter": "^4.0.2", "gray-matter": "^4.0.3",
"markdown-it": "^12.3.2" "markdown-it": "^12.3.2"
}, },
"devDependencies": { "devDependencies": {
@ -1405,7 +1405,6 @@
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"dependencies": { "dependencies": {
"is-extendable": "^0.1.0" "is-extendable": "^0.1.0"
}, },
@ -1547,14 +1546,6 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/front-matter": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
"integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
"dependencies": {
"js-yaml": "^3.13.1"
}
},
"node_modules/fs-extra": { "node_modules/fs-extra": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
@ -1657,7 +1648,6 @@
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
"integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
"dev": true,
"dependencies": { "dependencies": {
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"kind-of": "^6.0.2", "kind-of": "^6.0.2",
@ -1911,7 +1901,6 @@
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
"dev": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@ -2112,7 +2101,6 @@
"version": "6.0.3", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@ -3229,7 +3217,6 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
"integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
"dev": true,
"dependencies": { "dependencies": {
"extend-shallow": "^2.0.1", "extend-shallow": "^2.0.1",
"kind-of": "^6.0.0" "kind-of": "^6.0.0"
@ -3694,7 +3681,6 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
"integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=",
"dev": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@ -5303,7 +5289,6 @@
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": { "requires": {
"is-extendable": "^0.1.0" "is-extendable": "^0.1.0"
} }
@ -5412,14 +5397,6 @@
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"dev": true "dev": true
}, },
"front-matter": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
"integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
"requires": {
"js-yaml": "^3.13.1"
}
},
"fs-extra": { "fs-extra": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
@ -5500,7 +5477,6 @@
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
"integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
"dev": true,
"requires": { "requires": {
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"kind-of": "^6.0.2", "kind-of": "^6.0.2",
@ -5701,8 +5677,7 @@
"is-extendable": { "is-extendable": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
"dev": true
}, },
"is-extglob": { "is-extglob": {
"version": "2.1.1", "version": "2.1.1",
@ -5852,8 +5827,7 @@
"kind-of": { "kind-of": {
"version": "6.0.3", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
"dev": true
}, },
"kleur": { "kleur": {
"version": "4.1.4", "version": "4.1.4",
@ -6717,7 +6691,6 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
"integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
"dev": true,
"requires": { "requires": {
"extend-shallow": "^2.0.1", "extend-shallow": "^2.0.1",
"kind-of": "^6.0.0" "kind-of": "^6.0.0"
@ -7124,8 +7097,7 @@
"strip-bom-string": { "strip-bom-string": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
"integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI="
"dev": true
}, },
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",

View File

@ -20,7 +20,7 @@
"@octokit/core": "^3.5.1", "@octokit/core": "^3.5.1",
"@sindresorhus/slugify": "^1.1.0", "@sindresorhus/slugify": "^1.1.0",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"front-matter": "^4.0.2", "gray-matter": "^4.0.3",
"markdown-it": "^12.3.2" "markdown-it": "^12.3.2"
} }
} }