Изучение различных способов исключения каталогов в 11ty

Привет! Сегодня мы собираемся погрузиться в мир 11ty (или Eleventy), популярного генератора статических сайтов, и изучить различные методы исключения каталогов. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете, эта статья предоставит вам разговорные объяснения и примеры кода, которые помогут вам понять и реализовать эти методы. Давайте начнем!

  1. Использование .eleventyignore. Один простой способ исключить каталоги в 11ty — создать файл .eleventyignoreв корне вашего проекта. Этот файл позволяет вам указать шаблоны для каталогов или файлов, которые следует игнорировать в процессе сборки. Например, если вы хотите исключить каталог с именем my-directory, просто добавьте my-directory/в файл .eleventyignore.

  2. Настройка свойства dir. В файле конфигурации .eleventy.jsвашего проекта вы можете изменить свойство dir, чтобы исключить определенные каталоги. Например, если вы хотите исключить каталог с именем my-directory, вы можете добавить следующий код:

module.exports = function (eleventyConfig) {
  eleventyConfig.setBrowserSyncConfig({
    // other configurations...
    dir: {
      input: "src",
      output: "dist",
      excludes: ["my-directory"],
    },
  });
};
  1. Фильтрация входных папок. Другой подход — фильтровать входные папки непосредственно в файле конфигурации .eleventy.js. Этот метод позволяет программно исключать каталоги на основе определенных условий. Вот пример, который отфильтровывает my-directory:
module.exports = function (eleventyConfig) {
  eleventyConfig.addCollection("pages", function (collection) {
    return collection.getAll().filter(function (item) {
      return item.inputPath.indexOf("/my-directory/") === -1;
    });
  });
};
  1. Использование плагина. Если описанные выше методы не соответствуют вашим требованиям, вы можете использовать существующий плагин, например eleventy-plugin-exclude. Этот плагин предоставляет простой способ исключения каталогов путем добавления свойства excludeв файл конфигурации .eleventy.js. Установите плагин через npm, а затем добавьте следующий код:
const excludePlugin = require("eleventy-plugin-exclude");
module.exports = function (eleventyConfig) {
  eleventyConfig.addPlugin(excludePlugin, {
    dirs: ["my-directory"],
  });
};

Используя любой из этих методов, вы можете эффективно исключить каталоги из своего проекта 11ty, гарантируя, что только желаемый контент будет обработан и сгенерирован в статические файлы.

Надеюсь, эта статья предоставила вам ряд способов исключения каталогов из 11ty. Теперь вы можете выбрать метод, который лучше всего соответствует вашим потребностям и рабочему процессу. Приятного кодирования!