Skip to content

Commit 63daa91

Browse files
committed
Adding Offset argument support to sass mixing function
1 parent d96a381 commit 63daa91

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

lib/sprite/builder.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,13 @@ def write_image(image)
7070
if image['align'].to_s == 'horizontal'
7171
x = dest_image.columns + spaced_by
7272
y = 0
73+
align = "horizontal"
7374
else
7475
x = 0
7576
y = dest_image.rows + spaced_by
77+
align = "vertical"
7678
end
77-
results << combiner.image_properties(source_image).merge(:x => -x, :y => -y, :group => name)
79+
results << combiner.image_properties(source_image).merge(:x => -x, :y => -y, :group => name, :align => align)
7880
dest_image = combiner.composite_images(dest_image, source_image, x, y)
7981
end
8082

lib/sprite/styles/sass_mixin_generator.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def write(path, sprite_files)
1111
File.open(File.join(Sprite.root, path), 'w') do |f|
1212
add_else = false
1313

14-
f.puts "= sprite(!group_name, !image_name)"
14+
f.puts "= sprite(!group_name, !image_name, !offset=0)"
1515
sprite_files.each do |sprite_file, sprites|
1616
sprites.each do |sprite|
1717

@@ -20,9 +20,16 @@ def write(path, sprite_files)
2020
f << "else "
2121
end
2222
add_else = true
23+
#{sprite[:x]}px #{sprite[:y]}px
24+
25+
if sprite[:align] == 'horizontal'
26+
background_offset = "\#{#{sprite[:x]}+!offset}px #{sprite[:y]}px"
27+
else
28+
background_offset = "#{sprite[:x]}px \#{#{sprite[:y]}+!offset}px"
29+
end
2330

2431
f.puts %{if !group_name == "#{sprite[:group]}" and !image_name == "#{sprite[:name]}"}
25-
f.puts " background: url('http://github.com/%3Cspan%20class=%22pl-s1%22%3E%3Cspan%20class=%22pl-kos%22%3E#{%3C/span%3E%3Cspan%20class=%22pl-c1%22%3E@builder%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E.%3C/span%3E%3Cspan%20class=%22pl-en%22%3Econfig%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E[%3C/span%3E%3Cspan%20class=%22pl-s%22%3E'image_output_path'%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E]%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E}%3C/span%3E%3C/span%3E%3Cspan%20class=%22pl-s1%22%3E%3Cspan%20class=%22pl-kos%22%3E#{%3C/span%3E%3Cspan%20class=%22pl-s1%22%3Esprite_file%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E}%3C/span%3E%3C/span%3E') no-repeat #{sprite[:x]}px #{sprite[:y]}px"
32+
f.puts " background: url('http://github.com/%3Cspan%20class=%22pl-s1%22%3E%3Cspan%20class=%22pl-kos%22%3E#{%3C/span%3E%3Cspan%20class=%22pl-c1%22%3E@builder%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E.%3C/span%3E%3Cspan%20class=%22pl-en%22%3Econfig%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E[%3C/span%3E%3Cspan%20class=%22pl-s%22%3E'image_output_path'%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E]%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E}%3C/span%3E%3C/span%3E%3Cspan%20class=%22pl-s1%22%3E%3Cspan%20class=%22pl-kos%22%3E#{%3C/span%3E%3Cspan%20class=%22pl-s1%22%3Esprite_file%3C/span%3E%3Cspan%20class=%22pl-kos%22%3E}%3C/span%3E%3C/span%3E') no-repeat #{background_offset}"
2633
f.puts " width: #{sprite[:width]}px"
2734
f.puts " height: #{sprite[:height]}px"
2835
end

0 commit comments

Comments
 (0)