Turbo: CSS-фреймворк, претендующий на звание языка программирования
Разработчик Тайбор Холтер написал фреймворк Turbo CSS, который сам же называет и языком программирования. Это utility-first фреймворк, но он не содержит готовую огромную библиотеку классов для стилизации, а компилирует на лету только те, что нужны. По словам создателя, в новом фреймворке имена классов CSS создается путем вызова функций и передачи им аргументов.
Согласно документации, Turbo CSS можно использовать в уже существующей кодовой базе. Холтер реализовал его на JavaScript и Go (исходники скоро должны появиться на GitHub), которые можно использовать в качестве компилятора Turbo CSS на другие языки.
Фреймворк предоставляет следующие возможности:
- Объединение нескольких селекторов в одно выражение
- Применение псевдоселокторов, таких как: placeholder: ,
selection:, before: ,after:иthumb:, к псевдоэлементам - Утилиты применяются к элементу только в том случае, если другие элементы соответствуют заданным критериям.логику можно задавать с помощью специальных логических селекторов
- Поддержку пользовательских утилит для написания собственных классов. Вот как может выглядеть код для определения класса
btn:
t1
.btn {
px-16
py-8
rounded-3
bg-c-blue
color-white
shadow-4
transition
select-none
cursor-pointer
hover:shadow-8
hover:bg-c-blue-400
focus:outline-0
focus:shadow-outline-blue-500-50
active:shadow-1
active:bg-c-blue-600
}
Автор утверждает, что при создании Turbo CSS вдохновлялся функциональным программированием, собственным опытом и требованиями для создания конструктора веб-сайтов, а также известным фреймворком Tailwind CSS. Поэтому позже провел сравнительный анализ его со своей разработкой, указав, что ему удалось усовершенствовать.
В частности, Холтер отметил более простую настройку Turbo CSS, отсутствие параметров и файлов конфигурации, которые могли бы повлиять на его API, способность комбинирования селекторов любым способом, поддержку сокращенных функций и возможность компиляции в браузере. При этом автор отметил, что уважает авторов Tailwind CSS и готов поделиться с ними своими идеями.
По словам Холтера, язык системы проектирования Turbo CSS появился из-за необходимости создать дизайн-систему для Boomla Website Builder Website и Application Platform. Доступные ему инструменты были очень плохими, а языки программирования и ни один из существующих CSS-фреймворков не подходили для определения классов и повторного использования их в качестве строительных блоков более высокого уровня.
Создатель фреймворка заявляет, что Turbo CSS используется уже на 1000 веб-сайтов. Его можно протестировать на конструкторе Boomla.

Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: