retina_tag 1.1.1 → 1.1.2
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.md +2 -3
- data/app/assets/javascripts/retina_tag.js +11 -17
- data/lib/retina_tag/image_tag_helper.rb +14 -6
- data/lib/retina_tag/version.rb +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -37,9 +37,8 @@ Be sure to also specify the base dimensions in your `image_tag` calls:
|
|
37
37
|
|
38
38
|
Awesome right?
|
39
39
|
|
40
|
-
## Lazy Loading Images
|
41
|
-
if you set `:lazy => true` on an image_tag, the src attribute is moved to a lodpi_src attribute.
|
42
|
-
When you are ready to load the image, you can simply remove the image elements `data-lazy-load` attribute, and retina_tag will automatically insert the src attribute properly.
|
40
|
+
## Lazy Loading Images
|
41
|
+
if you set `:lazy => true` on an image_tag, the src attribute is moved to a lodpi_src attribute. You will need to manually instruct the image to load. To do this use `RetinaTag.refreshImage(img)` where img is the image element.
|
43
42
|
|
44
43
|
|
45
44
|
## Contributing
|
@@ -1,7 +1,6 @@
|
|
1
1
|
var RetinaTag = RetinaTag || {};
|
2
2
|
|
3
3
|
RetinaTag.init = function() {
|
4
|
-
RetinaTag.updateImages();
|
5
4
|
window.matchMedia('(-webkit-device-pixel-ratio:1)').addListener(RetinaTag.updateImages);
|
6
5
|
document.addEventListener("page:load", RetinaTag.updateImages);
|
7
6
|
document.addEventListener("retina_tag:refresh", RetinaTag.updateImages);
|
@@ -10,7 +9,9 @@ RetinaTag.init = function() {
|
|
10
9
|
RetinaTag.updateImages = function() {
|
11
10
|
var images = document.getElementsByTagName('img');
|
12
11
|
for(var counter=0; counter < images.length; counter++) {
|
13
|
-
|
12
|
+
if(!images[counter].getAttribute('data-lazy-load')) {
|
13
|
+
RetinaTag.refreshImage(images[counter]);
|
14
|
+
}
|
14
15
|
}
|
15
16
|
};
|
16
17
|
|
@@ -22,27 +23,20 @@ RetinaTag.refreshImage = function(image) {
|
|
22
23
|
if(!hiDpiSrc) {
|
23
24
|
return;
|
24
25
|
}
|
25
|
-
|
26
|
+
if(lazyLoad)
|
27
|
+
{
|
28
|
+
image.removeAttribute('data-lazy-load');
|
29
|
+
}
|
26
30
|
if(window.devicePixelRatio > 1 && imageSrc != hiDpiSrc) {
|
27
31
|
if(!lowDpiSrc) {
|
28
32
|
image.setAttribute('lowdpi_src',imageSrc);
|
29
33
|
}
|
30
|
-
|
31
|
-
image.setAttribute('data-lazy-load','2x');
|
32
|
-
}
|
33
|
-
else {
|
34
|
-
image.src = hiDpiSrc;
|
35
|
-
}
|
36
|
-
|
34
|
+
image.src = hiDpiSrc;
|
37
35
|
}
|
38
36
|
else if(window.devicePixelRatio <= 1 && (imageSrc == hiDpiSrc || (lowDpiSrc && imageSrc != lowDpiSrc))) {
|
39
|
-
|
40
|
-
image.setAttribute('data-lazy-load','1x');
|
41
|
-
}
|
42
|
-
else {
|
43
|
-
image.src = lowDpiSrc;
|
44
|
-
}
|
37
|
+
image.src = lowDpiSrc;
|
45
38
|
}
|
46
39
|
};
|
47
40
|
|
48
|
-
|
41
|
+
RetinaTag.init();
|
42
|
+
$(document).ready(RetinaTag.updateImages);
|
@@ -19,13 +19,21 @@ module ActionView
|
|
19
19
|
def image_tag_with_retina(source,options={})
|
20
20
|
options_default = { :hidpi_src => hidpi_asset_path(source) }
|
21
21
|
|
22
|
-
if options
|
23
|
-
options
|
24
|
-
options["data-lazy-load"] = "1x"
|
25
|
-
options[:lowdpi_src] = source
|
26
|
-
source = ''
|
22
|
+
if lazy = options.delete(:lazy)
|
23
|
+
options["data-lazy-load"] = lazy
|
27
24
|
end
|
28
|
-
|
25
|
+
|
26
|
+
options_default.merge!(options)
|
27
|
+
|
28
|
+
image_tag_without_retina(source,options_default)
|
29
|
+
|
30
|
+
if options_default[:"data-lazy-load"]
|
31
|
+
puts "Lazy load detected"
|
32
|
+
options_default[:lowdpi_src] = options_default.delete(:src)
|
33
|
+
end
|
34
|
+
puts "Using custom image Tag!"
|
35
|
+
puts options_default
|
36
|
+
tag("img", options_default)
|
29
37
|
end
|
30
38
|
|
31
39
|
alias_method_chain :image_tag, :retina
|
data/lib/retina_tag/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: retina_tag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -76,7 +76,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
76
76
|
version: '0'
|
77
77
|
segments:
|
78
78
|
- 0
|
79
|
-
hash: -
|
79
|
+
hash: -755295882179579949
|
80
80
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
81
|
none: false
|
82
82
|
requirements:
|
@@ -85,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
85
|
version: '0'
|
86
86
|
segments:
|
87
87
|
- 0
|
88
|
-
hash: -
|
88
|
+
hash: -755295882179579949
|
89
89
|
requirements: []
|
90
90
|
rubyforge_project:
|
91
91
|
rubygems_version: 1.8.24
|