Sass Kurulumu
Sass Ruby ile geliştirildiğinden, kullanabilmek için bilgisayarımıza Ruby kurmamız gerekiyor. Eğer Mac kullanıcısıysanız, OS X ile birlikte Ruby kurulu bir şekilde geliyor.
Kurulum ve kullanım aşamalarında Komut İstemi (Windows için cmd.exe, Linux ve OS X için Terminal) yazılımlarına ihtiyacımız olsa da, bu işleri daha kolay yapmak mümkün. Tüm kurulum ve dosya takibi işlerinizi komut satırından yapmak yerine ücretli veya ücretsiz birçok yazılım kullanabilirsiniz.
Komutlar, kullandığınız işletim sistemine göre değişiklik gösterdiği için, yazı dizisinin bu ve diğer bölümlerinde, işleri komut satırları yerine ücretsiz bir programla halledeceğiz.
Sass kullanabilmek için birçok yazılım mevcuttur. Bu yazılımlara aşağıdaki listen göz atıp sizin için en uygununu seçebilirsiniz. Aşağıdaki liste resmi Sass sitesinin önerdiği yazılımları içermektedir.
Uygulama Adı | OS X | Linux | Windows | Bedel | Adres |
CodeKit |
![]() |
Ücretli | http://incident57.com/codekit | ||
Compass.app |
![]() |
![]() |
![]() |
Ücretli, Açık Kaynak | http://compass.handlino.com |
Hammer |
![]() |
Ücretli | http://hammerformac.com | ||
Koala |
![]() |
![]() |
![]() |
Açık Kaynak | http://koala-app.com |
LiveReload |
![]() |
![]() |
Ücretli, Açık Kaynak | http://livereload.com | |
Mixture |
![]() |
![]() |
Ücretli | http://mixture.io | |
Prepros |
![]() |
![]() |
![]() |
Ücretli | http://prepros.io |
Scout |
![]() |
![]() |
Açık Kaynak | http://mhs.github.io/scout-app |
Bu bölümden itibaren, OS X, Linux ve Windows ortamlarında çalışan ve ücretsiz olan Koala uygulamasını kullanarak devam edeceğiz. Web sitesine giderek kullandığımız işletim sistemi için uygun olan dosyayı indirip kuralım. Kurulum aşamaları standart bir program kurulumu gibi kullanıcı arayüzüne sahip olduğu için, bu bölümü geçerek uygulamamızın ayarlarını yapalım.
Uygulamamızı kurup çalıştırdığımızda karşımıza aşağıdaki gibi bir pencere gelecektir.
İlk ekrana çalıştığımız proje dizinini sürükleyip bıraktığımızda, uygulama artık bizim için derlenmesi gereken tüm Sass ve Scss dosyalarındaki değişiklikleri takip edecek, dosya içerikleri her değiştiğinde CSS dosyamızı oluşturacaktır.
Uygulamanın varsayılan ayarlarını, kullanım ihtiyaçlarımıza göre düzenledikten sonra ilk projemize başlayabiliriz. Uygulama içinde, sol üst tarafta bulunan çark simgesine tıklayarak gerekli ayarları yapalım.
İlk önce “General” sekmesinde “Notification when compile is compieted” seçeneğini işaretleyelim. Bu sayede kaydettiğimiz her Sass veya Scss dosyası derlenirken hatalı yazım veya başarılı derleme işlemi gibi bildirimleri alabiliriz.
İkinci ekrandaki Sass Sekmemizdeki tüm işaretleri kaldırıp “Output Style” seçeneğini “expanded” yapıyoruz. Bu işlemden sonra oluşturulacak CSS dosyamız okunaklı bir şekilde hazırlanıyor. İsterseniz “compressed” seçeneğini işaretleyerek oluşturulan CSS dosyanızı sıkıştırabilirsiniz.
Merhaba Dünya
İlk Sass kodumuzu yazarken “Hello World” geleneğini bozmayalım. Yazı dizisi içinde yapacağımız tüm örnekleri hem Sass hem de Scss olarak yazacağız, sizin tercihiniz hangisi ise örnekleri ona göre hazırlayıp çalıştırın.
Ben öncelikle bir HelloWorld klasörü oluşturup içine “sass”, “scss” ve “css” klasörleri oluşturdum. sass klasörü içine sass-style.sass, scss klasörüne ise scss-style.scss dosyalarını oluşturarak, projemin ana dizinini koala içine sürükledim.
Yukarıdaki resimde de gördüğünüz gibi koala oluşturacağı CSS dosyasının dizinini Sass için ana dizindeki “css”, Scss için yine ana dizindeki scss klasörü olarak ayarladı. Bunun sebebi proje dizinimizde hem Sass hem de Scss dosyalarımızın bulunması. Her iki çalışmanın çıktısının da “css” klasörüne oluşturulmasını sağlamak için Scss’in yanındaki düzenleme ikonuna tıklayarak, dosyamın kaydedilmesini istediğim dizini seçeceğim.
Artık ilk kodumuzu yazmak için önümüzde herhangi bir engel kalmadı. Hemen aşağıdaki kodları yazarak Sass ve Scss dünyasına ilk adımımızı atalım.
SCSS:
$width: 250px; $color: #f5f5f5; .container { width: $width; height: $width; .row { background-color: $color; &:before { content: 'Hello World'; } } }
SASS:
$width: 250px $color: #f5f5f5 .container width: $width height: $width .row background-color: $color &:before content: 'Hello World'
ÇIKTISI:
.container { width: 250px; height: 250px; } .container .row { background-color: #f5f5f5; } .container .row:before { content: 'Hello World'; }
İlk örneğimizi yazıp dosyayı kaydettiğimizde, koala tarafından derleme işleminin başarılı olduğuna dair bir bildirim alıyoruz.
Yukarıdaki örneği buradan indirebilirsiniz.
Bir sonraki yazıda iç içe yazım (nesting) şeklini inceleyeceğiz.
Elinize sağlık benim için kolaylık oldu, bu konudaki yazılarınızın devamını bekliyorum.
Yazan Hasan Ali | Tarih : 3 Şubat 2015 , Salı 00:46
Hocam, Php ve Css ile bir proje yapıyordum ve sass diye birşey ile karşılaştım sizin tüm yazılarınızı da okudum.
1. sorum: Koalayı kurup bir tane .scss dosyası oluşturduktan sonra, index.php ya da index.html dosyamızın içerisine bu .scss dosyamızı nasıl ekliyoruz.
2. sorum: Localhost'ta biz bu projeyi geliştirdikten sonra php ya da html tabanlı sunucumuzun içerisinde bu yaptığımız proje dosyalarımızı aktardıktan sonra, sunucumuz .scss dosyamızı algılar mı yoksa rubby denen yazılımı sunucuya da kurmamız gerekiyor mu? Ya da ne kurmamız gerekiyor,ne yapmalıyız? Beni yönlendirirseniz çok sevinirim.
Yazan Damar | Tarih : 12 Şubat 2015 , Perşembe 16:46
Hocam şöyle anlatayım;
.sass dosyanı projene dahil etmiyosun, onun yerine sass ın oluşturduğu .css dosyanı indexine dahil ediyorsun.
Sunucuya attığında da, local hostunda da her zaman sass tarafından oluşturulan css dosyasını kullanıyosun.
Kafana takılan bir şey olursa buradan sorabilirsin.
Yazan Yunus Başşahan | Tarih : 12 Şubat 2015 , Perşembe 16:51
Hocam söyledikleriniz üzerine yaptığınız örneği indirip inceledim.
Bu HelloWorld proje dosyasının içerisinde 2 klasör (css ve scss) var.
css klasörü içerisinde de bu dosyalar var:
._sass-style.css | ._scss-style.css | ._.DS_Store scss klasörü içerisinde de: sadece ._.DS_Store dosyası var.
Bir de bunların dışında ._.DS_Store dosyası var.
1. Sorum: bu dosyaların manası nedir, farkı nedir?
2. Sorum biraz karışık:
Rubby kullanılarak yeniden işlenen bu .css dosyaları ile bizim normal .css dosyalarından farkı nedir? Yani örnek vermek istiyorum bu sitedeki örneğin aynısını yapmak istedim: http://codepen.io/anon/pen/YPYRZj?editors=110 normal bir .html ve .css dosyasına buradaki kodları aktardım ama saçma sapan şeyler çıktı. Koala'yı bilgisayarımıza kurduğumuzda bize verdiği .css dosyası bilgisayarımıza rubby kurulduğu için belki bilgisayarımızdaki browser'da düzgün görüntülülenebilir ama sunucuya attığımızda nasıl olacak? Sunucuya rubby mi kurmamız gerekiyor?
Yazan Damar | Tarih : 12 Şubat 2015 , Perşembe 18:14
Hocam son yolladığım yorumdaki sitede sanırım javascript varmış kodda.
@include box-sizing(border-box); yazıyor .scss kodunda ama html kodunda: Just CSS, No JS! yazıyor ben anlamadım siz hemen anlarsınız zaten de ben sitedekinin aynısını kendi projemde kullanmak istiyordum bu yazdıkları ibare yanıltmaca mıdır: Just CSS, No JS! ? Beni yönlendirirseniz sevinirim projemde ben javascript kullanmadan css ile yapmak istiyorum.
Yazan Damar | Tarih : 12 Şubat 2015 , Perşembe 22:43
Hocam Merhaba,
.DS_Store gibi dosya ve klasörler OSX e ait dosyalar, ben örnekleri hazırlarken MAC kullanmıştım. Linux veya Windows kullanıyorsan ondan görüyorsundur. Bu dosyalar gereksiz dosyalar silebilirsin.
2. sorun için yine aynı şeyi söylüyorum, sunucu ve ruby olayını unut tamamen. Koala'nın oluşturduğu CSS dosyanı projene dahil et local de de sunucuda da onu kullan.
Codepen de çalışan SCSS kodu görüyorsun bu yüzden kafan karışıyor, Codepen'de SASS çalıştırmak için özel hazırladıkları yazılımlar var. Orası sonuç olarak bir referans sitesi ve insanlar oraya SASS veya LESS kodlarını koyuyorlar, compile edilmeden gözükmesi için codepen e özel compiler geliştirmişler, codepen ile kafanı karıştırma.
Şimdi şöyle yap;
1 - .scss dosyanı oluştur
2 - Koala uygulamasının içine proje klasörünü sürükle ve CSS dosyanı nereye kaydetmesini istiyorsan seç.
3 - Oluşturulan CSS dosyanı HTML ya da PHP belgene link etiketi ile ekle.
4 - CSS dosyanı bir daha hiç açma, dokunma. Sen .scss dosyana yaz kaydet, Koala onu CSS e çevirecek, belgende de CSS ekli olduğu için yaptığın değişiklikleri sayfanı yenilediğinde görüyor olacaksın.
5 - Sunucuya atarken SASS ile ilgili hiçbirşeyi sunucuya gönderme!!! Koalanın oluşturduğu CSS dosyasını gönder!!!
İlk etapta codepen örneklerine bakıp kafanı karıştırma bence.
Yine kafana takılan bir şey olursa yardımcı olmaya çalışırım.
Yazan Yunus Başşahan | Tarih : 12 Şubat 2015 , Perşembe 23:20
CSS dosyamızı başka bir klasörün içinde nasıl oluşturabiliriz. Yani scss ayrı klasör olacak, css klasörü ayrı olacak
Yazan Emin | Tarih : 15 Mart 2015 , Pazar 00:55
@Emin makale içindeki 4 ve 5'inci resimlere bakarsan sorunu çözersin, kolay gelsin.
Yazan Yunus Başşahan | Tarih : 16 Mart 2015 , Pazartesi 10:21
Hocam elinize sağlık. Devamını bekliyoruz dizinin.
Yazan Mustafa | Tarih : 27 Haziran 2015 , Cumartesi 01:37
Merhaba. Ben de SASS'a yeni başlayanlardanım. Yalnız şöyle bir sorunum var. YouTube'daki videolarda bazı kullanıcıların bower yardımıyla Foundation'ın sass dosyalarını çekerek farklı bir yolla yazdıklarını gördüm. Diğer tarafta ise -artık hangi framework kullanılıyorsa- onun css dosyalarını indirip proje dahil edip kendi sass dosyalarını compile ettiklerini gördüm. Biz bunlardan hangisini kullanmalıyız acaba ? Hangi yöntem neden kullanılmalıdır ?
Yazan Aysegül | Tarih : 12 Temmuz 2015 , Pazar 09:51
hocam koala'da compass'ı nasıl kullanabiliriz proje dosyasına sağ tıklayıp proje settings kısmından for compass'ı seçtim hata verdi, sonra sass dosyasına tıklayıp sağdan açılan menü tarzı yerden compassı seçtim ayarlardan falanda seçtim ama bi türlü çalıştıramadım bu konuda yardımcı olurmusunuz ?
Yazan arda | Tarih : 23 Temmuz 2015 , Perşembe 12:58
Tamam da, bunun bize ne gibi bir faydası var?
Tamam belki yazlım sırasında bir takım işlemleri hızlandırıyor ama neticede onu gene css e çeviriyor. Sonuç: Ha css yazmışsın, ha sass yazıp css'e çevirmişsin.
Soru 1: Şunu yapıyorsa mükemmel olur: İster istemez css yazarken gereksiz class'lar atıyoruz. Hatta tekrarlanan aynı biçimleri farklı class lara yazıyoruz. Kullanılan dil bunu engelleyen bir yapıya sahipse işe yarar.
Soru 2: Ben bazı sitelerde şunu görüyorum. Siteye hiç bir css include etmiyor. Bir takım java kodları ile sanki sass ya da less çalıştırıyor. Böylelikle sanki css kodlarının çalınmasını da engelliyorlar. Hatta bunu resimlere de yapıyorlar. Resimler blob olarak açılıyor. Böyle bir şey mümkün mü?
Yazan onur | Tarih : 7 Ağustos 2016 , Pazar 15:01
SASS iyidir. Örnekleri Koala ile göstermişsiniz Scout da süperdir. Paylaşım için teşekkürler.
Yazan anar samadov | Tarih : 9 Ocak 2017 , Pazartesi 16:27