36 lines
1,010 B
JavaScript
36 lines
1,010 B
JavaScript
import markdownIt from "markdown-it";
|
|
import markdownItAnchor from "markdown-it-anchor";
|
|
import slugify from "slugify";
|
|
import { format } from "date-fns";
|
|
|
|
export default async function (eleventyConfig) {
|
|
const assets = "./_src/assets/";
|
|
eleventyConfig.addPassthroughCopy(assets);
|
|
eleventyConfig.addWatchTarget(assets);
|
|
eleventyConfig.addFilter("sortByFirstDate", (items) =>
|
|
items.sort(
|
|
(a, b) =>
|
|
new Date(b.data.images[0].date) -
|
|
new Date(a.data.images[0].date),
|
|
),
|
|
);
|
|
eleventyConfig.addFilter("link", function (text, url) {
|
|
return `<a href="${url}"><img src="https://www.google.com/s2/favicons?domain=${url}" alt="" aria-hidden="true"/>${text}</a>`;
|
|
});
|
|
eleventyConfig.addFilter("ISO", (dateObj) => {
|
|
return format(dateObj, "yyyy-LL-dd");
|
|
});
|
|
eleventyConfig.addFilter("readable", (dateObj) => {
|
|
return format(dateObj, "LLLL do, yyyy");
|
|
});
|
|
eleventyConfig.setBrowserSyncConfig({
|
|
open: true,
|
|
});
|
|
}
|
|
|
|
export const config = {
|
|
dir: {
|
|
input: "_src",
|
|
output: "_site",
|
|
},
|
|
};
|