jekyll-google-tag-manager 1.0.1 → 1.0.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.
- checksums.yaml +5 -5
- data/README.md +3 -2
- data/lib/jekyll-google-tag-manager.rb +26 -9
- data/lib/jekyll-google-tag-manager/errors.rb +11 -0
- data/lib/jekyll-google-tag-manager/version.rb +2 -1
- data/lib/template-body.html +2 -2
- metadata +83 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cc28d03426929c520d78fff37133dabd8f3eb252dee7011d64f890a3970ec9e5
|
4
|
+
data.tar.gz: b5b22ef4245d01cddcab301a89242821ef1134183729b8e83ffdeef96dd52738
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 207b590a536f8506ca4cf12eefd97c88cd5522a9736fa145c6cf015c417f4dde82580056c349aafb14dcd7302a588ed490d01e05a4161190b59f0b43f74e39ee
|
7
|
+
data.tar.gz: 3c9c7693ea7089125af1c7c0b488c4074ab1fa2532e00a3b997bd2668209382b8f3a78a2193313a2891db1d7074789ddbd1232866584292035d9c2c78158d5b0
|
data/README.md
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
|
3
3
|
A [Jekyll][jekyll] plugin to insert [Google Tag Manager][gtm] tags into the head and body of your site.
|
4
4
|
|
5
|
-
[](https://rubygems.org/gems/jekyll-google-tag-manager)
|
5
|
+
[](https://circleci.com/gh/t-richards/jekyll-google-tag-manager)
|
6
|
+
[](https://rubygems.org/gems/jekyll-google-tag-manager)
|
7
|
+
[](https://codecov.io/gh/t-richards/jekyll-google-tag-manager)
|
7
8
|
|
8
9
|
## Installation
|
9
10
|
|
@@ -1,13 +1,26 @@
|
|
1
|
-
|
2
|
-
require "liquid"
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
3
|
+
require 'jekyll-google-tag-manager/errors'
|
4
|
+
require 'jekyll-google-tag-manager/version'
|
5
|
+
require 'liquid'
|
6
|
+
|
7
|
+
# Add our tag to the Jekyll top-level module
|
4
8
|
module Jekyll
|
9
|
+
# Google Tag Manager tag, renders Liquid templates
|
5
10
|
class GoogleTagManager < Liquid::Tag
|
6
11
|
attr_accessor :context
|
7
12
|
|
13
|
+
PLACEHOLDER_ID = 'GTM-NNNNNNN'
|
14
|
+
VALID_SECTIONS = %w[body head].freeze
|
15
|
+
|
8
16
|
def initialize(_tag_name, text, _tokens)
|
9
17
|
super
|
10
18
|
@text = text.strip
|
19
|
+
message = <<~MSG
|
20
|
+
Invalid section specified: #{@text}.
|
21
|
+
Please specify one of the following sections: #{VALID_SECTIONS.join(',')}
|
22
|
+
MSG
|
23
|
+
raise InvalidSectionError, message unless VALID_SECTIONS.include?(@text)
|
11
24
|
end
|
12
25
|
|
13
26
|
def render(context)
|
@@ -21,25 +34,29 @@ module Jekyll
|
|
21
34
|
|
22
35
|
def options
|
23
36
|
{
|
24
|
-
|
37
|
+
'version' => Jekyll::GoogleTagManager::VERSION
|
25
38
|
}
|
26
39
|
end
|
27
40
|
|
28
41
|
def container_id(config)
|
29
|
-
config.dig(
|
42
|
+
config.dig('google', 'tag_manager', 'container_id') || PLACEHOLDER_ID
|
43
|
+
rescue TypeError
|
44
|
+
Jekyll.logger.warn('Your GTM container id is malformed or missing.')
|
45
|
+
Jekyll.logger.warn("Using fallback: #{PLACEHOLDER_ID}")
|
46
|
+
PLACEHOLDER_ID
|
30
47
|
end
|
31
48
|
|
32
49
|
def payload
|
33
50
|
{
|
34
|
-
|
35
|
-
|
51
|
+
'container_id' => container_id(context.registers[:site].config),
|
52
|
+
'gtm_tag' => options
|
36
53
|
}
|
37
54
|
end
|
38
55
|
|
39
56
|
def info
|
40
57
|
{
|
41
|
-
:
|
42
|
-
:
|
58
|
+
registers: context.registers,
|
59
|
+
filters: [Jekyll::Filters]
|
43
60
|
}
|
44
61
|
end
|
45
62
|
|
@@ -57,4 +74,4 @@ module Jekyll
|
|
57
74
|
end
|
58
75
|
end
|
59
76
|
|
60
|
-
Liquid::Template.register_tag(
|
77
|
+
Liquid::Template.register_tag('gtm', Jekyll::GoogleTagManager)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Jekyll
|
4
|
+
class GoogleTagManager
|
5
|
+
# The base class from which other exceptions are derived
|
6
|
+
class Error < StandardError; end
|
7
|
+
|
8
|
+
# Raised when an invalid tag section is specified
|
9
|
+
class InvalidSectionError < Error; end
|
10
|
+
end
|
11
|
+
end
|
data/lib/template-body.html
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<!-- Begin Jekyll GTM tag v{{ gtm_tag.version }} -->
|
1
|
+
<!-- Begin Jekyll GTM tag v{{ gtm_tag.version }} (noscript) -->
|
2
2
|
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{ container_id }}"
|
3
3
|
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
4
|
-
<!-- End Jekyll GTM tag v{{ gtm_tag.version }} -->
|
4
|
+
<!-- End Jekyll GTM tag v{{ gtm_tag.version }} (noscript) -->
|
metadata
CHANGED
@@ -1,57 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-google-tag-manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Richards
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
type: :
|
19
|
+
version: '2.0'
|
20
|
+
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: codecov
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1
|
33
|
+
version: '0.1'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1
|
40
|
+
version: '0.1'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: irb
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '1.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '1.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,38 +66,102 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '5.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest-rg
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '5.2'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '5.2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '12.3'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '12.3'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: rubocop
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
72
100
|
requirements:
|
73
101
|
- - "~>"
|
74
102
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
103
|
+
version: '0.63'
|
76
104
|
type: :development
|
77
105
|
prerelease: false
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
79
107
|
requirements:
|
80
108
|
- - "~>"
|
81
109
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
110
|
+
version: '0.63'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.16'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.16'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: jekyll
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '3.3'
|
132
|
+
- - "<"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '5.0'
|
135
|
+
type: :runtime
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '3.3'
|
142
|
+
- - "<"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '5.0'
|
83
145
|
description:
|
84
146
|
email:
|
85
147
|
- tom@tomrichards.net
|
86
148
|
executables: []
|
87
149
|
extensions: []
|
88
|
-
extra_rdoc_files:
|
150
|
+
extra_rdoc_files:
|
151
|
+
- README.md
|
152
|
+
- LICENSE
|
89
153
|
files:
|
90
154
|
- LICENSE
|
91
155
|
- README.md
|
92
156
|
- lib/jekyll-google-tag-manager.rb
|
157
|
+
- lib/jekyll-google-tag-manager/errors.rb
|
93
158
|
- lib/jekyll-google-tag-manager/version.rb
|
94
159
|
- lib/template-body.html
|
95
160
|
- lib/template-head.html
|
96
161
|
homepage: https://github.com/t-richards/jekyll-google-tag-manager
|
97
162
|
licenses:
|
98
163
|
- MIT
|
99
|
-
metadata:
|
100
|
-
allowed_push_host: https://rubygems.org
|
164
|
+
metadata: {}
|
101
165
|
post_install_message:
|
102
166
|
rdoc_options: []
|
103
167
|
require_paths:
|
@@ -106,15 +170,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
170
|
requirements:
|
107
171
|
- - ">="
|
108
172
|
- !ruby/object:Gem::Version
|
109
|
-
version: 2.3.
|
173
|
+
version: 2.3.1
|
110
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
175
|
requirements:
|
112
176
|
- - ">="
|
113
177
|
- !ruby/object:Gem::Version
|
114
178
|
version: '0'
|
115
179
|
requirements: []
|
116
|
-
|
117
|
-
rubygems_version: 2.5.2
|
180
|
+
rubygems_version: 3.0.6
|
118
181
|
signing_key:
|
119
182
|
specification_version: 4
|
120
183
|
summary: A Jekyll plugin to add Google Tag Manager snippets to your site.
|