From ac59911d9d59bbfdcb5c8ed0cdfd0d1dace766ca Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 17:49:38 +0000 Subject: [PATCH 1/2] Add post grid to /onephatdj page and fix build error Co-authored-by: si <18108+si@users.noreply.github.com> --- src/pages/onephatdj.md | 20 ++++++++++++++++++++ src/posts/2025/hf6.md | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/pages/onephatdj.md b/src/pages/onephatdj.md index 2ad071c..21b3709 100644 --- a/src/pages/onephatdj.md +++ b/src/pages/onephatdj.md @@ -2,6 +2,7 @@ title: "One Phat DJ Podcast (2005-2009)" layout: "page" linkText: "OnePhatDJ" +templateEngineOverride: md, njk --- ## The original season of the podcast, hosted by the founder One Phat DJ. @@ -19,3 +20,22 @@ It was submitted to the iTunes Podcast Directory and the journey started. Over the following 4 years, One Phat DJ continued to share regular mixes every month, growing a loyal following from around the globe and establishing his sound as a "taste-maker" in the house music industry with fantastic support from featured artists, vocalists and labels but, most importantly, the listeners. Listen back to all 51 mixes from the archives. + + diff --git a/src/posts/2025/hf6.md b/src/posts/2025/hf6.md index 849ee76..3cc02e3 100644 --- a/src/posts/2025/hf6.md +++ b/src/posts/2025/hf6.md @@ -1,6 +1,6 @@ --- title: "HF309 with Andi King" -date: "Fri, 06 Feb 2026 05:00:00 -0000" +date: "2026-02-06T05:00:00.000Z" categories: - "shows" author: "DJ" From b6407e248d4438a5ed961d52024ce7939e21e893 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 17:56:48 +0000 Subject: [PATCH 2/2] Fix /onephatdj post grid HTML and hf6 date format Co-authored-by: si <18108+si@users.noreply.github.com> --- check_dates.js | 43 +++++++++++++++++++++++++++++++++ package-lock.json | 54 +++++++++++++++--------------------------- package.json | 3 ++- src/pages/onephatdj.md | 2 +- 4 files changed, 65 insertions(+), 37 deletions(-) create mode 100644 check_dates.js diff --git a/check_dates.js b/check_dates.js new file mode 100644 index 0000000..091f6d8 --- /dev/null +++ b/check_dates.js @@ -0,0 +1,43 @@ +const fs = require('fs'); +const path = require('path'); +const matter = require('gray-matter'); + +function getFiles(dir) { + const dirents = fs.readdirSync(dir, { withFileTypes: true }); + const files = dirents.map((dirent) => { + const res = path.resolve(dir, dirent.name); + return dirent.isDirectory() ? getFiles(res) : res; + }); + return Array.prototype.concat(...files); +} + +const postsDir = path.join(process.cwd(), 'src/posts'); +const files = getFiles(postsDir).filter(f => f.endsWith('.md')); + +console.log(`Checking ${files.length} files...`); + +let errors = 0; +files.forEach(file => { + const content = fs.readFileSync(file, 'utf8'); + try { + const parsed = matter(content); + const date = parsed.data.date; + if (date) { + const d = new Date(date); + if (isNaN(d.getTime())) { + console.error(`Invalid date in ${file}: ${date}`); + errors++; + } + } + } catch (e) { + console.error(`Error parsing ${file}: ${e.message}`); + errors++; + } +}); + +if (errors === 0) { + console.log("All dates valid."); +} else { + console.log(`Found ${errors} errors.`); + process.exit(1); +} diff --git a/package-lock.json b/package-lock.json index 603b63e..7736e14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,16 @@ { "name": "11ty-netlify-jumpstart", - "version": "2.0.0", + "version": "2.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "11ty-netlify-jumpstart", - "version": "2.0.0", + "version": "2.1.0", "license": "ISC", "dependencies": { - "@11tyrocks/eleventy-plugin-sass-lightningcss": "^1.0.1" + "@11tyrocks/eleventy-plugin-sass-lightningcss": "^1.0.1", + "gray-matter": "^4.0.3" }, "devDependencies": { "@11ty/eleventy": "^2.0.0", @@ -321,7 +322,8 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@types/markdown-it": { "version": "12.2.3", @@ -338,7 +340,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@types/minimatch": { "version": "3.0.5", @@ -442,7 +445,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -608,7 +610,6 @@ "url": "https://tidelift.com/funding/github/npm/browserslist" } ], - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001449", "electron-to-chromium": "^1.4.284", @@ -1068,7 +1069,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -1088,7 +1088,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -1311,7 +1310,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dev": true, + "license": "MIT", "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", @@ -1579,7 +1578,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -1780,7 +1778,6 @@ "version": "3.14.2", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "dev": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1846,7 +1843,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3897,7 +3893,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" @@ -4032,8 +4027,7 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "node_modules/ssri": { "version": "8.0.1", @@ -4103,7 +4097,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4571,7 +4564,8 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", - "dev": true + "dev": true, + "peer": true }, "@types/markdown-it": { "version": "12.2.3", @@ -4588,7 +4582,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", - "dev": true + "dev": true, + "peer": true }, "@types/minimatch": { "version": "3.0.5", @@ -4660,7 +4655,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -4782,7 +4776,6 @@ "version": "4.21.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "peer": true, "requires": { "caniuse-lite": "^1.0.30001449", "electron-to-chromium": "^1.4.284", @@ -5083,8 +5076,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "eventemitter3": { "version": "5.0.1", @@ -5096,7 +5088,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -5273,7 +5264,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dev": true, "requires": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", @@ -5466,8 +5456,7 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "2.1.1", @@ -5609,7 +5598,6 @@ "version": "3.14.2", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -5657,8 +5645,7 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "kleur": { "version": "4.1.5", @@ -6991,7 +6978,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" @@ -7080,8 +7066,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "ssri": { "version": "8.0.1", @@ -7126,8 +7111,7 @@ "strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", - "dev": true + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" }, "supports-preserve-symlinks-flag": { "version": "1.0.0", diff --git a/package.json b/package.json index cd15269..041e06a 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "not dead" ], "dependencies": { - "@11tyrocks/eleventy-plugin-sass-lightningcss": "^1.0.1" + "@11tyrocks/eleventy-plugin-sass-lightningcss": "^1.0.1", + "gray-matter": "^4.0.3" } } diff --git a/src/pages/onephatdj.md b/src/pages/onephatdj.md index 21b3709..664adfb 100644 --- a/src/pages/onephatdj.md +++ b/src/pages/onephatdj.md @@ -28,7 +28,7 @@ Listen back to all 51 mixes from the archives.
  • - {{ post.date.toUTCString().substring(5,17) }} +

    {{ post.data.title }}