Files
beall-11ty/_config/filters.js

30 lines
821 B
JavaScript
Raw Permalink Normal View History

2026-03-31 16:38:22 -07:00
export default function (eleventyConfig) {
/* Create a single alt string from a multi-string alt object */
eleventyConfig.addFilter("createAlt", (altObject) => {
let alt;
if (altObject.length > 1)
alt = `a ${altObject.length} picture collage.`;
for (let i = 0; i < altObject.length; i++)
alt += ` Image ${i + 1} is ${altObject[i]}`;
return alt;
});
/* What it says on the tin */
eleventyConfig.addFilter("randomize", function(array) {
// Create a copy of the array to avoid modifying the original
let shuffledArray = array.slice();
// Fisher-Yates shuffle algorithm
for (let i = shuffledArray.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[shuffledArray[i], shuffledArray[j]] = [shuffledArray[j], shuffledArray[i]];
}
return shuffledArray;
});
};