Заходи, располагайся!

Привет, я Данил.

Пишу о фронтенде, Vue и Nuxt, делюсь опытом создания инструментов для разработки. Иногда — просто размышляю о кодe и процессах вслух.

Публикации · Страница 5
22.03.2026

Автоматизация деплоя: от пуша до прогретого кеша

Ручной деплой — это всегда лотерея. Забытый npm run build перед копированием файлов, кеш старой версии на сервере, тесты которые «ну и так понятно что работает». В какой-то момент надоело играть в эту игру и я собрал нормальный пайплайн на GitHub Actions.

Метки
CI/CDGitHub ActionsDevOpsавтоматизациядеплой
22.03.2026

2D-режим на Three.js и всплывающий список авиакомпаний

Продолжаю развивать интерактивную карту маршрутных сетей авиакомпаний. В этот раз — две заметные вещи: переписал 2D-режим на Three.js и добавил удобный способ выбирать авиакомпанию прямо из карточки аэропорта.

Метки
three.jswebglавиациявизуализацияfrontend
14.03.2026

3D-режим отображения маршрутных сетей авиакомпаний на основе Three.js

Проект airlines.macrulez.ru изначально строился вокруг 2D-карты: тайлы, canvas, кривые Безье. Всё это описано в предыдущей статье. Но плоская карта с проекцией Меркатора неизбежно искажает маршруты — особенно дальние перелёты, которые в реальности идут через Арктику. Логичным следующим шагом стало добавление интерактивного 3D-глобуса.

Метки
three.jswebglvue3gisdata-visualization
13.03.2026

Тайлы, открытые данные и маршрутные сети авиакомпаний

Рассказываю, как с нуля построил интерактивную карту маршрутных сетей авиакомпаний: сгенерировал собственные тайлы из GeoJSON, собрал данные о 885 авиакомпаниях из открытых источников и написал REST API с PostgreSQL. Маршруты рисуются на canvas без картографических библиотек — только Vue 3 и кривые Безье.

Метки
vue3nodejspostgresqlgisopen-data
13.03.2026

Toolz: генерируем полный набор фавиконок

Новый модуль Fav Icona в составе toolz.macrulez.ru закрывает задачу, с которой сталкивается каждый вебмастер при запуске проекта: подготовка полного набора favicon-файлов для всех платформ. Один SVG или PNG на входе — готовый пакет с десятком файлов, манифестом и HTML-кодом на выходе.

Метки
faviconвеб-разработкаPWAиконкиинструменты
07.03.2026

color-value-tools — конвертация и манипуляция цветами в любых форматах

Библиотека color-value-tools — один набор утилит для разбора, конвертации и манипуляции цветом: hex, RGB, HSL, HSV, Lab, LCH, CMYK, яркость, смешивание и контраст по WCAG. В посте — зачем выносить работу с цветом в отдельный слой, обзор API и примеры под реальные задачи (темы, градиенты, доступность, печать).

Метки
color-value-toolsцветаконвертацияTypeScriptдоступность (WCAG)
07.03.2026

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

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

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

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

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

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

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

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

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