css_sprite 1.4.6 → 1.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.textile +15 -0
- data/VERSION +1 -1
- data/css_sprite.gemspec +4 -3
- data/lib/css_sprite/sprite.rb +3 -3
- data/spec/app/stylesheets/css_sprite.css +14 -0
- data/spec/css_sprite/sprite_spec.rb +5 -0
- data/tasks/css_sprite_tasks.rake +6 -3
- metadata +10 -18
data/README.textile
CHANGED
@@ -10,6 +10,9 @@ I have written posts "css sprite best practices" to introduce the idea that the
|
|
10
10
|
"english version":http://www.huangzhimin.com/entries/190-css-sprite-best-practices
|
11
11
|
"chinese version":http://www.huangzhimin.com/entries/189-css-sprite-best-practices
|
12
12
|
|
13
|
+
otaviofcs wrote a brazilian version to introduce the css_sprite gem, check it here: "http://blog.riopro.com.br/2010/04/22/acabaram-as-desculpas-para-nao-usar-css-sprite-na-sua-aplicacao/":http://blog.riopro.com.br/2010/04/22/acabaram-as-desculpas-para-nao-usar-css-sprite-na-sua-aplicacao/
|
14
|
+
and he also build a demo, "http://github.com/riopro/css_sprite_demo":http://github.com/riopro/css_sprite_demo
|
15
|
+
|
13
16
|
**************************************************************************
|
14
17
|
|
15
18
|
h2. What css_sprite does?
|
@@ -145,6 +148,18 @@ suffix:
|
|
145
148
|
The customization above means if your image filename is button suffixed (e.g. post_button.png), the corresponding class .post_button has the additional style with (outline: 0; border: 0; and so on),
|
146
149
|
if your image filename is icon suffixed (e.g. twitter_icon.png), the correspondiing class .twitter_icon has the additional style with (text-indent: -9999px; cursor: pointer)
|
147
150
|
|
151
|
+
h3. Customization directories
|
152
|
+
|
153
|
+
css_sprite follows the conventions that images are under <code>public/images</code> directory and css files are under <code>public/stylesheets</code>, but you can change them.
|
154
|
+
|
155
|
+
<pre><code>
|
156
|
+
image_path: app/images
|
157
|
+
stylesheet_path: app/stylesheets
|
158
|
+
</code></pre>
|
159
|
+
|
160
|
+
By default, image_path is public/images and stylesheet_path is public/stylesheets.
|
161
|
+
|
162
|
+
|
148
163
|
**************************************************************************
|
149
164
|
|
150
165
|
Copyright (c) 2009 [Richard Huang (flyerhzm@gmail.com)], released under the MIT license
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.4.
|
1
|
+
1.4.7
|
data/css_sprite.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{css_sprite}
|
8
|
-
s.version = "1.4.
|
8
|
+
s.version = "1.4.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Richard Huang"]
|
12
|
-
s.date = %q{2010-04-
|
12
|
+
s.date = %q{2010-04-27}
|
13
13
|
s.description = %q{css_sprite is a rails plugin/gem to generate css sprite image automatically.}
|
14
14
|
s.email = %q{flyerhzm@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
"lib/automatic.rb",
|
25
25
|
"lib/css_sprite.rb",
|
26
26
|
"lib/css_sprite/sprite.rb",
|
27
|
+
"spec/app/stylesheets/css_sprite.css",
|
27
28
|
"spec/css_sprite/sprite_spec.rb",
|
28
29
|
"spec/public/images/another_css_sprite/no_image",
|
29
30
|
"spec/public/images/css_sprite/gmail_logo.png",
|
@@ -44,7 +45,7 @@ Gem::Specification.new do |s|
|
|
44
45
|
s.homepage = %q{http://github.com/flyerhzm/css_sprite}
|
45
46
|
s.rdoc_options = ["--charset=UTF-8"]
|
46
47
|
s.require_paths = ["lib"]
|
47
|
-
s.rubygems_version = %q{1.3.
|
48
|
+
s.rubygems_version = %q{1.3.5}
|
48
49
|
s.summary = %q{css_sprite is a rails plugin/gem to generate css sprite image automatically.}
|
49
50
|
s.test_files = [
|
50
51
|
"spec/css_sprite/sprite_spec.rb",
|
data/lib/css_sprite/sprite.rb
CHANGED
@@ -6,14 +6,14 @@ require 'enumerator'
|
|
6
6
|
class Sprite
|
7
7
|
|
8
8
|
def initialize(options={})
|
9
|
-
@image_path = File.expand_path(File.join(Rails.root, 'public/images'))
|
10
|
-
@stylesheet_path = File.expand_path(File.join(Rails.root, 'public/stylesheets'))
|
11
|
-
|
12
9
|
if File.exist?(File.join(Rails.root, 'config/css_sprite.yml'))
|
13
10
|
@config = YAML::load_file(File.join(Rails.root, 'config/css_sprite.yml'))
|
14
11
|
else
|
15
12
|
@config = options
|
16
13
|
end
|
14
|
+
|
15
|
+
@image_path = File.expand_path(File.join(Rails.root, @config['image_path'] || 'public/images'))
|
16
|
+
@stylesheet_path = File.expand_path(File.join(Rails.root, @config['stylesheet_path'] || 'public/stylesheets'))
|
17
17
|
end
|
18
18
|
|
19
19
|
# execute the css sprite operation
|
@@ -0,0 +1,14 @@
|
|
1
|
+
.logos:hover .gmail_logo, .logos .gmail_logo.active, .logos .gmail_logo, .icons .twitter_icon:hover, .icons .twitter_icon,
|
2
|
+
.icons .facebook_icon:hover, .icons .facebook_icon, .hotmail_logo, .gmail_logo.active, .gmail_logo {
|
3
|
+
background: url('/images/css_sprite.png?1272247421') no-repeat;
|
4
|
+
}
|
5
|
+
.logos:hover .gmail_logo { background-position: 0px 0px; }
|
6
|
+
.logos .gmail_logo.active { background-position: 0px -41px; width: 52px; height: 18px; }
|
7
|
+
.logos .gmail_logo { background-position: 0px -64px; width: 103px; height: 36px; }
|
8
|
+
.icons .twitter_icon:hover { background-position: 0px -105px; }
|
9
|
+
.icons .twitter_icon { background-position: 0px -124px; width: 14px; height: 14px; }
|
10
|
+
.icons .facebook_icon:hover { background-position: 0px -143px; width: 21px; height: 21px; }
|
11
|
+
.icons .facebook_icon { background-position: 0px -169px; width: 14px; height: 14px; }
|
12
|
+
.hotmail_logo { background-position: 0px -188px; width: 103px; height: 36px; }
|
13
|
+
.gmail_logo.active { background-position: 0px -229px; }
|
14
|
+
.gmail_logo { background-position: 0px -270px; width: 103px; height: 36px; }
|
@@ -30,6 +30,11 @@ describe Sprite do
|
|
30
30
|
Sprite.any_instance.expects(:system).with("optipng -o 1 #{IMAGE_PATH}/css_sprite.png").returns(true)
|
31
31
|
Sprite.new('optimization' => "optipng -o 1").build
|
32
32
|
end
|
33
|
+
|
34
|
+
it "should output css to customized stylesheet_path" do
|
35
|
+
Sprite.any_instance.expects(:system).with("optipng -quiet #{IMAGE_PATH}/css_sprite.png").returns(true)
|
36
|
+
Sprite.new('stylesheet_path' => 'app/stylesheets').build
|
37
|
+
end
|
33
38
|
end
|
34
39
|
|
35
40
|
describe "css_sprite_directories" do
|
data/tasks/css_sprite_tasks.rake
CHANGED
@@ -19,7 +19,7 @@ namespace :css_sprite do
|
|
19
19
|
else
|
20
20
|
file_path = "#{Rails.root}/tmp/pids/css_sprite.pid"
|
21
21
|
if File.exists?(file_path)
|
22
|
-
puts "css_sprite server is started. I haven't done anything."
|
22
|
+
puts "css_sprite server is started. I haven't done anything. Please use rake css_sprite:restart instead."
|
23
23
|
else
|
24
24
|
pid = fork do
|
25
25
|
exec "ruby #{automatic_script}"
|
@@ -42,8 +42,11 @@ namespace :css_sprite do
|
|
42
42
|
if File.exists?(file_path)
|
43
43
|
fork do
|
44
44
|
File.open(file_path, "r") do |f|
|
45
|
-
|
46
|
-
|
45
|
+
pid = f.readline
|
46
|
+
begin
|
47
|
+
Process.kill('TERM', pid.to_i)
|
48
|
+
rescue Errno::ESRCH
|
49
|
+
end
|
47
50
|
end
|
48
51
|
end
|
49
52
|
|
metadata
CHANGED
@@ -1,12 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: css_sprite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 1
|
7
|
-
- 4
|
8
|
-
- 6
|
9
|
-
version: 1.4.6
|
4
|
+
version: 1.4.7
|
10
5
|
platform: ruby
|
11
6
|
authors:
|
12
7
|
- Richard Huang
|
@@ -14,21 +9,19 @@ autorequire:
|
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
11
|
|
17
|
-
date: 2010-04-
|
12
|
+
date: 2010-04-27 00:00:00 -06:00
|
18
13
|
default_executable:
|
19
14
|
dependencies:
|
20
15
|
- !ruby/object:Gem::Dependency
|
21
16
|
name: rmagick
|
22
|
-
|
23
|
-
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
20
|
requirements:
|
25
21
|
- - ">="
|
26
22
|
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 0
|
29
23
|
version: "0"
|
30
|
-
|
31
|
-
version_requirements: *id001
|
24
|
+
version:
|
32
25
|
description: css_sprite is a rails plugin/gem to generate css sprite image automatically.
|
33
26
|
email: flyerhzm@gmail.com
|
34
27
|
executables: []
|
@@ -46,6 +39,7 @@ files:
|
|
46
39
|
- lib/automatic.rb
|
47
40
|
- lib/css_sprite.rb
|
48
41
|
- lib/css_sprite/sprite.rb
|
42
|
+
- spec/app/stylesheets/css_sprite.css
|
49
43
|
- spec/css_sprite/sprite_spec.rb
|
50
44
|
- spec/public/images/another_css_sprite/no_image
|
51
45
|
- spec/public/images/css_sprite/gmail_logo.png
|
@@ -75,20 +69,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
75
69
|
requirements:
|
76
70
|
- - ">="
|
77
71
|
- !ruby/object:Gem::Version
|
78
|
-
segments:
|
79
|
-
- 0
|
80
72
|
version: "0"
|
73
|
+
version:
|
81
74
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
75
|
requirements:
|
83
76
|
- - ">="
|
84
77
|
- !ruby/object:Gem::Version
|
85
|
-
segments:
|
86
|
-
- 0
|
87
78
|
version: "0"
|
79
|
+
version:
|
88
80
|
requirements: []
|
89
81
|
|
90
82
|
rubyforge_project:
|
91
|
-
rubygems_version: 1.3.
|
83
|
+
rubygems_version: 1.3.5
|
92
84
|
signing_key:
|
93
85
|
specification_version: 3
|
94
86
|
summary: css_sprite is a rails plugin/gem to generate css sprite image automatically.
|