Files
fedilearns/eleventy.config.js

82 lines
1.8 KiB
JavaScript

import { HtmlBasePlugin, IdAttributePlugin } from "@11ty/eleventy";
import { feedPlugin } from "@11ty/eleventy-plugin-rss";
import pluginFilters from "./_config/filters.js";
export default async function(eleventyConfig) {
/* Bundles */
/* CSS */
eleventyConfig.addBundle("css", {
toFileDirectory: "dist",
bundleHtmlContentFromSelector: "style",
});
/* Javascript */
eleventyConfig.addBundle("js", {
toFileDirectory: "dist",
bundleHtmlContentFromSelector: "script",
});
/* Passthrough */
eleventyConfig
.addPassthroughCopy("favicon.ico")
.addPassthroughCopy("robots.txt");
/* Plugins */
/* All filters from _config/filters.js */
eleventyConfig.addPlugin(pluginFilters);
/* Pathprefix stuff */
eleventyConfig.addPlugin(HtmlBasePlugin);
/* `id` attributes */
eleventyConfig.addPlugin(IdAttributePlugin);
/* RSS */
eleventyConfig.addPlugin(feedPlugin, {
type: "atom", // or "rss", "json"
outputPath: "/feed.xml",
collection: {
name: "daily", // iterate over `collections.posts`
limit: 10, // 0 means no limit
},
metadata: {
language: "en",
title: "FediLearns",
subtitle: "Learning together, by and for the fediverse",
base: "https://fedilearns.fyi",
author: {
name: "Lee Cattarin"
}
}
});
/* Draft handling */
eleventyConfig.addPreprocessor("drafts", "*", (data, content) => {
if(data.draft) {
return false;
}
});
/* Shortcodes */
eleventyConfig.addShortcode("currentBuildDate", () => {
return (new Date()).toISOString();
});
/* Watch when serving */
eleventyConfig.addWatchTarget("css");
};
export const config = {
dir: {
input: "src",
includes: "../_includes",
layouts: "../_includes/layouts",
data: "../_data"
},
markdownTemplateEngine: "njk",
htmlTemplateEngine: "njk",
templateFormats: ["html", "md", "njk"],
};