sync: full site from notebook (source of truth) + missing media
This commit is contained in:
commit
5f18505943
505 files changed
+35927
No files matched your search
@@ -0,0 +1,42 @@
|
||||
# Оптимизация картинок: PNG / JPEG → WebP рядом
|
||||
|
||||
Скрипт `scripts/optimize-images.mjs` обходит **вложенные** папки и для каждого `.png`, `.jpg`, `.jpeg` создаёт рядом `то же имя.webp`.
|
||||
|
||||
- Размер в пикселях **не меняется**.
|
||||
- WebP с **качеством 90** (и `alphaQuality: 100` для прозрачного PNG) — сильно не жмёт, ориентир на визуально близкий результат к исходнику при меньшем весе файла.
|
||||
- **Повторный запуск:** если `имя.webp` уже есть и **новее или того же возраста**, что и исходник, файл **пропускается** (чтобы не гонять лишний раз). После правки картинки снова запусти скрипт, либо удали `webp`, либо используй `--force`.
|
||||
|
||||
## Требования
|
||||
|
||||
- **Node.js**;
|
||||
- пакет `sharp` (ставится вместе с `npm install` в корне репозитория).
|
||||
|
||||
## Запуск
|
||||
|
||||
Из корня репозитория (где `package.json`), укажи **папку с картинками** (относительно корня или абсолютный путь):
|
||||
|
||||
```bash
|
||||
npm run optimize-images -- public/assets/cases/мой-кейс/img
|
||||
```
|
||||
|
||||
либо:
|
||||
|
||||
```bash
|
||||
node scripts/optimize-images.mjs public/assets/cases/мой-кейс/img
|
||||
```
|
||||
|
||||
Пересоздать все WebP, даже если по дате «свежее»:
|
||||
|
||||
```bash
|
||||
npm run optimize-images -- public/assets/cases/мой-кейс/img --force
|
||||
```
|
||||
|
||||
В PowerShell, если в пути есть пробелы:
|
||||
|
||||
```powershell
|
||||
npm run optimize-images -- "public\assets\cases\мой-кейс\img"
|
||||
```
|
||||
|
||||
## Когда картинка не трогается
|
||||
|
||||
См. выше: если `foo.webp` есть и **не старше** `foo.png` / `foo.jpg`, `foo` пропускается, кроме режима `--force`.
|
||||
Reference in new issue
Block a user