• Как использовать условие в gulp-file-include?

    @dan_mk
    YavaDev, разобрался. я хранил в корне эти файлы. соответственно, они тоже обрабатывались. и голый _sidebar искал переменные для себя, которых не было. теперь осталось свои файлы настроить правильно. спасибо
  • Как использовать условие в gulp-file-include?

    @dan_mk
    YavaDev, вставляю шаблон в одном месте.
    Повторюсь, все работает. переменные в тегах h4 отрабатывают, в условиях переменные тоже отрабатывают, но постоянно вылетает ошибка. Сборщик с такой ошибкой запускаться не хочет,
    Уже отключил все свои инклюды, оставив один.
    вот так вызываю
    @@include('_sidebar.html', {
        "isActive": "about",
        "showSocial": true,
    })

    вот содержимое.
    <h3 class="title-text">test</h3>
    
    <h4 class="title-text">isActive = @@isActive</h4>
    <h4 class="title-text">showSocial = @@showSocial</h4>
    <ul>
      <li>
        @@if (isActive === 'about') {
        <h3 style="color: red; font-size: 24px">About us</h3>
        } @@if (isActive !== 'about') {
        <a href="about.html"><h4>About us</h4></a>
        }
      </li>
      <li>
        @@if (isActive === 'faq') {
        <h3 style="color: red; font-size: 24px">FAQs</h3>
        } @@if (isActive !== 'faq') {
        <a href="faq.html"><h4>FAQs</h4></a>
        }
      </li>
      <!-- дальше много таких li -->
    </ul>
    @@if (showSocial === true) {
    <div class="sidebar-social">
      <!-- Много кода qweqweqeqweqe -->
    </div>
    }


    60702ef863a19192964451.png
  • Как использовать условие в gulp-file-include?

    @dan_mk
    YavaDev, не могу понять в чем проблема. сделал как у вас в посте.
    импортнул в существующий проект файлы с разметкой из вашего поста. все работает, но в консоль залетает постоянно ошибка
    [12:00:56] 'handleHTML' errored after 121 ms
    [12:00:56] Error in plugin "gulp-file-include"
    Message:
        isActive is not defined:  (isActive === 'about')
    Details:
        domainEmitter: [object Object]
        domainThrown: false


    кажется один только раз сработало все без ошибки, но я пропустил этот момент.

    в gulpfile функция выглядит так

    function handleHTML() {
      return src(path.src.html)
        .pipe(
          fileInclude({
            basepath: "./" + sourceFolder + "/",
          }),
        )
        .pipe(webpHTML())
        .pipe(dest(path.build.html))
        .pipe(browserSync.stream());
    }
  • Как использовать условие в gulp-file-include?

    @dan_mk
    YavaDev, тегом b я хотел указать на форуме нужную строку. так его в разметке нет. спасибо, попробую ваш совет.
  • Как использовать условие в gulp-file-include?

    @dan_mk
    а можно ли использовать две разные переменные в одном файле для разных @@if?
    пытался сделать такую конструкцию. и не срабатывала вторая переменная button.
    El отрабатывала в любом случае. если менял el на button(оставлял одну переменную на весь файл), то button работала.
    когда были переменные для разных @@if, то в консоли была ошибка что button не существует, хотя передавал так же, как и el + если просто писать @@button(вне @@if), то она находится.


    <div class="swiper @@class">
     <b>@@if(button === 'yes')</b> {
      <button class="swiper__button swiper__button--to-left @@class__button @@class__button--to-left">
        @@include("./assets/icons/arrow_left.svg")
      </button>
    }
      <div class="swiper__container-outer @@class__container-outer">
        <ul class="swiper__container @@class__container">
    
          @@if (el === "pet"){
            @@loop('./partials/components/swiper/_item-pet.html',
          "@@pathtoJSON")}
          @@if (el === "testimonial"){
            @@loop('./partials/components/swiper/_item-testimon.html',
          "@@pathtoJSON")}
    
          @@if (el === "howitworks"){
            @@loop('./partials/components/swiper/_item-howitworks.html',
          "@@pathtoJSON")}
        </ul>
      </div>