devsite/node_modules/@11ty/eleventy/src/defaultConfig.js
2024-07-07 18:49:38 -07:00

93 lines
2.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const urlFilter = require("./Filters/Url");
const serverlessUrlFilter = require("./Filters/ServerlessUrl");
const slugFilter = require("./Filters/Slug");
const slugifyFilter = require("./Filters/Slugify");
const getLocaleCollectionItem = require("./Filters/GetLocaleCollectionItem");
const getCollectionItemIndex = require("./Filters/GetCollectionItemIndex");
module.exports = function (config) {
let templateConfig = this;
config.addFilter("slug", slugFilter);
config.addFilter("slugify", slugifyFilter);
// Add pathPrefix manually to a URL
config.addFilter("url", function addPathPrefix(url, pathPrefixOverride) {
let pathPrefix;
if (pathPrefixOverride && typeof pathPrefixOverride === "string") {
pathPrefix = pathPrefixOverride;
} else {
pathPrefix = templateConfig.getPathPrefix();
}
return urlFilter.call(this, url, pathPrefix);
});
config.addFilter("log", (input, ...messages) => {
console.log(input, ...messages);
return input;
});
config.addFilter("serverlessUrl", serverlessUrlFilter);
config.addFilter("getCollectionItemIndex", function (collection, pageOverride) {
return getCollectionItemIndex.call(this, collection, pageOverride);
});
config.addFilter("getCollectionItem", function (collection, pageOverride, langCode) {
return getLocaleCollectionItem.call(this, config, collection, pageOverride, langCode, 0);
});
config.addFilter("getPreviousCollectionItem", function (collection, pageOverride, langCode) {
return getLocaleCollectionItem.call(this, config, collection, pageOverride, langCode, -1);
});
config.addFilter("getNextCollectionItem", function (collection, pageOverride, langCode) {
return getLocaleCollectionItem.call(this, config, collection, pageOverride, langCode, 1);
});
return {
templateFormats: [
"liquid",
"ejs",
"md",
"hbs",
"mustache",
"haml",
"pug",
"njk",
"html",
"11ty.js",
],
// if your site lives in a subdirectory, change this
pathPrefix: "/",
markdownTemplateEngine: "liquid",
htmlTemplateEngine: "liquid",
htmlOutputSuffix: "-o",
// Renamed from `jsDataFileSuffix` in 2.0 (and swapped to an Array)
// If you remove "" we wont look for dir/dir.json or file.json
dataFileSuffixes: [".11tydata", ""],
// "index" will look for `directory/index.*` directory data files instead of `directory/directory.*`
dataFileDirBaseNameOverride: false,
keys: {
package: "pkg",
layout: "layout",
permalink: "permalink",
permalinkRoot: "permalinkBypassOutputDir",
engineOverride: "templateEngineOverride",
computed: "eleventyComputed",
},
dir: {
input: ".",
includes: "_includes",
data: "_data",
output: "_site",
},
// deprecated, use config.addHandlebarsHelper
handlebarsHelpers: {},
// deprecated, use config.addNunjucksFilter
nunjucksFilters: {},
};
};