Moving esto en respuestas porque es (un poco) fuerte para un comentario, aunque soy consciente de que no es la respuesta exacta que' que estas buscando.
Todavía no me he movido a Rails 3.1, pero he estado usando Compass/Sass durante bastante tiempo, y puedo describir mis prácticas (algo siempre cambiantes).
Salida Brújula aquí: http://compass-style.org/
Mi objetivo es ser lo más modular posible, y separar mis estilos en categorías de varias maneras diferentes. Una estructura de muestra podría verse así. Estoy incorporando comentarios junto con la jerarquía de archivos, así que espero que sea legible.
- stylesheets
# at top level, the files which are eventually concatenated and output, the main
# sheet, "screen", a stripped version for a wysywyg editor, and some overrides.
- screen.scss
- print.scss
- ie.scss
- wysiwg.scss
# also in this folder I tend to keep a reset
- _reset.scss
# and then separated, "includes" and "partials", includes being purely definitions
# and mixins, while partials being their application (actual CSS output)
- _includes.scss
- includes
- _definitions.scss # some global variable defs
- _typography.scss # typography mixins and defs
- _colors.scss # colors mixins and defs, and so on
- ...
- _partials.scss
- partials
- _application.scss # top level layout + tweaks that don't belong anywhere else
- _typography.scss # the generation of typography CSS
- _colors.scss # the generation of colors CSS, and so on
- ...
- _layouts.scss
- layouts # layout specific styles
- _controllers.scss
- controllers # controller specific styles
- _modules.scss
- modules # modular, reusable pieces (widgets, breadcrumbs, navs, etc)
- _vendor.scss
- vendor # everything vendor, (jquery-ui, qtip, colorbox)
La idea básica es que todo se compila en el nivel superior archivos * .scss, los únicos que no son "parciales" prefijadas con un guión bajo. Estos archivos son muy simples y tienden a verse así.
# screen.scss, import all partials
@import 'reset';
@import 'partials';
# wysiwyg.scss doesn't need all the partials, but needs the basic stuff
# and the semantic classes for wysiwyg users, e.g. ".red", etc.
@import 'reset';
@import 'partials/typography';
@import 'partials/colors';
@import 'partials/semantic';
_layouts.scss
y otros archivos que comparten nombres de las carpetas son simples importaciones colectivos de los archivos en sus respectivos directorios.
La idea general es que los parciales se mantienen lo más delgados posible, con la carga del trabajo que se realiza en mixins. Compass afortunadamente también ofrece una bolsa de sorpresas completa de la que hago un gran uso.
Para algunos este tipo de estructura de archivos puede ser difícil de manejar, pero creo que funciona bien para mis propósitos. Especialmente una vez que obtienes una buena biblioteca de mixins y parciales intercambiables. Hace que resulte algo fácil modificar algunas definiciones de variables o reemplazar una parcial o mixin por otras para cambios globales rápidos.
El enfoque sensato, suponiendo que no esté utilizando un marco, probablemente sea reconsiderar su decisión y hacer uso de un marco. Bromas aparte, los beneficios que un gran proyecto obtiene de un marco CSS son enormes. Reutilización de código, una separación clara (si lo haces bien) de preocupaciones, concatenación/compresión al horno, la lista continúa. Y sí, sass + rails 3.1 van a responder esta pregunta por ti. – numbers1311407
@ numbers1311407 gracias por el consejo. Oigo lo que usted dice como una buena regla general, pero para lo que estoy haciendo, creo que sería excesivo comenzar con un marco (primer conjunto de estilos con una alta probabilidad de descartarlos en el mediano plazo). de todas formas). Supongo que sigue de tu comentario en sass/3.1 cuáles serían las mejores prácticas. Supongo que recomendaría organizar el uso de las características de anidación de sass, pero aún así, ¿cuál sería la unidad organizadora como los controladores u otra cosa, y cuál sería la estructura del archivo? – tks