Skip to content

MediaToolz

v0.1.1CLI-инструментNode.js

CLI для работы с изображениями: пакетно меняет размер, конвертирует и пережимает их по правилам из конфигурации и генерирует для них плейсхолдеры hazehash, blurhash и thumbhash.

MediaToolz
Начать знакомство →
npm install -g @macrulez/mediatoolz
01 — Назначение

Когда это пригодится

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

Дизайнер отдал исходники по пять мегабайт, а сайту нужны три ширины в современных форматах

Один запуск image-batch с правилами из конфигурации раскладывает каждое изображение на нужные ширины в avif, webp и jpg, с именами по шаблону вроде hero-800w.webp. Конфигурация хранит только правила, так что та же самая подходит и для следующего проекта.

Репозиторий раздулся от оригиналов, которые никто не показывает в полном размере

image-batch --replace уменьшает слишком большие изображения прямо на месте: сначала предпросмотр с настоящими размерами «до и после», затем подтверждение и бэкап с журналом, файл заменяется, только если стал меньше, а restore возвращает всё назад.

Пока картинка грузится, страница показывает серый прямоугольник

image-hash считает для каждого изображения компактный плейсхолдер — hazehash, blurhash или thumbhash — и записывает его в JSON, CSV или готовый TS-модуль. --check падает в CI, если файл с хешами устарел, так что плейсхолдеры не расходятся с картинками.

Папка со старыми png и jpg должна стать webp, а размер менять нельзя

Без ключей размера image-batch ничего не уменьшает: image-batch ./photos -o ./out -f webp только меняет формат и качество, сохраняя размеры исходников. Предпросмотр, интерактивный выбор файлов и защита от перезаписи работают так же.

02 — Фичи

Коротко о главном

Плейсхолдеры для изображений

Плейсхолдеры для изображений

image-hash генерирует hazehash, blurhash и thumbhash для растровых изображений, а по запросу ещё и доминирующий цвет и крошечное превью. Принимает файлы, папки и URL, пишет в stdout, один файл или файл на каждое изображение (photo.jpg.blurhash.txt), в форматах json/plain/csv/ts/js. --check падает в CI, если файл с хешами устарел, а --dry-run показывает результат таблицей.

Пакетная обработка изображений

Пакетная обработка изображений

image-batch пакетно меняет размер, конвертирует и пережимает изображения по правилам из конфигурации: размеры, форматы, качество, имена файлов по шаблону. Результаты идут в отдельную папку, рядом с исходниками или поверх них — с подтверждением, резервной копией и командой restore; --dry-run показывает реальные размеры до и после.

Веб-интерфейс

Веб-интерфейс

mediatoolz ui запускает локальный веб-интерфейс: формы, таблицы и превью вместо флагов, файловый браузер для выбора папок, галерея плейсхолдеров рядом с изображениями, конфигурации и пресеты резкости с превью «до и после». Изменения файлов подтверждаются, оригиналы сохраняются в бэкап. Сервер слушает только 127.0.0.1 под одноразовым токеном.