¿Sass o brújula sin rubí?


102

¿Hay alguna forma de usar Sass o Compass o algo así sin Ruby?

He estado buscando en Google y en este sitio y no puedo encontrar nada, se agradecería cualquier ayuda. Gracias



3
¿Es esta una pregunta real? Quiero decir que no está claro a qué te refieres. ¿Hay otros preprocesadores de CSS que no se basan en Ruby? Si. ¿Hay alguna forma de compilar Sass sin Ruby? Depende. Necesitamos más antecedentes.
Jamund Ferguson

Pero no especifica en qué idioma preferiría que se escribiera el analizador.
Alejandro García Iglesias

1
¿Existe alguna forma de descargar una versión precompilada?
William

Respuestas:


53

Sass fue escrito originalmente para Ruby, pero ahora han creado libSass, que es un C/C++puerto del motor Sass, lo que facilita la integración del motor en un IDE u otro lenguaje. En este punto, puede usar el motor Sass en Ruby, Node.js , Python , PHP , Java , .NET y otros. Para obtener más información, visite libSass . Además, su IDE podría tener un complemento que admita Sass, sin la necesidad de ruby ​​mediante el uso de libSass.

La respuesta original a continuación puede aplicarse o no a su situación (depende de si su idioma ha implementado soporte para libSass o no). Decidí dejarlo como está por razones de archivo.


Sass (requiere Ruby)

Sass está escrito en Ruby, por lo que también necesitará tener instalado Ruby. Tomado del sitio de sass

Brújula (requiere Ruby, ya que se basa en SASS)

Compass es un marco de creación de CSS de código abierto que utiliza el lenguaje de hojas de estilo Sass para hacer que la escritura de hojas de estilo sea potente y fácil. Tomado del sitio de compass

Less (escrito en js, requiere node.js o less.js incluido en la página)

LESS extiende CSS con comportamiento dinámico como variables, mixins, operaciones y funciones. LESS se ejecuta tanto en el lado del cliente (Chrome, Safari, Firefox) como en el lado del servidor, con Node.js y Rhino. Tomado del sitio de Less

Estos son los principales procesadores que conozco. Puede escribir su propio analizador / puerto para cualquier otro idioma que elija.

En otras palabras, no, no puede usar sass / compass sin tener Ruby porque el programa en sí (sass & compass) ESTÁ escrito en Ruby. Así que definitivamente lo necesitará para ejecutarlo.


Esto es técnicamente preciso, pero no va al grano, ya que varios complementos pueden encargarse de ello por usted. Por ejemplo, en Visual Studio existe el complemento Mindscape Workbench que tiene un entorno ruby ​​autónomo del que no tendrá que preocuparse. Sin embargo, no incluirá brújula, lo que es una especie de decepción.
George Mauer

@TroyCosentino o Stylus
Alejandro García Iglesias

No, no he intentado encontrar compiladores similares en otros lenguajes. Debería poder escribir una compilación desde cero en prácticamente cualquier lenguaje decente, pero eso probablemente le llevará mucho tiempo. Primero tendrá que poder analizar el css (y detectar cualquier error en la sintaxis css) y luego tendrá que "compilar" (que es principalmente reformatear, es decir, el código css es una línea) el css. Después de eso, lo más probable es que desee agregar varios CSS con herencia. Si cree que tiene tiempo, puede intentar hacerlo y compartir el resultado con nosotros :)
tftd

1
LESS también es posible de forma nativa en .NET utilizando el paquete dotLESS NuGet.
David Boike

27

Es cierto que la pregunta no es lo suficientemente clara, pero intentaré abordar algunas cuestiones. No son otros CSS pre-procesadores que no se basan en Rubí (dos venir a mi mente en este momento son menos , lo que yo he usado y me gustó, pero no tan potente como Sass, y Stylus , que no he utilizado, ambos basados ​​en JavaScript), pero como preguntas específicamente sobre Sass + Compass, y como sigo buscando la misma respuesta, hablaré de eso.

@JamundFerguson dijo:

¿Hay alguna forma de compilar Sass sin Ruby? Depende.

Ahi esta

