From 643c8946010ffd9c7ab234d7b5d8fc25e131b913 Mon Sep 17 00:00:00 2001 From: Jannik ZANDER Date: Thu, 11 Sep 2025 06:09:34 +0200 Subject: [PATCH] Change date format. Add key --- .eleventy.js | 46 ++++++++++++--------------------- site/_includes/layouts/blog.njk | 2 +- site/blog/index.njk | 2 +- site/contact.md | 7 +---- site/public/keys.txt | 2 +- 5 files changed, 21 insertions(+), 38 deletions(-) diff --git a/.eleventy.js b/.eleventy.js index cdacd8e..5fd775f 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -1,44 +1,32 @@ // .eleventy.js +const { DateTime } = require("luxon"); + +const DEFAULT_LOCALE = "en-GB"; +const DEFAULT_DISPLAY = "DATE_FULL"; + module.exports = function(eleventyConfig) { - // --- Passthroughs (copy as-is to output) --- - eleventyConfig.addPassthroughCopy({ "site/public": "/" }); // favicons, manifest, etc. - eleventyConfig.addPassthroughCopy({ "site/assets": "assets" }); // /assets/* + // Passthroughs + eleventyConfig.addPassthroughCopy({ "site/public": "/" }); + eleventyConfig.addPassthroughCopy({ "site/assets": "assets" }); - // --- Collections --- + // Collections eleventyConfig.addCollection("blog", (api) => api.getFilteredByGlob("site/blog/*.md").sort((a, b) => b.date - a.date) ); - // --- Filters --- - // year (simple) + // Filters eleventyConfig.addFilter("year", () => new Date().getFullYear()); - // date formatter (use a new name to avoid Liquid’s built-in 'date' behavior) - function ymd(value, fmt = "yyyy-MM-dd") { + // Simple date filter using only Luxon built-ins + eleventyConfig.addFilter("date", (value) => { if (!value) return ""; - const d = value instanceof Date ? value : new Date(value); - const pad = (n) => String(n).padStart(2, "0"); - const map = { - yyyy: d.getFullYear(), - MM: pad(d.getMonth() + 1), - dd: pad(d.getDate()), - HH: pad(d.getHours()), - mm: pad(d.getMinutes()), - }; - return fmt.replace(/yyyy|MM|dd|HH|mm/g, (t) => map[t]); - } - eleventyConfig.addFilter("ymd", ymd); // universal - eleventyConfig.addNunjucksFilter("ymd", ymd); // explicit for Nunjucks - eleventyConfig.addLiquidFilter("ymd", ymd); // explicit for Liquid + return DateTime.fromJSDate(new Date(value)) + .setLocale(DEFAULT_LOCALE) + .toLocaleString(DateTime[DEFAULT_DISPLAY]); + }); - // --- Engines + dirs --- return { - dir: { - input: "site", - includes: "_includes", - data: "_data", - output: "dist", - }, + dir: { input: "site", includes: "_includes", data: "_data", output: "dist" }, htmlTemplateEngine: "njk", markdownTemplateEngine: "njk", }; diff --git a/site/_includes/layouts/blog.njk b/site/_includes/layouts/blog.njk index a9b6632..70121de 100644 --- a/site/_includes/layouts/blog.njk +++ b/site/_includes/layouts/blog.njk @@ -5,7 +5,7 @@

{{ title or page.fileSlug | capitalize }}

{% if page.date %} -

Published {{ page.date | ymd }}

+

Published {{ page.date | date }}

{% endif %}
{{ content | safe }} diff --git a/site/blog/index.njk b/site/blog/index.njk index c073310..607d1b5 100644 --- a/site/blog/index.njk +++ b/site/blog/index.njk @@ -10,7 +10,7 @@ permalink: /blog/ {{ post.data.title or post.fileSlug | capitalize }} - — {{ post.date | ymd }} + — {{ post.date | date }} {% endfor %} diff --git a/site/contact.md b/site/contact.md index 3c3e6af..0bcc0c5 100644 --- a/site/contact.md +++ b/site/contact.md @@ -4,12 +4,7 @@ title: Contact permalink: /contact/ --- -Reach me at [jannik [at] zndr.dk](mailto:jannik@zndr.dk). - -For secure communication: - -- [PGP public key](/pgp.txt) -- [SSH keys](/keys.txt) +Reach me at [jannik [at] zndr.dk](mailto:jannik@zndr.dk?subject=Hello%20from%20zndr.dk) **Jannik Zander** diff --git a/site/public/keys.txt b/site/public/keys.txt index a6a2c3b..97a515c 100644 --- a/site/public/keys.txt +++ b/site/public/keys.txt @@ -1 +1 @@ -no keys here yet +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCq/zO372cXZCXgog0cSSlJcoHriU4rcFEmazR7nodTxf7tbtnlmHf71+4YVaJKO293MGKHTfzwZ4ToVb6lRAnC0Mzzi1LgO6bpnGSf2JjabOISyYXFeNBzor61CWoHQJVfczs/KymHm78cPuEchT9211VaItFyKLUVqFZLexG9iuOVeUPS3UBMfEHRAI0gnH1OJyN8Cg3bU7vXjVmVDD/cQMNNKD8A3wreIsHNkSBu6mUX28QfuMNLpAiHDG9PFafIIIS8nLhT5YhytRR5dbnw5af6uw2eE2WL+K85k4ySwhrwQOAIII1oMHAeX69HcqiJK5VRzENK+BkbH2ExqOrMPTA3woy+ndiryai4FL/pmZTdjTsocxrHXbfbLVGgw7IF+sIBfHZctivgNDsQiVnEOncPJ8Y0sVR3ZvSM9Iah2OyptU5569WIEdzIEawKVuFbDbTGi842IJzXCV+6SvsreZBqqodTiCEwMognT94gbdab+YIX2Iqh1B31QbXOAyIqRw/y+95tmCNRue67cLkZqCwOkVuVYkM/4UKNmL3tbUBV43MrOlx+6OiW/h9Ygv8k2Er0z3BfNj17H6H/syxeUSutV5pjJ74kSxSFIXCPuomDA5dlBAEehUxo77uw6vl1itlXs/TjVJ1MIGSIzT+z4wJMxE5khC5syoQ2mtePew== jannik@zndr.dk -- 2.50.1