2012-06-17 15 views
7

Estoy intentando crear una aplicación independiente (independiente de la canalización de activos de Rails) utilizando less.rb para generar archivos CSS basados ​​en Twitter Bootstrap.Cómo procesar Bootstrap con less.rb fuera de Rails

los siguientes resultados en un documento vacío

parser = Less::Parser.new :paths => [Rails.root + '/public/bootstraps/twitter-bootstrap-857b8fb/less'] 

tree = parser.parse("@import 'bootstrap.less'") 

tree.to_css 

que se traduce en una cadena vacía que se devuelven. He intentado modificar la @import para que sea la ruta completa, etc., sin éxito. Creo que debo estar perdiendo algo simple.

Respuesta

0

Puede sencilla ejecución make como usted ha descrito aquí: https://github.com/twitter/bootstrap/wiki/Contributing-to-Bootstrap

+0

Creo que eso realmente se ejecuta desde el lado del nodo (lo que me gustaría evitar si es posible). –

+0

Es bastante imposible compilar menos sin software adicional. Si nunca quieres ejecutar otra aplicación, puedes compilar Less en el lado del cliente, pero en mi humilde opinión no es una buena idea. – Hauleth

+0

Less.rb es el 'software adicional' en este caso. –

0

Si el rendimiento no es de suma importancia, siempre se puede incluir less.js, que compilará los menos archivos en tiempo de ejecución. Instrucciones detalladas here.

1

Creo que tienes un problema con la forma en que estás especificando tu ruta. Por lo que puedo decir, Menos está buscando una matriz de String objetos, no Path obejcts.

utilizar lo siguiente:

parser = Less::Parser.new paths: [Rails.root.join('public', 'bootstraps', 'twitter-bootstrap-857b8fb', 'less').to_s] 

tree = parser.parse("@import 'bootstrap.less'") 

tree.to_css 
0

¿Ha considerado el uso de la sintaxis de nombre de archivo de la página de GitHub less.rb? https://github.com/cowboyd/less.rb/

parser = Less::Parser.new :paths => ['./lib', 'other/lib'], :filename => 'mystyles.less' 
Cuestiones relacionadas