Skip to content

Commit 09ad36e

Browse files
committed
Split raster and vector optimizations
1 parent dc28200 commit 09ad36e

File tree

5 files changed

+19
-22
lines changed

5 files changed

+19
-22
lines changed

README.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -105,15 +105,17 @@
105105

106106
## Дополнительные команды
107107

108-
- `npm run optimizeImages` - создаёт оптимизированные изображения в `source/images/` и `source/icons/`
109108
- `npm run preview` - позволяет посмотреть результат работы prod-версии сборки
110-
- `npm run lint` - запускает все проверки (занимает длительное время)
111-
- `npm run lint:bem` - проверяет правильное использование БЭМ в разметке
112-
- `npm run lint:markup` - проверяет HTML-разметку через W3C-валидатор
113-
- `npm run lint:styles` - проверяет проект на совместимость с stylelint
114-
- `npm run lint:spaces` - проверяет отступы с помощью editorConfig
115-
- `npm run lint:html` - проверяет разметку по правилам linthtml
116-
- `npm run lint:scripts` - проверяет скрипты по правилам eslint
109+
- `npm run lint` - запускает все проверки (занимает длительное время):
110+
- `npm run lint:spaces` - проверяет отступы с помощью editorConfig
111+
- `npm run lint:markup` - проверяет HTML-разметку через W3C-валидатор
112+
- `npm run lint:html` - проверяет разметку по правилам linthtml
113+
- `npm run lint:bem` - проверяет правильное использование БЭМ в разметке
114+
- `npm run lint:styles` - проверяет проект на совместимость с stylelint
115+
- `npm run lint:scripts` - проверяет скрипты по правилам eslint
116+
- `npm run optimize` - запускает все оптимизации изображений (занимает длительное время):
117+
- `npm run optimize:raster` - оптимизирует растровые изображения из `raw/images/` в `source/images/`
118+
- `npm run optimize:vector` - оптимизирует векторные изображения из `raw/images/` в `source/images/`
117119

118120
## Работа с разметкой
119121

@@ -179,13 +181,13 @@
179181

180182
Абсолютно всю растровую графику с двухкратной плотностью из макета складывайте в `raw/images/`. Здесь графика игнорируется гитом.
181183

182-
После того как добавите графику сразу запускайте команду `npm run optimizeImages` для оптимизации графики и создания `.webp`-версии. Команду нужно запускать один раз при появлении новой графики в проекте.
184+
После того как добавите графику сразу запускайте команду `npm run optimize:raster` (или просто `npm run optimize`) для оптимизации графики и создания `.webp`-версии. Команду нужно запускать один раз при появлении новой графики в проекте.
183185

184186
Новая оптимизированная графика разной плотностью и суффиксами плотности в именах файлов появится в `source/images`. Эту, уже оптимизированную графику нужно коммитить.
185187

186188
### Вектор
187189

188-
Контентную векторную графику (логотип, графики, иллюстрации) также складывайте в `raw/images/`. Запуск той же команды `npm run optimizeImages` поместит оптимизированные копии этих svg-файлов в `source/images/`
190+
Контентную векторную графику (логотип, графики, иллюстрации) также складывайте в `raw/images/`. Запуск команды `npm run optimize:vector` (или просто `npm run optimize`) поместит оптимизированные копии этих svg-файлов в `source/images/`
189191

190192
```shell
191193
└── raw/
@@ -200,7 +202,7 @@
200202
└── icons/
201203
```
202204

203-
Запуск той же команды `npm run optimizeImages` поместит оптимизированные копии этих svg-файлов в `source/images/icons/`.
205+
Запуск команды `npm run optimize:vector` поместит оптимизированные копии этих svg-файлов в `source/images/icons/`.
204206

205207
```shell
206208
└── source/

gulpfile.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,6 @@ export function optimizeVector () {
112112
.pipe(dest(PATH_TO_SOURCE));
113113
}
114114

115-
export function optimizeImages (done) {
116-
parallel(
117-
optimizeVector,
118-
optimizeRaster
119-
)(done);
120-
}
121-
122115
export function createStack () {
123116
return src(`${PATH_TO_SOURCE}images/icons/**/*.svg`)
124117
.pipe(stacksvg())

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525
"lint:bem": "gulp lintBem --silent",
2626
"lint:styles": "stylelint \"source/styles/**/*.scss\"",
2727
"lint:scripts": "eslint . --ignore-path .gitignore",
28-
"optimizeImages": "gulp optimizeImages"
28+
"optimize": "npm-run-all -p optimize:**",
29+
"optimize:raster": "gulp optimizeRaster",
30+
"optimize:vector": "gulp optimizeVector"
2931
},
3032
"devDependencies": {
3133
"@htmlacademy/editorconfig-cli": "2.0.8",

raw/images/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
1. контентные `svg` (не иконки), например логотип.
66
2. `png` и `jpg` двойной плотности пикселей.
77

8-
Для каждого растрового изображения в этой папке запуск команды `npm run optimizeImages` создат в `source/images`:
8+
Для каждого растрового изображения в этой папке запуск команды `npm run optimize` создат в `source/images`:
99

1010
- оптимизированную копию с суффиксом `@2x`,
1111
- оптимизированную уменьшенную в 2 раза копию с суффиксом `@1x`,
1212
- копию в прогрессивном формате `webp` с суффиксом `@2x`,
1313
- уменьшенную в 2 раза копию в формате `webp` с суффиксом `@1x`.
1414

15-
Эта же команда создаст оптимизированную копию каждого векторного изображения.
15+
Эта же команда создаст оптимизированную копию каждого векторного изображения. Или можно запускать отдельно для растра `npm run optimize:raster` и отдельно для вектора `npm run optimize:vector`.
1616

1717
После оптимизации оригиналы можно удалить, чтобы повторный запуск для новых изображений не генерировал заново уже имеющиеся файлы.

raw/images/icons/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Папка для оригиналов иконок
22

3-
Сюда нужно скидывать неоптимизированные svg-иконки. Для каждой из них запуск команды `npm run optimizeImages` создат в `source/images/icons` оптимизированную копию.
3+
Сюда нужно скидывать неоптимизированные svg-иконки. Для каждой из них запуск команды `npm run optimize:vector` создат в `source/images/icons` оптимизированную копию.

0 commit comments

Comments
 (0)