@Raper99

Как в gulp настроить генерацию статичного сайта с двумя локалями?

Добрый день!

Есть сайт, полностью статичный - html, css и немного javascript. Разбит на Jade-шаблоны, собирается с помощью gulp.
Не так давно появилась необходимость сделать его локализацию на другой язык, оставив вместе с тем русскую версию.

Взвесив все варианты реализации, пришел к тому, что шаблоны по-хорошему должны остаться общими, а подаваемая в них информация - разная. Хотелось бы разделить структуру так, чтобы в основном шаблоне через управляющую логику подключался тот или иной include из каталога соответсвующей локали, а на выходе это помещалось в out/en и out/ru, соответсвенно.

Подскажите, как это можно реализовать на уровне сборщика и на уровне jade. По-хорошему, без чтобы при запуске gulp-watcher'ов собирались в статику сразу обе локали, если происходят изменения в верстке, чтобы не править каждую отдельно.

Спасибо.
  • Вопрос задан
  • 338 просмотров
Решения вопроса 1
Вы можете передавать данные в jade шаблоны при компиляции.
Для начала сделайте 2 задачи на сборку шаблонов:

gulp.task('templates:ru', (cb) => {
  gulp.src(config.src)
    .pipe(jade({
      data: dataRu,
    }))
    .pipe(gulp.dest(config.destRu))
    .on('end', () => {
      cb(null);
    });
});

gulp.task('templates:en', (cb) => {
  gulp.src(config.src)
    .pipe(jade({
      data: dataEn,
    }))
    .pipe(gulp.dest(config.destEn))
    .on('end', () => {
      cb(null);
    });
});


И watcher на эти файлы, который будет запускать обе задачи.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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