jekyll-bits 0.9.3 → 0.10
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.
- checksums.yaml +4 -4
- data/jekyll-bits.gemspec +2 -1
- data/lib/jekyll-bits/picture.rb +10 -2
- data/test/test_picture.rb +17 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d22107988f9c8e070cf89b4c696efba03332646
|
4
|
+
data.tar.gz: 73e9695d2d435083409c1ff625d6825e9d237c6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38d51536086b52e83707a643117d4170e42271dd1a4936a2a1470b1313b182fec13ee481eedeae484c30963bb9eeeaab3e1b8f0a6cc1ac01d8c5ffae2f3b90bb
|
7
|
+
data.tar.gz: 45679ad48423d2a70afae00e78c836e13f41d587cad9cc0831a10476f4106ad4773a4ff12d2e0bb24ddf8cb49caa24dc0edecede64d95fe24e60f7492540f6c4
|
data/jekyll-bits.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.rubygems_version = '2.2.2'
|
9
9
|
s.required_ruby_version = '>= 1.9.3'
|
10
10
|
s.name = 'jekyll-bits'
|
11
|
-
s.version = '0.
|
11
|
+
s.version = '0.10'
|
12
12
|
s.license = 'MIT'
|
13
13
|
s.summary = 'Jekyll Bits'
|
14
14
|
s.description = 'Useful and very simple Jekyll plugins'
|
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.rdoc_options = ['--charset=UTF-8']
|
21
21
|
s.extra_rdoc_files = ['README.md']
|
22
22
|
s.add_runtime_dependency('jekyll', '>=1.5.1')
|
23
|
+
s.add_runtime_dependency('fastimage')
|
23
24
|
s.add_development_dependency 'bundler', '~> 1.5'
|
24
25
|
s.add_development_dependency 'coveralls', '0.7.0'
|
25
26
|
s.add_development_dependency 'test-unit', '3.0.8'
|
data/lib/jekyll-bits/picture.rb
CHANGED
@@ -25,6 +25,7 @@
|
|
25
25
|
require 'digest/md5'
|
26
26
|
require 'liquid'
|
27
27
|
require 'uri'
|
28
|
+
require 'fastimage'
|
28
29
|
|
29
30
|
# Jekyll module
|
30
31
|
module Jekyll
|
@@ -33,8 +34,15 @@ module Jekyll
|
|
33
34
|
def jb_picture_head(page)
|
34
35
|
uri = uri(page)
|
35
36
|
return '' if uri.empty?
|
36
|
-
"<meta name='og:image' content='#{CGI.escapeElement(uri)}'
|
37
|
-
<meta name='twitter:image' content='#{CGI.escapeElement(uri)}'/>"
|
37
|
+
html = "<meta name='og:image' content='#{CGI.escapeElement(uri)}'/>"
|
38
|
+
html += "<meta name='twitter:image' content='#{CGI.escapeElement(uri)}'/>"
|
39
|
+
path = uri
|
40
|
+
path = File.join(Dir.pwd, path) unless \
|
41
|
+
%w(http https).include?(URI.parse(uri).scheme)
|
42
|
+
width, height = FastImage.size(path)
|
43
|
+
html += "<meta name='og:image:width' content='#{width}'/>" if width
|
44
|
+
html += "<meta name='og:image:height' content='#{height}'/>" if height
|
45
|
+
html
|
38
46
|
end
|
39
47
|
|
40
48
|
def jb_picture_body(page)
|
data/test/test_picture.rb
CHANGED
@@ -47,6 +47,17 @@ module Jekyll
|
|
47
47
|
assert_match(/img2\.png/, html)
|
48
48
|
end
|
49
49
|
|
50
|
+
def test_calculates_image_size
|
51
|
+
html = JbBox.new.jb_picture_head(
|
52
|
+
'jb_picture' => {
|
53
|
+
'src' => 'http://www.yegor256.com/images/2017/02/the-deer-hunter.jpg'
|
54
|
+
}
|
55
|
+
)
|
56
|
+
assert_match(/meta/, html)
|
57
|
+
assert_contains("<meta name='og:image:width' content='1280'/>", html)
|
58
|
+
assert_contains("<meta name='og:image:height' content='543'/>", html)
|
59
|
+
end
|
60
|
+
|
50
61
|
def test_generates_html_simple_body
|
51
62
|
html = JbBox.new.jb_picture_body('jb_picture' => '/img1.png')
|
52
63
|
assert_match(/img/, html)
|
@@ -69,5 +80,11 @@ module Jekyll
|
|
69
80
|
assert_match(/alt='nothing 'to' say'/, html)
|
70
81
|
assert_match(/width='500'/, html)
|
71
82
|
end
|
83
|
+
|
84
|
+
private
|
85
|
+
|
86
|
+
def assert_contains(substring, string, *args)
|
87
|
+
assert(string.include?(substring), *args)
|
88
|
+
end
|
72
89
|
end
|
73
90
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-bits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.10'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.5.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: fastimage
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|