jekyll-analytics 0.1.6 → 0.1.9

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
  SHA1:
3
- metadata.gz: 2d235fda510dd1f09c941996016b261bea54cffe
4
- data.tar.gz: c8b2e0a9834f9f1bae449bf2a2cd23c01523a806
3
+ metadata.gz: c02ea0f9f27d68a9a4e2eaabc14e851d2660d3e5
4
+ data.tar.gz: bd3009e03bde9e01d2bc41ec8864b35a86d95d09
5
5
  SHA512:
6
- metadata.gz: b59554078477a2ffebdbb659552a4cf9474e24824e921c07af1a9c479a5e1b4b7367b13e521b7630335dc38840b730008c5240d2370d811d9496fc4a3b5fcde2
7
- data.tar.gz: 7fc31ab7021e6b4fff21d741c8254c163e7c887486af66fb1c1cd68f5d271e24ad085278ccbc70b9c2ff7d65f3fd8475f5e1ef767e375700eb59eab86fc73e0a
6
+ metadata.gz: c5667c32301961f80ef422fc37f3914b0cbe81ff7b9524cf9b847bf8276a8b7bd6c01d0dbd4b5323934a51f1761a5ab0a50d3a7fe1a90219024b9b28249273cd
7
+ data.tar.gz: ebf79658f0ce22317f89773cb2f6f4367955f487b8b0c468ba52490c02cd39c54654b795be470414a49dabfb2908f4b6b4a20f70f1858e1378a492367d9a3801
@@ -0,0 +1,63 @@
1
+ class MPulse
2
+ #source: https://docs.soasta.com/boomerang/#mpulse-loader-snippet
3
+ MPULSE_LOADER = """
4
+ <!-- mPulse -->
5
+ <script>
6
+ (function(API_KEY){
7
+ if (window.BOOMR && window.BOOMR.version) { return; }
8
+ var dom, doc, where, iframe = document.createElement(\"iframe\"), win = window;
9
+
10
+ function boomerangSaveLoadTime(e) {
11
+ win.BOOMR_onload=(e && e.timeStamp) || new Date().getTime();
12
+ }
13
+
14
+ if (win.addEventListener) {
15
+ win.addEventListener(\"load\", boomerangSaveLoadTime, false);
16
+ } else if (win.attachEvent) {
17
+ win.attachEvent(\"onload\", boomerangSaveLoadTime);
18
+ }
19
+
20
+ iframe.src = \"javascript:void(0)\";
21
+ iframe.title = \"\";
22
+ iframe.role = \"presentation\";
23
+ (iframe.frameElement || iframe).style.cssText = \"width:0;height:0;border:0;display:none;\";
24
+ where = document.getElementsByTagName(\"script\")[0];
25
+ where.parentNode.insertBefore(iframe, where);
26
+
27
+ try {
28
+ doc = iframe.contentWindow.document;
29
+ } catch(e) {
30
+ dom = document.domain;
31
+ iframe.src = \"javascript:var d=document.open();d.domain='\"+dom+\"';void(0);\";
32
+ doc = iframe.contentWindow.document;
33
+ }
34
+
35
+ doc.open()._l = function() {
36
+ var js = this.createElement(\"script\");
37
+ if (dom) { this.domain = dom; }
38
+ js.id = \"boomr-if-as\";
39
+ js.src = \"https://s.go-mpulse.net/boomerang/\" + API_KEY;
40
+ BOOMR_lstart = new Date().getTime();
41
+ this.body.appendChild(js);
42
+ };
43
+ doc.write('<body onload=\"document._l();\">');
44
+ doc.close();
45
+ })(\"%s\");
46
+ </script>
47
+ <!-- End mPulse -->
48
+ """
49
+
50
+ APIKEY_RE = /^[a-zA-Z2-9]{5}-[a-zA-Z2-9]{5}-[a-zA-Z2-9]{5}-[a-zA-Z2-9]{5}-[a-zA-Z2-9]{5}$/
51
+
52
+ def initialize(config)
53
+ if !(APIKEY_RE.match(config["apikey"]))
54
+ raise ArgumentError, 'Invalid mPulse API key. Id must look like XXXXX-XXXXX-XXXXX-XXXXX-XXXXX'
55
+ end
56
+
57
+ @apikey = config["apikey"]
58
+ end
59
+
60
+ def render()
61
+ return MPULSE_LOADER % @apikey
62
+ end
63
+ end
@@ -0,0 +1,43 @@
1
+ class Matomo
2
+ SETUP_CODE = """
3
+ <!-- Matomo -->
4
+ <script type=\"text/javascript\">
5
+ var _paq = _paq || [];
6
+ _paq.push(['trackPageView']);
7
+ _paq.push(['enableLinkTracking']);
8
+ (function() {
9
+ var u='//'+\"%{url}\";
10
+ _paq.push(['setTrackerUrl', u+'piwik.php']);
11
+ _paq.push(['setSiteId', '%{siteId}']);
12
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
13
+ g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'/piwik.js'; s.parentNode.insertBefore(g,s);
14
+ })();
15
+ </script>
16
+ <!-- End Matomo Code -->
17
+ """
18
+
19
+
20
+ # domain name (characters separated by a dot), optional port, optional URI path, no slash
21
+ DOMAINPATH_RE = /^(([^.\/?#@:]+\.)*[^.\/?#@:]+)+(:[0-9]+)?(\/[^\/?#@:]+)*$/
22
+
23
+ # numeric ID
24
+ SITEID_RE = /^\d+$/
25
+
26
+ def initialize(config)
27
+
28
+ if !(DOMAINPATH_RE.match(config['url']))
29
+ raise ArgumentError, 'Invalid url. Must be a domain name, optionally followed by an URI path, no trailing slash (e.g. matomo.example.com or my.matomo.server/path)'
30
+ end
31
+
32
+ if !(SITEID_RE.match(config['siteId']))
33
+ raise ArgumentError, 'Invalid site id. Must be a number.'
34
+ end
35
+
36
+ @config = Hash[config.map{ |k, v| [k.to_sym, v.to_s] }]
37
+
38
+ end
39
+
40
+ def render
41
+ return SETUP_CODE % @config
42
+ end
43
+ end
metadata CHANGED
@@ -1,23 +1,25 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-analytics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hendrik Schneider
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-21 00:00:00.000000000 Z
11
+ date: 2018-02-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: Plugin to easily add web analytics to your jekyll site without modifying
14
- your templates
13
+ description: 'Plugin to easily add web analytics to your jekyll site without modifying
14
+ your templates. Supported are: Google Analytics, Piwik, Matomo, MPulse'
15
15
  email: ''
16
16
  executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - lib/analytics/GoogleAnalytics.rb
21
+ - lib/analytics/MPulse.rb
22
+ - lib/analytics/Matomo.rb
21
23
  - lib/analytics/Piwik.rb
22
24
  - lib/jekyll-analytics.rb
23
25
  homepage: https://github.com/hendrikschneider/jekyll-analytics
@@ -40,7 +42,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
40
42
  version: '0'
41
43
  requirements: []
42
44
  rubyforge_project:
43
- rubygems_version: 2.5.1
45
+ rubygems_version: 2.5.2.1
44
46
  signing_key:
45
47
  specification_version: 4
46
48
  summary: Jekyll plugin