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 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.