middleman-google-analytics 0.0.1 → 0.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 +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
|