Üç adet popüler CSS önişlemcisi var. SASS, LESS ve Stylus. Dinamik CSS yazımı ile ilgili daha önce Stylus ile ilgili bir makale yazmıştım. Stylus yazımda da belirttiğim gibi bunlardan birini tercih etmek yeterli bence. Birbirlerine olan üstünlükleri çok ayırt edici değil. Sass’ın diğerlerine göre ilk olmak ve çok fazla dokümantasyonunun olması gibi avantajları var. Buna karşı bence Stylus’un yazımı daha kolay. Bir iki nokta üst üste -:- yazmadım diye hata almak hoşuma gitmiyor.
Sahibinden.com‘da Stylus ile kod yazarken mobiwan‘da tercihimiz genelde Sass oluyor. Bende hazır Sass kodluyoruz bir makale yazmanın sırası geldi diye düşünüp bu makaleyi yazmaya başladım. Bu yazım Sass’a giriş niteliğinde olacaktır. Daha sonra zamanım olursa devamı gelir inşallah.
“CSS ile kod yazarken büyük projelerde ne kadar dikkatli olsak da sonunda normal olarak binlerce satırlık kodlar çıkabiliyor. Düzenli olmamız ve Firebug yardımı olsa da bu kodlar içinde dolaşmak ve yönetmek bazı sorunlara neden oluyor. Dinamik CSS burada devreye giriyor.
Dinamik CSS yazımında; değişken tanımı, css fonksiyonları, fazla kod işaretçilerinden kurtarma kalıtsallık ve 4 işlem gibi özellikleri ile bizlere yardımcı oluyor. Kısacası CSS’e dinamik bir yazım olanağı kazandırıyor.”
Stylus yazımdan yaptığım alıntı tüm CSS önişlemcileri için geçerlidir.
Sass Kurulumu
SASS Ruby ile geliştirildiğinden kurulumu için bilgisayarınızda Ruby ve onun paket yöneticisi Gem’in bulunması lazımdır. Mac OS’ta Ruby ve Gem kurulu geliyor. Windows için Ruby Installer indirip kurmanız gerekir. Linux için Rails Ready ‘dan kurabilirsiniz.
Sonrasında komut satırına:
Linux ve Mac Os’ta yetki sorunlarını aşmak için:
yazmak yeterli, Sass’ı kurmuş olduk. Sass’ın yüklenip yüklenmediğini kontrol etmek için;
komutunu yazarız. Sonuçta Sass ve sürümünü yazan bir cevap gelirse Sass bilgisayarımıza yüklüdür.
Sass’ın Derlenmesi
Sıra geldi Sass yazmaya küçük bir örnek yazalım ve deneme.sass olarak kaydedelim.
Söz dizimine baktığımızda süslü parantez -{}-, noktalı virgül -;- kullanılmıyor. Kod blokları girintiler ile belirlenir. Şimdilik bu kadar ile yetinelim. Şimdi bu kodu CSS’e çevirmemiz gerekiyor. Bunun için çeşitli yöntemler mevcut.
Komut satırından derlemek
CSS’e çevirmek için ilk yöntem komut satırından
yazmak yeterli. Eğer birden fazla dosya var ise ve bir klasör içinde ise;
komutu ile tüm app/sass klasöründeki dosyaları CSS’e çevirebiliriz.
Uygulamalar ile derlemek
Genel itibari ile bu programları sıralarsak
- Scout: Ücretsiz, Windows/Mac
- CodeKit: 29$, Mac
- LiveReload: 9,90$, Windows/Mac
- Compass.app: 10$, Windows/Mac/Linux
Sublime Text ile derlemek
Diğer editörlerinde benzer bir yetenekleri vardır muhtemelen. Ben Sublime Text kullanıyorum diye burada değinmek istedim. Sass kullanıyorsanız bir kaç Sublime Text eklentisi kurmanız gerekiyor.
- Sass dosyalarını renklendirmek için Sass eklentisini kurmalıyız.
- Sass komutlarını otomatik tamamlama için SASS Snippets veya Syntax Highlighting for Sass kurmalıyız.
- Sass Build ile derleme işini Sublime ile yapabiliyoruz.
- SublimeOnSave ile otomatik kaydetme özelliğini ekliyoruz.
Grunt ve Gulp yardımı ile derlemek
Grunt ve Gulp, Sass derlemek için biçilmiş kaftandır. Yukarıdaki çözümler seçenek olması için anlatıldı. Asıl çözüm Grunt ve Gulp ile yapılandır.
Grunt ve Gulp’dan kısaca bahsedersek; tekrarlayan işlerimizi otomatize eden Nodejs üzerinde çalışan kod betikleridir. İleride zamanım oldukça daha detaylı bahsetmeye çalışacağım.
Burada grunt’tan bir örnek vereyim. Bir kaç tane grunt sass betiği var. grunt-sass bunlarda biri ve tercih edilebilir. Grunt kurulu bir sistemde
ve
grunt-sass betiği yüklenir. Sonra gruntfile.js
Daha sonra komut satırından
komutu ile sass dosyaları otomatik derlenecektir. Bu işi anlık değişimi yansıtacak bir kod ile daha kullanışlı hale getirebiliriz.
ile izleme betiğini yükleyelim.
sonrasında
komutunu yazdıktan sonra sass/deneme.sass dosyasında değişiklik yaptımız anda otomatik derlenip css/deneme.css dosyası oluşturulacaktır.
Şimdilik bu kadar zamanım oldukça daha fazla Sass ve Grunt makalesi yazmayı planlıyorum.
Kalın sağlıcakla.
Kaynaklar
- http://sass-lang.com/
- http://thesassway.com/
- sitepoint.com/html-css/css/sass-css
- http://leveluptuts.com/tutorials/sass-tutorials
- http://sassbreak.com/
- http://www.sassnews.com/
- http://code.tutsplus.com/categories/sass
- http://sass-guidelin.es/
- http://www.gelistiricigunlugu.com/sass-nedir/
- http://webmagazin.co/sass-kullanalim-ve-kullandiralim/
- erbilen.net/1200-sass-dersleri.html
- http://www.yunusbassahan.com/blog/sass/sass-kurulumu-ve-program-tercihi.html
- http://sonsuzdongu.com/blog/sass-a-giris
- http://blog.designedbysherpa.com/2015/03/css-preprocessorler-on-derleyiciler-ve-sass/
- sublimetexttips.com/how-to-add-sass-support-in-sublime-text/