From 4f6490bf49c8a11a2ed328f8879970a76235e3f2 Mon Sep 17 00:00:00 2001 From: hylom Date: Wed, 11 Oct 2017 16:51:11 +0900 Subject: [PATCH] Add Plugin::GoogleAnalytics --- .../lib/Newslash/Plugin/GoogleAnalytics.pm | 18 ++++++++++++++++++ src/newslash_web/lib/Newslash/Web.pm | 3 +++ src/newslash_web/templates/common/analytics.html.tt2 | 12 ++++++++++++ src/newslash_web/templates/common/header.html.tt2 | 5 +++++ 4 files changed, 38 insertions(+) create mode 100644 src/newslash_web/lib/Newslash/Plugin/GoogleAnalytics.pm create mode 100644 src/newslash_web/templates/common/analytics.html.tt2 diff --git a/src/newslash_web/lib/Newslash/Plugin/GoogleAnalytics.pm b/src/newslash_web/lib/Newslash/Plugin/GoogleAnalytics.pm new file mode 100644 index 00000000..3f1351b9 --- /dev/null +++ b/src/newslash_web/lib/Newslash/Plugin/GoogleAnalytics.pm @@ -0,0 +1,18 @@ +package Newslash::Plugin::GoogleAnalytics; +use Mojo::Base 'Mojolicious::Plugin'; + +sub register { + my ($self, $app, $conf) = @_; + + $self->{conf} = {%$conf, %{$app->config->{Analytics}}}; + $self->{app} = $app; + + if ($app->config->{TT2Renderer}) { + my $tt2r = $app->config->{TT2Renderer}->{self}; + $tt2r->add_object(Analytics => $self->{conf}); + } + + $app->helper(google_analytics => sub { state $google_analytics = $self; }); +} + +1; diff --git a/src/newslash_web/lib/Newslash/Web.pm b/src/newslash_web/lib/Newslash/Web.pm index 9a66a6e9..2a3b45d4 100644 --- a/src/newslash_web/lib/Newslash/Web.pm +++ b/src/newslash_web/lib/Newslash/Web.pm @@ -74,6 +74,9 @@ sub startup { # use Template::Toolkit 2 render $app->plugin('Newslash::Plugin::TT2Renderer'); + # use Analytics helper + $app->plugin('Newslash::Plugin::GoogleAnalytics'); + # user AntiCsrf ($app->anti_csrf) if ($app->mode ne 'test') { # when test mode, disable AntiCsrf. diff --git a/src/newslash_web/templates/common/analytics.html.tt2 b/src/newslash_web/templates/common/analytics.html.tt2 new file mode 100644 index 00000000..3a430621 --- /dev/null +++ b/src/newslash_web/templates/common/analytics.html.tt2 @@ -0,0 +1,12 @@ +[%- IF Analytics && Analytics.tag -%] + + +[%- ELSE -%] + +[%- END -%] diff --git a/src/newslash_web/templates/common/header.html.tt2 b/src/newslash_web/templates/common/header.html.tt2 index cc4adeed..05eef7fc 100644 --- a/src/newslash_web/templates/common/header.html.tt2 +++ b/src/newslash_web/templates/common/header.html.tt2 @@ -1,4 +1,9 @@ + [%- IF NS.mojo_mode == "production" %] + [% INCLUDE common/analytics %] + [%- ELSE %] + + [%- END %] -- 2.11.0