У меня есть некоторый опыт с помощью haml (+sass) на проектах направляющих. Я недавно начал использовать их с blueprintcss - единственная вещь, которую я сделал был преобразование blueprint.css в файл дерзости и начало кодировать оттуда. У меня даже есть генератор направляющих, который включает все это по умолчанию.
Кажется, что Компас делает то, что я делаю, и другие вещи. Я пытаюсь понять то, что те другие вещи - но документация/учебные руководства не была очень четкой.
Это мои заключения:
С этим анализом я не решаюсь давать Компасу попытку.
Мой анализ корректен? Я, упускаю какую-либо ключевую суть, или я оценил какую-либо из этих точек неправильно?
Compass выглядел отличным решением и для меня, но попробовав его в проекте, я не увидел больших преимуществ его использования для себя. Как и вы, я прекрасно обхожусь blueprint, и я не видел необходимости добавлять еще один слой поверх haml/sass.
В итоге я удалил компас из этого проекта и просто использую sass-версию CSS-файлов blueprint, и иду от этого. Все пользовательские/дополнительные стили я храню в отдельном sass-файле и все. Нет необходимости в compass или чем-то подобном, если вы просто хотите все упростить.
«Семантический режим» относится к возможности использовать больше семантических имен классов, чем те, которые поставляются фреймворками css: .article vs .grid_1. что я лично считаю большим плюсом.
Я не уверен, появились ли эти ресурсы только недавно, но видели ли вы Compass CSS3 helpers и General utilities - (на мой взгляд, оба хорошо документированы) - они действительно значительно ускорили создание моего интерфейса.
Еще один замечательный ресурс - это страница плагинов Compass .
Лично мне нравится копировать эти служебные файлы Sass из rubygem и вручную включать их в файлы Sass моего проекта, поскольку ссылки на Sass, хранящиеся вне проекта, кажутся довольно странными.
Идеальная цель - разделение стиля и содержания: это не всегда возможно на 100%, но это можно сделать достаточно хорошо, используя семантическую разметку. Blueprint и другие CSS-фреймворки в этом совершенно не справляются.
Первоначальная идея Compass заключалась в том, чтобы избежать загрязнения HTML визуальной разметкой, которую генерирует Blueprint: если вы пишете class = "column-4"
в своей разметке, то вы также можете указать style = "width: 160px"
вместо этого. Семантически это то же самое значение и такое же количество повторений, которые необходимо поддерживать.
Compass превращает класс Blueprint, например .column-4
, в миксин, который вы можете применить к значимому селектору:
#sidebar
+column(4)
Таким образом, вам нужно сохранить его только в таблице стилей, а не в количество шаблонов и файлов HTML.
Компас ориентирован на проект. Он выполнит компиляцию всего вашего дерева таблиц стилей, даже автоматически при сохранении, когда вы запустите compass watch
.
Компас предоставляет несколько очень полезных функций, например:
image_url - настраиваемая функция, которая может обрабатывать относительные или абсолютные пути или даже настраивать чередующиеся хосты ресурсов, если вам нужно.
Модуль CSS3 заботится обо всех специфичных для браузера правилах стиля для закругленных углов, теней и т. Д.
Общие утилиты предоставляют помощников для того, что вы делаете постоянно, но с меньшим количеством повторений (особенно для кроссбраузерности). Вот некоторые из основных, которые я часто использую:
Вы можете проверить это на новом сайте документации для Compass .
Кроме того, Compass предоставляет средства для ряда других стилевых фреймворков в дополнение к встроенному Blueprint. Обязательно ознакомьтесь, например, с Susy , который является фреймворком верстки Sass, а не просто портом CSS. Он специализируется на гибких и плавных решетках.