Планы по развитию toolz

07.03.2026
Планы по развитию toolz

toolz.macrulez.ru: какие модули добавлю дальше

На toolz.macrulez.ru уже есть три инструмента — сжатие растровых картинок, оптимизация SVG и конструктор CSS-градиентов. О том, что они умеют, я написал в отдельном посте. Здесь — план расширения: какие ещё модули хочу сделать и как их сгруппировать, чтобы не раздувать меню и чтобы связанный функционал жил под одной «крышей». Всё по-прежнему в браузере, без отправки данных на сервер.


Почему не дюжина отдельных инструментов

Изначально набросал список из двенадцати кандидатов: конвертер цветов, проверка контраста, палитра из картинки, генераторы meta и JSON-LD, минификатор кода, Base64, box-shadow, border-radius, стрелки, фавиконки, QR, UUID и хеши. Сразу стало ясно, что двенадцать пунктов в навигации — перебор, да и часть утилит логично объединить. Кто-то приходит «подобрать цвет и проверить контраст» — это один сценарий; кто-то «сгенерировать meta и JSON-LD» — тоже одна история про `». Поэтому я сгруппировал кандидатов в шесть модулей с внутренними вкладками или разделами: один пункт в меню — несколько режимов внутри, как уже сделано в Gradient Fabric с типами градиентов и превью.

Критерии такие: польза без установки и регистрации, связь с веб-разработкой (результат сразу в вёрстку или конфиг), модуль остаётся инструментом, а не приложением, и связанные вещи объединяются в один модуль.


1. Цвет и контраст

Один модуль на всё, что связано с цветом: конвертация форматов, проверка контраста для доступности и палитра из изображения. Переключение — вкладками.

Конвертер — ввод в одном формате (hex, rgb/rgba, hsl/hsla, при желании CMYK), вывод во всех сразу; палитра-превью на светлом и тёмном фоне; копирование в виде CSS-переменной или для SCSS/конфига темы.

Контраст — два цвета (фон и текст), коэффициент по WCAG, индикация AA/AAA для обычного и крупного текста, превью образца текста; опционально подсказка «осветлить/затемнить на N%».

Палитра из изображения — загрузка картинки, извлечение 3–8 доминантных цветов (с опцией «только центр» или вся область), блоки с hex/rgb и копированием, экспорт списка для CSS-переменных или темы.

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


2. Мета и разметка

Всё, что обычно кладётся в <head> для SEO и превью в соцсетях — в одном модуле с двумя разделами.

Meta и Open Graph — форма: title, description, URL страницы, URL картинки, при желании keywords, автор, имя сайта. На выходе блок тегов: базовые meta, Open Graph, Twitter Card; копирование целиком или разбивка на «базовые» и «социальные».

JSON-LD (Schema.org) — выбор типа (Article, Product, Organization, WebPage, при желании BreadcrumbList, FAQPage), форма с полями под тип, валидация и подсказки по формату. Вывод валидного JSON в <script type="application/ld+json"> с подсказкой, куда вставить.

Сначала сделаю раздел Meta/OG — он проще и нужен чаще; JSON-LD добавлю следом в том же модуле.


3. Код и данные

Минификация/форматирование и Base64 — два раздела в одном модуле. Оба сценария частые: «привести кусок кода в порядок» и «заинлайнить картинку».

Минификатор / форматер — CSS, HTML, JSON (вкладки). Кнопки «минифицировать» и «форматировать»; для JSON — базовая валидация с подсветкой ошибки. Вывод в поле с копированием.

Base64 — загрузка одного или нескольких изображений (PNG, JPEG, WebP, GIF, по возможности SVG); для каждого data URI и копирование; отображение размера и предупреждение при большом объёме; опционально вывод url(data:...) для CSS.

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


4. CSS-эффекты

Модуль в духе Gradient Fabric: визуальные конструкторы с превью и копированием готового CSS. Три раздела — тень, скругление и стрелки.

Тень (box-shadow) — несколько «слоёв» тени (смещение X/Y, размытие, распространение, цвет, inset). Превью блока на нейтральном фоне, переключатель светлая/тёмная тема, итоговая строка с копированием.

Скругление (border-radius) — настройка по углам (4 поля в px или %) или ellipse; превью в реальном времени, вывод свойства и копирование.

Стрелки — типы: треугольник (хвостики тултипов, дропдауны), шеврон (хлебные крошки, пагинация, «назад/вперёд»), при желании двойная линия и др. Восемь направлений: вверх, вниз, влево, вправо и четыре по диагонали под 45°. Стиль: заливка или контур, цвет, толщина контура. Размер в px. Превью на фоне и опционально «стрелка у края блока» для тултипа. Вывод CSS (border-trick, clip-path или псевдоэлемент) и при необходимости фрагмент HTML.

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


5. Фавиконки

Отдельный модуль без объединения: одна чёткая задача. Загрузка картинки (лучше SVG с прозрачностью) → генерация размеров 16×16, 32×32, 48×48, 180×180 (Apple Touch), 192×192, 512×512 → скачивание архивом или по одному. Плюс вывод фрагмента HTML с <link rel="icon"> и apple-touch-icon и при желании кусок для manifest.webmanifest. Часто нужно при запуске нового сайта или ребрендинге — приоритет высокий.


6. Генераторы

Мелкие утилиты под одной крышей: QR-код и UUID/хеши. Отдельные модули для них не хочется — слишком простые сценарии.

QR-код — ввод URL или текста, настройки размера и цвета модулей/фона, превью, скачивание PNG или SVG.

UUID и хеши — генерация одного или нескольких UUID v4 с копированием; поле ввода строки → MD5, SHA-1, SHA-256 (и при желании ещё варианты), копирование, опционально кодировка hex/base64.

Приоритет средний, делаю после более приоритетных модулей.


Очерёдность

Сводка по модулям и фазам:

Модуль Что внутри Приоритет Фаза
Цвет и контраст Конвертер, контраст, палитра из изображения высокий 1
Мета и разметка Meta/OG, JSON-LD высокий 1–2
Код и данные Минификатор/форматер, Base64 высокий 1
CSS-эффекты box-shadow, border-radius, стрелки высокий 1–2
Фавиконки Набор размеров и HTML высокий 2
Генераторы QR, UUID, хеши средний 2

Первая фаза — цвет и контраст (можно начать с конвертера и проверки контраста), мета и разметка (хотя бы Meta/OG), код и данные целиком, при наличии времени — CSS-эффекты (хотя бы тень и стрелки). Вторая — фавиконки, генераторы, при необходимости доработка JSON-LD, палитры из изображения, border-radius и дополнительных типов стрелок. Третья — по отзывам и новые идеи (например, что-то для анимаций или разбор package.json).


Итог

План такой: шесть новых модулей вместо дюжины отдельных инструментов. Внутри каждого — вкладки или разделы для связанных функций, навигация остаётся компактной. По мере реализации буду обновлять этот пост или писать отдельные заметки о том, что уже выкатил.

Читать далее

07.03.2026

rest-pipeline-js — пайплайны запросов к API

Библиотека rest-pipeline-js помогает описывать цепочки REST-запросов с паузами, retry, кэшем и лимитами — в посте разбираем сценарии от простой пошаговой загрузки до автоматического подбора авиарейса и готового предложения для шаблона, плюс плагины для Vue 3 и React с примерами кода.

Метки
rest-pipeline-jsREST APIpipelineVue 3React
07.03.2026

responsive-media — реактивные брейкпоинты для Vue и не только

Один раз описать брейкпоинты — и во всём приложении использовать реактивные флаги «мобилка / планшет / десктоп» без ручных подписок на matchMedia. Как устроен пакет responsive-media, кастомные брейкпоинты с ориентацией и aspect-ratio и плагин для Vue 3 — в одном посте.

Метки
responsive-mediaVue 3media queriesадаптивная вёрстка
07.03.2026

css-magic-gradient — генерация CSS-градиентов с реактивностью для Vue 3

Пакет css-magic-gradient генерирует линейные, радиальные и конические CSS-градиенты по базовому цвету и опциям, во Vue 3 композиции принимают ref цвета и опций и возвращают вычисляемую строку — при смене темы или выборе цвета градиент обновляется сам, без ручных подписок и watchers.

Метки
css-magic-gradientVue 3CSSградиентыреактивность