• Как не переборщить с тяжёлыми css правилами?

    IIIu6ko
    @IIIu6ko
    Производительность CSS?) Какие-то загоны на ровном месте.
    Мне кажется что-то придумать с inline-block было бы ошибкой, а на флексах как раз таки очевидно что к чему.
    Чем очевидней решение - тем лучше.
  • Чем заполнить селект с кодом страны?

    IIIu6ko
    @IIIu6ko Автор вопроса
    Илья, С этим можно работать. Спасибо.
  • Чем заполнить селект с кодом страны?

    IIIu6ko
    @IIIu6ko Автор вопроса
    Да, я его находил. Немного отличается, я не уверен что можно отредактировать его внешний вид...
    У меня есть готовое решение, делал для другого проекта, но там только функционал. Нужны данные, чтобы не заполнять все странны вручную.
  • Как разрезать строку от одного символа до другого?

    IIIu6ko
    @IIIu6ko Автор вопроса
    Сергей Соколов, Нашёл баг. Если на вход подать только номер дома, без строения и всего остального, то ошибка вылетает
    К примеру YaParse("23") или YaParse("23А") и т.п.

    Сделал просто проверку
    YaParse = (str) => {
      const nums = str.split(/[а-яй]+/)  // [ "23", "1", "2" ]
      const parts = str.match(/([а-яй]+)/g)  // [ "к", "с" ]
    
      if (parts === null) {
        return nums[0];
      } else {
        parts.unshift("дом");
        return nums.reduce((acc, c, i) => (acc[parts[i]] = c, acc), {});
      }
    }
  • Как разрезать строку от одного символа до другого?

    IIIu6ko
    @IIIu6ko Автор вопроса
    \D - берёт только цифры?
    А "gm" что делает?

    Ну этот вариант к сожалению не подходит т.к. может быть номер дома с буквой: "15Кс1".
    "15Кс1" нужно чтобы поделил на 15K и на 1, а лучше на c1.
  • Как исключить файлы из потока взависимости от пути?

    IIIu6ko
    @IIIu6ko Автор вопроса
    Ankhena, Работает, если убрать since: lastRun('html'), но без since он все файлы берёт в поток. Соответственно чем больше будет njk файлов, тем медленней будет таск работать.
    Щас он берёт в поток те файлы, которые изменились.

    Нашёл вариант с gulp-filter:
    function html() {
      return src('src/**/*.{html,njk}', { base: 'src', since: lastRun('html') })
    
        // Nunjucks
        .pipe(nunjucksInheritance({ base: 'src' })) // Ищем изменения в зависимостях
        .pipe(nunjucks({ path: 'src' })) // Компилируем в HTML
    
        // Убираем из потока файлы из папки blocks
        .pipe(filter(['**', '!src/blocks/**/*.*']))
    
        // Добавляет индентацию для заинклюженных блоков.
        .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.
    }

    Но теперь другая проблема вылезла. У меня стоит пакет gulp-nunjucks-inheritance, которые смотрит на зависимости в njk файлах. То есть, я изменяю block1.njk, который заинклюженный в index.njk, и в потом попадает не только block1.njk, но и index.njk, соответственно всё нормально работает. Проблема в том, что этот пакет не видит зависимости ниже первого уровня, либо его как-то нужно настроить...
    Если blocks2.njk заинклюжен в block1.njk, а block1 в index, то при изменениях blocks2.njk уже зависимости не реагируют, в поток попадает только block2.njk. Возможно недоработка этого пакета.

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

    IIIu6ko
    @IIIu6ko Автор вопроса
    Ankhena, Нет, вообще никуда не выгружал. Просто отработал внутри block1.njk, если там есть какие-то циклы, условия и т.п. и заиклюдил в index.njk.
    Да и плюс ко всему, если убрать файлы из папки blocks, то изменения не будут применяться при изменениях в этих файлах. Я поменяю что-то в block1.njk и ничего не произойдёт, даже если watch за ним наблюдает.
  • Как исключить файлы из потока взависимости от пути?

    IIIu6ko
    @IIIu6ko Автор вопроса
    Ankhena, Тогда nunjucks не будет компилить файлы из папки blocks. Мне нужно чтобы компилил, но не выгружал.
  • Как сделать функцию для мeдиа-запросов на js?

    IIIu6ko
    @IIIu6ko Автор вопроса
    MagnusDidNotBetray Если есть идеи как оптимизировать, то подкидывайте. :)
    Я думаю функцию mqIf стоит вынести в отдельный метод и addEventListener тоже.
  • Как сделать функцию для мeдиа-запросов на js?

    IIIu6ko
    @IIIu6ko Автор вопроса
    Можно сказать доделал Ваш вариант.

    export const media = {
      mqList: {
        mobile: window.matchMedia('(min-width: 0px) and (max-width: 768px)'),
        tablet: window.matchMedia('(min-width: 768px) and (max-width: 992px)'),
        desktop: window.matchMedia('(min-width: 992px)'),
      },
      mobile: function(func) {
        const mqIf = () => {
          if (this.mqList.mobile.matches) {
            func();
          }
        }
    
        mqIf();
    
        this.mqList.mobile.addEventListener('change', mqIf);
      },
      tablet: function(func) {
        const mqIf = () => {
          if (this.mqList.tablet.matches) {
            func();
          }
        }
    
        mqIf();
    
        this.mqList.tablet.addEventListener('change', mqIf);
      },
      desktop: function(func) {
        const mqIf = () => {
          if (this.mqList.tablet.matches) {
            func();
          }
        }
    
        mqIf();
    
        this.mqList.tablet.addEventListener('change', mqIf);
      }
    }

    import { media } from '/path';
    
    media.mobile(() => document.querySelector('body').style.background = 'red');
    media.tablet(() => document.querySelector('body').style.background = 'green');
  • Как сделать функцию для мeдиа-запросов на js?

    IIIu6ko
    @IIIu6ko Автор вопроса
    sergski, Код выше - это пример. Мне нужно не стили менять понятное дело. Я же написал js функционал.
  • Как сделать функцию для мeдиа-запросов на js?

    IIIu6ko
    @IIIu6ko Автор вопроса
    sergski, Можно отталкиваться от класса, да. Попробую как временное решение. В идеале конечно сделать функцию или тип того из того кода выше, чтобы его реиспользовать.
  • Как сделать функцию для мeдиа-запросов на js?

    IIIu6ko
    @IIIu6ko Автор вопроса
    Johnny Lowhunter, Мне нужно какой-то js функционал на телефонах включить, а на десктопе выключить.
  • Как листать слайдер при клике на первый/последний видимый слайд?

    IIIu6ko
    @IIIu6ko Автор вопроса
    Спасибо. Работает, но есть баг, если тамбы объявлены отдельно, как было у меня в примере, то эта настройка не работает. Объявил тамбы внутри главного слайдера и всё заработало
    var main = new Swiper('.slider__main', {
      slidesPerView: 1,
      spaceBetween: 0,
      thumbs: {
        autoScrollOffset: 1,
        swiper: {
          el: '.slider__thumbs',
          slidesPerView: 5,
          spaceBetween: 19,
          direction: "vertical"
        }
      },
    });

  • Linux для frontendщика как?

    IIIu6ko
    @IIIu6ko
    AVKor, Я бы перешёл на линукс или поставил бы как вторую систему чисто для работы, но просто я не понимаю какие в ней могут быть преимущества для верстальщика-фронтендера.
  • Linux для frontendщика как?

    IIIu6ko
    @IIIu6ko
    AVKor,
    В моём ответе нет оффтопа. Я написал, что в вебе наиболее подходит для разработки Линукс или Мак.

    Вы же понимаете что суть вопроса автора не в том чем лучше пользоваться, а как пользоваться конкретно линуксом для разработки. Ну да ладно, это в принципе не важно. Меня больше уже интересует чем же линукс так хорош для фронтенда? Что на нём можно сделать такого, что нельзя на винде?
    И замечу, что меня интересует конкретно преимущества в вёрстке и просмотра макетов, а не работа с серверами и т.п.

    Замечу также, что мой ответ был реакцией на то, что тут пара людей написали чушь, что для веб-разработки надо пользоваться именно виндой.

    Вы аналогично написали, что нужно пользоваться линуксом.

    Уже.

    Вы только пишите что уже написали, хотя по факту ничего существенного не написали, а также что уже кто-то до вас написал где-то там.
  • Linux для frontendщика как?

    IIIu6ko
    @IIIu6ko
    AVKor, Ясно. Так бы и написали, что ваш "ответ" - просто оффтоп, который для автора не несёт никакой пользы. Вы хотите лишний раз всем показать, что вы пользуетесь линуксом? Я думаю это мало кому интересно может быть.
    И раз вы уже решили учить людей чем лучше, а чем хуже пользоваться, то хотя бы аргументируйте. Иначе это даже не имеет смысла.
  • Linux для frontendщика как?

    IIIu6ko
    @IIIu6ko
    AVKor, Читаю ваше сообщение и вы ничем не отличаетесь от "виндузятников". Радикально выражаетесь не объясняя сути. Где ответ для автора?
    "Основной вопрос связан с версткой и шрифтами"
  • Как скрыть попап при скролле на форму?

    IIIu6ko
    @IIIu6ko
    Megalexandros, Если помог, то отметьте как решение.