1
1
Fork 0

fix meta tags

This commit is contained in:
Ava Gaiety W 2024-03-27 00:43:45 -05:00
parent 16878b1530
commit aa3ce92d48
4 changed files with 178 additions and 4 deletions

View file

@ -7,6 +7,7 @@ const hljs = require('highlight.js/lib/common');
const { setup } = require('highlightjs-glimmer'); const { setup } = require('highlightjs-glimmer');
const markdownit = require('markdown-it'); const markdownit = require('markdown-it');
const markdownitClass = require('@toycode/markdown-it-class'); const markdownitClass = require('@toycode/markdown-it-class');
const cheerio = require('cheerio');
const expectedInputFormat = 'YYYY-MM-DD'; const expectedInputFormat = 'YYYY-MM-DD';
const defaultOuputFormat = 'LL'; const defaultOuputFormat = 'LL';
@ -14,7 +15,6 @@ dayjs.extend(utc);
dayjs.extend(timezone); dayjs.extend(timezone);
dayjs.extend(localizedFormat); dayjs.extend(localizedFormat);
function dayjsFilter(date, format = defaultOuputFormat) { function dayjsFilter(date, format = defaultOuputFormat) {
console.log(dayjs(date, expectedInputFormat).utc().format(format))
return dayjs(date, expectedInputFormat).utc().format(format); return dayjs(date, expectedInputFormat).utc().format(format);
} }
@ -69,6 +69,11 @@ module.exports = function(eleventyConfig) {
); );
eleventyConfig.addFilter('markdown', value => md.render(value)); eleventyConfig.addFilter('markdown', value => md.render(value));
eleventyConfig.addFilter('markdownToPlaintext', value => {
const htmlString = md.render(value);
const parser = cheerio.load(htmlString);
return parser.text();
});
eleventyConfig.addNunjucksFilter('date', dayjsFilter); eleventyConfig.addNunjucksFilter('date', dayjsFilter);
eleventyConfig.setLibrary('njk', nunjucksEnvironment); eleventyConfig.setLibrary('njk', nunjucksEnvironment);

View file

