sync: full site from notebook (source of truth) + missing media

This commit is contained in:
root committed 2026-07-24 20:20:51 +02:00
commit 5f18505943
505 files changed
+35927

No files matched your search

+42
View File
@@ -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`.