Sass ou Compass sem rubi?

102

Existe uma maneira de usar Sass ou Compass ou qualquer coisa assim sem Ruby?

Estive procurando no google e neste site e não consigo encontrar nada, qualquer ajuda seria apreciada. Obrigado

Troy Cosentino
fonte
3
esta é uma pergunta real? Quero dizer, não está claro o que você quer dizer. Existem outros pré-processadores CSS que não dependem de Ruby? Sim. Existe uma maneira de compilar o Sass sem Ruby? Depende. Precisamos de mais antecedentes.
Jamund Ferguson
Mas você não especifica em qual idioma prefere que o analisador seja escrito.
Alejandro García Iglesias
1
Existe uma maneira de baixar uma versão pré-compilada?
William

Respostas:

53

O Sass foi originalmente escrito para Ruby, mas agora eles criaram o libSass, que é um C/C++port do motor Sass, o que torna mais fácil integrar o motor em um IDE ou outra linguagem. Neste ponto, você pode usar o mecanismo Sass em Ruby, Node.js , Python , PHP , Java , .NET e outros. Para obter mais informações, visite libSass . Além disso, seu IDE pode ter um plugin que suporte Sass, sem a necessidade de ruby ​​usando o libSass.

A resposta original abaixo pode ou não se aplicar à sua situação (depende se o seu idioma implementou ou não suporte para libSass). Decidi deixar do jeito que está por motivos de arquivo.


Sass (requer Ruby)

Sass é escrito em Ruby, então você também precisará do Ruby instalado. Retirado do site de sass

Compass (requer Ruby, pois é baseado em SASS)

Compass é uma estrutura de autoria CSS de código aberto que usa a linguagem de folha de estilo Sass para tornar a escrita de folhas de estilo poderosa e fácil. Retirado do site da bússola

Menos (escrito em js, requer node.js ou less.js incluído na página)

LESS estende CSS com comportamento dinâmico como variáveis, mixins, operações e funções. O LESS é executado tanto no lado do cliente (Chrome, Safari, Firefox) quanto no lado do servidor, com Node.js e Rhino. Retirado do site de Less

Esses são os principais processadores que eu conheço. Você pode escrever seu próprio analisador / porta para qualquer outro idioma de sua escolha.

Em outras palavras, não, você não pode usar sass / compass sem Ruby porque o programa em si (sass & compass) ESTÁ escrito em Ruby. Portanto, você definitivamente precisará dele para executá-lo.

tftd
fonte
Isso é tecnicamente preciso, mas não exatamente ao ponto, pois vários plug-ins podem cuidar disso para você. Por exemplo, no Visual Studio, há o plugin Mindscape Workbench que possui um ambiente ruby ​​independente com o qual você não terá que se preocupar. Não incluirá bússola para você, no entanto, o que é meio deprimente.
George Mauer
@TroyCosentino ou Stylus
Alejandro García Iglesias
Não, eu não tentei encontrar compiladores semelhantes em outras linguagens. Você deve ser capaz de escrever uma compilação do zero em praticamente qualquer linguagem decente, mas isso provavelmente levará muito tempo. Primeiro você terá que ser capaz de analisar o css (e detectar quaisquer erros na sintaxe do css) e então você terá que "compilar" (o que é principalmente reformatação - isto é, o código css tem uma linha) o css. Depois disso, você provavelmente desejará adicionar vários css com herança. Se achar que tem tempo, pode tentar fazer isso e compartilhar o resultado conosco :)
tftd
1
LESS também é possível nativamente em .NET usando o pacote dotLESS NuGet.
David Boike,
27

É verdade que a questão não é suficientemente clara, mas tentarei abordar alguns problemas. Não são outros CSS pré-processadores que não dependem de Ruby (dois vindo à minha mente agora são menos , que eu usei e gostei, mas não tão poderoso como Sass, e Stylus , que eu não usei, ambos baseados em JavaScript), mas como você está perguntando especificamente sobre Sass + Compass, e como ainda estou procurando a mesma resposta, vou falar sobre isso.

@JamundFerguson disse:

Existe uma maneira de compilar o Sass sem Ruby? Depende.

Há sim

