effective_pages 3.4.9 → 3.4.11

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
2
  SHA256:
3
- metadata.gz: 5748cf10a1d447f6b636dc8972884464700b3752ed96086e3a16991621b2955a
4
- data.tar.gz: 027050a2f8acd57d4e8170e3a900c02c4dde8c1a3b3f4f2465222dc91525cf5a
3
+ metadata.gz: 13324875d7eed671ec3197d639c43aad04f24751261d2c6f2b04e3d183a95c1b
4
+ data.tar.gz: 707bc904234f37b21b88ea6ed3ba5d58fb4d3f2978012837c66a3dfbc2072b65
5
5
  SHA512:
6
- metadata.gz: 3be8ad1c24739aaf895becf0865176d6165cf5ebbf58a3f85b3df02763ef6d59449c298f2ba13c0b0dd6f0dee46828e78112b91a865773b693f330fa48496129
7
- data.tar.gz: 5cdd3c7b4b294c525398d7b3405f042092de6d141d42bcdb175dfdd3eb32926c000fccf9eb3da9cb5f3fd5276188f8615ba5681c78d4931f08cc5716ff5a2a28
6
+ metadata.gz: 1431e378f871945a3ee1be9a87c3eea61b1b2f03724257df9f5d9feba7a1232f2ab5bfb7a66038fec9c6342b7e44919ad67e35f9be899f1547ba5783174e2fff
7
+ data.tar.gz: 6259af43261f9822804dea61faffedb17adf53a967078946e6465800bd8b7771224b29789bba8dba75c93fa3e1cedf7e6dbdb050ad63af785b21cc090e20686c
data/README.md CHANGED
@@ -157,6 +157,31 @@ This provides a mechanism to easily target CSS styles for specific pages.
157
157
 
158
158
  This helper is entirely optional and in no way required for effective_pages to work.
159
159
 
160
+ ### Google Analytics GTag Script Helper
161
+
162
+ Only works with Turbolinks.
163
+
164
+ Include the effective_pages.js javascript file in your asset pipeline.
165
+
166
+ ```
167
+ //= require effective_pages
168
+ ```
169
+
170
+ Add the following include your `<head>` tag:
171
+
172
+ ```haml
173
+ %head
174
+ = effective_pages_google_analytics
175
+ ```
176
+
177
+ Set the GA4 code in your `config/initializers/effective_pages.rb` as so:
178
+
179
+ ```
180
+ config.google_analytics_code = 'G-1234567890'
181
+ ```
182
+
183
+ This will render the google analytics script tags when running in production mode.
184
+
160
185
  ### Permissions
161
186
 
162
187
  When creating a Page, if you've also installed the [effective_roles](https://github.com/code-and-effect/effective_roles) gem, you will be able to configure user access on a per-page basis.
@@ -0,0 +1 @@
1
+ //= link_directory ../javascripts .js
@@ -0,0 +1,13 @@
1
+ // Add Google Analytics Code
2
+ // Supports Turbolinks and Turbo
3
+ document.addEventListener('turbolinks:load', function(event){
4
+ if(typeof(gtag) != 'function') { return }
5
+
6
+ var code = $('head').find('script[data-gtag-code]').first().data('gtag-code');
7
+ if(typeof(code) == undefined) { return }
8
+
9
+ gtag('config', code, {
10
+ 'page_title' : document.title,
11
+ 'page_path': location.href.replace(location.origin, "")
12
+ });
13
+ })
@@ -0,0 +1 @@
1
+ //= require_tree ./effective_pages
@@ -88,6 +88,15 @@ module EffectivePagesHelper
88
88
  @effective_pages_og_type || 'website'
89
89
  end
90
90
 
91
+ def effective_pages_google_analytics
92
+ return unless Rails.env.production?
93
+
94
+ code = EffectivePages.google_analytics_code
95
+ return unless code.present?
96
+
97
+ render('layouts/google_analytics', code: code)
98
+ end
99
+
91
100
  def application_root_to_effective_pages_slug
92
101
  Rails.application.routes.routes.find { |r| r.name == 'root' && r.defaults[:controller] == 'Effective::Pages' && r.defaults[:action] == 'show' }.defaults[:id] rescue nil
93
102
  end
@@ -0,0 +1,7 @@
1
+ <!-- Google tag (gtag.js) -->
2
+ <script async src="https://www.googletagmanager.com/gtag/js?id=<%= code %>"></script>
3
+ <script data-gtag-code="<%= code %>">
4
+ window.dataLayer = window.dataLayer || [];
5
+ function gtag(){dataLayer.push(arguments);}
6
+ gtag('js', new Date());
7
+ </script>
@@ -47,6 +47,9 @@ EffectivePages.setup do |config|
47
47
  config.silence_missing_meta_description_warnings = false
48
48
  config.silence_missing_canonical_url_warnings = false
49
49
 
50
+ # Google Tag / Google Analytics 4 code
51
+ # config.google_analytics_code = ''
52
+
50
53
  # Display the effective roles 'choose roles' input when an admin creates a new post
51
54
  config.use_effective_roles = false
52
55
 
@@ -1,3 +1,3 @@
1
1
  module EffectivePages
2
- VERSION = '3.4.9'.freeze
2
+ VERSION = '3.4.11'.freeze
3
3
  end
@@ -10,7 +10,7 @@ module EffectivePages
10
10
  :pages_table_name, :page_sections_table_name, :page_banners_table_name, :carousel_items_table_name,
11
11
  :pages_path, :excluded_pages, :layouts_path, :excluded_layouts,
12
12
  :site_og_image, :site_og_image_width, :site_og_image_height,
13
- :site_title, :site_title_suffix, :fallback_meta_description,
13
+ :site_title, :site_title_suffix, :fallback_meta_description, :google_analytics_code,
14
14
  :silence_missing_page_title_warnings, :silence_missing_meta_description_warnings, :silence_missing_canonical_url_warnings,
15
15
  :use_effective_roles, :layout, :max_menu_depth, :banners_hint_text, :carousels_hint_text, :banners_force_randomize,
16
16
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_pages
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.9
4
+ version: 3.4.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-10 00:00:00.000000000 Z
11
+ date: 2023-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -75,6 +75,9 @@ extra_rdoc_files: []
75
75
  files:
76
76
  - MIT-LICENSE
77
77
  - README.md
78
+ - app/assets/config/effective_pages_manifest.js
79
+ - app/assets/javascripts/effective_pages.js
80
+ - app/assets/javascripts/effective_pages/google_analytics.js
78
81
  - app/controllers/admin/carousel_items_controller.rb
79
82
  - app/controllers/admin/menus_controller.rb
80
83
  - app/controllers/admin/page_banners_controller.rb
@@ -112,6 +115,7 @@ files:
112
115
  - app/views/effective/carousels/_carousel.html.haml
113
116
  - app/views/effective/pages/_menu.html.haml
114
117
  - app/views/effective/pages/_page_menu.html.haml
118
+ - app/views/layouts/_google_analytics.html.erb
115
119
  - config/effective_pages.rb
116
120
  - config/locales/effective_pages.en.yml
117
121
  - config/routes.rb