responsive_image_tag 0.1.3 → 0.2.0
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.rdoc +1 -1
- data/VERSION +1 -1
- data/generators/responsive_image_tag/{responsive_image_tag_generator.rb → jquery_responsive_image_tag_generator.rb} +3 -3
- data/generators/responsive_image_tag/prototype_responsive_image_tag_generator.rb +11 -0
- data/lib/rails/generators/responsive_image_tag/javascript/{javascript_generator.rb → jquery_javascript_generator.rb} +4 -3
- data/lib/rails/generators/responsive_image_tag/javascript/prototype_javascript_generator.rb +20 -0
- data/lib/rails/generators/responsive_image_tag/javascript/templates/{responsive-image-tag.js → responsive-image-tag-jquery.js} +8 -8
- data/lib/rails/generators/responsive_image_tag/javascript/templates/responsive-image-tag-prototype.js +50 -0
- data/responsive_image_tag.gemspec +7 -4
- metadata +10 -7
data/README.rdoc
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
@@ -1,10 +1,10 @@
|
|
1
|
-
class
|
1
|
+
class JqueryResponsiveImageTagGenerator < Rails::Generator::Base
|
2
2
|
|
3
|
-
SOURCE = File.join("..", "..", "..", "lib", "rails", "generators", "responsive_image_tag", "javascript", "templates", "responsive-image-tag.js")
|
3
|
+
SOURCE = File.join("..", "..", "..", "lib", "rails", "generators", "responsive_image_tag", "javascript", "templates", "responsive-image-tag-jquery.js")
|
4
4
|
|
5
5
|
def manifest
|
6
6
|
record do |m|
|
7
|
-
m.file SOURCE, "public/javascripts/responsive-image-tag.js"
|
7
|
+
m.file SOURCE, "public/javascripts/responsive-image-tag-jquery.js"
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class PrototypeResponsiveImageTagGenerator < Rails::Generator::Base
|
2
|
+
|
3
|
+
SOURCE = File.join("..", "..", "..", "lib", "rails", "generators", "responsive_image_tag", "javascript", "templates", "responsive-image-tag-prototype.js")
|
4
|
+
|
5
|
+
def manifest
|
6
|
+
record do |m|
|
7
|
+
m.file SOURCE, "public/javascripts/responsive-image-tag-prototype.js"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module ResponsiveImageTag
|
4
4
|
module Generators
|
5
|
-
class
|
5
|
+
class JqueryJavascriptGenerator < Rails::Generators::Base
|
6
6
|
desc 'Creates a javascript file which takes care of responsive images for you'
|
7
7
|
|
8
8
|
def self.source_root
|
@@ -10,8 +10,9 @@ module ResponsiveImageTag
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def create_javascript_file
|
13
|
-
template 'responsive-image-tag.js',
|
14
|
-
|
13
|
+
template 'responsive-image-tag-jquery.js',
|
14
|
+
File.join(
|
15
|
+
'public', 'javascripts', 'responsive-image-tag-prototype.js')
|
15
16
|
end
|
16
17
|
|
17
18
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module ResponsiveImageTag
|
4
|
+
module Generators
|
5
|
+
class PrototypeJavascriptGenerator < Rails::Generators::Base
|
6
|
+
desc 'Creates a javascript file which takes care of responsive images for you'
|
7
|
+
|
8
|
+
def self.source_root
|
9
|
+
File.expand_path("../templates", __FILE__)
|
10
|
+
end
|
11
|
+
|
12
|
+
def create_javascript_file
|
13
|
+
template 'responsive-image-tag-prototype.js',
|
14
|
+
File.join(
|
15
|
+
'public', 'javascripts', 'responsive-image-tag-prototype.js')
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -23,25 +23,25 @@ var responsiveImageTag = {
|
|
23
23
|
|
24
24
|
//set initial source element on image
|
25
25
|
for(i = 0; i < noOfresponsiveImages; i = i + 1 ){
|
26
|
-
var noScriptElem = responsiveImages[i];
|
26
|
+
var noScriptElem = $(responsiveImages[i]);
|
27
27
|
var img = window.document.createElement("img");
|
28
28
|
|
29
|
-
img.alt = noScriptElem.
|
29
|
+
img.alt = noScriptElem.attr("data-alttext");
|
30
30
|
|
31
31
|
if(platform === "mobile"){
|
32
|
-
img.src = noScriptElem.
|
32
|
+
img.src = noScriptElem.attr("data-mobilesrc");
|
33
33
|
}else{
|
34
|
-
img.src = noScriptElem.
|
34
|
+
img.src = noScriptElem.attr("data-fullsrc");
|
35
35
|
}
|
36
36
|
|
37
37
|
img.className = "responsive";
|
38
|
-
noScriptElem.
|
39
|
-
noScriptElem.
|
38
|
+
noScriptElem.prev().append(img);
|
39
|
+
noScriptElem.hide();
|
40
40
|
}
|
41
41
|
}
|
42
42
|
};
|
43
43
|
|
44
|
-
|
44
|
+
$(function() {
|
45
45
|
responsiveImageTag.replaceInitialImages();
|
46
46
|
});
|
47
|
-
|
47
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/*jslint browser:true */
|
2
|
+
/*global $, $$*/
|
3
|
+
|
4
|
+
// responsiveImageTag detects all noscript elements on the page with a class
|
5
|
+
// of 'responsivize'.
|
6
|
+
|
7
|
+
// It retrieves both HTML5 data attributes and then creates an image tag with
|
8
|
+
// the correct source destination depending on the available screen width of
|
9
|
+
// the user'ss device. This way smaller images are sent to mobile devices or
|
10
|
+
// any device smaller than 768px.
|
11
|
+
|
12
|
+
// The <noscript> tags are then removed from the page.
|
13
|
+
var responsiveImageTag = {
|
14
|
+
|
15
|
+
replaceInitialImages:function() {
|
16
|
+
var platform = "desktop";
|
17
|
+
var responsiveImages = $$(".responsivize");
|
18
|
+
var i,
|
19
|
+
noOfresponsiveImages = responsiveImages.length;
|
20
|
+
|
21
|
+
// Test for available width in current browser window
|
22
|
+
// 767px, anything smaller than an ipad is considered mobile
|
23
|
+
if(screen.width <= 767){
|
24
|
+
platform = "mobile";
|
25
|
+
}
|
26
|
+
|
27
|
+
// Set initial source element on image
|
28
|
+
for(i = 0; i < noOfresponsiveImages; i = i + 1 ){
|
29
|
+
var noScriptElem = responsiveImages[i];
|
30
|
+
var img = window.document.createElement("img");
|
31
|
+
|
32
|
+
img.alt = noScriptElem.getAttribute("data-alttext");
|
33
|
+
|
34
|
+
if(platform === "mobile"){
|
35
|
+
img.src = noScriptElem.getAttribute("data-mobilesrc");
|
36
|
+
}else{
|
37
|
+
img.src = noScriptElem.getAttribute("data-fullsrc");
|
38
|
+
}
|
39
|
+
|
40
|
+
img.className = "responsive";
|
41
|
+
noScriptElem.previous().appendChild(img);
|
42
|
+
noScriptElem.style.display = "none";
|
43
|
+
}
|
44
|
+
}
|
45
|
+
};
|
46
|
+
|
47
|
+
document.observe("dom:loaded", function() {
|
48
|
+
responsiveImageTag.replaceInitialImages();
|
49
|
+
});
|
50
|
+
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{responsive_image_tag}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Dave Hrycyszyn"]
|
@@ -24,10 +24,13 @@ Gem::Specification.new do |s|
|
|
24
24
|
"README.rdoc",
|
25
25
|
"Rakefile",
|
26
26
|
"VERSION",
|
27
|
-
"generators/responsive_image_tag/
|
27
|
+
"generators/responsive_image_tag/jquery_responsive_image_tag_generator.rb",
|
28
|
+
"generators/responsive_image_tag/prototype_responsive_image_tag_generator.rb",
|
28
29
|
"generators/responsive_image_tag/templates/README",
|
29
|
-
"lib/rails/generators/responsive_image_tag/javascript/
|
30
|
-
"lib/rails/generators/responsive_image_tag/javascript/
|
30
|
+
"lib/rails/generators/responsive_image_tag/javascript/jquery_javascript_generator.rb",
|
31
|
+
"lib/rails/generators/responsive_image_tag/javascript/prototype_javascript_generator.rb",
|
32
|
+
"lib/rails/generators/responsive_image_tag/javascript/templates/responsive-image-tag-jquery.js",
|
33
|
+
"lib/rails/generators/responsive_image_tag/javascript/templates/responsive-image-tag-prototype.js",
|
31
34
|
"lib/responsive_image_tag.rb",
|
32
35
|
"responsive_image_tag.gemspec",
|
33
36
|
"test/helper.rb",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: responsive_image_tag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Dave Hrycyszyn
|
@@ -123,10 +123,13 @@ files:
|
|
123
123
|
- README.rdoc
|
124
124
|
- Rakefile
|
125
125
|
- VERSION
|
126
|
-
- generators/responsive_image_tag/
|
126
|
+
- generators/responsive_image_tag/jquery_responsive_image_tag_generator.rb
|
127
|
+
- generators/responsive_image_tag/prototype_responsive_image_tag_generator.rb
|
127
128
|
- generators/responsive_image_tag/templates/README
|
128
|
-
- lib/rails/generators/responsive_image_tag/javascript/
|
129
|
-
- lib/rails/generators/responsive_image_tag/javascript/
|
129
|
+
- lib/rails/generators/responsive_image_tag/javascript/jquery_javascript_generator.rb
|
130
|
+
- lib/rails/generators/responsive_image_tag/javascript/prototype_javascript_generator.rb
|
131
|
+
- lib/rails/generators/responsive_image_tag/javascript/templates/responsive-image-tag-jquery.js
|
132
|
+
- lib/rails/generators/responsive_image_tag/javascript/templates/responsive-image-tag-prototype.js
|
130
133
|
- lib/responsive_image_tag.rb
|
131
134
|
- responsive_image_tag.gemspec
|
132
135
|
- test/helper.rb
|