diff --git a/eleventy.config.js b/eleventy.config.js index 8db6560..9d7a5bf 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -29,8 +29,7 @@ const urlFormat = ({ src, width, format }) => { const imgUuid = src.match(/\/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/); const imgFormat = format === 'jpeg' ? 'jpg' : format; - if (src.startsWith(baseUrl)) - return `${baseUrl}/${imgUuid[1]}.${imgFormat}?width=${width}`; + if (src.startsWith(baseUrl)) return `${baseUrl}/${imgUuid[1]}.${imgFormat}?width=${width}`; return src; }; @@ -56,6 +55,17 @@ export default async function (eleventyConfig) { : collection.getFilteredByGlob('./src/{posts,drafts}/*.md') ); + eleventyConfig.addGlobalData('site_name', "Sebin's Blog"); + eleventyConfig.addGlobalData('type', 'article'); + eleventyConfig.addGlobalData('image', { width: 1200, height: 630, src: '', alt: '' }); + eleventyConfig.addGlobalData('author', { + name: 'Sebin Nyshkim', + href: 'https://blog.sebin-nyshkim.net', + image: 'https://img.sebin-nyshkim.net/i/b6629b72-ab77-4a6c-bf97-b1a615cc2454' + }); + eleventyConfig.addGlobalData('twitter', { cardType: 'summary_large_image' }); + eleventyConfig.addGlobalData('mastodon', { fediverseCreator: '@SebinNyshkim@meow.social' }); + eleventyConfig.setFrontMatterParsingOptions({ excerpt: (file) => { if (!file.data.tags) return; // immediately return if not a blog post with tags @@ -158,6 +168,7 @@ export const config = { input: 'src', output: 'public', layouts: 'layouts', - includes: 'includes' + includes: 'includes', + data: 'data' } }; diff --git a/src/data/eleventyComputed.js b/src/data/eleventyComputed.js new file mode 100644 index 0000000..1afa93b --- /dev/null +++ b/src/data/eleventyComputed.js @@ -0,0 +1,4 @@ +export default { + page_title: (data) => (data.title ? `${data.title} - ${data.site_name}` : data.site_name), + og_title: (data) => (data.title ? data.title : data.site_name) +}; diff --git a/src/drafts/drafts.json b/src/drafts/drafts.json index 4db5e52..9f61707 100644 --- a/src/drafts/drafts.json +++ b/src/drafts/drafts.json @@ -1,18 +1,5 @@ { "layout": "blogpost.njk", "permalink": "/drafts/{{ title | slugify }}/", - "date": "git Created", - "type": "article", - "author": { - "name": "Sebin Nyshkim", - "href": "https://blog.sebin-nyshkim.net", - "image": "https://img.sebin-nyshkim.net/i/b6629b72-ab77-4a6c-bf97-b1a615cc2454" - }, - "twitter": { - "cardType": "summary_large_image", - "account": "SebinNyshkim" - }, - "mastodon": { - "fediverseCreator": "@SebinNyshkim@meow.social" - } + "date": "git Created" } diff --git a/src/index.md b/src/index.md index 058cab6..5d5fd8f 100644 --- a/src/index.md +++ b/src/index.md @@ -1,5 +1,4 @@ --- -title: Home layout: page.njk eleventyNavigation: key: home diff --git a/src/layouts/base.njk b/src/layouts/base.njk index 6360146..1fde304 100644 --- a/src/layouts/base.njk +++ b/src/layouts/base.njk @@ -2,16 +2,17 @@
{% metagen - title = title + ' - Sebin\'s Blog', + title = page_title, desc = page.excerpt | toPlain, url = 'https://blog.sebin-nyshkim.net' + page.url, type = type, - site_name = 'Sebin\'s Blog', - og_title = title, + site_name = site_name, + og_title = og_title, og_image_width = image.width, og_image_height = image.height, og_image_alt = image.alt, og_image_type = 'image/webp', + twitter_title = og_title, twitter_card_type = twitter.cardType, name = author.name, generator = eleventy.generator, @@ -23,7 +24,7 @@ '/css/style.css', '/css/prism.css'] %} - {% ogImage "og-image.og.njk", { title: title, author: author, image: image } %} + {% ogImage "og-image.og.njk", { title: title or site_name, author: author, image: image } %} {% if mastodon.fediverseCreator and mastodon.fediverseCreator != '' %} {% endif %} @@ -36,7 +37,7 @@