Привет! Сегодня мы собираемся погрузиться в мир 11ty (или Eleventy), популярного генератора статических сайтов, и изучить различные методы исключения каталогов. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете, эта статья предоставит вам разговорные объяснения и примеры кода, которые помогут вам понять и реализовать эти методы. Давайте начнем!
-
Использование
.eleventyignore
. Один простой способ исключить каталоги в 11ty — создать файл.eleventyignore
в корне вашего проекта. Этот файл позволяет вам указать шаблоны для каталогов или файлов, которые следует игнорировать в процессе сборки. Например, если вы хотите исключить каталог с именемmy-directory
, просто добавьтеmy-directory/
в файл.eleventyignore
. -
Настройка свойства
dir
. В файле конфигурации.eleventy.js
вашего проекта вы можете изменить свойствоdir
, чтобы исключить определенные каталоги. Например, если вы хотите исключить каталог с именемmy-directory
, вы можете добавить следующий код:
module.exports = function (eleventyConfig) {
eleventyConfig.setBrowserSyncConfig({
// other configurations...
dir: {
input: "src",
output: "dist",
excludes: ["my-directory"],
},
});
};
- Фильтрация входных папок. Другой подход — фильтровать входные папки непосредственно в файле конфигурации
.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;
});
});
};
- Использование плагина. Если описанные выше методы не соответствуют вашим требованиям, вы можете использовать существующий плагин, например
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. Теперь вы можете выбрать метод, который лучше всего соответствует вашим потребностям и рабочему процессу. Приятного кодирования!