middleman-google-analytics 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -1
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +14 -0
- data/README.md +12 -0
- data/features/support/env.rb +4 -0
- data/lib/middleman-google-analytics.rb +1 -2
- data/lib/middleman-google-analytics/extension.rb +29 -12
- data/lib/middleman_extension.rb +1 -1
- data/middleman-google-analytics.gemspec +1 -1
- metadata +15 -15
- data/.rvmrc +0 -1
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4baee28c1f8e37eeab8dc190f5e2c0036b249a82
|
4
|
+
data.tar.gz: a99382e18ed8c6f16e33626ec385c7e279e78250
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d7f78cd409fb642424b3c4a9661e351d547ae0f115ab760fd1255eb84a031d6fed333c4a5589741d61ce93e7604ab8ef606cbce0139d87ae1c5ed6facd30eb31
|
7
|
+
data.tar.gz: e1cf7dee9abb7fa66698ae4f4e58e253faed8499c93a3ffb03d6cdf7304efb15cadd60971a97a8d56e1be1d685ad0a2933d55c6316a0f4d3aca6387e678e4109
|
data/.gitignore
CHANGED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
middleman-google-analytics
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-2.0.0-p247
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Changes
|
2
|
+
|
3
|
+
## 0.0.2, 2013-10-16
|
4
|
+
|
5
|
+
* Remove CDATA markerts that were choking some minifiers.
|
6
|
+
* Allow linking of sub-domains to their parent domain.
|
7
|
+
* Make URLs protocol-neutral so things work on both HTTP and HTTPS.
|
8
|
+
* (Optionally) use GA debug mode in preview server.
|
9
|
+
* Implement ability to anonymize IPs.
|
10
|
+
* Use asynchronous loading for GA JS.
|
11
|
+
|
12
|
+
## 0.0.1, 2013-03-10
|
13
|
+
|
14
|
+
* Initial version
|
data/README.md
CHANGED
@@ -30,6 +30,18 @@ Or ERB:
|
|
30
30
|
<%= google_analytics_tag %>
|
31
31
|
```
|
32
32
|
|
33
|
+
### Configuration
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
activate :google_analytics do |ga|
|
37
|
+
ga.tracking_id = 'UA-XXXXXXX-X' # property ID
|
38
|
+
ga.debug = false # Manually set debug flag (if true, links to /u/ga_debug.js)
|
39
|
+
ga.anonymize_ip = true # removing the last octet of the IP address
|
40
|
+
ga.domain_name = 'example.com' # Track for (cross-domain tracking)
|
41
|
+
ga.allow_linker = true # Multiple top-level domains (needs domain_name to be set)
|
42
|
+
end
|
43
|
+
```
|
44
|
+
|
33
45
|
## Only Including Tracking Code in Builds
|
34
46
|
|
35
47
|
To include the tracking code only in builds, and not when running
|
@@ -1,16 +1,21 @@
|
|
1
1
|
module Middleman
|
2
2
|
module GoogleAnalytics
|
3
|
-
class Options < Struct.new(:tracking_id); end
|
3
|
+
class Options < Struct.new(:tracking_id, :anonymize_ip, :allow_linker, :domain_name, :debug); end
|
4
4
|
|
5
5
|
class << self
|
6
6
|
def options
|
7
|
-
@@options ||=
|
7
|
+
@@options ||= Options.new
|
8
8
|
end
|
9
9
|
|
10
10
|
def registered(app, options={})
|
11
|
-
@@options ||= Options.new(options)
|
11
|
+
@@options ||= Options.new(*options.values_at(*Options.members))
|
12
12
|
yield @@options if block_given?
|
13
13
|
|
14
|
+
if @@options.allow_linker and not @@options.domain_name
|
15
|
+
$stderr.puts 'Google Analytics: Please specify a domain_name when using allow_linker'
|
16
|
+
raise 'No domain_name given'
|
17
|
+
end
|
18
|
+
|
14
19
|
app.send :include, InstanceMethods
|
15
20
|
end
|
16
21
|
alias :included :registered
|
@@ -18,15 +23,27 @@ module Middleman
|
|
18
23
|
|
19
24
|
module InstanceMethods
|
20
25
|
def google_analytics_tag
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
options = ::Middleman::GoogleAnalytics.options
|
27
|
+
|
28
|
+
options.debug = development? if options.debug.nil?
|
29
|
+
ga = options.debug ? 'u/ga_debug' : 'ga'
|
30
|
+
domain_name = options.domain_name
|
31
|
+
|
32
|
+
if tracking_id = options.tracking_id
|
33
|
+
gaq = []
|
34
|
+
gaq << ['_setAccount', "#{tracking_id}"]
|
35
|
+
gaq << ['_setDomainName', "#{domain_name}"] if domain_name
|
36
|
+
gaq << ['_setAllowLinker', true] if options.allow_linker
|
37
|
+
gaq << ['_gat._anonymizeIp'] if options.anonymize_ip
|
38
|
+
gaq << ['_trackPageview']
|
39
|
+
%Q{<script type="text/javascript">
|
40
|
+
var _gaq = _gaq || [];
|
41
|
+
#{gaq.map! { |x| "_gaq.push(#{x});" }.join("\n ")}
|
42
|
+
(function() {
|
43
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
44
|
+
ga.src = ('https:' == document.location.protocol ? '//ssl' : '//www') + '.google-analytics.com/#{ga}.js';
|
45
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
46
|
+
})();
|
30
47
|
</script>}
|
31
48
|
end
|
32
49
|
end
|
data/lib/middleman_extension.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require
|
1
|
+
require 'middleman-google-analytics'
|
metadata
CHANGED
@@ -1,30 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-google-analytics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jon Frisby
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-10-16 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: middleman-core
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 3.0.6
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 3.0.6
|
30
27
|
description:
|
@@ -35,38 +32,41 @@ extensions: []
|
|
35
32
|
extra_rdoc_files: []
|
36
33
|
files:
|
37
34
|
- .gitignore
|
38
|
-
- .
|
35
|
+
- .ruby-gemset
|
36
|
+
- .ruby-version
|
37
|
+
- CHANGELOG.md
|
39
38
|
- Gemfile
|
40
39
|
- LICENSE
|
41
40
|
- README.md
|
42
41
|
- Rakefile
|
42
|
+
- features/support/env.rb
|
43
43
|
- lib/middleman-google-analytics.rb
|
44
44
|
- lib/middleman-google-analytics/extension.rb
|
45
45
|
- lib/middleman_extension.rb
|
46
46
|
- middleman-google-analytics.gemspec
|
47
47
|
homepage: http://github.com/MrJoy/middleman-google-analytics
|
48
48
|
licenses: []
|
49
|
+
metadata: {}
|
49
50
|
post_install_message:
|
50
51
|
rdoc_options: []
|
51
52
|
require_paths:
|
52
53
|
- lib
|
53
54
|
required_ruby_version: !ruby/object:Gem::Requirement
|
54
|
-
none: false
|
55
55
|
requirements:
|
56
|
-
- -
|
56
|
+
- - '>='
|
57
57
|
- !ruby/object:Gem::Version
|
58
58
|
version: '0'
|
59
59
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
60
|
requirements:
|
62
|
-
- -
|
61
|
+
- - '>='
|
63
62
|
- !ruby/object:Gem::Version
|
64
63
|
version: '0'
|
65
64
|
requirements: []
|
66
65
|
rubyforge_project:
|
67
|
-
rubygems_version:
|
66
|
+
rubygems_version: 2.0.6
|
68
67
|
signing_key:
|
69
|
-
specification_version:
|
68
|
+
specification_version: 4
|
70
69
|
summary: A Middleman plugin for handling Google Analytics tracking code.
|
71
|
-
test_files:
|
70
|
+
test_files:
|
71
|
+
- features/support/env.rb
|
72
72
|
has_rdoc:
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use --create ruby-1.9.3-p374@middleman-google-analytics
|