IIIu6ko
@IIIu6ko

Как исключить файлы из потока взависимости от пути?

Добрый день. Столкнулся с проблемой связанную с иклюдами в nunjucks.

Есть вот такая структура проекта:
- build
  - index.html
- src
  - blocks
    - block1
      - block1.njk
    - block2
      - block2.njk
  - index.njk

Если инклюдить block1.njk или block2.njk в index.njk, то всё нормально, но если block2.njk в block1.njk и потом block1.njk в index.njk, то в build появляется папка blocks/block2/block2.html.
Помогите исключить из потока файлы с путём blocks/**/*.njk, чтобы они не выгружались в build.

таск:
// html.
const htmlhint = require('gulp-htmlhint');
const prettyHtml = require('gulp-pretty-html'); // Добавляет индентацию.
const nunjucks = require('gulp-nunjucks-render');
const nunjucksInheritance = require('gulp-nunjucks-inheritance');


function html() {
  return src('src/**/*.{html,njk}', { base: 'src', since: lastRun('html') })

    // Nunjucks
    .pipe(nunjucksInheritance({ base: 'src' })) // Ищем изменения в зависимостях
    .pipe(nunjucks({ path: 'src' })) // Компилируем в HTML

    // Добавляет индентацию для заинклюженных блоков.
    .pipe(prettyHtml({ indent_size: 2 }))

    // HTML-валидатор.
    .pipe(htmlhint('.htmlhintrc'))
    .pipe(htmlhint.reporter())

    // Манифест.
    // Если флаг --dist без --norev.
    .pipe(gulpif(dist, gulpif(distRev, revReplace({
      manifest: src('manifest/manifest.json', { allowEmpty: true }),
    }))))

    // Выгрузка.
    .pipe(dest(buildHtml))

    // browserSync.
    .pipe(gulpif(!dist, browserSync.stream())); // Если нет флага --dist.
}
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы