Jaka jest wartość Compass dla Rails 3.1?

Staram się zdecydować, czy powinienem włączyć Kompas podczas uruchamiania nowego projektu Rails 3.1 . Nigdy wcześniej nie używałem kompasu.

Rails 3.1 obsługuje teraz SCSS bezpośrednio. Rails 3.1 Asset pipeline (via sprockets) kompiluje teraz arkusze stylów automatycznie. I mogę użyć wersji SCSS frameworka CSS takiego jak Blueprint bezpośrednio.

Jakie korzyści uzyskam z używania kompasu z Rails 3.1?

Author: OldTroll, 2011-06-11

4 answers

Bourbon (by Thoughtbot) to lekka alternatywa dla kompasu, która dobrze integruje się z rails 3.1.

Posiada główne miksy css3, które otrzymujesz za pomocą kompasu (tło-obrazy, Cień pola, promień obramowania, gradienty...). Ma również helpery do stylowania przycisków," gridify " twój układ i kilka innych gadżetów.

Możesz przegapić niektóre funkcje mocy, które ma compass, ale to można łatwo przezwyciężyć mocą sass : wystarczy skopiować/utworzyć własny mixin!

Kompas często przyprawiały mnie o bóle głowy podczas aktualizacji mojej aplikacji rails. Doceniam prostotę bourbona (chociaż może to również przyprawić o bóle głowy... rano: -))

 14
Author: charlysisto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-22 07:47:21

Compass zapewnia wiele dobrych mixinów, dość potężny generator sprite ' ów i ścisłą integrację z Blueprint w sposób, który oznacza, że nie musisz używać niemantycznych klas col w całym HTML.

Nie ma zbyt wiele korzyści z używania Compass, jeśli nie używasz mixinów, ale z drugiej strony nie ma zbyt wiele korzyści z używania SCSS, jeśli nie używasz ich (zagnieżdżanie i zmienne są ładne, ale mixiny pomagają utrzymać implementację właściwości specyficznych dla przeglądarki w jednym miejsce).

/ Align = "left" / Nadal używałbym kompasu do mixów, ale w tej chwili kompatybilność pomiędzy Rails 3.1 i Compass jest okropna (trzeba przeskoczyć przez kilka obręczy i nadal poświęcać trochę funkcjonalności).

W nieco pokrewnej notce, sposób kompilowania zasobów przez Rails 3.1 jest raczej "zepsuty". Nie bierze pod uwagę, w jaki sposób społeczność używała Sass przez ostatni rok lub dwa-utrzymując zmienne, mixiny i stronę częściowe wszystkie oddzielne, aby były dołączane przez plik główny w kolejności. "Automatyczny" sposób ładowania i kompilacji Sass oddziela pliki od siebie, więc nawet jeśli ręcznie zdefiniujesz kolejność ładowania w swoim application.css, zmienne ustawione w pliku nie są dostępne dla NASTĘPNIE załadowanych plików.

 20
Author: coreyward,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-10 21:10:52

Compass jest frameworkiem projektowo-agnostycznym - np. nie musisz się martwić o to, które przeglądarki mają użytkownicy.

Np. kompas ma dodatki, jak np. CSS3 cross-browser features: http://compass-style.org/reference/compass/css3 / w ten sposób możesz określić rzeczy w swoim .SCSS files browser-independent

Side-Note:

Sposób, w jaki rails 3.1 przetwarza .pliki scss, są pojedynczo - np. jeśli zdefiniujesz zmienne w jednym pliku, nie zostaną przeniesione do drugiego .pliki scss. IMHO niezbyt optymalne rozwiązanie.

 1
Author: Tilo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-10 20:48:54

Html5boilerplate compass plugin jest również świetny czas-saver, więc z tych powodów chciałbym użyć compass

 1
Author: stephenmurdoch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-11 19:37:55