Задать вопрос
  • Как автоматически создавать пустые файлы внутри созданной папки?

    leon9208
    @leon9208 Автор вопроса
    Начинающий web-developer
    const gulp = require('gulp');
    const fs = require('fs');
    const allBlocks = './src/blocks/'; // Путь до директории с блоками
    
    // Отслеживаем добавление новых директорий
      gulp.watch(allBlocks).on('addDir', function() {
        const dirs = fs.readdirSync(allBlocks); // Получаем список дочерних директорий
       // Перебираем список с проверкой на наличие внутри директорий совпадений с файлами (.pug/.sass/.js), все эти файлы с названием блока(папки)
        for(i = 0; i < dirs.length;i++){
          if(fs.existsSync(allBlocks+'/'+dirs[i]+'/'+dirs[i]+'.pug') === false && fs.existsSync(allBlocks+'/'+dirs[i]+'/'+dirs[i]+'.sass') === false && fs.existsSync(allBlocks+'/'+dirs[i]+'/'+dirs[i]+'.js') === false){
            fs.appendFileSync(allBlocks+'/'+dirs[i]+'/'+dirs[i]+'.pug', ''); // Добавляем пустой файл с названием блока blockName.pug
            fs.appendFileSync(allBlocks+'/'+dirs[i]+'/'+dirs[i]+'.js', ''); // Добавляем пустой файл с названием блока blockName.js
            fs.appendFileSync(allBlocks+'/'+dirs[i]+'/'+dirs[i]+'.sass', ''); // Добавляем пустой файл с названием блока blockName.sass
          }
          try {
            fs.statSync(allBlocks+'/'+dirs[i]+'/img');
          }
          catch (err) {
            // Если в блоке нет директории img, то соответственно добавляем.
            if (err.code === 'ENOENT') {
              fs.mkdirSync(allBlocks+'/'+dirs[i]+'/img');
              console.log('Папка img добавлена в директорию' + ' — ' + dirs[i]);
            }
          }
        }
      });


    P.S. Отдельное спасибо Сергей delphinpro за наводку, за ссылки на документацию (на нужный раздел) и на статьи по теме!
    Ответ написан
    Комментировать
  • Можно ли строку перевести в объект?

    leon9208
    @leon9208 Автор вопроса
    Начинающий web-developer
    Идея изначально была такая:

    $(el).click(fucntion()){
      var $data = $(this).attr("data"); // получаю строку
     $(input).attr({
      "name" :  text.$data.name,
      "label" :  text.$data.label
    })
    }
    Ответ написан
    Комментировать
  • Почему не удаляются стили при генерации свг-спрайта?

    leon9208
    @leon9208
    Начинающий web-developer
    Может кому поможет: .removeAttr() заменить на .remove(), в селекторе убрать квадратные скобки []
    .pipe(cheerio({
          run: function ($) {
            $('fill').remove();
            $('stroke').remove();
            $('style').remove();
            $('class').remove();
          },
          parserOptions: {xmlMode: true}
        }))
    Ответ написан
  • Как устранить ошибку в Gulp?

    leon9208
    @leon9208 Автор вопроса
    Начинающий web-developer
    Ошибка была в .pug файле, плохо что ошибка плохо читается в консоли, как например если лишний отступ добавляешь, он указывает на строку ошибки, а тут на модуль.

    Выявил ошибку путем переборки тасков вручную, всё работало кроме таска .pug, оказалось лишнюю КАВЫЧКУ добавил
    Ответ написан
    Комментировать
  • Как связать Гео-редирект с Cookie?

    leon9208
    @leon9208 Автор вопроса
    Начинающий web-developer
    Вопрос решен, код может быть не идеальным, я новичок, поэтому только буду рад замечаниям ))
    $(document).ready(function() {
    	// Создаем куки
    	var is_cookie = document.cookie.match(new RegExp("userredirect=1")),
    			// Время с момента посещения сайта + 1 час (первое значение можно менять)
     	    date = new Date(new Date().getTime() + 1*60*60*1000);
    	
     		if (!is_cookie) {
    			//в ранее созданный куки добавляем значения, в данном случае куки живет 1 час
     			document.cookie = "userredirect=1; path=/; expires=" + date.toString(); 
    			//API яндекс карт, именно с помощью него и происходит редирект
     			new ymaps.ready(function() {
    				//определение города, можно еще .region-область,регион / .country-страна
     				var myCity = ymaps.geolocation.city;
    				//если местоположение соответсвует указанному значению, то редирект на сайт
     				if (myCity == "Санкт-Петербург") window.location.href = "https://vk.com/"
     			});
     		}
     	});
    Ответ написан