Sass o Compass senza rubino?


102

C'è un modo per usare Sass o Compass o qualcosa del genere senza Ruby?

Ho cercato su Google e questo sito e non riesco a trovare nulla, qualsiasi aiuto sarebbe apprezzato. Grazie



3
È una domanda reale? Voglio dire, non è chiaro cosa intendi. Esistono altri pre-processori CSS che non si affidano a Ruby? Sì. C'è un modo per compilare Sass senza Ruby? Dipende. Abbiamo bisogno di più background.
Jamund Ferguson,

Ma non specifichi in quale lingua preferiresti che fosse scritto il parser.
Alejandro García Iglesias

1
C'è un modo per scaricare una versione precompilata?
William

Risposte:


53

Sass è stato originariamente scritto per Ruby, ma ora hanno creato libSass che è un C/C++port del motore Sass, che rende più facile integrare il motore in un IDE o in un altro linguaggio. A questo punto, puoi utilizzare il motore Sass in Ruby, Node.js , Python , PHP , Java , .NET e altri. Per ulteriori informazioni, visitare libSass . Inoltre, il tuo IDE potrebbe avere un plugin che supporterebbe Sass, senza la necessità di ruby ​​utilizzando libSass.

La risposta originale di seguito può o non può essere applicata alla tua situazione (dipende dal fatto che la tua lingua abbia implementato o meno il supporto per libSass). Ho deciso di lasciarlo così com'è per motivi di archiviazione.


Sass (richiede Ruby)

Sass è scritto in Ruby, quindi avrai bisogno anche di Ruby installato. Tratto dal sito di sass

Bussola (richiede Ruby, poiché è basato su SASS)

Compass è un framework di creazione CSS open source che utilizza il linguaggio dei fogli di stile Sass per rendere la scrittura di fogli di stile potente e facile. Tratto dal sito della bussola

Less (scritto in js, richiede node.js o less.js incluso nella pagina)

LESS estende i CSS con comportamenti dinamici come variabili, mixin, operazioni e funzioni. LESS funziona sia sul lato client (Chrome, Safari, Firefox) che sul lato server, con Node.js e Rhino. Tratto dal sito di Less

Questi sono i principali processori là fuori che io conosca. Puoi scrivere il tuo parser / port per qualsiasi altra lingua a tua scelta.

In altre parole, no, non puoi usare sass / compass senza avere Ruby perché il programma stesso (sass & compass) È scritto in Ruby. Quindi ne avrai sicuramente bisogno per eseguirlo.


Questo è tecnicamente accurato ma non al punto in quanto vari plugin possono prendersene cura per te. Ad esempio in Visual Studio c'è il plugin Mindscape Workbench che ha un ambiente ruby ​​autonomo di cui non dovrai preoccuparti. Tuttavia, non includerà la bussola per te, il che è un po 'negativo.
George Mauer

@TroyCosentino o Stylus
Alejandro García Iglesias

No, non ho provato a trovare compilatori simili in altre lingue. Dovresti essere in grado di scrivere una compilazione da zero praticamente in qualsiasi linguaggio decente, ma molto probabilmente ti ci vorrà molto tempo. Per prima cosa dovrai essere in grado di analizzare il css (e rilevare eventuali errori nella sintassi css) e poi dovrai "compilare" (che è principalmente riformattando - cioè il codice css è una riga) il css. Dopodiché molto probabilmente vorrai aggiungere più CSS con ereditarietà. Se ritieni di avere tempo, puoi provare a farlo e condividere il risultato con noi :)
tftd

1
LESS è anche possibile in modo nativo in .NET utilizzando il pacchetto NuGet dotLESS.
David Boike

27

È vero che la domanda non è abbastanza chiara, ma cercherò di risolvere alcuni problemi. Ci sono altri pre-processori CSS che non si affidano a Ruby (due che mi vengono in mente in questo momento sono Less , che ho usato e apprezzato, ma non potente come Sass e Stylus , che non ho usato, entrambi basati su JavaScript), ma poiché stai chiedendo specificamente di Sass + Compass, e dato che sto ancora cercando la stessa risposta, ne parlerò.

@JamundFerguson ha detto:

C'è un modo per compilare Sass senza Ruby? Dipende.

C'è

