Стартовий шаблон для проекту на основі таск-менеджера Gulp
npm install
– встановлення пакетів та залежностей
npm test
– запуск перевірки наявності стилістичних помилок (ESLint + Stylelint + Lintspaces)
npm start
– збирання проекту в режимі розробки із запуском локального сервера
npm run build
– фінальне збирання проекту
npm run deploy
– фінальне збирання проекту із деплоєм його в GitHub Pages
npm run dist
– фінальне збирання проекту із архівацією його в форматі zip
Налаштування плагінів винесено у файл gulpfile.babel.js/config/app.js
. Шляхи до файлів, що обробляються задачами винесено у файл gulpfile.babel.js/config/paths.js
.
Усі задачі знаходяться в каталозі gulpfile.babel.js/tasks/
. Наявна можливість створення і підключення інших задач або видалення існуючих при необхідності. Для підключення власної задачі додайте її у вище вказаний каталог та імпортуйте її у файл gulpfile.babel.js/index.js
.
gulp-load-plugins
– спрощення процесу підключення Gulp плагінівgulp-plumber
– відстежування помилки, які можуть виникнути при виконанні задачgulp-notify
– вивід сповіщення, наприклад, у разі помилкиgulp-size
– показ розмірів файлівgulp-rename
– перейменовування файлівgulp-newer
– відстеження тільки тих файлів, які було зміненоgulp-if
– можливість використання умовних конструкцій в задачахgulp-zip
– створення та редагуванняzip
архівівdel
– видалення каталогів і файлів
gulp-file-include
– надання можливостей для шаблонізаціїhtml
файлівgulp-webp-html
– додавання в розміткуwebp
зображенняgulp-htmlmin
– мініфікаціяhtml
файлівgulp-html-bem-validator
– перевірка БЕМ синтаксису
Використовується замість задачі HTML при користуванні шаблонізатором Pug
gulp-pug
– конвертаціяpug
файлів уhtml
gulp-concat
– об'єднуання всхcss
файлів в одинgulp-cssimport
– вставка вмістуcss
файлу замість@import
gulp-autoprefixer
– додавання вендорних префіксівgulp-group-css-media-queries
– групування медіа запитівgulp-csso
– мініфікаціяcss
файлівgulp-shorthand
– заміна розгонутий опис стилів скороченим
Використовується замість задачі CSS при користуванні препроцесором SASS
gulp-sass-glob
– імпорт вsass
цілих каталогів / імпорт за шаблонамиsass
,gulp-sass
– конвертаціяsсss
файлів усss
gulp-fonter
– конвертація різних шрифтових форматівgulp-ttf2woff2
– конвертація шрифтівttf
у форматwoff2
gulp-webp
– конвертація растрових зображень в форматwebp
gulp-imagemin
– оптимізація та мініфікація зображень
gulp-babel
– переписування коду на ES6 (ES-2015) в код на попередніх стандартахwebpack
– пакувальник модулів для JavaScript
browser-sync
– створення і запуск локального сервера
Видалення каталогу build
Копіювання каталогу favicon
у готовий проект
Створення каталогу dist
із zip
архівом, у якому знаходиться зібраний проект
.
├── build/ # каталог збірки проекту (створюється автоматично)
├── dist/ # каталог з zip архівом зібраного проекту (створюється автоматично)
├── gulpfile.babel.js/ # каталог з файламим для Gulp
│ ├── config/ # каталог конфігурації Gulp
│ │ ├── app.js # налаштування плагінів
│ │ └── paths.js # шляхи до файлів
│ ├── data/ # каталог з json файлами
│ ├── tasks/ # каталог Gulp задач
│ └── index.js # основний Gulp файл
├── src/ # каталог для вихідних файлів проекту
│ ├── css/ # каталог CSS файлів стилів
│ │ ├── base/ # каталог базових CSS файлів
│ │ │ └── normalize.css # CSS файл для нормалізації стилів
│ │ ├── blocks/ # каталог CSS файлів для блоків
│ │ └── style.css # індексний CSS файл
│ ├── favicon/ # каталог з favicon / webmanifest
│ ├── fonts/ # каталог шрифтів
│ ├── html/ # каталог із html файлами
│ │ ├── blocks/ # каталог html компонентів
│ │ └── index.html # html файл розмітки головної сторінки
│ ├── img/ # каталог зображень
│ │ └── icons/ # каталог іконок / векторних зображень
│ ├── js/ # каталог JS файлів
│ │ ├── modules/ # каталог JS модулів
│ │ └── main.js # основний JS файл
│ ├── pug/ # каталог із pug файлами
│ │ ├── blocks/ # каталог pug компонентів
│ │ ├── layout/ # каталог із шаблонами у форматі pug
│ │ │ └── app.pug # основний pug шаблон для наслідування
│ │ └── index.pug # pug файл розмітки головної сторінки
│ └── sass/ # каталог SASS/SCSS файлів стилів
│ ├── base/ # каталог базових SASS/SCSS файлів
│ │ └── normailize.scss # SCSS файл для нормалізації стилів
│ ├── blocks/ # каталог SASS/SCSS файлів для блоків
│ └── style.scss # індексний SCSS файл
├── .babelrc # файл конфігурації Babel
├── .editorconfig # файл з налаштуваннями редактора
├── .eslintignore # файл для виключень ESLint
├── .eslintrc # файл конфігурації ESLint
├── .gitattributes # файл атрибутів Git
├── .gitignore # файл для виключень Git
├── .npmrc # файл конфігурації npm
├── .stylelintignore # файл для виключень Stylelint
├── .stylelintrc # файл конфігурації Stylelint
├── README.md # документація проекту
├── package-lock.json # lock-файл npm
└── package.json # файл npm залежностей та налаштувань