Commit 9615b460 authored by Nikolay Gromov's avatar Nikolay Gromov

Описание

parent 2d7a3a72
......@@ -16,17 +16,21 @@
mixins.pug # Примеси (создаётся автоматически, инклудит ВСЕ блоки (из ./src/blocks/), имеющие одноимённый блоку pug-файл)
```
### Как собирается pug
При `npm start`:
1. Создаётся файл `./src/pug/mixins.pug`, содержащий инклуды всех pug-файлов блоков, независимо от использования на проекте. Инклуд добавляется только если в папке блока есть одноимённый блоку pug-файл.
2. Компилируются в html и пишутся в `./build/` все pug-файлы из `./src/pages/`.
3. Запускает сервер автообновления и слежения:
- если изменился pug-файл из `./src/pages/`, заново компилируется только изменённый файл,
- если изменился pug-файл блока или файл из `./src/pug/`, заново компилируются все файлы из `./src/pages/`.
## Как это работает
При `npm start` (запускается дефотная задача gulp):
1. Создаётся глобальная переменная `config` с настройками (из `./config.js`).
2. Очищается папка сборки (`./build/`).
3. Записывается файл `./src/pug/mixins.pug` (инклуды всех pug-файлов блоков, независимо от использования на проекте). Инклуд добавляется только если в папке блока есть одноимённый блоку pug-файл.
3. Pug-файлы из `./src/pages/` компилируются в html и пишутся в `./build/`. **В процессе обновляется список блоков** (`config.blocks`), туда попадают все БЭМ-блоки из разметки страниц (кроме страниц из `config.notGetBlocks`), кроме исключений из `config.ignoredBlocks`. Если есть какие-то новые блоки, записывается файл `./config.js`.
4. Записывается `./src/scss/style.scss`, в котором:
- Импорты файлов из `config.addStyleBefore`.
- Импорты файлов БЭМ-блоков, использующихся на проекте (из `config.blocks`, но только если сами scss-файлы существуют в папках блоков).
- Импорты файлов из `config.addStyleAfter`.
998. Запускается слежение и сервер.
999. PROFIT
......
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