Update to Eleventy v3 (#11)
* feat: upgrade to v3; install eleventy-upgrade-help * feat: convert all files to esm * feat: remove decapcms * fix: remove unused filter * feat: remove netlify packages * feat: update image handling - removes old image shortcode - update to latest 11ty image transform plugin * feat: update colophon * fix: pill style; global style Fixes an issue with <img> inside <figure> not being centered * feat: remove linting packages * feat: update package.json scripts * feat: remove upgrade helper plugin * feat: add new button style, update nav * feat: simplify `pill` class usage * feat: fix tag list in catalogue-item.html * feat: move games into their own section * feat: update node version to latest LTS * feat: move books to their own section * feat: move fun pages into pages dir * feat: update index and book/game templates * feat: add watching section * fix: update scaling values for buttons * feat: various css updates * feat: update now page style * feat: cleaning up newer posts using old shortcode also adding markdown-it-attrs to add attrs to various markdown elements! * fix: movie data structure * feat: update colophon * fix: remove text-skew from post excerpt text * feat: add support for shows in /watching * fix: update book tags * feat: add complete implementation of books pages other stuff happened too * fix: image border-radius * feat: update game layout and content * feat: reorganize watching section * feat: add contact page * feat: small page changes * feat: add podroll page * feat: reorganize content directories * feat: exclude podcasts from page output * chore: delete guestbook page * chore: remove bracket syntax for css classes in html * feat: create macro for tag list * fix: colophon update * chore: remove last.fm data * chore: clean up 11ty config * fix: misc permalink fixes * feat: add update post * fix: media meta grid on mobile * fix: tables on mobile * fix: add titles to icon button links * fix: add missing divider for movies/shows * feat: add alternate feeds * fix: tag cleanup * feat: homepage content update * fix: game meta data * fix: update post dates * feat: add missing link to changelog
This commit is contained in:
parent
e28e804e12
commit
5f8227a46b
282 changed files with 4577 additions and 5016 deletions
|
@ -1,76 +0,0 @@
|
|||
const Image = require("@11ty/eleventy-img");
|
||||
|
||||
const stringifyAttributes = (attributeMap) => {
|
||||
return Object.entries(attributeMap)
|
||||
.map(([attribute, value]) => {
|
||||
if (typeof value === "undefined") return "";
|
||||
return `${attribute}="${value}"`;
|
||||
})
|
||||
.join(" ");
|
||||
};
|
||||
|
||||
const imageShortcode = async (
|
||||
src,
|
||||
alt = "",
|
||||
caption = "",
|
||||
className = undefined,
|
||||
placeholder = "",
|
||||
widths = [400, 800, 1280],
|
||||
formats = ["webp", "jpeg"],
|
||||
sizes = "100vw",
|
||||
) => {
|
||||
if (!src) {
|
||||
return `<div class="image-placeholder">${placeholder}</div>`;
|
||||
}
|
||||
|
||||
const metadata = await Image(src, {
|
||||
widths: [...widths, null],
|
||||
formats: [...formats, null],
|
||||
outputDir: "dist/assets/images",
|
||||
urlPath: "/assets/images",
|
||||
sharpOptions: {
|
||||
animated: true,
|
||||
},
|
||||
cacheOptions: {
|
||||
duration: "7d",
|
||||
},
|
||||
});
|
||||
|
||||
const lowsrc = metadata.jpeg[metadata.jpeg.length - 1];
|
||||
|
||||
const imageSources = Object.values(metadata)
|
||||
.map((imageFormat) => {
|
||||
return ` <source type="${imageFormat[0].sourceType}" srcset="${imageFormat
|
||||
.map((entry) => entry.srcset)
|
||||
.join(", ")}" sizes="${sizes}">`;
|
||||
})
|
||||
.join("\n");
|
||||
|
||||
const imageAttributes = stringifyAttributes({
|
||||
src: lowsrc.url,
|
||||
width: lowsrc.width,
|
||||
height: lowsrc.height,
|
||||
alt,
|
||||
loading: "lazy",
|
||||
decoding: "async",
|
||||
});
|
||||
|
||||
const imageElement = caption
|
||||
? `<figure class="[ flow flex-col items-center justify-center ${className ? ` ${className} ` : ""}]">
|
||||
<picture class="flex items-center justify-center">
|
||||
${imageSources}
|
||||
<img
|
||||
${imageAttributes}>
|
||||
</picture>
|
||||
<figcaption>${caption}</figcaption>
|
||||
</figure>`
|
||||
: `<picture class="[ flex-col items-center justify-center ${className ? ` ${className} ` : ""}]">
|
||||
${imageSources}
|
||||
<img
|
||||
${imageAttributes}>
|
||||
</picture>`;
|
||||
|
||||
return imageElement;
|
||||
};
|
||||
|
||||
module.exports = imageShortcode;
|
|
@ -12,4 +12,4 @@ const liteYoutube = (id, label) => {
|
|||
</div>`;
|
||||
};
|
||||
|
||||
module.exports = liteYoutube;
|
||||
export default liteYoutube;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue