diff --git a/.eleventy.js b/.eleventy.js index 31b6d8c..a054ba0 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -1,15 +1,15 @@ const htmlmin = require("html-minifier"); const rimraf = require("rimraf"); - +const cleancss = require("clean-css"); module.exports = function (eleventyConfig) { rimraf.windows.sync("public/") - + eleventyConfig.addPassthroughCopy("./src/_assets/css"); eleventyConfig.addPassthroughCopy("./src/_assets/img"); eleventyConfig.addPassthroughCopy("./src/_assets/fonts"); eleventyConfig.addPassthroughCopy("./src/_assets/js"); - + eleventyConfig.addCollection("tagsList", function (collectionApi) { const tagsList = new Set(); collectionApi.getAll().map(item => { @@ -19,9 +19,8 @@ module.exports = function (eleventyConfig) { }); return tagsList; }); - + eleventyConfig.addTransform("htmlmin", function (content) { - // Prior to Eleventy 2.0: use this.outputPath instead if (this.page.outputPath && this.page.outputPath.endsWith(".html")) { let minified = htmlmin.minify(content, { useShortDoctype: true, @@ -30,10 +29,13 @@ module.exports = function (eleventyConfig) { }); return minified; } - return content; }); + eleventyConfig.addFilter("cssmin", function(code) { + return new cleancss({}).minify(code).styles; + }); + return { passthroughFileCopy: true, dir: { diff --git a/package-lock.json b/package-lock.json index 9d03251..2014d61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "@11ty/eleventy": "^2.0.0", "bootstrap": "^5.2.3", + "clean-css": "^5.3.2", "html-minifier": "^4.0.0", "npm-run-all": "^4.1.5", "rimraf": "^4.1.3", @@ -534,14 +535,14 @@ } }, "node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", "dependencies": { "source-map": "~0.6.0" }, "engines": { - "node": ">= 4.0" + "node": ">= 10.0" } }, "node_modules/color-convert": { @@ -1261,6 +1262,17 @@ "node": ">=6" } }, + "node_modules/html-minifier/node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/html-minifier/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -3539,9 +3551,9 @@ } }, "clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", "requires": { "source-map": "~0.6.0" } @@ -4062,6 +4074,14 @@ "uglify-js": "^3.5.1" }, "dependencies": { + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "requires": { + "source-map": "~0.6.0" + } + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", diff --git a/package.json b/package.json index 75ee15e..c3e0ad3 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "dependencies": { "@11ty/eleventy": "^2.0.0", "bootstrap": "^5.2.3", + "clean-css": "^5.3.2", "html-minifier": "^4.0.0", "npm-run-all": "^4.1.5", "rimraf": "^4.1.3", diff --git a/src/_includes/layout/base.njk b/src/_includes/layout/base.njk index dbeaf4a..6314e19 100644 --- a/src/_includes/layout/base.njk +++ b/src/_includes/layout/base.njk @@ -1,12 +1,21 @@
- - - + + + - - + {# #} + + + {% set css %} + {% include "styles.css" %} + {% endset %} + + + {% if title %}