Перейти к содержимому

Из кода обратно в дизайн

HTML to design: восстановите дизайн-файл, от которого ушёл ваш код

Когда выпущенный продукт уже не совпадает с макетами, импортируйте его обратно. HTML to Frames превращает живой HTML в файл Figma с переменными, стилями и компонентами.

  • Переменные цвета из CSS custom properties вашего сайта
  • Повторяющиеся карточки и кнопки становятся компонентами
  • Привязка к вашей существующей дизайн-системе

Скоро в Figma Community

HTML to design: восстановите дизайн-файл, от которого ушёл ваш код

HTML to design — это обратная передача: вместо того чтобы превращать макет в код, вы превращаете выпущенный код обратно в дизайн-файл. Команды прибегают к этому, когда файл Figma отстал от продакшена, когда клиент передаёт сайт без исходников или когда редизайн нужно начинать с того, что пользователи видят сегодня, а не с макета двухлетней давности.

Проблема большинства «обратных» подходов в том, что результат оказывается тупиком. Вы получаете картинку страницы или разрозненные прямоугольники с жёстко прописанными hex-значениями, и кто-то тратит неделю, восстанавливая стили вручную. HTML to Frames создан, чтобы выдавать файл, который действительно можно поддерживать. На Pro он извлекает переменные цвета из цветов, использованных минимум дважды, и из CSS custom properties сайта, так что --brand-primary превращается в brand/primary в коллекции Colors · <domain>. Рядом создаются текстовые стили и стили теней, а повторяющиеся структуры — карточки, кнопки, пункты меню — становятся компонентами с экземплярами.

Если у вашей команды уже есть дизайн-система в Figma, плагин с ней не конкурирует. Совпадающие переменные и стили переиспользуются, а при включённом Snap значения без точного совпадения привязываются к ближайшему цвету или текстовому стилю из вашего собственного файла. Повторный импорт того же сайта ничего нового не создаёт.

В результате дизайн-файл с самого начала упорядочен. Полное пошаговое описание — в руководстве по процессу HTML to design; как работает базовая конвертация, смотрите на странице HTML to Figma, а что входит в каждый тариф — на странице цен.

От продакшен-кода к рабочему дизайн-файлу

  1. 01

    Импортируйте живые страницы

    Вставьте URL или до 10 ссылок либо перетащите папку сайта, если у вас есть результат сборки.

  2. 02

    Включите Styles & variables

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

  3. 03

    Включите Snap для своей системы

    Значения вне системы привязываются к ближайшему цвету или текстовому стилю, а не плодят почти-дубликаты.

  4. 04

    Наведите порядок в компонентах

    Повторяющиеся структуры приходят как компоненты и экземпляры во фрейме Components — их остаётся переименовать и задокументировать.

  5. 05

    Начните редизайн

    Итерируйте на реальных макетах с Auto Layout, а не перерисовывайте текущий продукт с нуля.

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

Переменные цвета

До 96 переменных цвета из повторяющихся цветов и CSS custom properties, сгруппированных в одну коллекцию на домен.

Текстовые стили и стили теней

До 48 текстовых стилей плюс стили теней размеров sm, md, lg и xl.

Привязка к вашим стилям

Для цветов — перцептивное расстояние OKLab, для текста — то же семейство и начертание и размер в пределах 10%.

Автоматические компоненты

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

Hover-варианты

Элементы с hover-состоянием становятся наборами компонентов с вариантами Default и Hover и интеракцией on hover.

Светлый и тёмный режимы

Обе цветовые схемы попадают в одну коллекцию переменных с режимами Light и Dark, плюс тёмная копия каждого экрана.

Почему восстанавливать дизайн вручную долго

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

HTML to Frames считывает значения прямо из браузера, поэтому отступы, цвета и размеры шрифтов точные, а не приблизительные. SVG-иконки становятся редактируемыми векторами. Макет переводится в Auto Layout и проверяется с допуском 2 px, а абсолютное позиционирование остаётся только там, где Auto Layout что-то сдвинул бы.

Это меняет первый день редизайна. Вместо того чтобы тратить его на реконструкцию, команда начинает с точной копии текущего продукта и тратит время на решения:

  • Какие цвета реально используются, а какие — случайные почти-дубликаты?
  • Какие компоненты повторяются и сколько их вариантов живёт в продукте?
  • Где выпущенный макет отличается от задуманной системы?

Как агентства используют это для подготовки предложений, рассказано в руководстве по редизайну: сайт в Figma.

