2013-02-07 9 views
6

Chcę dodać obrazy jako base64 w sass. Blokowałem w Compassie, ale wydaje mi się, że jest to niewygodne i naprawdę nie to, czego szukam. Czy istnieje dobry sposób na dołączanie obrazów lub innych plików w formacie inline w css bez użycia kompasu?Dołącz obrazy jako Inline w sassie bez kompasu?

+4

Można, po prostu, użyć kompasu. Sam w sobie nie jest "grubszy" niż Sass: dostajesz prostszą linię poleceń w zamian za użycie pliku konfiguracyjnego. Nie musisz robić żadnych importów, aby uzyskać dostęp do którejkolwiek z funkcji pomocnika: http://compass-style.org/reference/compass/helpers/ – cimmanon

+0

Co powiedział cynamon. – axoplasm

+1

@imimmanon - jeśli używasz czystego sass, możesz użyć libsass, który jest o wiele szybszy od ruby ​​sass, może to być dobry powód, aby nie używać kompasu. – callum

Odpowiedz

1

Kompas jest Open Source, wystarczy pobrać część kodu, która Ci odpowiada.

Here is the ruby source on Github

+0

Szukam czegoś trochę nieco więcej po wyjęciu z pudełka ... – Himmators

+2

Po prostu uruchom 'base64 your-image.png' na powłoce – ByScripts

+0

Wygląda to jednak dość nieszablonowo ... Nie jestem bardzo doświadczony w rubinach ... Jak mam go uruchomić ... – Himmators

3

Jeśli używasz grunt, można po prostu użyć zadania grunt-data-uri w celu osiągnięcia rozmowę regularny ciąg url() do base64.

 dataUri: { 
      dist: { 
       src: ['dist/styles/*.css'], 
       dest: 'dist/styles/', 
       options: { 
       target: [ 
        'img/low-res/embeded/*.*' 
       ], 
       fixDirLevel: true 
       } 
      } 
     }, 

Zasadniczo zadanie będzie szukać wszystkich obrazów zawartych w osadzonym folderze w pliku .css. Stamtąd przekształci adres url() w base64.