From 07af321fda87b990718cc6a643e705e314ff9d0d Mon Sep 17 00:00:00 2001 From: Cyper Date: Sun, 3 Aug 2025 03:20:42 -0400 Subject: [PATCH] feat: Added `head` filter --- eleventy.config.js | 3 +++ src/_config/filters.js | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 src/_config/filters.js diff --git a/eleventy.config.js b/eleventy.config.js index 242ea65..98ab083 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -1,4 +1,5 @@ import { feedPlugin } from "@11ty/eleventy-plugin-rss"; +import filtersPlugin from "./src/_config/filters.js"; /** @param {import("@11ty/eleventy").UserConfig} eleventyConfig */ export default async function(eleventyConfig) { @@ -24,6 +25,8 @@ export default async function(eleventyConfig) { } }); + eleventyConfig.addPlugin(filtersPlugin); + eleventyConfig.addShortcode("triangleSvg", function(strokeWidth = 10) { const w = parseFloat(strokeWidth); if (isNaN(w) || w <= 0) { diff --git a/src/_config/filters.js b/src/_config/filters.js new file mode 100644 index 0000000..8e3662b --- /dev/null +++ b/src/_config/filters.js @@ -0,0 +1,10 @@ +export default function(eleventyConfig) { + // Get the first element of a collection. + eleventyConfig.addFilter("head", (array) => { + if(!Array.isArray(array) || array.length === 0) { + return null; + } + + return array[0]; + }); +}; \ No newline at end of file