diff --git a/eleventy.config.js b/eleventy.config.js index 9d7a5bf..da37621 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -13,6 +13,7 @@ import eleventyPluginReadingTime from '@myxotod/eleventy-plugin-readingtime'; import eleventyPluginRobotsTxt from 'eleventy-plugin-robotstxt'; import eleventyPluginRss from '@11ty/eleventy-plugin-rss'; import eleventyPluginSyntaxHighlight from '@11ty/eleventy-plugin-syntaxhighlight'; +import eleventyPluginTinyHtml from '@sardine/eleventy-plugin-tinyhtml'; import markdownIt from 'markdown-it'; import markdownItAbbr from 'markdown-it-abbr'; import markdownItAnchor from 'markdown-it-anchor'; @@ -125,6 +126,7 @@ export default async function (eleventyConfig) { } }); eleventyConfig.addPlugin(eleventyPluginRss); + eleventyConfig.addPlugin(eleventyPluginTinyHtml); eleventyConfig.setLibrary('md', markdownIt(MARKDOWNIT_OPTIONS)); diff --git a/package-lock.json b/package-lock.json index 5cc91e6..bc7740a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "@grimlink/eleventy-plugin-lucide-icons": "^2.1.5", "@myxotod/eleventy-plugin-readingtime": "^2.0.0", "@quasibit/eleventy-plugin-sitemap": "^2.2.0", + "@sardine/eleventy-plugin-tinyhtml": "^0.2.0", "@tailwindcss/cli": "^4.1.6", "@tailwindcss/typography": "^0.5.16", "eleventy-plugin-embed-everything": "^1.21.0", @@ -1562,6 +1563,18 @@ "node": ">=14.0.0" } }, + "node_modules/@sardine/eleventy-plugin-tinyhtml": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@sardine/eleventy-plugin-tinyhtml/-/eleventy-plugin-tinyhtml-0.2.0.tgz", + "integrity": "sha512-OJZTms3AWhbe5KK4zleA2HjdA6vjoLKo6iDVQZR6PxLLUttvArm2Vl/I4qhIh92TY/d59NoA34tFEQYnYDrIng==", + "license": "MIT", + "dependencies": { + "html-minifier": "^4.0.0" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/@shuding/opentype.js": { "version": "1.4.0-beta.0", "resolved": "https://registry.npmjs.org/@shuding/opentype.js/-/opentype.js-1.4.0-beta.0.tgz", @@ -2710,6 +2723,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "license": "MIT", + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, "node_modules/camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", @@ -5008,6 +5031,15 @@ "node": ">= 0.4" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, "node_modules/hex-rgb": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz", @@ -5020,6 +5052,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "license": "MIT", + "dependencies": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-minifier/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, "node_modules/htmlparser2": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", @@ -6076,6 +6135,12 @@ "node": ">=0.10.0" } }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "license": "MIT" + }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -6471,6 +6536,15 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "license": "MIT" }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "license": "MIT", + "dependencies": { + "lower-case": "^1.1.1" + } + }, "node_modules/node-addon-api": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", @@ -6643,6 +6717,15 @@ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", "license": "MIT" }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "license": "MIT", + "dependencies": { + "no-case": "^2.2.0" + } + }, "node_modules/parse-css-color": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/parse-css-color/-/parse-css-color-0.2.1.tgz", @@ -7320,6 +7403,15 @@ "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", "license": "MIT" }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", @@ -8539,7 +8631,6 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "license": "BSD-2-Clause", - "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" }, @@ -8597,6 +8688,12 @@ "node": ">= 0.8" } }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "license": "MIT" + }, "node_modules/urlpattern-polyfill": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", diff --git a/package.json b/package.json index e277b1b..29b32fa 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@grimlink/eleventy-plugin-lucide-icons": "^2.1.5", "@myxotod/eleventy-plugin-readingtime": "^2.0.0", "@quasibit/eleventy-plugin-sitemap": "^2.2.0", + "@sardine/eleventy-plugin-tinyhtml": "^0.2.0", "@tailwindcss/cli": "^4.1.6", "@tailwindcss/typography": "^0.5.16", "eleventy-plugin-embed-everything": "^1.21.0",