2024-12-01 05:01:55 +00:00
|
|
|
// Plugins
|
|
|
|
import { InputPathToUrlTransformPlugin } from "@11ty/eleventy";
|
2024-07-18 18:08:10 +00:00
|
|
|
import pluginRss from "@11ty/eleventy-plugin-rss";
|
2024-07-28 11:07:50 +00:00
|
|
|
import pluginEleventyNavigation from "@11ty/eleventy-navigation";
|
2024-08-02 07:42:34 +00:00
|
|
|
import pluginSyntaxHighlight from "@11ty/eleventy-plugin-syntaxhighlight";
|
2024-07-28 11:07:50 +00:00
|
|
|
import pluginEmbedEverything from "eleventy-plugin-embed-everything";
|
2024-09-05 15:49:01 +00:00
|
|
|
import pluginWordcount from "eleventy-plugin-wordcount-extended";
|
2024-07-28 11:08:51 +00:00
|
|
|
import pluginTOC from "@uncenter/eleventy-plugin-toc";
|
2024-04-12 17:54:48 +00:00
|
|
|
|
2024-07-28 11:05:49 +00:00
|
|
|
// Custom Configurations
|
|
|
|
import markdownItConfig from "./src/_config/markdown-it.js";
|
2024-07-28 11:48:35 +00:00
|
|
|
import filesConfig from "./src/_config/files.js";
|
2024-07-28 11:05:49 +00:00
|
|
|
import collectionsConfig from "./src/_config/collections.js";
|
2024-08-11 12:19:57 +00:00
|
|
|
import filtersConfig from "./src/_config/filters.js";
|
2024-07-28 11:05:49 +00:00
|
|
|
import shortCodesConfig from "./src/_config/shortcodes.js";
|
2024-07-18 18:08:10 +00:00
|
|
|
|
2024-07-28 09:30:43 +00:00
|
|
|
export default function(eleventyConfig) {
|
2024-12-01 05:01:55 +00:00
|
|
|
// Plugins
|
|
|
|
eleventyConfig.addPlugin(InputPathToUrlTransformPlugin);
|
2024-04-11 12:18:03 +00:00
|
|
|
eleventyConfig.addPlugin(pluginRss);
|
2024-07-28 11:07:50 +00:00
|
|
|
eleventyConfig.addPlugin(pluginEleventyNavigation);
|
2024-08-02 07:42:34 +00:00
|
|
|
eleventyConfig.addPlugin(pluginSyntaxHighlight, { preAttributes: { tabindex: 0 } });
|
2024-07-28 11:07:50 +00:00
|
|
|
eleventyConfig.addPlugin(pluginEmbedEverything, { add: ['soundcloud'] });
|
2024-09-05 15:49:01 +00:00
|
|
|
eleventyConfig.addPlugin(pluginWordcount);
|
2024-07-28 11:05:49 +00:00
|
|
|
eleventyConfig.addPlugin(pluginTOC, {
|
|
|
|
tags: ['h2', 'h3', 'h4', 'h5', 'h6'],
|
|
|
|
wrapper: function (toc) {
|
|
|
|
return `<nav class="toc" aria-labelledby="toc-heading">${toc}</nav>`;
|
|
|
|
},
|
|
|
|
});
|
|
|
|
|
|
|
|
// Custom Configurations
|
|
|
|
eleventyConfig.addPlugin(markdownItConfig);
|
2024-07-28 11:48:35 +00:00
|
|
|
eleventyConfig.addPlugin(filesConfig);
|
2024-07-28 11:05:49 +00:00
|
|
|
eleventyConfig.addPlugin(collectionsConfig);
|
2024-08-11 12:19:57 +00:00
|
|
|
eleventyConfig.addPlugin(filtersConfig);
|
2024-07-28 11:05:49 +00:00
|
|
|
eleventyConfig.addPlugin(shortCodesConfig);
|
2024-07-18 14:11:18 +00:00
|
|
|
|
|
|
|
// Eleventy bundle plugin
|
2024-07-18 13:08:32 +00:00
|
|
|
eleventyConfig.addBundle("css");
|
2024-07-19 00:35:56 +00:00
|
|
|
eleventyConfig.addBundle("js", { toFileDirectory: "assets/js" });
|
2024-04-12 17:54:48 +00:00
|
|
|
|
2024-04-06 04:15:14 +00:00
|
|
|
return {
|
2024-09-14 13:14:07 +00:00
|
|
|
markdownTemplateEngine: "njk",
|
2024-10-03 15:02:13 +00:00
|
|
|
htmlTemplateEngine: "njk",
|
2024-04-06 04:15:14 +00:00
|
|
|
dir: {
|
|
|
|
input: "src"
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|