Поскольку каждый фрейм хранит URL источника, после следующего релиза страницу можно переимпортировать и сравнить с редизайном. Дизайн-файл остаётся связанным с продакшеном, а не превращается в очередной снимок, который постепенно устаревает.

Как извлекаются переменные и стили

Извлечение рассчитано на небольшой удобный набор, а не на отдельный стиль для каждого элемента.

Цвета

Цвет становится переменной, если используется минимум дважды или если сайт задаёт его как CSS custom property. Имена custom properties сохраняются как структура: --brand-primary превращается в brand/primary. До 96 переменных цвета попадают в коллекцию Colors · <domain>.

Текст и тени

До 48 текстовых стилей создаются из типографики, реально отрисованной на странице. Тени группируются в стили sm, md, lg и xl.

Сначала переиспользовать, потом создавать

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

Light + Dark

Со цветовой схемой Light + Dark страница захватывается при обоих значениях prefers-color-scheme, а одна коллекция получает два режима. Файлы Figma Free допускают только один режим на коллекцию, поэтому в этом случае тёмный режим пропускается с пометкой.

Всё это опционально. Выключите Styles & variables — и получите простые слои с «сырыми» значениями; иногда именно это и нужно для быстрого референса или разового разбора.

Snap: импорт внутри вашей дизайн-системы

Продакшен-код редко идеально совпадает с дизайн-системой. Кнопка может использовать #2161E9 вместо токена #2160E8, а заголовок — 31 px вместо 32 px. Если импортировать такие значения буквально, файл утонет в почти-дубликатах стилей.

Snap to my file's styles решает эту проблему. Когда точного совпадения нет, плагин ищет в вашем файле ближайший цвет по перцептивному расстоянию OKLab и ближайший текстовый стиль с тем же семейством шрифта и начертанием и размером в пределах 10%. После этого импортированные слои привязываются к вашим стилям, а не к новым.

Это полезно в трёх ситуациях:

  1. Аудиты, когда вы хотите увидеть продукт, выраженный в официальной системе.
  2. Редизайны, которые должны быть «в системе» с первого фрейма.
  3. Разбор конкурентов, когда вы перестилизуете чужой макет своими токенами.

Snap, Styles & variables и Components & hover states — функции Pro. Плагин никогда не читает содержимое вашего файла сверх необходимого: он записывает слои и читает только метаданные собственных фреймов, как описано на странице безопасности.

Snap лучше всего работает, когда в вашем файле уже есть опубликованные стили цвета и текста. Начните с небольшой чистой библиотеки, импортируйте одну характерную страницу и проверьте, какие значения привязались, прежде чем запускать большой Multiple-импорт по остальному сайту.

Частые вопросы

Написать в поддержку

Это превращение живого кода или опубликованного сайта обратно в редактируемый дизайн-файл. Вместо того чтобы сначала проектировать, а потом писать код, вы импортируете уже построенное, чтобы дизайн-файл снова совпадал с продакшеном. Это полезно для редизайнов, аудитов и сайтов, переданных без исходников.

На Pro — да. Цвета, использованные минимум дважды, и цвета, заданные как CSS custom properties, становятся переменными. Свойство вроде --brand-primary превращается в brand/primary внутри коллекции Colors, названной по домену. За один импорт создаётся до 96 переменных цвета.

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

Повторяющиеся структуры — карточки, кнопки, пункты меню — распознаются и превращаются в компоненты с экземплярами, с сохранением переопределений текста и изображений. Элементы с отдельным hover-видом становятся наборами компонентов с вариантами Default и Hover. Главные компоненты размещаются в отдельном фрейме Components.

Да, на Pro. Выберите цветовую схему Light + Dark, и страница будет захвачена в обоих вариантах. Вы получите одну коллекцию переменных с режимами Light и Dark и тёмную копию каждого экрана. Файлы Figma Free допускают один режим на коллекцию, поэтому там тёмный режим пропускается.

Нет. Для большинства сайтов достаточно публичного URL. Если у вас есть результат сборки, можно перетащить папку сайта или .zip, а для страниц за логином бесплатное расширение для Chrome захватит то, что показывает ваш браузер. Все пути дают одинаковый редактируемый результат.

Хватит перерисовывать веб вручную.

Вставьте ссылку и за секунды получите настоящие редактируемые адаптивные слои Figma. Начать можно бесплатно — 10 импортов каждый месяц.

Без банковской карты. Pro покупается прямо в Figma.

Скоро в Figma Community