2011-09-06 11 views
9

¿Cuál es la forma más fácil (¿existe una manera fácil?) De utilizar Less (en combinación con Sass/Scss) en la cartera de activos de 3.1 carriles?¿Cómo usar la aplicación Less in a rails 3.1?

quiero cargar un archivo como foo.css.less como yo haría por bar.css.scss

he encontrado alguna solución poco firme que no funciona para mí (no lo he probado mucho): https://github.com/thisduck/ruby-less-js/issues/2

La idea sería utilizar Twitter Bootstrap de una manera limpia. Gracias de antemano

Respuesta

-1

Sólo hay que poner el archivo de yourlessfile.less en public/stylesheets, a continuación, en su opinión, son con

stylesheet_link_tag "/stylesheets/yourlessfile.less", :rel => "stylesheet/less" 

No olvide incluir less.js en su vista.

+0

Sí seguro, esta es una solución limpia y sencilla, pero el archivo de menos no va a través de la tubería activos. Quiero que se procese con un piñón y se comprima con el resto ... – Sucrenoir

+0

Es una buena respuesta al encabezado de la pregunta pero no a los detalles de la pregunta. Es útil para las personas que buscan quién ve el encabezado. –

10

Si solo quiere usar bootstrap, puede hacerlo incluyendo las gemas 'less-rails' y 'less-rails-bootstrap' en su GemFile.

A continuación, puede @Import de arranque en sus archivos .css.less:

@import "twitter/bootstrap" 

Como alternativa, puede incluir cada archivo constituyente individual (con exclusión de los que no desea):

// Reset 
@import "twitter/bootstrap/reset"; 

// Core variables and mixins 
@import "twitter/bootstrap/variables"; 

@import "twitter/bootstrap/mixins"; 

// Grid system and page structure 
@import "twitter/bootstrap/scaffolding"; 

// Styled patterns and elements 
@import "twitter/bootstrap/type"; 
@import "twitter/bootstrap/forms"; 
@import "twitter/bootstrap/tables"; 
@import "twitter/bootstrap/patterns"; 

Si no desea utilizar la gema menos-boots-bootstrap por alguna razón, o tiene archivos .less que no sean bootstrap que desee incluir, debe agregar manualmente sus rutas .less a los raíles menos config. Tenga en cuenta que ninguno de estos trabajos adicionales es necesario si sus nombres de archivo terminan en .css.less ya que el inventario de activos debe manejar esa compilación por usted (siempre que haya incluido 'menos rieles'). Este procedimiento solo es necesario si desea consultar los archivos .less externos directamente en los archivos .css.less de su aplicación.

La configuración que uso para bootstrap es copiar los archivos * .less al vendor/assets/frameworks/twitter/bootstrap. Mantener los archivos en vendor/assets/stylesheets/... me causó algunos problemas, probablemente debido a la magia de Rails al resolver mis importaciones a los archivos .less sin procesar y sin saber qué hacer con ellos (esto es solo una especulación de mi parte, no lo investigué del todo) .

Una vez que tenga los archivos .less en su proyecto, debe indicar a los raíles menos dónde encontrarlos. Hazlo poniendo lo siguiente en tu application.rb.

YourApp::Application.configure do 
    config.less.paths << File.join(Rails.root,'vendor','frameworks') 
    # Should be set to true in production. 
    config.less.compress = false 
end 

Puede importarlos en .css.menos archivos mediante el uso de:

@import "twitter/bootstrap/reset" 
@import "twitter/bootstrap/variables" 
... 
+0

¡Utilicé su segundo enfoque y funciona absolutamente! Gracias @billmag –