Sass è un linguaggio di pre-elaborazione. C'è un compilatore costruito in Ruby per questo e chiunque può scrivere un compilatore in qualsiasi lingua. C'è un'implementazione in C di un compilatore Sass chiamato libsass che può essere utilizzato su qualsiasi linguaggio che consenta di importare librerie C. È la libreria usata da node-sass , che è un compilatore costruito in Node.js , che non ho ancora provato e non so come potrebbe funzionare e se è pronto per l'uso in produzione. Potrebbe essere una questione di tempo per il porting di Compass (forse finisci per farlo?) E quindi possiamo avere un compilatore che non dipende dalla gemma di Ruby (attualmente, c'è un modulo node-compass che lo fa affidamento su la gemma Ruby).

Altre lingue

Finora ho menzionato la possibilità di un compilatore Node.js, che, come forse saprai, è un ambiente JavaScript, essendo la lingua del web e la mia lingua preferita. Ma non hai specificato in quale lingua vorresti che fosse scritto il compilatore. Penso che potrebbero esserci compilatori costruiti in molti linguaggi, ad esempio, @EricMeyer ha menzionato un compilatore Python . Forse sta usando pyScss ? Sembra che abbia il supporto integrato per Compass. Ma poi hai bisogno di un ambiente Python. Quindi il punto è: avrai bisogno di un ambiente per un compilatore meno che non esegui binari compilati in modo nativo. (Less ha less.js che può essere incluso nella pagina per essere eseguito sul lato client ed evitare la fase di compilazione, ma non è pensato per usarlo in produzione.)

App native

Ho lavorato per un anno con CodeKit, che fa molto bene, compila Sass / Compass, Less, Stylus e linguaggi template come Haml, Slim, Jade, ecc. Ricostruisce le tue risorse quando cambiano automaticamente e vedi le modifiche immediatamente sul tuo browser. L'unica cosa che non mi piaceva era che quando mi spostavo su un computer diverso, installavo CodeKit, controllavo il progetto e provavo a usarlo, dovevo riconfigurare le impostazioni del progetto, che dovevo ricordare in modo da poter arrivare a una build come quello che ho fatto nell'altro computer. Inoltre ho iniziato a lavorare con un team e loro dovevano anche configurare il progetto con le stesse impostazioni (a volte non avere la stessa configurazione del progetto portava a brutte incongruenze) e anche i membri del team che utilizzavano Ubuntu non potevano usarlo. Quello'immediatamente e se ne innamorò. Come ha detto @Dave, c'è Scout e c'è anche LiveReload , ma non li ho usati.

Conclusione

La conclusione è che non ho una conclusione forte. Sto ancora cercando la stessa risposta, ma spero che questa risposta getti un po 'di luce sullo stato della compilazione di Sass / Compass al di fuori dell'ambiente Ruby.


1
Per lo stato di libsass: solitr.com/blog/2014/01/state-of-libsass , da cui dipendono le librerie node-sass e altre sass.
Ehtesh Choudhury

27

In realtà esiste una libreria che fornisce l'associazione per Node.js a libsass, la versione C del Sass: https://npmjs.org/package/node-sass

Ti consente di compilare in modo nativo file .scss in CSS a velocità incredibile senza Ruby installato.

Per installare basta eseguire:

npm install node-sass

E c'è anche un'estensione Grunt, se necessario: https://github.com/sindresorhus/grunt-sass (questo è quello che stavo cercando in questa domanda)

Scopri di più su: https://github.com/andrew/node-sass


1
grunt-sass era quello che stavo cercando.
9ilsdx 9rvj 0lo

11

Solo un piccolo aggiornamento su questo, puoi usare i file SCSS / SASS e generare i file corretti al volo senza installare Ruby usando un programma chiamato Scout.

Scout ha il suo ambiente ruby ​​autonomo ed è codificato in java, quindi assicurati che java sia aggiornato prima dell'uso. Linky qui.

Saluti :)


8
Preferisco rubino a Java;)
basarat

In realtà al momento in cui scrivo questo Scout utilizza Adobe Air. Forse una vecchia versione utilizzava Java?
iconoclasta

3
ancora rubino meglio di Air :)
x0x



2

Adobe Brackets (gratuito, open source) può compilare LESS, SASS e Stylus quando i file vengono modificati e aggiornare gli stili durante l'anteprima dal vivo, è sufficiente installare le estensioni richieste dal gestore estensioni. Ottieni parentesi e divertiti!

Modifica: come suggeriscono altre domande, anche node-sass è una buona opzione se hai già installato nodejs.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.