Commit e0b2a151 authored by Nikolay Gromov's avatar Nikolay Gromov

Коррекция создания блока

parent 1113f48c
...@@ -18,90 +18,77 @@ const extensions = uniqueArray(defaultExtensions.concat(process.argv.slice(3))); ...@@ -18,90 +18,77 @@ const extensions = uniqueArray(defaultExtensions.concat(process.argv.slice(3)));
// Если есть имя блока // Если есть имя блока
if (blockName) { if (blockName) {
const dirPath = `${dir.blocks}${blockName}/`; // полный путь к создаваемой папке блока const dirPath = `${dir.blocks}${blockName}/`; // полный путь к создаваемой папке блока
mkdirp(dirPath, (err) => { // создаем
// Если какая-то ошибка — покажем
if (err) {
console.error(`[NTH] Отмена операции: ${err}`);
}
// Нет ошибки, поехали! const made = mkdirp.sync(dirPath);
else { console.log(`[NTH] Создание папки: ${made}`);
console.log(`[NTH] Создание папки: ${dirPath} (если отсутствует)`);
// Обходим массив расширений и создаем файлы, если они еще не созданы // Обходим массив расширений и создаем файлы, если они еще не созданы
extensions.forEach((extension) => { extensions.forEach((extension) => {
const filePath = `${dirPath + blockName}.${extension}`; // полный путь к создаваемому файлу const filePath = `${dirPath + blockName}.${extension}`; // полный путь к создаваемому файлу
let fileContent = ''; // будущий контент файла let fileContent = ''; // будущий контент файла
let fileCreateMsg = ''; // будущее сообщение в консоли при создании файла let fileCreateMsg = ''; // будущее сообщение в консоли при создании файла
if (extension === 'scss') { if (extension === 'scss') {
fileContent = `// В этом файле должны быть стили для БЭМ-блока ${blockName}, его элементов,\n// модификаторов, псевдоселекторов, псевдоэлементов, @media-условий...\n// Очередность: http://nicothin.github.io/idiomatic-pre-CSS/#priority\n\n.${blockName} {\n\n $block-name: &; // #{$block-name}__element\n}\n`; fileContent = `// В этом файле должны быть стили для БЭМ-блока ${blockName}, его элементов,\n// модификаторов, псевдоселекторов, псевдоэлементов, @media-условий...\n// Очередность: http://nicothin.github.io/idiomatic-pre-CSS/#priority\n\n.${blockName} {\n\n $block-name: &; // #{$block-name}__element\n}\n`;
// fileCreateMsg = ''; // fileCreateMsg = '';
} }
else if (extension === 'js') { else if (extension === 'js') {
fileContent = `/* global document */\n\n// const ready = require('../../js/utils/documentReady.js');\n\n// ready(function(){\n// \n// });\n`; fileContent = `/* global document */\n\n// const ready = require('../../js/utils/documentReady.js');\n\n// ready(function(){\n// \n// });\n`;
} }
else if (extension === 'md') { else if (extension === 'md') {
fileContent = ''; fileContent = '';
} }
else if (extension === 'pug') { else if (extension === 'pug') {
fileContent = `//- Все примеси в этом файле должны начинаться c имени блока (${blockName})\n\nmixin ${blockName}(text, mods)\n\n //- Принимает:\n //- text {string} - текст\n //- mods {string} - список модификаторов\n //- Вызов:\n +${blockName}('Текст', 'some-mod')\n\n -\n // список модификаторов\n var allMods = '';\n if(typeof(mods) !== 'undefined' && mods) {\n var modsList = mods.split(',');\n for (var i = 0; i < modsList.length; i++) {\n allMods = allMods + ' ${blockName}--' + modsList[i].trim();\n }\n }\n\n .${blockName}(class=allMods)&attributes(attributes)\n .${blockName}__inner\n block\n`; fileContent = `//- Все примеси в этом файле должны начинаться c имени блока (${blockName})\n\nmixin ${blockName}(text, mods)\n\n //- Принимает:\n //- text {string} - текст\n //- mods {string} - список модификаторов\n //- Вызов:\n +${blockName}('Текст', 'some-mod')\n\n -\n // список модификаторов\n var allMods = '';\n if(typeof(mods) !== 'undefined' && mods) {\n var modsList = mods.split(',');\n for (var i = 0; i < modsList.length; i++) {\n allMods = allMods + ' ${blockName}--' + modsList[i].trim();\n }\n }\n\n .${blockName}(class=allMods)&attributes(attributes)\n .${blockName}__inner\n block\n`;
} }
else if (extension === 'img') { else if (extension === 'img') {
const imgFolder = `${dirPath}img/`; const imgFolder = `${dirPath}img/`;
if (fileExist(imgFolder) === false) { if (fileExist(imgFolder) === false) {
mkdirp(imgFolder, (err) => { const made = mkdirp.sync(imgFolder);
if (err) console.error(err); console.log(`[NTH] Создание папки: ${made}`);
else console.log(`[NTH] Создание папки: ${imgFolder} (если отсутствует)`); } else {
}); console.log(`[NTH] Папка ${imgFolder} НЕ создана (уже существует) `);
} else { }
console.log(`[NTH] Папка ${imgFolder} НЕ создана (уже существует) `); }
}
}
else if (extension === 'bg-img') { else if (extension === 'bg-img') {
const imgFolder = `${dirPath}bg-img/`; const imgFolder = `${dirPath}bg-img/`;
if (fileExist(imgFolder) === false) { if (fileExist(imgFolder) === false) {
mkdirp(imgFolder, (err) => { const made = mkdirp.sync(imgFolder);
if (err) console.error(err); console.log(`[NTH] Создание папки: ${made}`);
else console.log(`[NTH] Создание папки: ${imgFolder} (если отсутствует)`); } else {
}); console.log(`[NTH] Папка ${imgFolder} НЕ создана (уже существует) `);
} else { }
console.log(`[NTH] Папка ${imgFolder} НЕ создана (уже существует) `); }
}
}
if (fileExist(filePath) === false && extension !== 'img' && extension !== 'bg-img' && extension !== 'md') { if (fileExist(filePath) === false && extension !== 'img' && extension !== 'bg-img' && extension !== 'md') {
fs.writeFile(filePath, fileContent, (err) => { fs.writeFile(filePath, fileContent, (err) => {
if (err) { if (err) {
return console.log(`[NTH] Файл НЕ создан: ${err}`); return console.log(`[NTH] Файл НЕ создан: ${err}`);
}
console.log(`[NTH] Файл создан: ${filePath}`);
if (fileCreateMsg) {
console.warn(fileCreateMsg);
}
});
} }
else if (extension !== 'img' && extension !== 'bg-img' && extension !== 'md') { console.log(`[NTH] Файл создан: ${filePath}`);
console.log(`[NTH] Файл НЕ создан: ${filePath} (уже существует)`); if (fileCreateMsg) {
console.warn(fileCreateMsg);
} }
else if (extension === 'md') { });
fs.writeFile(`${dirPath}readme.md`, fileContent, (err) => { }
if (err) { else if (extension !== 'img' && extension !== 'bg-img' && extension !== 'md') {
return console.log(`[NTH] Файл НЕ создан: ${err}`); console.log(`[NTH] Файл НЕ создан: ${filePath} (уже существует)`);
} }
console.log(`[NTH] Файл создан: ${dirPath}readme.md`); else if (extension === 'md') {
if (fileCreateMsg) { fs.writeFile(`${dirPath}readme.md`, fileContent, (err) => {
console.warn(fileCreateMsg); if (err) {
} return console.log(`[NTH] Файл НЕ создан: ${err}`);
}); }
console.log(`[NTH] Файл создан: ${dirPath}readme.md`);
if (fileCreateMsg) {
console.warn(fileCreateMsg);
} }
}); });
} }
}); });
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment