Yakutsuz Sass veya Pusula?


102

Ruby olmadan Sass veya Compass veya benzeri bir şey kullanmanın bir yolu var mı?

Google'a ve bu siteye bakıyordum ve hiçbir şey bulamıyorum, herhangi bir yardım memnuniyetle karşılanacaktır. teşekkür ederim



3
Bu gerçek bir soru mu? Demek istediğim ne demek istediğin belli değil. Ruby'ye güvenmeyen başka CSS ön işlemcileri var mı? Evet. Sass'ı Ruby olmadan derlemenin bir yolu var mı? Bağlı olmak. Daha fazla geçmişe ihtiyacımız var.
Jamund Ferguson

Ancak ayrıştırıcının hangi dilde yazılmasını istediğinizi belirtmezsiniz.
Alejandro García Iglesias

1
Önceden derlenmiş bir sürümü indirmenin bir yolu var mı?
William

Yanıtlar:


53

Sass başlangıçta Ruby için yazılmıştı, ancak şimdi motoru bir IDE veya başka bir dile entegre etmeyi kolaylaştıran Sass motorunun bir portu olan libSass'ı oluşturdular C/C++. Bu noktada, Sass motorunu Ruby, Node.js , Python , PHP , Java , .NET ve diğerlerinde kullanabilirsiniz. Daha fazla bilgi için libSass adresini ziyaret edin . Ayrıca, IDE'nizin libSass kullanarak Ruby'ye ihtiyaç duymadan Sass'ı destekleyen bir eklentisi olabilir.

Aşağıdaki orijinal cevap sizin durumunuz için geçerli olabilir veya olmayabilir (dilinizin libSass için destek uygulayıp uygulamadığına bağlıdır). Arşiv nedenlerinden ötürü olduğu gibi bırakmaya karar verdim.


Sass (Ruby gerektirir)

Sass, Ruby'de yazılmıştır, bu nedenle Ruby'nin de yüklü olması gerekir. Sass'ın sitesinden alındı

Pusula (SASS'ye dayalı olduğu için Ruby gerektirir)

Compass, yazım stil sayfalarını güçlü ve kolay hale getirmek için Sass stil sayfası dilini kullanan açık kaynaklı bir CSS yazma çerçevesidir. Pusulanın sitesinden alınmıştır

Daha az (js ile yazılır, sayfada node.js veya less.js gerektirir)

LESS, CSS'yi değişkenler, karışımlar, işlemler ve işlevler gibi dinamik davranışlarla genişletir. LESS, Node.js ve Rhino ile hem istemci tarafında (Chrome, Safari, Firefox) hem de sunucu tarafında çalışır. Less'in sitesinden alınmıştır

Bunlar benim bildiğim ana işlemciler. Seçtiğiniz başka bir dil için kendi ayrıştırıcınızı / bağlantı noktanızı yazabilirsiniz.

Diğer bir deyişle, Ruby olmadan sass / compass kullanamazsınız çünkü programın kendisi (sass & compass) Ruby'de yazılmıştır. Bu yüzden çalıştırmak için kesinlikle ona ihtiyacınız olacak.


Bu teknik olarak doğrudur, ancak çeşitli eklentiler sizin için halledebileceği için gerçek anlamda değildir. Örneğin, Visual Studio'da endişelenmenize gerek olmayan kendi kendine yeten bir yakut ortamına sahip Mindscape Workbench eklentisi vardır. Sizin için pusula içermeyecek, ancak bu bir tür olumsuzluktur.
George Mauer

@TroyCosentino veya Stylus
Alejandro García Iglesias

Hayır, diğer dillerde benzer derleyiciler bulmayı denemedim. Hemen hemen her düzgün dilde sıfırdan bir derleme yazabilmelisiniz, ancak bu muhtemelen size çok zaman alacaktır. Öncelikle css'i ayrıştırabilmeniz (ve css sözdizimindeki hataları tespit edebilmeniz) ve ardından css'yi "derlemeniz" (ki bu çoğunlukla yeniden biçimlendiriyor - yani css kodu bir satırdır) gerekir. Bundan sonra, büyük olasılıkla kalıtımla birden çok css eklemek isteyeceksiniz. Zamanınız olduğunu düşünüyorsanız, yapmayı deneyebilir ve sonucu bizimle paylaşabilirsiniz :)
tftd

1
LESS, dotLESS NuGet paketini kullanarak .NET'te yerel olarak da mümkündür.
David Boike

27

Sorunun yeterince net olmadığı doğru, ancak bazı sorunları çözmeye çalışacağım. Orada olan aklıma gelen Ruby (iki güvenmeyin diğer CSS ön işlemciler şu anda olduğun Az i değil, Sass kadar güçlü olarak kullanılan ve sevdim, ve Stylus i kullanmadıysanız, her ikisi de JavaScript'e dayalıdır), ancak siz özellikle Sass + Compass hakkında soru sorduğunuz için ve hala aynı cevabı aradığım için bunun hakkında konuşacağım.

@JamundFerguson dedi ki:

Sass'ı Ruby olmadan derlemenin bir yolu var mı? Bağlı olmak.

Var

Sass, bir ön işleme dilidir. Bunun için Ruby'de oluşturulmuş bir derleyici var ve herkes herhangi bir dilde bir derleyici yazabilir. C lib'leri içe aktarmaya izin veren herhangi bir dilde kullanılabilen libsass adlı bir Sass derleyicisinin C uygulaması vardır . Bu tarafından kullanılan kütüphanesi düğüm-sass inşa edilmiş bir derleyici olduğunu node.js henüz çalıştı vermedi ve işe yarayabilir bilmiyorum ve bu üretim kullanıma hazır olup olmadığını. Pusula taşıdık etmesi an meselesi olabilir (belki? O yapıyor sonunda) ve biz Yakut taş bağlıdır olmayan bir derleyici olabilir böylece (şu anda, bir var düğüm-pusula modülü yapar dayanır Ruby mücevher).

Diğer diller

Şimdiye kadar, bildiğiniz gibi bir JavaScript ortamı, web dili ve benim tercih ettiğim dil olan bir Node.js derleyicisinin olasılığından bahsetmiştim. Ancak derleyicinin hangi dilde yazılmasını istediğinizi belirtmediniz. Sanırım birçok dilde oluşturulmuş derleyiciler olabilir, örneğin @EricMeyer bir Python derleyicisinden bahsetti . Belki pyScs kullanıyor ? Bu, Compass için yerleşik desteğe sahip görünüyor. Ama sonra bir Python ortamına ihtiyacınız var. Şeydir Yani: Eğer gerekir bazı derleyici için ortam özgün olarak derlenmiş ikililer çalıştırmak sürece. (Daha az, istemci tarafında çalıştırmak ve derleme adımından kaçınmak için sayfaya eklenebilecek daha az.js içerir, ancak üretimde kullanmak için tasarlanmamıştır.)

Yerel uygulamalar

CodeKit ile bir yıl çalıştım, Sass / Compass, Less, Stylus ve Haml, Slim, Jade, vb. gibi şablon dillerini derler. Varlıklarınızı otomatik olarak değiştiklerinde yeniden oluşturur ve değişiklikleri tarayıcınızda hemen görürsünüz. Sevmediğim tek şey, farklı bir bilgisayara geçerken, CodeKit'i kurarken, projeyi kontrol ederken ve kullanmaya çalışırken, bir yapıya ulaşabilmek için hatırlamam gereken proje ayarlarını yeniden yapılandırmam gerektiğiydi. diğer bilgisayarda yaptığım gibi. Ayrıca bir ekiple çalışmaya başladım ve projeyi aynı ayarlarla (bazen aynı proje yapılandırmasının çirkin tutarsızlıklara yol açmaması) yapılandırmaları gerekiyordu ve ayrıca Ubuntu kullanan ekip üyeleri bunu kullanamadı. O 'hemen ve ona aşık oldu. @ Dave'in bahsettiği gibi, Scout var ve ayrıca LiveReload var , ancak onları kullanmadı.

Sonuç

Sonuç, güçlü bir sonuca sahip değilim. Hala aynı cevabı arıyorum, ancak umarım bu cevap Sass / Compass'ı Ruby ortamı dışında derleme durumuna biraz ışık tutacaktır.


1
Libsass durumu için: solitr.com/blog/2014/01/state-of-libsass , düğüm-sass ve diğer sass kitaplıklarının bağlı olduğu.
Ehtesh Choudhury

27

Aslında Node.js'nin Sass'ın C sürümü olan libsass'a bağlanmasını sağlayan bir kütüphane var: https://npmjs.org/package/node-sass

.Scss dosyalarını Ruby kurulmadan inanılmaz bir hızda doğal olarak css olarak derlemenizi sağlar.

Kurmak için sadece çalıştırın:

npm install node-sass

Ve gerekirse bir Grunt uzantısı da var: https://github.com/sindresorhus/grunt-sass (bu soruda aradığım şey buydu)

Daha fazlasını öğrenin: https://github.com/andrew/node-sass


1
Aradığım şey homurdandı.
9ilsdx 9rvj 0lo

11

Bununla ilgili küçük bir güncelleme, SCSS / SASS dosyalarını kullanabilir ve Scout adlı bir program kullanarak Ruby'yi kurmadan anında doğru dosyaları oluşturabilirsiniz.

Scout kendi kendine yeten yakut ortamına sahiptir ve java olarak kodlanmıştır, bu yüzden kullanmadan önce java'nızın güncel olduğundan emin olun. Linky burada.

Saygılarımızla :)


8
Java yerine yakut kullanmayı tercih ederim;)
basarat

Aslında şu anda bu Scout Adobe Air kullanıyor. Belki eski bir sürüm Java kullanıyordu?
iconoclast

3
hala Air'den daha iyi yakut :)
x0x



2

Adobe Brackets (ücretsiz, açık kaynak), dosyalar değiştirildiğinde LESS, SASS ve Stylus'u derleyebilir ve canlı önizleme sırasında stilleri güncelleyebilir, yalnızca uzantı yöneticisinden gerekli uzantıları yüklemeniz gerekir. Parantezleri alınve keyfini çıkarın!

Düzenleme: Diğer soruların önerdiği gibi , nodej'ler zaten kurulu ise node-sass da iyi bir seçenektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.