Commit 17eb35d2 authored by Nikolay Gromov's avatar Nikolay Gromov

создание блоков автоматом

parent bd44bce7
......@@ -34,6 +34,17 @@ block-name/ # Папка блока
readme.md # Какое-то пояснение
```
### Удобное создание нового блока
```bash
node createBlock.js [имя блока] [доп. расширения через пробел]
```
По умолчанию будут созданы `.html` и `.less` файлы, в них будет записан стартовый контент.
Если блок уже существует, файлы не будут затёрты, но создадутся те файлы, которые ещё не существуют.
## Подключение блоков
......
'use strict';
// Использование: node createBlock.js [имя блока] [доп. расширения через пробел]
const fs = require('fs');
const pjson = require('./package.json');
const dirs = pjson.config.directories;
const mkdirp = require('mkdirp');
// Использование: run node createBlock.js [BLOCK_NAME] [additional extensions]
let blockName = process.argv[2];
let defaultExtensions = ['html', 'less'];
let defaultExtensions = ['html', 'less']; // расширения по умолчанию
let extensions = uniqueArray(defaultExtensions.concat(process.argv.slice(3)));
if (blockName) {
if(blockName) {
let dirPath = dirs.blocks + '/' + blockName + '/';
if(!fileExist(dirPath)) {
mkdirp(dirPath, function(err){
if(err) {
console.error('---------- Отмена операции: ' + err);
}
else {
console.log('---------- Отмена операции: блок ' + dirPath + ' уже существует');
}
// console.log(fileExist(dirPath));
// mkdirp(dirPath, function(err){
// if (err) {
// console.error(err);
// }
// else {
// extensions.forEach(function(extention){
// fs.closeSync(fs.openSync(path.join(dirPath, blockName + '.' + extention), 'w'));
// });
// }
// })
extensions.forEach(function(extention){
let filePath = dirPath + blockName + '.' + extention;
let fileContent = '';
if(extention == 'less') {
fileContent = '.' + blockName + ' {\n \n}\n';
}
else if(extention == 'html') {
fileContent = '<div class="' + blockName + '">content</div>\n';
}
if(fileExist(filePath) === false) {
fs.writeFile(filePath, fileContent, function(err) {
if(err) {
return console.log('---------- Файл не создан: ' + err);
}
console.log('---------- Файл создан: ' + filePath);
});
}
else {
console.log('---------- Файл не создан: ' + filePath + ' уже существует');
}
});
}
});
}
else {
console.log('---------- Отмена операции: не указан блок');
}
// Оставить в массиве только уникальные значения (убрать повторы)
......
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