jekyll-google-tag-manager 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: feeb825e809b08b5a036a5ec5c37af71ddc4686d
4
- data.tar.gz: ea99c14bab25d949fef4c2a3eaf772c7fa661e56
2
+ SHA256:
3
+ metadata.gz: cc28d03426929c520d78fff37133dabd8f3eb252dee7011d64f890a3970ec9e5
4
+ data.tar.gz: b5b22ef4245d01cddcab301a89242821ef1134183729b8e83ffdeef96dd52738
5
5
  SHA512:
6
- metadata.gz: '0805c32356a9974f7b63beec2108c4f35669f2c95bd199eaed34b9fe36a7ad841b493e522fcca05ec3c67d1f75e9be42731855f13202fc829bf352f5778f8add'
7
- data.tar.gz: 57b67e8c191d8eb2c609c26b074e4f6f5fab3f315bad17c90989cc63a02121709e354f2a2ea0bfedb6f91b6fea58434ec600c94aae771bfa955186d5051a3ac0
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
- [![Travis](https://img.shields.io/travis/t-richards/jekyll-google-tag-manager.svg)](https://travis-ci.org/t-richards/jekyll-google-tag-manager)
6
- [![Gem](https://img.shields.io/gem/v/jekyll-google-tag-manager.svg)](https://rubygems.org/gems/jekyll-google-tag-manager)
5
+ [![CircleCI Build Status](https://img.shields.io/circleci/project/github/t-richards/jekyll-google-tag-manager/master.svg?style=flat-square)](https://circleci.com/gh/t-richards/jekyll-google-tag-manager)
6
+ [![Gem Version](https://img.shields.io/gem/v/jekyll-google-tag-manager.svg?style=flat-square)](https://rubygems.org/gems/jekyll-google-tag-manager)
7
+ [![Code Coverage](https://img.shields.io/codecov/c/github/t-richards/jekyll-google-tag-manager.svg?style=flat-square)](https://codecov.io/gh/t-richards/jekyll-google-tag-manager)
7
8
 
8
9
  ## Installation
9
10
 
@@ -1,13 +1,26 @@
1
- require "jekyll-google-tag-manager/version"
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
- "version" => Jekyll::GoogleTagManager::VERSION
37
+ 'version' => Jekyll::GoogleTagManager::VERSION
25
38
  }
26
39
  end
27
40
 
28
41
  def container_id(config)
29
- config.dig("google", "tag_manager", "container_id") || "GTM-NNNNNNN"
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
- "container_id" => container_id(context.registers[:site].config),
35
- "gtm_tag" => options
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
- :registers => context.registers,
42
- :filters => [Jekyll::Filters]
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("gtm", Jekyll::GoogleTagManager)
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
@@ -1,8 +1,9 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Liquid; class Tag; end; end
3
4
 
4
5
  module Jekyll
5
6
  class GoogleTagManager < Liquid::Tag
6
- VERSION = "1.0.1".freeze
7
+ VERSION = '1.0.2'
7
8
  end
8
9
  end
@@ -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.1
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: 2016-12-12 00:00:00.000000000 Z
11
+ date: 2019-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: jekyll
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.3'
20
- type: :runtime
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: '3.3'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: codecov
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.13'
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.13'
40
+ version: '0.1'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: irb
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
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: '10.0'
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.46.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.46.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.0
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
- rubyforge_project:
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.