Sass es un lenguaje de preprocesamiento. Hay un compilador integrado en Ruby y cualquiera puede escribir un compilador en cualquier idioma. Existe una implementación en C de un compilador de Sass llamado libsass que se puede usar en cualquier lenguaje que permita importar libs en C. Es la biblioteca utilizada por node-sass , que es un compilador integrado en Node.js , que aún no probé y no sé cómo podría funcionar y si está listo para su uso en producción. Puede ser una cuestión de tiempo para que Compass sea portado (¿tal vez termines haciendo eso?) Y así podemos tener un compilador que no dependa de la gema Ruby (actualmente, hay un módulo node-compass que depende de la gema de rubí).

Otros idiomas

Hasta ahora he mencionado la posibilidad de un compilador de Node.js, que, como sabrá, es un entorno de JavaScript, siendo el lenguaje de la web y mi idioma de elección. Pero no especificó en qué idioma le gustaría que se escribiera el compilador. Creo que puede haber compiladores integrados en muchos lenguajes, por ejemplo, @EricMeyer mencionó un compilador de Python . ¿Quizás está usando pyScss ? Eso parece tener soporte integrado para Compass. Pero luego necesitas un entorno Python. Entonces, la cuestión es: necesitará algún entorno para un compilador a menos que ejecute binarios compilados de forma nativa. (Less tiene less.js que se puede incluir en la página para ejecutar el lado del cliente y evitar el paso de compilación, pero no está diseñado para usarlo en producción).

Aplicaciones nativas

He trabajado durante un año con CodeKit, que lo hace muy bien, compila Sass / Compass, Less, Stylus y lenguajes de plantilla como Haml, Slim, Jade, etc. Reconstruye sus activos cuando cambian automáticamente y ve el cambio en su navegador inmediatamente. Lo único que no me gustó fue que cuando me mudé a una computadora diferente, instalé CodeKit, revisé el proyecto e intenté usarlo, tuve que reconfigurar la configuración del proyecto, lo cual tenía que recordar para poder llegar a una compilación. como el que hice en la otra computadora. También comencé a trabajar con un equipo, y también tenían que configurar el proyecto con la misma configuración (a veces, no tener la misma configuración del proyecto generaba desagradables inconsistencias) y los miembros del equipo que usaban Ubuntu no podían usarlo. Ese'de inmediato, y me enamoré de él. Como mencionó @Dave , está Scout y también está LiveReload , pero no los he usado.

Conclusión

La conclusión es que no tengo una conclusión sólida. Todavía estoy buscando la misma respuesta, pero espero que esta respuesta arroje un poco de luz sobre el estado de la compilación de Sass / Compass fuera del entorno Ruby.


1
Para el estado de libsass: solitr.com/blog/2014/01/state-of-libsass , del que dependen node-sass y otras bibliotecas de sass.
Ehtesh Choudhury

27

En realidad, hay una biblioteca que proporciona enlace para Node.js a libsass, la versión C de Sass: https://npmjs.org/package/node-sass

Le permite compilar de forma nativa archivos .scss en css a una velocidad increíble sin tener que instalar Ruby.

Para instalar, simplemente ejecute:

npm install node-sass

Y también hay una extensión de Grunt si es necesario: https://github.com/sindresorhus/grunt-sass (esto es lo que he estado buscando en esta pregunta)

Obtenga más información en: https://github.com/andrew/node-sass


1
gruñido-sass era lo que estaba buscando.
9ilsdx 9rvj 0lo

11

Solo una pequeña actualización sobre esto, puede usar archivos SCSS / SASS y generar los archivos correctos sobre la marcha sin instalar Ruby usando un programa llamado Scout.

Scout tiene su propio entorno ruby ​​autónomo y está codificado en Java, así que asegúrese de que Java esté actualizado antes de usarlo. Linky aquí.

Saludos :)


8
Prefiero ruby ​​a Java;)
basarat

En realidad, en el momento en que escribo esto, Scout usa Adobe Air. ¿Quizás una versión antigua usaba Java?
iconoclasta

3
Todavía rubí mejor que Air :)
x0x



2

Adobe Brackets (gratuito, de código abierto) puede compilar LESS, SASS y Stylus cuando se modifican los archivos y actualizar los estilos durante la vista previa en vivo, solo necesita instalar las extensiones requeridas desde el administrador de extensiones. ¡Consigue Brackets y disfruta!

Editar: como sugieren otras preguntas, node-sass también es una buena opción si ya tiene nodejs instalado.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.