Skip to content

Commit 6fda561

Browse files
Merge pull request #60 from firefoxic/fix/scripts
Split raster and vector optimizations
2 parents e0558b7 + 6d57bc4 commit 6fda561

File tree

6 files changed

+25
-29
lines changed

6 files changed

+25
-29
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
node_modules
2-
*.min.*
32
build
43
.idea
54
.DS_Store

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: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,20 @@
1414
"not < 0.2%"
1515
],
1616
"scripts": {
17+
"start": "gulp runDev",
18+
"build": "gulp buildProd",
19+
"preview": "npm run build && browser-sync start -s build/ --cors --no-notify --no-ui",
20+
"prelint": "gulp processMarkup --silent",
21+
"lint": "npm-run-all -p lint:**",
1722
"lint:spaces": "editorconfig-cli",
18-
"lint:styles": "stylelint \"source/styles/**/*.scss\"",
1923
"lint:markup": "cd build && html-validator --quiet",
2024
"lint:html": "linthtml build/**/*.html --config .linthtmlrc",
2125
"lint:bem": "gulp lintBem --silent",
26+
"lint:styles": "stylelint \"source/styles/**/*.scss\"",
2227
"lint:scripts": "eslint . --ignore-path .gitignore",
23-
"prelint": "gulp processMarkup --silent",
24-
"lint": "npm-run-all -p lint:**",
25-
"optimizeImages": "gulp optimizeImages",
26-
"start": "gulp runDev",
27-
"build": "gulp buildProd",
28-
"preview": "gulp buildProd && gulp startServer"
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)