@ -9,11 +9,17 @@
<html class="latte dark:mocha"> <html class="latte dark:mocha">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Portfolio - {{ pagetitle | capitalize }}</title> <title>Portfolio - {{ pagetitle | markdownToPlaintext | safe }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:title" content="Portfolio - {{ pagetitle | capitalize }}" /> <meta property="og:title" content="Portfolio - {{ pagetitle | markdownToPlaintext | safe }}" />
<meta property="og:description" content="{{ description }}" /> <meta property="og:description" content="{{ description | markdownToPlaintext | safe }}" />
{% if image %}
<meta property="og:image" content="https://gaiety.me{{ image }}" />
{% else %}
<meta property="og:image" content="https://gaiety.me/img/site/falling.gif" />
{% endif %}
<meta property="og:url" content="https://gaiety.me{{ page.url }}" />
<link href="/styles.css" rel="stylesheet"> <link href="/styles.css" rel="stylesheet">
<link href="/catppuccin.variables.css" rel="stylesheet"> <link href="/catppuccin.variables.css" rel="stylesheet">

162
package-lock.json generated
View file

@ -18,6 +18,7 @@
"@catppuccin/tailwindcss": "^0.1.6", "@catppuccin/tailwindcss": "^0.1.6",
"@divriots/jampack": "^0.23.3", "@divriots/jampack": "^0.23.3",
"autoprefixer": "^10.3.7", "autoprefixer": "^10.3.7",
"cheerio": "^1.0.0-rc.12",
"cssnano": "^5.0.8", "cssnano": "^5.0.8",
"dayjs": "^1.11.10", "dayjs": "^1.11.10",
"highlight.js": "^11.9.0", "highlight.js": "^11.9.0",
@ -2352,6 +2353,27 @@
"is-regex": "^1.0.3" "is-regex": "^1.0.3"
} }
}, },
"node_modules/cheerio": {
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
"integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
"dev": true,
"dependencies": {
"cheerio-select": "^2.1.0",
"dom-serializer": "^2.0.0",
"domhandler": "^5.0.3",
"domutils": "^3.0.1",
"htmlparser2": "^8.0.1",
"parse5": "^7.0.0",
"parse5-htmlparser2-tree-adapter": "^7.0.0"
},
"engines": {
"node": ">= 6"
},
"funding": {
"url": "https://github.com/cheeriojs/cheerio?sponsor=1"
}
},
"node_modules/cheerio-select": { "node_modules/cheerio-select": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
@ -2452,6 +2474,80 @@
"url": "https://github.com/fb55/entities?sponsor=1" "url": "https://github.com/fb55/entities?sponsor=1"
} }
}, },
"node_modules/cheerio/node_modules/dom-serializer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
"integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"dev": true,
"dependencies": {
"domelementtype": "^2.3.0",
"domhandler": "^5.0.2",
"entities": "^4.2.0"
},
"funding": {
"url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
"node_modules/cheerio/node_modules/domhandler": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
"integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
"dev": true,
"dependencies": {
"domelementtype": "^2.3.0"
},
"engines": {
"node": ">= 4"
},
"funding": {
"url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
"node_modules/cheerio/node_modules/domutils": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
"integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
"dev": true,
"dependencies": {
"dom-serializer": "^2.0.0",
"domelementtype": "^2.3.0",
"domhandler": "^5.0.3"
},
"funding": {
"url": "https://github.com/fb55/domutils?sponsor=1"
}
},
"node_modules/cheerio/node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true,
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/cheerio/node_modules/htmlparser2": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
"integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
"dev": true,
"funding": [
"https://github.com/fb55/htmlparser2?sponsor=1",
{
"type": "github",
"url": "https://github.com/sponsors/fb55"
}
],
"dependencies": {
"domelementtype": "^2.3.0",
"domhandler": "^5.0.3",
"domutils": "^3.0.1",
"entities": "^4.4.0"
}
},
"node_modules/chokidar": { "node_modules/chokidar": {
"version": "3.5.3", "version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@ -11763,6 +11859,72 @@
"is-regex": "^1.0.3" "is-regex": "^1.0.3"
} }
}, },
"cheerio": {
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
"integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
"dev": true,
"requires": {
"cheerio-select": "^2.1.0",
"dom-serializer": "^2.0.0",
"domhandler": "^5.0.3",
"domutils": "^3.0.1",
"htmlparser2": "^8.0.1",
"parse5": "^7.0.0",
"parse5-htmlparser2-tree-adapter": "^7.0.0"
},
"dependencies": {
"dom-serializer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
"integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"dev": true,
"requires": {
"domelementtype": "^2.3.0",
"domhandler": "^5.0.2",
"entities": "^4.2.0"
}
},
"domhandler": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
"integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
"dev": true,
"requires": {
"domelementtype": "^2.3.0"
}
},
"domutils": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
"integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
"dev": true,
"requires": {
"dom-serializer": "^2.0.0",
"domelementtype": "^2.3.0",
"domhandler": "^5.0.3"
}
},
"entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true
},
"htmlparser2": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
"integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
"dev": true,
"requires": {
"domelementtype": "^2.3.0",
"domhandler": "^5.0.3",
"domutils": "^3.0.1",
"entities": "^4.4.0"
}
}
}
},
"cheerio-select": { "cheerio-select": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",

View file

@ -31,6 +31,7 @@
"@catppuccin/tailwindcss": "^0.1.6", "@catppuccin/tailwindcss": "^0.1.6",
"@divriots/jampack": "^0.23.3", "@divriots/jampack": "^0.23.3",
"autoprefixer": "^10.3.7", "autoprefixer": "^10.3.7",
"cheerio": "^1.0.0-rc.12",
"cssnano": "^5.0.8", "cssnano": "^5.0.8",
"dayjs": "^1.11.10", "dayjs": "^1.11.10",
"highlight.js": "^11.9.0", "highlight.js": "^11.9.0",