Upgrade to Eleventy 3.0.0
Build and copy to prod / build-and-copy (push) Has been cancelled

This commit is contained in:
Lewis Dale committed 2024-10-06 12:36:54 +01:00
1 parent 862f12b4d0
commit e0c315d837
30 files changed
+2575 -3561

No files matched your search

+3 -3
View File
@@ -1,7 +1,7 @@
const tags = require('./tags');
const posts = require('./posts');
import tags from './tags.js';
import posts from './posts.js';
module.exports = function(eleventyConfig) {
export default function(eleventyConfig) {
eleventyConfig.addPlugin(tags);
eleventyConfig.addPlugin(posts);
}
+1 -1
View File
@@ -1,4 +1,4 @@
module.exports = function (eleventyConfig) {
export default function (eleventyConfig) {
eleventyConfig.addCollection('posts',collectionApi =>
collectionApi.getFilteredByTag("posts")
.filter(p => process.env.DEBUG || !p.data.tags.includes("draft"))
+1 -1
View File
@@ -1,4 +1,4 @@
module.exports = (eleventyConfig) => {
export default function (eleventyConfig) {
eleventyConfig.addCollection('tags', (collectionApi) => {
const tags = new Set();
collectionApi.getFilteredByTag("posts")
+1 -1
View File
@@ -1,4 +1,4 @@
module.exports = function(eleventyConfig) {
export default function(eleventyConfig) {
if (process.env.NODE_ENV !== "development") {
eleventyConfig.ignores.add("src/posts/drafts/*");
}
+1 -1
View File
@@ -1,3 +1,3 @@
module.exports = function(eleventyConfig) {
export default function(eleventyConfig) {
eleventyConfig.addFilter('take', (list, n) => list.slice(0, n));
}
+1 -1
View File
@@ -1,4 +1,4 @@
module.exports = function(eleventyConfig) {
export default function(eleventyConfig) {
eleventyConfig.addFilter('parseDate', dateString => new Date(dateString));
eleventyConfig.addFilter('dateDisplay', date => new Date(date).toLocaleDateString('en-GB', {
+1 -1
View File
@@ -8,7 +8,7 @@ const createExcerpt = (post, limit ) => {
}
return withoutTags;
}
module.exports = function (eleventyConfig) {
export default function (eleventyConfig) {
eleventyConfig.addFilter('excerpt', (post, limit = 250) => {
return post.data.excerpt || createExcerpt(post, limit);
});
+1 -1
View File
@@ -1,4 +1,4 @@
module.exports = (eleventyConfig) => {
export default (eleventyConfig) => {
eleventyConfig.addFilter('filterBy', (collection, value) => {
return collection.filter((item) => {
return item.data.tags.includes(value);
+1 -1
View File
@@ -1,4 +1,4 @@
module.exports = function(eleventyConfig) {
export default function(eleventyConfig) {
eleventyConfig.addFilter('metricsToPosts', function(metrics, posts) {
return metrics.map(metric => posts.find(post => post.url === metric.post));
})
+6 -6
View File
@@ -1,10 +1,10 @@
const dateFilters = require('./dates');
const arrayFilters = require('./arrays');
const excerptFilter = require('./excerpt');
const filterBy = require('./filterBy')
const getPost = require('./getPost');
import dateFilters from './dates.js';
import arrayFilters from './arrays.js';
import excerptFilter from './excerpt.js';
import filterBy from './filterBy.js';
import getPost from './getPost.js';
module.exports = function(eleventyConfig) {
export default function(eleventyConfig) {
eleventyConfig.addPlugin(dateFilters);
eleventyConfig.addPlugin(arrayFilters);
eleventyConfig.addPlugin(excerptFilter);
+2 -2
View File
@@ -1,4 +1,4 @@
const Image = require('@11ty/eleventy-img');
import Image from "@11ty/eleventy-img";
const defaultSizes = `
(max-width: 300px) 300px,
@@ -48,7 +48,7 @@ const remoteImageShortcode = async (src, alt, cls, sizes = defaultSizes, widths
// You bet we throw an error on missing alt in `imageAttributes` (alt="" works okay)
return Image.generateHTML(metadata, imageAttributes);
}
module.exports = function(eleventyConfig) {
export default function(eleventyConfig) {
eleventyConfig.addShortcode("image", imageShortcode);
eleventyConfig.addAsyncShortcode("remoteImage", remoteImageShortcode);
}
+7 -7
View File
@@ -1,11 +1,11 @@
const { EleventyRenderPlugin } = require("@11ty/eleventy");
const markdownPlugin = require('./markdown');
const rss = require('@11ty/eleventy-plugin-rss');
const syntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
const imagePlugin = require('./image');
const ogImagePlugin = require('./og-image');
import { EleventyRenderPlugin } from "@11ty/eleventy";
import markdownPlugin from "./markdown.js";
import rss from "@11ty/eleventy-plugin-rss";
import syntaxHighlight from "@11ty/eleventy-plugin-syntaxhighlight";
import imagePlugin from "./image.js";
import ogImagePlugin from "./og-image.js";
module.exports = function(eleventyConfig) {
export default function(eleventyConfig) {
eleventyConfig.addPlugin(syntaxHighlight);
eleventyConfig.addPlugin(rss);
eleventyConfig.addPlugin(markdownPlugin);
+21 -20
View File
@@ -1,18 +1,19 @@
const path = require("path");
import path from "node:path";
import fs from "node:fs";
import markdownIt from 'markdown-it';
import markdownItPrism from 'markdown-it-prism';
import markdownItAnchor from 'markdown-it-anchor';
import markdownItClass from '@toycode/markdown-it-class';
import markdownItLinkAttributes from 'markdown-it-link-attributes';
import { full as markdownItEmoji } from 'markdown-it-emoji';
import markdownItFootnote from 'markdown-it-footnote';
import markdownitMark from 'markdown-it-mark';
import markdownitAbbr from 'markdown-it-abbr';
import markdownItEleventyImg from 'markdown-it-eleventy-img';
import markdownItCallouts from 'markdown-it-obsidian-callouts';
import { slugifyString } from '../utils.js';
const markdownIt = require('markdown-it');
const markdownItPrism = require('markdown-it-prism');
const markdownItAnchor = require('markdown-it-anchor');
const markdownItClass = require('@toycode/markdown-it-class');
const markdownItLinkAttributes = require('markdown-it-link-attributes');
const markdownItEmoji = require('markdown-it-emoji');
const markdownItFootnote = require('markdown-it-footnote');
const markdownitMark = require('markdown-it-mark');
const markdownitAbbr = require('markdown-it-abbr');
const markdownItEleventyImg = require('markdown-it-eleventy-img');
const markdownItCallouts = require('markdown-it-obsidian-callouts');
const icons = require('./icons.json');
const { slugifyString } = require('../utils');
const icons = JSON.parse(fs.readFileSync('./config/plugins/icons.json'), 'utf-8');
const markdownLib = markdownIt({
html: true,
@@ -68,11 +69,11 @@ const markdownLib = markdownIt({
}
});
markdownLib.renderer.rules.emoji = function(token, idx) {
return `<span class="fa-li"><i class="fa-solid fa-${token[idx].markup}" aria-hidden="true"></i></span>`;
};
module.exports = function(eleventyConfig) {
markdownLib.renderer.rules.emoji = function(token, idx) {
return `<span class="fa-li"><i class="fa-solid fa-${token[idx].markup}" aria-hidden="true"></i></span>`;
};
export default function(eleventyConfig) {
eleventyConfig.addFilter('md', content => content ? markdownLib.render(content) : "");
eleventyConfig.setLibrary('md', markdownLib);
};
}
+3 -3
View File
@@ -1,7 +1,7 @@
const ogImagePlugin = require('eleventy-plugin-og-image');
const fs = require('node:fs');
import fs from 'node:fs';
import ogImagePlugin from 'eleventy-plugin-og-image';
module.exports = function (eleventyConfig) {
export default function (eleventyConfig) {
eleventyConfig.addPlugin(ogImagePlugin, {
satoriOptions: {
fonts: [
+3 -4
View File
@@ -1,7 +1,6 @@
const slugify = require('slugify');
import slugify from 'slugify';
/** Converts string to a slug form. */
const slugifyString = str => {
export const slugifyString = str => {
return slugify(str, {
replacement: '-',
remove: /[#,&,+()$~%.'":*?<>{}]/g,
@@ -9,6 +8,6 @@ const slugifyString = str => {
});
};
module.exports = {
export default {
slugifyString
}