`
});
-
+
// make a list of all tags besides "post" and add them to the collection
eleventyConfig.addCollection("tagsList", function (collectionApi) {
const tagsList = new Set();
@@ -105,12 +84,12 @@ module.exports = function (eleventyConfig) {
const sortedTagsList = new Set(Array.from(tagsList).sort());
return sortedTagsList;
});
-
+
// limit filter
eleventyConfig.addFilter("limit", function (array, limit) {
return array.slice(0, limit);
});
-
+
// minify all html files
eleventyConfig.addTransform("htmlmin", function (content) {
if (this.page.outputPath && this.page.outputPath.endsWith(".html")) {
@@ -142,7 +121,7 @@ module.exports = function (eleventyConfig) {
return data.permalink;
}
});
-
+
// When `eleventyExcludeFromCollections` is true, the file is not included in any collections
eleventyConfig.addGlobalData("eleventyComputed.eleventyExcludeFromCollections", function () {
return (data) => {
@@ -154,7 +133,7 @@ module.exports = function (eleventyConfig) {
return data.eleventyExcludeFromCollections;
}
});
-
+
eleventyConfig.on("eleventy.before", ({ runMode }) => {
// Set the environment variable
if (runMode === "serve" || runMode === "watch") {
@@ -171,4 +150,18 @@ module.exports = function (eleventyConfig) {
includes: "_includes",
},
};
-};
\ No newline at end of file
+};
+
+var slugify = function (preSlug) {
+ return preSlug
+ .toLowerCase()
+ .trim()
+ // remove accents
+ .normalize('NFD')
+ .replace(/[\u0300-\u036f]/g, '')
+ // replace invalid characters with spaces
+ .replace(/[^a-z0-9\s-]/g, ' ')
+ .trim()
+ // replace multiple spaces or hyphens with a hyphen
+ .replace(/[\s-]+/g, '-');
+}
\ No newline at end of file