2012-05-23 14 views
11

Estoy usando Compass + Sass para administrar/combinar mis archivos .css. Así que tengo la siguiente estructura de carpetas:¿Cómo hacer que Compass vea varias carpetas al mismo tiempo?

Root 
--Module 
----css 
----sass 
--Module 
----css 
----sass 
--Module 
----css 
----sass 

Y aquí lo que me gustaría lograr: durante la fase de desarrollo me gustaría señalar la brújula a mi carpeta raíz y que deben estar atentos a cualquier cambio en los archivos ubicados en el sass directorios (en cada Module). Una vez que uno de los archivos .sass cambia, se debe generar el archivo .css apropiado (para el módulo cambiado al que pertenece .sass) y ponerlo en la carpeta css bajo el mismo Module.

¿Es posible?

Supongo que debería usar config.rb para este propósito, pero no estoy seguro de cómo hacerlo correctamente. ¿Podría alguien señalarme la solución o simplemente describir la idea general de cómo hacerlo?

EDITAR: Estoy en el entorno de Windows, por lo que no puede utilizar los comandos de Linux (puedo instalar Cygwin, pero yo preferiría evitarlo)

Gracias

+0

Ha intentado añadir un reloj para cada módulo ¿carpeta? Estoy bastante seguro de que esto no es posible. – markus

+0

Sí, así es como lo soluciono en este momento: ejecutar varias instancias de la brújula –

+0

¿Desea escribir una respuesta? – markus

Respuesta

3

La única solución que found es ejecutar varias instancias de Compass, una por módulo. Apuesto a que podría haber una solución más elegante ajustando el código fuente de Compass, pero desafortunadamente aún no estoy familiarizado con Ruby.

+4

En caso de que solo quiera agregar fuentes adicionales para ser vistas simultáneamente pero con solo un objetivo de compilación, entonces puede agregar las fuentes adicionales en config.rb con 'add_import_path'. – markus

+1

Grunt + brújula ver varias carpetas: http://stackoverflow.com/questions/20661596/running-multiple-compass-sass-watch-operations-automatically –

4

Tengo mi configuración de la estructura de carpetas de manera diferente:

  • activos
    • Sass
      • módulos
        • _module1.scss
        • _module2.scss
        • _module3.scss
      • screen.scss
    • hojas de estilo
      • screen.css
    • config.rb

screen.scss:

@import "modules/module1"; 
@import "modules/module2"; 
@import "modules/module3"; 

config.rb:

... 
css_dir = "stylesheets" 
sass_dir = "sass" 
... 

Los guiones al principio de los nombres de los módulos significa que no van a ser compilados en archivos css individuales. Las instrucciones de importación las combinan para que todas las CSS se combinen en screen.css. Tenga en cuenta que en las declaraciones de importación, no necesita los guiones bajos o el .scss.

Puede modificar esta estructura levemente si desea mantener los archivos CSS individuales (que es lo que sugirió que quería hacer). Quite los guiones bajos, y la brújula creará los archivos individuales.

  • activos
    • Sass
      • módulos
        • module1.scss
        • module2.scss
        • module3.scss
      • screen.scss
    • hojas de estilo
      • módulos
        • module1.css
        • module2.css
        • module3.css
      • screen.css
    • config.rb

En este caso, no es necesario ninguna declaración de importación en screen.scss, ya que tendrá que ser incluidos por separado en el documento html cada archivo individual.

En ambos casos, ejecutará el "reloj de brújula" una vez en la carpeta de activos. Tenga en cuenta que no necesita crear nada en el directorio de las hojas de estilo. Compass hará eso.

1

Use additional_import_paths o la más simple add_import_path en su archivo config.rb.

additional_import_pathsArray of Strings Otras rutas en su sistema desde las cuales importar archivos sass.

add_import_path Llame a esta función para agregar una ruta a la lista de rutas de importación sass para su proyecto de brújula. Por ejemplo: add_import_path "/Users/chris/work/shared_sass"

Ver this answer con ejemplos sobre cómo utilizar add_import_path

Fuente: http://compass-style.org/help/documentation/configuration-reference/

Cuestiones relacionadas