diff --git a/_config/filters.js b/_config/filters.js
new file mode 100644
index 0000000..feb3499
--- /dev/null
+++ b/_config/filters.js
@@ -0,0 +1,40 @@
+import { DateTime } from "luxon";
+
+export default function(eleventyConfig) {
+ eleventyConfig.addFilter("readableDate", (dateObj, format, zone) => {
+ // Formatting tokens for Luxon: https://moment.github.io/luxon/#/formatting?id=table-of-tokens
+ return DateTime.fromJSDate(dateObj, { zone: zone || "utc" }).toFormat(format || "dd LLLL yyyy");
+ });
+
+ eleventyConfig.addFilter("htmlDateString", (dateObj) => {
+ // dateObj input: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string
+ 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);
+ });
+
+ // Return the smallest number argument
+ eleventyConfig.addFilter("min", (...numbers) => {
+ return Math.min.apply(null, numbers);
+ });
+
+ // Return the keys used in an object
+ eleventyConfig.addFilter("getKeys", target => {
+ return Object.keys(target);
+ });
+
+ eleventyConfig.addFilter("filterTagList", function filterTagList(tags) {
+ return (tags || []).filter(tag => ["all", "posts"].indexOf(tag) === -1);
+ });
+
+};
diff --git a/content/about/index.md b/content/about/index.md
index 673fc8d..8c673a8 100644
--- a/content/about/index.md
+++ b/content/about/index.md
@@ -1,8 +1,8 @@
---
eleventyNavigation:
- key: About Me
+ key: About
order: 3
---
-# About Me
+# About
I am a person that writes stuff.
diff --git a/eleventy.config.js b/eleventy.config.js
index c745f12..dadc193 100644
--- a/eleventy.config.js
+++ b/eleventy.config.js
@@ -1,4 +1,3 @@
-import { DateTime } from "luxon";
import markdownItAnchor from "markdown-it-anchor";
import { InputPathToUrlTransformPlugin, HtmlBasePlugin } from "@11ty/eleventy";
@@ -8,16 +7,18 @@ import pluginBundle from "@11ty/eleventy-plugin-bundle";
import pluginNavigation from "@11ty/eleventy-navigation";
import { eleventyImageTransformPlugin } from "@11ty/eleventy-img";
+import pluginFilters from "./_config/filters.js";
+
/** @param {import("@11ty/eleventy").UserConfig} eleventyConfig */
export default async function(eleventyConfig) {
// Copy the contents of the `public` folder to the output folder
// For example, `./public/css/` ends up in `_site/css/`
- eleventyConfig.addPassthroughCopy({
- "./public/": "/",
- "./node_modules/prismjs/themes/prism-okaidia.css": "/css/prism-okaidia.css"
- });
-
- eleventyConfig.addPassthroughCopy("./content/feed/pretty-atom-feed.xsl");
+ eleventyConfig
+ .addPassthroughCopy({
+ "./public/": "/",
+ "./node_modules/prismjs/themes/prism-okaidia.css": "/css/prism-okaidia.css"
+ })
+ .addPassthroughCopy("./content/feed/pretty-atom-feed.xsl");
// Run Eleventy when these files change:
// https://www.11ty.dev/docs/watch-serve/#add-your-own-watch-targets
@@ -50,41 +51,7 @@ export default async function(eleventyConfig) {
});
// Filters
- eleventyConfig.addFilter("readableDate", (dateObj, format, zone) => {
- // Formatting tokens for Luxon: https://moment.github.io/luxon/#/formatting?id=table-of-tokens
- return DateTime.fromJSDate(dateObj, { zone: zone || "utc" }).toFormat(format || "dd LLLL yyyy");
- });
-
- eleventyConfig.addFilter("htmlDateString", (dateObj) => {
- // dateObj input: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string
- 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);
- });
-
- // Return the smallest number argument
- eleventyConfig.addFilter("min", (...numbers) => {
- return Math.min.apply(null, numbers);
- });
-
- // Return the keys used in an object
- eleventyConfig.addFilter("getKeys", target => {
- return Object.keys(target);
- });
-
- eleventyConfig.addFilter("filterTagList", function filterTagList(tags) {
- return (tags || []).filter(tag => ["all", "posts"].indexOf(tag) === -1);
- });
+ eleventyConfig.addPlugin(pluginFilters);
// Customize Markdown library settings:
eleventyConfig.amendLibrary("md", mdLib => {
@@ -111,42 +78,42 @@ export default async function(eleventyConfig) {
// https://www.11ty.dev/docs/copy/#emulate-passthrough-copy-during-serve
// eleventyConfig.setServerPassthroughCopyBehavior("passthrough");
-
- return {
- // Control which files Eleventy will process
- // e.g.: *.md, *.njk, *.html, *.liquid
- templateFormats: [
- "md",
- "njk",
- "html",
- "liquid",
- ],
-
- // Pre-process *.md files with: (default: `liquid`)
- markdownTemplateEngine: "njk",
-
- // Pre-process *.html files with: (default: `liquid`)
- htmlTemplateEngine: "njk",
-
- // These are all optional:
- dir: {
- input: "content", // default: "."
- includes: "../_includes", // default: "_includes" (`input` relative)
- data: "../_data", // default: "_data" (`input` relative)
- output: "_site"
- },
-
- // -----------------------------------------------------------------
- // Optional items:
- // -----------------------------------------------------------------
-
- // If your site deploys to a subdirectory, change `pathPrefix`.
- // Read more: https://www.11ty.dev/docs/config/#deploy-to-a-subdirectory-with-a-path-prefix
-
- // When paired with the HTML plugin https://www.11ty.dev/docs/plugins/html-base/
- // it will transform any absolute URLs in your HTML to include this
- // folder name and does **not** affect where things go in the output folder.
-
- // pathPrefix: "/",
- };
+};
+
+export const config = {
+ // Control which files Eleventy will process
+ // e.g.: *.md, *.njk, *.html, *.liquid
+ templateFormats: [
+ "md",
+ "njk",
+ "html",
+ "liquid",
+ ],
+
+ // Pre-process *.md files with: (default: `liquid`)
+ markdownTemplateEngine: "njk",
+
+ // Pre-process *.html files with: (default: `liquid`)
+ htmlTemplateEngine: "njk",
+
+ // These are all optional:
+ dir: {
+ input: "content", // default: "."
+ includes: "../_includes", // default: "_includes" (`input` relative)
+ data: "../_data", // default: "_data" (`input` relative)
+ output: "_site"
+ },
+
+ // -----------------------------------------------------------------
+ // Optional items:
+ // -----------------------------------------------------------------
+
+ // If your site deploys to a subdirectory, change `pathPrefix`.
+ // Read more: https://www.11ty.dev/docs/config/#deploy-to-a-subdirectory-with-a-path-prefix
+
+ // When paired with the HTML plugin https://www.11ty.dev/docs/plugins/html-base/
+ // it will transform any absolute URLs in your HTML to include this
+ // folder name and does **not** affect where things go in the output folder.
+
+ // pathPrefix: "/",
};