32 lines
937 B
JavaScript
32 lines
937 B
JavaScript
|
const { DateTime } = require("luxon");
|
||
|
|
||
|
const pluginNavigation = require("@11ty/eleventy-navigation");
|
||
|
|
||
|
module.exports = function(eleventyConfig) {
|
||
|
eleventyConfig.addPlugin(pluginNavigation);
|
||
|
|
||
|
eleventyConfig.addFilter("readableDate", dateObj => {
|
||
|
return DateTime.fromJSDate(dateObj, {zone: 'utc'}).setLocale("fr").toFormat("dd LLL yyyy");
|
||
|
});
|
||
|
|
||
|
// https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string
|
||
|
eleventyConfig.addFilter('htmlDateString', (dateObj) => {
|
||
|
return DateTime.fromJSDate(dateObj, {zone: 'utc'}).toFormat('yyyy-LL-dd');
|
||
|
});
|
||
|
|
||
|
// Get the first `n` elements of a collection.
|
||
|
eleventyConfig.addFilter("head", (array, n) => {
|
||
|
if (!Array.isArray(array) || array.length === 0) {
|
||
|
return [];
|
||
|
}
|
||
|
if (n < 0) {
|
||
|
return array.slice(n);
|
||
|
}
|
||
|
|
||
|
return array.slice(0, n);
|
||
|
});
|
||
|
|
||
|
eleventyConfig.addFilter("nlToBr", string => string.replaceAll('\n', '<br>'))
|
||
|
}
|
||
|
|