Sass é uma linguagem de pré-processamento. Existe um compilador construído em Ruby para isso e qualquer pessoa pode escrever um compilador em qualquer linguagem. Há uma implementação em C de um compilador Sass chamado libsass que pode ser usado em qualquer linguagem que permita importar libs C. É a biblioteca usada pelo node-sass , que é um compilador construído em Node.js , que ainda não tentei e não sei como poderia funcionar e se está pronto para uso em produção. Pode ser uma questão de tempo para a bússola para ser portado (talvez você acaba fazendo isso?) E para que possamos ter um compilador que não depende do gem Ruby (atualmente, há um nó-bússola módulo que faz depende de a gema do Rubi).

Outras línguas

Até agora mencionei a possibilidade de um compilador Node.js, que, como você deve saber, é um ambiente JavaScript, sendo a linguagem da web e minha linguagem de escolha. Mas você não especificou em qual idioma gostaria que o compilador fosse escrito. Acho que pode haver compiladores construídos em muitas linguagens, por exemplo, @EricMeyer mencionou um compilador Python . Talvez ele esteja usando pyScss ? Isso parece ter suporte embutido para Compass. Mas então você precisa de um ambiente Python. Então a questão é: você precisará de algum ambiente para um compilador, a menos que execute binários compilados nativamente. (Less tem less.js que pode ser incluído na página para executar do lado do cliente e evitar a etapa de compilação, mas não se destina a usá-lo na produção.)

Aplicativos nativos

Eu trabalhei por um ano com CodeKit, que faz muito bem, compila Sass / Compass, Less, Stylus e linguagens de template como Haml, Slim, Jade, etc. Reconstrói seus ativos quando eles mudam automaticamente e você vê a mudança em seu navegador imediatamente. A única coisa que não gostei foi que ao mudar para um computador diferente, instalar o CodeKit, verificar o projeto e tentar usá-lo, tive que reconfigurar as configurações do projeto, que eu tive que lembrar para poder chegar a uma compilação como o que fiz no outro computador. Também comecei a trabalhar com uma equipe, e eles também tiveram que configurar o projeto com as mesmas configurações (às vezes, não ter a mesma configuração de projeto levava a inconsistências feias) e também os membros da equipe que usavam o Ubuntu não podiam usá-lo. Este'imediatamente, e se apaixonou por ele. Como @Dave mencionou, existe o Scout e também o LiveReload , mas não os usei.

Conclusão

A conclusão é que não tenho uma conclusão forte. Ainda estou procurando a mesma resposta, mas espero que ela esclareça um pouco o status da compilação do Sass / Compass fora do ambiente Ruby.

Alejandro García Iglesias
fonte
1
Para o estado de libsass: solitr.com/blog/2014/01/state-of-libsass , do qual o node-sass e outras sass-libraries dependem.
Ehtesh Choudhury
27

Na verdade, há uma biblioteca que fornece ligação para Node.js para libsass, a versão C do Sass: https://npmjs.org/package/node-sass

Ele permite que você compile nativamente arquivos .scss para css a uma velocidade incrível sem o Ruby instalado.

Para instalar, basta executar:

npm install node-sass

E também há uma extensão Grunt, se necessário: https://github.com/sindresorhus/grunt-sass (é isso que estou procurando nesta pergunta)

Saiba mais em: https://github.com/andrew/node-sass

gkond
fonte
1
grunhido-atrevido era o que eu estava procurando.
9ilsdx 9rvj 0lo
11

Apenas uma pequena atualização sobre isso, você pode usar arquivos SCSS / SASS e gerar os arquivos corretos imediatamente sem instalar Ruby usando um programa chamado Scout.

O Scout tem seu próprio ambiente ruby ​​independente e é codificado em java, então certifique-se de que o java está atualizado antes de usar. Linky aqui.

Saudações :)

Dave
fonte
8
Prefiro rubi em vez de java;)
basarat
Na verdade, no momento em que escrevo este Scout, usa Adobe Air. Talvez uma versão antiga usasse Java?
iconoclasta
3
ainda rubi melhor que o ar :)
x0x
2

Os suportes da Adobe (gratuito, de código aberto) podem compilar LESS, SASS e Stylus quando os arquivos são alterados, e atualizar estilos durante a visualização ao vivo, você só precisa instalar as extensões necessárias do gerenciador de extensão. Obtenha suportes e divirta-se!

Edit: Como outras questões sugerem, o node-sass também é uma boa opção se você já tiver o nodejs instalado.

Bangash
fonte