Files
start9.com/.eleventy.js

85 lines
3.0 KiB
JavaScript

const eleventySass = require("eleventy-sass");
const lazyImagesPlugin = require('eleventy-plugin-lazyimages');
// https://www.npmjs.com/package/eleventy-plugin-img2picture
const img2picture = require("eleventy-plugin-img2picture");
// https://www.npmjs.com/package/@sardine/eleventy-plugin-tinycss
const tinyCSS = require('@sardine/eleventy-plugin-tinycss');
// https://www.npmjs.com/package/@sardine/eleventy-plugin-tinysvg
const tinysvg = require('@sardine/eleventy-plugin-tinysvg');
// https://www.npmjs.com/package/@sardine/eleventy-plugin-tinyhtml
const tinyHTML = require('@sardine/eleventy-plugin-tinyhtml');
module.exports = function (eleventyConfig) {
// passthrus
//eleventyConfig.addPassthroughCopy("./src/assets/styles");
eleventyConfig.addPassthroughCopy('src/assets/fonts');
eleventyConfig.addPassthroughCopy("./src/assets/js");
// eleventyConfig.addPassthroughCopy('src/assets/images/**/*.png');
// eleventyConfig.addPassthroughCopy('src/assets/images/**/*.svg');
// eleventyConfig.addPassthroughCopy('src/assets/images/**/*.jpg');
// eleventyConfig.addPassthroughCopy('src/assets/images/**/*.gif');
if (true) {//(process.env.ELEVENTY_ENV === "production") {
eleventyConfig.addPlugin(img2picture, {
// Should be same as Eleventy input folder set using `dir.input`.
eleventyInputDir: "src",
// Output folder for optimized images.
imagesOutputDir: "_site/assets/images",
// URL prefix for images src URLS.
// It should match with path suffix in `imagesOutputDir`.
// Eg: imagesOutputDir with `_site/images` likely need urlPath as `/images/`
urlPath: "/assets/images/",
});
} else {
// During development, copy the files to Eleventy's `dir.output`
eleventyConfig.addPassthroughCopy("src/assets/images");
}
//eleventyConfig.addNunjucksFilter('bitcoin', arr => arr.filter(e => e.name == 'Synapse'));
//plugins
eleventyConfig.addPlugin(eleventySass);
//eleventyConfig.addPlugin(tinyCSS);
eleventyConfig.addPlugin(tinyHTML);
eleventyConfig.addPlugin(tinysvg, {
baseUrl: 'src/_includes/components/svg/',
});
// eleventyConfig.addPlugin(lazyImagesPlugin, {
// imgSelector: 'img:not(.unlazy)', // custom image selector
// //cacheFile: '', // don't cache results to a file
// });
return {
dir: { input: "src", output: "_site", data: "_data" },
};
};
// module.exports = function (eleventyConfig) {
// if (process.env.ELEVENTY_ENV === "production") {
// eleventyConfig.addPlugin(img2picture, {
// // Should be same as Eleventy input folder set using `dir.input`.
// eleventyInputDir: ".",
// // Output folder for optimized images.
// imagesOutputDir: "_site",
// // URL prefix for images src URLS.
// // It should match with path suffix in `imagesOutputDir`.
// // Eg: imagesOutputDir with `_site/images` likely need urlPath as `/images/`
// urlPath: "",
// });
// } else {
// // During development, copy the files to Eleventy's `dir.output`
// eleventyConfig.addPassthroughCopy("./images");
// }
// };