middleman-ogp 1.1.0 → 1.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +18 -1
- data/features/helper.feature +4 -16
- data/fixtures/test-app/config.rb +1 -0
- data/fixtures/test-app/data/ogp/fb.yml +1 -7
- data/fixtures/test-app/data/ogp/og.yml +2 -3
- data/fixtures/test-app/source/page.html.slim +2 -9
- data/lib/middleman-ogp/extension.rb +14 -5
- data/lib/middleman-ogp/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ff26d501132ad5d6aff88ce5c3936b799bb8c6f8
|
|
4
|
+
data.tar.gz: 0c09e35c94c5490cfd23596718fa8d7241616d41
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 35619f2a12782f18cc02b137fef74ebb93aab5bafe5ee6794708717349c0ef926e79d0ad52b3fc31e3d470863da5bd8ed3005a2a986f81e1078c0741770adb83
|
|
7
|
+
data.tar.gz: d2f2eb7474c5edc6533d48c95148cd1300c2810142cf04e29345d71868b3190e76b92433fe10e913f0e3060fbafb66960cc103f15a210b36bd1fe709bf14a1c9
|
data/.gitignore
CHANGED
data/README.md
CHANGED
|
@@ -20,10 +20,27 @@ activate :ogp do |ogp|
|
|
|
20
20
|
og: data.ogp.og
|
|
21
21
|
# from data/ogp/og.yml
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
ogp.base_url = 'http://mysite.tld/'
|
|
24
24
|
end
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
+
### In your project's root directory
|
|
28
|
+
|
|
29
|
+
Create `data/ogp/fb.yml` and `data/ogp/og.yml` files.
|
|
30
|
+
|
|
31
|
+
Example:
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
image:
|
|
35
|
+
'': http://mydomain.tld/path/to/fbimage.png
|
|
36
|
+
secure_url: https://secure.mydomain.tld/path/to/fbimage.png
|
|
37
|
+
type: image/png
|
|
38
|
+
width: 400
|
|
39
|
+
height: 300
|
|
40
|
+
locale:
|
|
41
|
+
'': en_us
|
|
42
|
+
```
|
|
43
|
+
|
|
27
44
|
### In your layout
|
|
28
45
|
|
|
29
46
|
source/layout.slim
|
data/features/helper.feature
CHANGED
|
@@ -3,15 +3,9 @@ Feature: OpenGraph Protocol Tags with the "ogp_tags" helper method
|
|
|
3
3
|
Scenario: Without page data
|
|
4
4
|
Given the Server is running at "test-app"
|
|
5
5
|
When I go to "/"
|
|
6
|
-
Then I should see '<meta content="
|
|
7
|
-
Then I should see '<meta content="http://mydomain.tld/path/to/fb-site-image.png" property="fb:image" />'
|
|
8
|
-
Then I should see '<meta content="https://secure.mydomain.tld/path/to/fb-site-image.png" property="fb:image:secure_url" />'
|
|
9
|
-
Then I should see '<meta content="image/png" property="fb:image:type" />'
|
|
10
|
-
Then I should see '<meta content="400" property="fb:image:width" />'
|
|
11
|
-
Then I should see '<meta content="300" property="fb:image:height" />'
|
|
6
|
+
Then I should see '<meta content="5678" property="fb:app_id" />'
|
|
12
7
|
Then I should see '<meta content="My Description" property="og:description" />'
|
|
13
|
-
Then I should see '<meta content="
|
|
14
|
-
Then I should see '<meta content="https://secure.mydomain.tld/path/to/og-site-image.png" property="og:image:secure_url" />'
|
|
8
|
+
Then I should see '<meta content="https://images.mydomain.tld/path/to/og-site-image.png" property="og:image" />'
|
|
15
9
|
Then I should see '<meta content="image/png" property="og:image:type" />'
|
|
16
10
|
Then I should see '<meta content="400" property="og:image:width" />'
|
|
17
11
|
Then I should see '<meta content="300" property="og:image:height" />'
|
|
@@ -24,15 +18,9 @@ Feature: OpenGraph Protocol Tags with the "ogp_tags" helper method
|
|
|
24
18
|
Scenario: With page data
|
|
25
19
|
Given the Server is running at "test-app"
|
|
26
20
|
When I go to "/page.html"
|
|
27
|
-
Then I should see '<meta content="
|
|
28
|
-
Then I should see '<meta content="http://mydomain.tld/path/to/fb-article-image.png" property="fb:image" />'
|
|
29
|
-
Then I should see '<meta content="https://secure.mydomain.tld/path/to/fb-article-image.png" property="fb:image:secure_url" />'
|
|
30
|
-
Then I should see '<meta content="image/png" property="fb:image:type" />'
|
|
31
|
-
Then I should see '<meta content="400" property="fb:image:width" />'
|
|
32
|
-
Then I should see '<meta content="300" property="fb:image:height" />'
|
|
21
|
+
Then I should see '<meta content="1234" property="fb:app_id" />'
|
|
33
22
|
Then I should see '<meta content="This is my fixture Middleman article." property="og:description" />'
|
|
34
|
-
Then I should see '<meta content="
|
|
35
|
-
Then I should see '<meta content="https://secure.mydomain.tld/path/to/og-article-image.png" property="og:image:secure_url" />'
|
|
23
|
+
Then I should see '<meta content="https://images.mydomain.tld/path/to/og-article-image.png" property="og:image" />'
|
|
36
24
|
Then I should see '<meta content="image/png" property="og:image:type" />'
|
|
37
25
|
Then I should see '<meta content="400" property="og:image:width" />'
|
|
38
26
|
Then I should see '<meta content="300" property="og:image:height" />'
|
data/fixtures/test-app/config.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
description: 'This is my fixture Middleman site for OpenGraph.'
|
|
2
2
|
image:
|
|
3
|
-
'':
|
|
4
|
-
secure_url: https://secure.mydomain.tld/path/to/og-site-image.png
|
|
3
|
+
'': to/og-site-image.png
|
|
5
4
|
type: image/png
|
|
6
5
|
width: 400
|
|
7
6
|
height: 300
|
|
@@ -9,4 +8,4 @@ locale:
|
|
|
9
8
|
'': en_us
|
|
10
9
|
alternate:
|
|
11
10
|
- ja_jp
|
|
12
|
-
- zh_tw
|
|
11
|
+
- zh_tw
|
|
@@ -5,8 +5,7 @@ ogp:
|
|
|
5
5
|
og:
|
|
6
6
|
description: 'This is my fixture Middleman article for OpenGraph.'
|
|
7
7
|
image:
|
|
8
|
-
'':
|
|
9
|
-
secure_url: https://secure.mydomain.tld/path/to/og-article-image.png
|
|
8
|
+
'': to/og-article-image.png
|
|
10
9
|
type: image/png
|
|
11
10
|
width: 400
|
|
12
11
|
height: 300
|
|
@@ -16,13 +15,7 @@ ogp:
|
|
|
16
15
|
- ja_jp
|
|
17
16
|
- zh_tw
|
|
18
17
|
fb:
|
|
19
|
-
|
|
20
|
-
image:
|
|
21
|
-
'': http://mydomain.tld/path/to/fb-article-image.png
|
|
22
|
-
secure_url: https://secure.mydomain.tld/path/to/fb-article-image.png
|
|
23
|
-
type: image/png
|
|
24
|
-
width: 400
|
|
25
|
-
height: 300
|
|
18
|
+
app_id: 1234
|
|
26
19
|
---
|
|
27
20
|
|
|
28
21
|
h1 Hello page
|
|
@@ -5,16 +5,18 @@ require 'middleman-core/extensions'
|
|
|
5
5
|
module Middleman
|
|
6
6
|
module OGP
|
|
7
7
|
class OGPExtension < Extension
|
|
8
|
-
option :namespaces,
|
|
9
|
-
option :blog,
|
|
10
|
-
option :auto,
|
|
11
|
-
option :base_url,
|
|
8
|
+
option :namespaces, {}, 'Default namespaces'
|
|
9
|
+
option :blog, false, 'Middleman Blog support'
|
|
10
|
+
option :auto, %w{title url description}, 'Properties to automatically fill from page data.'
|
|
11
|
+
option :base_url, nil, 'Base URL to generate permalink for og:url'
|
|
12
|
+
option :image_base_url, nil, 'Base URL to generate og:image'
|
|
12
13
|
|
|
13
14
|
def after_configuration
|
|
14
15
|
Middleman::OGP::Helper.namespaces = options[:namespaces] || {}
|
|
15
16
|
Middleman::OGP::Helper.blog = options[:blog]
|
|
16
17
|
Middleman::OGP::Helper.auto = options[:auto]
|
|
17
18
|
Middleman::OGP::Helper.base_url = options[:base_url]
|
|
19
|
+
Middleman::OGP::Helper.image_base_url = options[:image_base_url]
|
|
18
20
|
end
|
|
19
21
|
|
|
20
22
|
helpers do
|
|
@@ -51,6 +53,7 @@ module Middleman
|
|
|
51
53
|
Middleman::OGP::Helper.base_url
|
|
52
54
|
opts[:og][:url] = URI.join(Middleman::OGP::Helper.base_url, URI.encode(current_resource.url))
|
|
53
55
|
end
|
|
56
|
+
|
|
54
57
|
Middleman::OGP::Helper.ogp_tags(opts) do|name, value|
|
|
55
58
|
if block_given?
|
|
56
59
|
block.call name, value
|
|
@@ -68,6 +71,7 @@ module Middleman
|
|
|
68
71
|
mattr_accessor :blog
|
|
69
72
|
mattr_accessor :auto
|
|
70
73
|
mattr_accessor :base_url
|
|
74
|
+
mattr_accessor :image_base_url
|
|
71
75
|
|
|
72
76
|
def self.ogp_tags(opts = {}, &block)
|
|
73
77
|
opts ||= {}
|
|
@@ -120,7 +124,12 @@ module Middleman
|
|
|
120
124
|
raise 'Unknown value'
|
|
121
125
|
end
|
|
122
126
|
else
|
|
123
|
-
|
|
127
|
+
name = [prefix].concat(key).join(':')
|
|
128
|
+
value = obj.to_s
|
|
129
|
+
if Middleman::OGP::Helper.image_base_url && name == 'og:image' && !%r{^https?://}.match(value)
|
|
130
|
+
value = URI.join(Middleman::OGP::Helper.image_base_url, URI.encode(value))
|
|
131
|
+
end
|
|
132
|
+
block.call name, value
|
|
124
133
|
end
|
|
125
134
|
end
|
|
126
135
|
end
|
metadata
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: middleman-ogp
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Atsushi Nagase
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2017-11-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: middleman-core
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '3.2'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- -
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '3.2'
|
|
27
27
|
description: OpenGraph Protocol Helper for Middleman
|
|
@@ -31,8 +31,8 @@ executables: []
|
|
|
31
31
|
extensions: []
|
|
32
32
|
extra_rdoc_files: []
|
|
33
33
|
files:
|
|
34
|
-
- .gitignore
|
|
35
|
-
- .travis.yml
|
|
34
|
+
- ".gitignore"
|
|
35
|
+
- ".travis.yml"
|
|
36
36
|
- CHANGELOG.md
|
|
37
37
|
- CONTRIBUTING.md
|
|
38
38
|
- Gemfile.mm3
|
|
@@ -72,17 +72,17 @@ require_paths:
|
|
|
72
72
|
- lib
|
|
73
73
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
74
74
|
requirements:
|
|
75
|
-
- -
|
|
75
|
+
- - ">="
|
|
76
76
|
- !ruby/object:Gem::Version
|
|
77
77
|
version: '0'
|
|
78
78
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
|
-
- -
|
|
80
|
+
- - ">="
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: '0'
|
|
83
83
|
requirements: []
|
|
84
84
|
rubyforge_project:
|
|
85
|
-
rubygems_version: 2.
|
|
85
|
+
rubygems_version: 2.6.13
|
|
86
86
|
signing_key:
|
|
87
87
|
specification_version: 4
|
|
88
88
|
summary: OpenGraph Protocol Helper for Middleman
|