compass 0.11.2 → 0.11.3
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION.yml +1 -1
- data/features/command_line.feature +22 -1
- data/features/step_definitions/command_line_steps.rb +21 -1
- data/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +1 -0
- data/frameworks/compass/stylesheets/compass/css3/_box.scss +9 -9
- data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +4 -14
- data/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +14 -1
- data/lib/compass.rbc +87 -11
- data/lib/compass/actions.rb +21 -9
- data/lib/compass/actions.rbc +453 -210
- data/lib/compass/commands.rb +1 -1
- data/lib/compass/commands/clean_project.rb +79 -0
- data/lib/compass/commands/registry.rb +3 -1
- data/lib/compass/commands/sprite.rb +1 -1
- data/lib/compass/commands/update_project.rb +5 -6
- data/lib/compass/commands/watch_project.rb +1 -1
- data/lib/compass/compiler.rb +12 -9
- data/lib/compass/compiler.rbc +386 -294
- data/lib/compass/configuration/adapters.rb +2 -2
- data/lib/compass/configuration/adapters.rbc +4 -4
- data/lib/compass/configuration/data.rb +4 -2
- data/lib/compass/exec/sub_command_ui.rb +1 -1
- data/lib/compass/sass_extensions.rbc +117 -19
- data/lib/compass/sass_extensions/functions/gradient_support.rbc +489 -453
- data/lib/compass/sass_extensions/functions/sprites.rb +4 -4
- data/lib/compass/sass_extensions/functions/sprites.rbc +588 -309
- data/lib/compass/sass_extensions/functions/urls.rb +18 -3
- data/lib/compass/sass_extensions/sprites.rb +9 -7
- data/lib/compass/sass_extensions/sprites.rbc +48 -64
- data/lib/compass/sass_extensions/sprites/engines.rb +24 -0
- data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +13 -7
- data/lib/compass/sass_extensions/sprites/image_methods.rb +32 -0
- data/lib/compass/sass_extensions/sprites/sprite_map.rb +54 -142
- data/lib/compass/sass_extensions/sprites/sprite_map.rbc +3839 -1536
- data/lib/compass/sass_extensions/sprites/{base.rb → sprite_methods.rb} +21 -101
- data/lib/compass/sprite_importer.rb +202 -0
- data/lib/compass/sprite_importer.rbc +3943 -0
- data/lib/compass/validator.rb +11 -4
- data/lib/compass/version.rbc +67 -109
- data/test/fixtures/sprites/public/images/bad_extensions/ten-by-ten.gif +0 -0
- data/test/fixtures/sprites/public/images/bad_extensions/twenty-by-twenty.jpg +0 -0
- data/test/fixtures/stylesheets/busted_image_urls/config.rb +29 -0
- data/test/fixtures/stylesheets/busted_image_urls/css/screen.css +9 -0
- data/test/fixtures/stylesheets/busted_image_urls/images/feed.png +0 -0
- data/test/fixtures/stylesheets/busted_image_urls/images/flags/dk.png +0 -0
- data/test/fixtures/stylesheets/busted_image_urls/images/grid.png +0 -0
- data/test/fixtures/stylesheets/busted_image_urls/sass/screen.sass +14 -0
- data/test/fixtures/stylesheets/busted_image_urls/tmp/screen.css +9 -0
- data/test/fixtures/stylesheets/compass/css/box.css +19 -0
- data/test/fixtures/stylesheets/compass/css/legacy_clearfix.css +9 -0
- data/test/fixtures/stylesheets/compass/css/sprites.css +1 -1
- data/test/fixtures/stylesheets/compass/css/utilities.css +7 -0
- data/test/fixtures/stylesheets/compass/images/{flag-03c3b29b35.png → flag-s03c3b29b35.png} +0 -0
- data/test/fixtures/stylesheets/compass/sass/legacy_clearfix.scss +3 -0
- data/test/fixtures/stylesheets/compass/sass/utilities.scss +4 -1
- data/test/fixtures/stylesheets/error/config.rb +10 -0
- data/test/fixtures/stylesheets/error/sass/screen.sass +2 -0
- data/test/integrations/compass_test.rb +22 -9
- data/test/integrations/sprites_test.rb +45 -45
- data/test/units/actions_test.rb +24 -0
- data/test/units/sprites/engine_test.rb +43 -0
- data/test/units/sprites/image_test.rb +2 -2
- data/test/units/sprites/importer_test.rb +66 -0
- data/test/units/sprites/sprite_command_test.rb +60 -0
- data/test/units/sprites/{base_test.rb → sprite_map_test.rb} +5 -5
- metadata +43 -34
- data/lib/compass/sass_extensions/sprites/sprites.rb +0 -62
@@ -91,9 +91,7 @@ module Compass::SassExtensions::Functions::Urls
|
|
91
91
|
if cache_buster.is_a?(Sass::Script::String)
|
92
92
|
path += "?#{cache_buster.value}"
|
93
93
|
else
|
94
|
-
|
95
|
-
path += "?#{buster}"
|
96
|
-
end
|
94
|
+
path = cache_busted_path(path, real_path)
|
97
95
|
end
|
98
96
|
end
|
99
97
|
|
@@ -137,6 +135,23 @@ module Compass::SassExtensions::Functions::Urls
|
|
137
135
|
end
|
138
136
|
end
|
139
137
|
|
138
|
+
def cache_busted_path(path, real_path)
|
139
|
+
cache_buster = compute_cache_buster(path, real_path)
|
140
|
+
if cache_buster.nil?
|
141
|
+
return path
|
142
|
+
elsif cache_buster.is_a?(String)
|
143
|
+
cache_buster = {:query => cache_buster}
|
144
|
+
else
|
145
|
+
path = cache_buster[:path] if cache_buster[:path]
|
146
|
+
end
|
147
|
+
|
148
|
+
if cache_buster[:query]
|
149
|
+
"%s?%s" % [path, cache_buster[:query]]
|
150
|
+
else
|
151
|
+
path
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
140
155
|
def compute_cache_buster(path, real_path)
|
141
156
|
if Compass.configuration.asset_cache_buster
|
142
157
|
args = [path]
|
@@ -1,14 +1,16 @@
|
|
1
1
|
require 'digest/md5'
|
2
|
-
require 'compass/
|
3
|
-
require 'compass/sass_extensions/sprites/sprite_map'
|
4
|
-
require 'compass/sass_extensions/sprites/image'
|
5
|
-
require 'compass/sass_extensions/sprites/base'
|
6
|
-
require 'compass/sass_extensions/sprites/engines'
|
2
|
+
require 'compass/sprite_importer'
|
7
3
|
|
8
4
|
module Compass
|
9
5
|
module SassExtensions
|
10
6
|
module Sprites
|
11
|
-
|
12
7
|
end
|
13
8
|
end
|
14
|
-
end
|
9
|
+
end
|
10
|
+
|
11
|
+
require 'compass/sass_extensions/sprites/image'
|
12
|
+
require 'compass/sass_extensions/sprites/sprite_methods'
|
13
|
+
require 'compass/sass_extensions/sprites/image_methods'
|
14
|
+
require 'compass/sass_extensions/sprites/sprite_map'
|
15
|
+
require 'compass/sass_extensions/sprites/engines'
|
16
|
+
|
@@ -9,7 +9,7 @@ x
|
|
9
9
|
10
|
10
10
|
__script__
|
11
11
|
i
|
12
|
-
|
12
|
+
73
|
13
13
|
5
|
14
14
|
7
|
15
15
|
0
|
@@ -28,27 +28,35 @@ i
|
|
28
28
|
1
|
29
29
|
1
|
30
30
|
15
|
31
|
-
|
31
|
+
99
|
32
32
|
7
|
33
33
|
3
|
34
|
-
|
35
|
-
47
|
34
|
+
65
|
36
35
|
49
|
37
|
-
|
38
|
-
|
39
|
-
|
36
|
+
4
|
37
|
+
2
|
38
|
+
13
|
39
|
+
99
|
40
|
+
12
|
41
|
+
7
|
40
42
|
5
|
43
|
+
12
|
44
|
+
7
|
45
|
+
6
|
46
|
+
12
|
47
|
+
65
|
48
|
+
12
|
49
|
+
49
|
41
50
|
7
|
42
51
|
4
|
43
|
-
|
44
|
-
47
|
52
|
+
15
|
45
53
|
49
|
46
|
-
|
47
|
-
|
54
|
+
5
|
55
|
+
0
|
48
56
|
15
|
49
57
|
5
|
50
58
|
7
|
51
|
-
|
59
|
+
8
|
52
60
|
64
|
53
61
|
47
|
54
62
|
49
|
@@ -57,38 +65,21 @@ i
|
|
57
65
|
15
|
58
66
|
5
|
59
67
|
7
|
60
|
-
|
68
|
+
9
|
61
69
|
64
|
62
70
|
47
|
63
71
|
49
|
64
72
|
1
|
65
73
|
1
|
66
74
|
15
|
67
|
-
|
68
|
-
7
|
69
|
-
7
|
70
|
-
65
|
71
|
-
49
|
72
|
-
8
|
73
|
-
2
|
74
|
-
13
|
75
|
-
99
|
76
|
-
12
|
77
|
-
7
|
78
|
-
9
|
79
|
-
12
|
75
|
+
5
|
80
76
|
7
|
81
77
|
10
|
82
|
-
|
83
|
-
|
84
|
-
12
|
85
|
-
49
|
86
|
-
11
|
87
|
-
4
|
88
|
-
15
|
78
|
+
64
|
79
|
+
47
|
89
80
|
49
|
90
|
-
|
91
|
-
|
81
|
+
1
|
82
|
+
1
|
92
83
|
15
|
93
84
|
2
|
94
85
|
11
|
@@ -102,7 +93,7 @@ I
|
|
102
93
|
0
|
103
94
|
n
|
104
95
|
p
|
105
|
-
|
96
|
+
11
|
106
97
|
s
|
107
98
|
10
|
108
99
|
digest/md5
|
@@ -110,20 +101,8 @@ x
|
|
110
101
|
7
|
111
102
|
require
|
112
103
|
s
|
113
|
-
|
114
|
-
compass/
|
115
|
-
s
|
116
|
-
42
|
117
|
-
compass/sass_extensions/sprites/sprite_map
|
118
|
-
s
|
119
|
-
37
|
120
|
-
compass/sass_extensions/sprites/image
|
121
|
-
s
|
122
|
-
36
|
123
|
-
compass/sass_extensions/sprites/base
|
124
|
-
s
|
125
|
-
39
|
126
|
-
compass/sass_extensions/sprites/engines
|
104
|
+
23
|
105
|
+
compass/sprite_importer
|
127
106
|
x
|
128
107
|
7
|
129
108
|
Compass
|
@@ -233,7 +212,7 @@ p
|
|
233
212
|
I
|
234
213
|
2
|
235
214
|
I
|
236
|
-
|
215
|
+
6
|
237
216
|
I
|
238
217
|
c
|
239
218
|
x
|
@@ -249,7 +228,7 @@ p
|
|
249
228
|
I
|
250
229
|
2
|
251
230
|
I
|
252
|
-
|
231
|
+
5
|
253
232
|
I
|
254
233
|
1c
|
255
234
|
x
|
@@ -260,8 +239,17 @@ p
|
|
260
239
|
x
|
261
240
|
13
|
262
241
|
attach_method
|
242
|
+
s
|
243
|
+
37
|
244
|
+
compass/sass_extensions/sprites/image
|
245
|
+
s
|
246
|
+
42
|
247
|
+
compass/sass_extensions/sprites/sprite_map
|
248
|
+
s
|
249
|
+
39
|
250
|
+
compass/sass_extensions/sprites/engines
|
263
251
|
p
|
264
|
-
|
252
|
+
13
|
265
253
|
I
|
266
254
|
0
|
267
255
|
I
|
@@ -273,25 +261,21 @@ I
|
|
273
261
|
I
|
274
262
|
12
|
275
263
|
I
|
276
|
-
3
|
277
|
-
I
|
278
|
-
1b
|
279
|
-
I
|
280
264
|
4
|
281
265
|
I
|
282
|
-
|
266
|
+
2c
|
283
267
|
I
|
284
|
-
|
268
|
+
b
|
285
269
|
I
|
286
|
-
|
270
|
+
35
|
287
271
|
I
|
288
|
-
|
272
|
+
c
|
289
273
|
I
|
290
|
-
|
274
|
+
3e
|
291
275
|
I
|
292
|
-
|
276
|
+
d
|
293
277
|
I
|
294
|
-
|
278
|
+
49
|
295
279
|
x
|
296
280
|
68
|
297
281
|
/Users/chris/Projects/compass/lib/compass/sass_extensions/sprites.rb
|
@@ -1 +1,25 @@
|
|
1
|
+
module Compass
|
2
|
+
module SassExtensions
|
3
|
+
module Sprites
|
4
|
+
class Engine
|
5
|
+
attr_accessor :width, :height, :images, :canvas
|
6
|
+
def initialize(width, height, images)
|
7
|
+
@width, @height, @images = width, height, images
|
8
|
+
@canvas = nil
|
9
|
+
end
|
10
|
+
|
11
|
+
def construct_sprite
|
12
|
+
raise ::Compass::Error, "You must impliment construct_sprite"
|
13
|
+
end
|
14
|
+
|
15
|
+
def save(filename)
|
16
|
+
raise ::Compass::Error, "You must impliment save(filename)"
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
|
1
25
|
require 'compass/sass_extensions/sprites/engines/chunky_png_engine'
|
@@ -7,20 +7,19 @@ end
|
|
7
7
|
module Compass
|
8
8
|
module SassExtensions
|
9
9
|
module Sprites
|
10
|
-
|
11
|
-
|
12
|
-
# Returns a PNG object
|
10
|
+
class ChunkyPngEngine < Compass::SassExtensions::Sprites::Engine
|
11
|
+
|
13
12
|
def construct_sprite
|
14
|
-
|
13
|
+
@canvas = ChunkyPNG::Image.new(width, height, ChunkyPNG::Color::TRANSPARENT)
|
15
14
|
images.each do |image|
|
16
15
|
input_png = ChunkyPNG::Image.from_file(image.file)
|
17
16
|
if image.repeat == "no-repeat"
|
18
|
-
|
17
|
+
canvas.replace! input_png, image.left, image.top
|
19
18
|
else
|
20
19
|
x = image.left - (image.left / image.width).ceil * image.width
|
21
20
|
while x < width do
|
22
21
|
begin
|
23
|
-
|
22
|
+
canvas.replace! input_png, x, image.top
|
24
23
|
x += image.width
|
25
24
|
rescue ChunkyPNG::OutOfBounds
|
26
25
|
break;
|
@@ -28,8 +27,15 @@ module Compass
|
|
28
27
|
end
|
29
28
|
end
|
30
29
|
end
|
31
|
-
|
30
|
+
end
|
31
|
+
|
32
|
+
def save(filename)
|
33
|
+
if canvas.nil?
|
34
|
+
construct_sprite
|
35
|
+
end
|
36
|
+
canvas.save(filename, :best_compression)
|
32
37
|
end
|
38
|
+
|
33
39
|
end
|
34
40
|
end
|
35
41
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Compass
|
2
|
+
module SassExtensions
|
3
|
+
module Sprites
|
4
|
+
module ImageMethods
|
5
|
+
# Fetches the Sprite::Image object for the supplied name
|
6
|
+
def image_for(name)
|
7
|
+
@images.detect { |img| img.name == name}
|
8
|
+
end
|
9
|
+
|
10
|
+
# Returns true if the image name has a hover selector image
|
11
|
+
def has_hover?(name)
|
12
|
+
!image_for("#{name}_hover").nil?
|
13
|
+
end
|
14
|
+
|
15
|
+
# Returns true if the image name has a target selector image
|
16
|
+
def has_target?(name)
|
17
|
+
!image_for("#{name}_target").nil?
|
18
|
+
end
|
19
|
+
|
20
|
+
# Returns true if the image name has an active selector image
|
21
|
+
def has_active?(name)
|
22
|
+
!image_for("#{name}_active").nil?
|
23
|
+
end
|
24
|
+
|
25
|
+
# Return and array of image names that make up this sprite
|
26
|
+
def sprite_names
|
27
|
+
image_names.map { |f| File.basename(f, '.png') }
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -1,154 +1,66 @@
|
|
1
1
|
module Compass
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
# The on-disk location of this sprite
|
21
|
-
def path
|
22
|
-
ensure_path_and_name!
|
23
|
-
@path
|
24
|
-
end
|
25
|
-
|
26
|
-
# Returns the Glob of image files for this sprite
|
27
|
-
def files
|
28
|
-
@files ||= Dir[File.join(Compass.configuration.images_path, uri)].sort
|
29
|
-
end
|
30
|
-
|
31
|
-
# Returns an Array of image names without the file extension
|
32
|
-
def sprite_names
|
33
|
-
@sprite_names ||= files.collect do |file|
|
34
|
-
filename = File.basename(file, '.png')
|
35
|
-
unless VAILD_FILE_NAME =~ filename
|
36
|
-
raise Compass::Error, "Sprite file names must be legal css identifiers. Please rename #{File.basename(file)}"
|
2
|
+
module SassExtensions
|
3
|
+
module Sprites
|
4
|
+
class SpriteMap < Sass::Script::Literal
|
5
|
+
attr_accessor :image_names, :path, :name, :map, :kwargs
|
6
|
+
attr_accessor :images, :width, :height, :engine
|
7
|
+
|
8
|
+
include SpriteMethods
|
9
|
+
include ImageMethods
|
10
|
+
|
11
|
+
|
12
|
+
# Initialize a new sprite object from a relative file path
|
13
|
+
# the path is relative to the <tt>images_path</tt> confguration option
|
14
|
+
def self.from_uri(uri, context, kwargs)
|
15
|
+
importer = ::Compass::SpriteImporter.new(:uri => uri.value, :options => {})
|
16
|
+
sprites = importer.files.map do |sprite|
|
17
|
+
sprite.gsub(Compass.configuration.images_path+"/", "")
|
18
|
+
end
|
19
|
+
new(sprites, importer.path, importer.name, context, kwargs)
|
37
20
|
end
|
38
|
-
filename
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
# Returns the sass options for this sprite
|
43
|
-
def sass_options
|
44
|
-
@sass_options ||= options.merge(:filename => name, :syntax => :scss, :importer => self)
|
45
|
-
end
|
46
|
-
|
47
|
-
# Returns a Sass::Engine for this sprite object
|
48
|
-
def sass_engine
|
49
|
-
Sass::Engine.new(content_for_images, sass_options)
|
50
|
-
end
|
51
|
-
|
52
|
-
def ensure_path_and_name!
|
53
|
-
@path ||= get_path
|
54
|
-
@name ||= get_name
|
55
|
-
end
|
56
|
-
|
57
|
-
def get_name
|
58
|
-
_, name = Compass::Sprites.path_and_name(uri)
|
59
|
-
name
|
60
|
-
end
|
61
|
-
|
62
|
-
def get_path
|
63
|
-
path, _ = Compass::Sprites.path_and_name(uri)
|
64
|
-
path
|
65
|
-
end
|
66
|
-
|
67
|
-
def key(uri, options)
|
68
|
-
Compass::Sprites.key(uri)
|
69
|
-
end
|
70
|
-
|
71
|
-
def mtime(uri, options)
|
72
|
-
Compass::Sprites.mtime(uri, options)
|
73
|
-
end
|
74
21
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
@
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
#{skip_overrides ? "$#{name}-sprites: sprite-map(\"#{uri}\", $cleanup: $#{name}-clean-up);" : generate_overrides }
|
22
|
+
def initialize(sprites, path, name, context, kwargs)
|
23
|
+
@image_names = sprites
|
24
|
+
@path = path
|
25
|
+
@name = name
|
26
|
+
@kwargs = kwargs
|
27
|
+
@kwargs['cleanup'] ||= Sass::Script::Bool.new(true)
|
28
|
+
@images = nil
|
29
|
+
@width = nil
|
30
|
+
@height = nil
|
31
|
+
@engine = nil
|
32
|
+
@evaluation_context = context
|
33
|
+
validate!
|
34
|
+
compute_image_metadata!
|
35
|
+
end
|
91
36
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
background: $#{name}-sprites no-repeat;
|
96
|
-
}
|
37
|
+
def inspect
|
38
|
+
to_s
|
39
|
+
end
|
97
40
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
@include sprite-dimensions($#{name}-sprites, $name)
|
102
|
-
}
|
41
|
+
def to_s(kwargs = self.kwargs)
|
42
|
+
sprite_url(self).value
|
43
|
+
end
|
103
44
|
|
104
|
-
|
105
|
-
@
|
106
|
-
|
107
|
-
}
|
45
|
+
def respond_to?(meth)
|
46
|
+
super || @evaluation_context.respond_to?(meth)
|
47
|
+
end
|
108
48
|
|
109
|
-
|
110
|
-
|
111
|
-
@
|
112
|
-
|
113
|
-
|
114
|
-
|
49
|
+
def method_missing(meth, *args, &block)
|
50
|
+
if @evaluation_context.respond_to?(meth)
|
51
|
+
@evaluation_context.send(meth, *args, &block)
|
52
|
+
else
|
53
|
+
super
|
54
|
+
end
|
55
|
+
end
|
115
56
|
|
116
|
-
|
117
|
-
@include sprites($#{name}-sprites, $sprite-names, $#{name}-sprite-base-class, $dimensions, $prefix)
|
118
|
-
}
|
57
|
+
private
|
119
58
|
|
120
|
-
|
121
|
-
@
|
122
|
-
|
123
|
-
}
|
124
|
-
SCSS
|
125
|
-
end
|
126
|
-
|
127
|
-
# Generates the override defaults for this Sprite
|
128
|
-
# <tt>$#{name}-#{sprite_name}-position </tt>
|
129
|
-
# <tt> $#{name}-#{sprite_name}-spacing </tt>
|
130
|
-
# <tt> #{name}-#{sprite_name}-repeat: </tt>
|
131
|
-
def generate_overrides
|
132
|
-
content = <<-TXT
|
133
|
-
// These variables control the generated sprite output
|
134
|
-
// You can override them selectively before you import this file.
|
135
|
-
TXT
|
136
|
-
sprite_names.map do |sprite_name|
|
137
|
-
content += <<-SCSS
|
138
|
-
$#{name}-#{sprite_name}-position: $#{name}-position !default;
|
139
|
-
$#{name}-#{sprite_name}-spacing: $#{name}-spacing !default;
|
140
|
-
$#{name}-#{sprite_name}-repeat: $#{name}-repeat !default;
|
141
|
-
SCSS
|
142
|
-
end.join
|
59
|
+
def modulize
|
60
|
+
@modulize ||= Compass::configuration.sprite_engine.to_s.scan(/([^_.]+)/).flatten.map {|chunk| "#{chunk[0].chr.upcase}#{chunk[1..-1]}" }.join
|
61
|
+
end
|
143
62
|
|
144
|
-
|
145
|
-
content += sprite_names.map do |sprite_name|
|
146
|
-
%Q{ $#{sprite_name}-position: $#{name}-#{sprite_name}-position,
|
147
|
-
$#{sprite_name}-spacing: $#{name}-#{sprite_name}-spacing,
|
148
|
-
$#{sprite_name}-repeat: $#{name}-#{sprite_name}-repeat}
|
149
|
-
end.join(",\n")
|
150
|
-
content += ");"
|
63
|
+
end
|
151
64
|
end
|
152
65
|
end
|
153
|
-
end
|
154
|
-
|
66
|
+
end
|