effective_pages 3.4.9 → 3.4.11

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