diff --git a/.docs/.eleventy.js b/.docs/.eleventy.js new file mode 100644 index 0000000..87d5aa5 --- /dev/null +++ b/.docs/.eleventy.js @@ -0,0 +1,72 @@ +const path = require("path"); + +const htmlentities = require("html-entities"); +const Image = require("@11ty/eleventy-img"); + +var nextid = 0; + +async function shortcode_image(src, alt, classes = "") { + let metadata = await Image(src, { + widths: [300, null], + formats: ["avif", "jpeg"], + outputDir: `./_site/img/`, + filenameFormat: (_id, src, width, format, _options) => { + const extension = path.extname(src); + const name = path.basename(src, extension); + return `${name}-${width}w.${format}`; + } + }); + console.log(metadata); + + let imageAttributes = { + class: classes, + alt: htmlentities.encode(alt), + sizes: Object.values(metadata)[0].map((el) => `${el.width}w`).join(" "), + loading: "lazy", + decoding: "async", + }; + + // You bet we throw an error on missing alt in `imageAttributes` (alt="" works okay) + return Image.generateHTML(metadata, imageAttributes); +} + +async function shortcode_image_url(src) { + let metadata = await Image(src, { + widths: [ null ], + formats: [ "jpeg" ], + outputDir: `./_site/img/`, + filenameFormat: (_id, src, width, format, _options) => { + const extension = path.extname(src); + const name = path.basename(src, extension); + return `${name}-${width}w.${format}`; + } + }); + console.log(metadata); + + let data = metadata.jpeg[metadata.jpeg.length - 1]; + return data.url; +} + +async function shortcode_cssbox(content, src) { + let idprev = `image-${nextid}`; + nextid += 1; + let idthis = `image-${nextid}`; + let idnext = `image-${nextid + 1}`; + return `
+${await shortcode_image(src, content, "cssbox_thumb", "300w")} + ${await shortcode_image(src, content, "", "1920w")} + + +< +> +
`; +} + +module.exports = function(eleventyConfig) { + // eleventyConfig.addPassthroughCopy("images"); + // eleventyConfig.addPassthroughCopy("css"); + eleventyConfig.addShortcode("image", shortcode_image); + eleventyConfig.addJavaScriptFunction("image", shortcode_image); + eleventyConfig.addShortcode("image-url", shortcode_image_url); + eleventyConfig.addPairedShortcode("cssbox", shortcode_cssbox); +} diff --git a/.docs/.eleventyignore b/.docs/.eleventyignore new file mode 100644 index 0000000..9798131 --- /dev/null +++ b/.docs/.eleventyignore @@ -0,0 +1 @@ +css/ diff --git a/.docs/Changelog.11tydata.json b/.docs/Changelog.11tydata.json new file mode 100644 index 0000000..0ee657c --- /dev/null +++ b/.docs/Changelog.11tydata.json @@ -0,0 +1,6 @@ +{ + "layout": "theme.njk", + "title": "Changelog", + "tags": "navigable", + "date": "2002-01-01" +} diff --git a/.docs/Changelog.md b/.docs/Changelog.md new file mode 120000 index 0000000..04c99a5 --- /dev/null +++ b/.docs/Changelog.md @@ -0,0 +1 @@ +../CHANGELOG.md \ No newline at end of file diff --git a/.docs/Reference.11tydata.json b/.docs/Reference.11tydata.json new file mode 100644 index 0000000..5506455 --- /dev/null +++ b/.docs/Reference.11tydata.json @@ -0,0 +1,6 @@ +{ + "layout": "theme.njk", + "title": "Reference", + "tags": "navigable", + "date": "2001-01-01" +} diff --git a/.docs/Reference.md b/.docs/Reference.md new file mode 120000 index 0000000..8e2095a --- /dev/null +++ b/.docs/Reference.md @@ -0,0 +1 @@ +../Chat-Command-Reference.md \ No newline at end of file diff --git a/.docs/_includes/theme.njk b/.docs/_includes/theme.njk new file mode 100644 index 0000000..4faa0ba --- /dev/null +++ b/.docs/_includes/theme.njk @@ -0,0 +1,35 @@ +--- + +--- + + + + + {{ title }} • WorldEditAdditions + + + + + + {{ content | safe }} + + + + diff --git a/.docs/css.njk b/.docs/css.njk new file mode 100644 index 0000000..5c14c61 --- /dev/null +++ b/.docs/css.njk @@ -0,0 +1,5 @@ +--- +permalink: theme.css +--- +{% include "css/theme.css" %} +{% include "css/CSSBox/cssbox.css" %} diff --git a/.docs/css/CSSBox b/.docs/css/CSSBox new file mode 160000 index 0000000..2234546 --- /dev/null +++ b/.docs/css/CSSBox @@ -0,0 +1 @@ +Subproject commit 2234546c25d51770086f972b0f330d4087e7c829 diff --git a/.docs/css/theme.css b/.docs/css/theme.css new file mode 100644 index 0000000..9dd65f3 --- /dev/null +++ b/.docs/css/theme.css @@ -0,0 +1,224 @@ +/* Base CSS */ + +/* + * This CSS file contains (for me) logical style defaults that are easy to read. + * + * This file is quite often used as a starting point for other projects. + * + * Todo: + *