Mixpanel analytics and retina favicons

James Peret 8 years ago
parent
commit
4a94a33d69

BIN
app/apple-touch-icon-114x114.png


BIN
app/apple-touch-icon-120x120.png


BIN
app/apple-touch-icon-144x144.png


BIN
app/apple-touch-icon-152x152.png


BIN
app/apple-touch-icon-57x57.png


BIN
app/apple-touch-icon-60x60.png


BIN
app/apple-touch-icon-72x72.png


BIN
app/apple-touch-icon-76x76.png


BIN
app/favicon-128.png


BIN
app/favicon-16x16.png


BIN
app/favicon-196x196.png


BIN
app/favicon-32x32.png


BIN
app/favicon-96x96.png


BIN
app/favicon.ico


+ 25 - 3
app/index.html

@@ -6,6 +6,26 @@
6 6
     <meta name="description" content="">
7 7
     <meta name="viewport" content="width=device-width">
8 8
     <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
9
+    <link rel="apple-touch-icon-precomposed" sizes="57x57" href="http://jamesperet.com/apple-touch-icon-57x57.png" />
10
+    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://jamesperet.com/apple-touch-icon-114x114.png" />
11
+    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="http://jamesperet.com/apple-touch-icon-72x72.png" />
12
+    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="http://jamesperet.com/apple-touch-icon-144x144.png" />
13
+    <link rel="apple-touch-icon-precomposed" sizes="60x60" href="http://jamesperet.com/apple-touch-icon-60x60.png" />
14
+    <link rel="apple-touch-icon-precomposed" sizes="120x120" href="http://jamesperet.com/apple-touch-icon-120x120.png" />
15
+    <link rel="apple-touch-icon-precomposed" sizes="76x76" href="http://jamesperet.com/apple-touch-icon-76x76.png" />
16
+    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="http://jamesperet.com/apple-touch-icon-152x152.png" />
17
+    <link rel="icon" type="image/png" href="http://jamesperet.com/favicon-196x196.png" sizes="196x196" />
18
+    <link rel="icon" type="image/png" href="http://jamesperet.com/favicon-96x96.png" sizes="96x96" />
19
+    <link rel="icon" type="image/png" href="http://jamesperet.com/favicon-32x32.png" sizes="32x32" />
20
+    <link rel="icon" type="image/png" href="http://jamesperet.com/favicon-16x16.png" sizes="16x16" />
21
+    <link rel="icon" type="image/png" href="http://jamesperet.com/favicon-128.png" sizes="128x128" />
22
+    <meta name="application-name" content="James Peret Landing Page"/>
23
+    <meta name="msapplication-TileColor" content="#FFFFFF" />
24
+    <meta name="msapplication-TileImage" content="http://jamesperet.commstile-144x144.png" />
25
+    <meta name="msapplication-square70x70logo" content="http://jamesperet.commstile-70x70.png" />
26
+    <meta name="msapplication-square150x150logo" content="http://jamesperet.commstile-150x150.png" />
27
+    <meta name="msapplication-wide310x150logo" content="http://jamesperet.commstile-310x150.png" />
28
+    <meta name="msapplication-square310x310logo" content="http://jamesperet.commstile-310x310.png" />
9 29
     <!-- build:css(.) styles/vendor.css -->
10 30
     <!-- bower:css -->
11 31
     <!-- endbower -->
@@ -32,9 +52,9 @@
32 52
         <div class="container-fluid link-list">
33 53
           <div class="row-fluid">
34 54
             <div class="col-sm-12 fx-fade-down fx-easing-sine fx-speed-800" ng-show="menuAnimationStart">
35
-              <a href="http://blog.j1x.co" class="btn btn-link btn-lg">Blog</a> |
55
+              <a href="http://blog.j1x.co" class="btn btn-link btn-lg" ng-click="track('Blog view')" target="_blank">Blog</a> |
36 56
               <a ui-sref="now" class="btn btn-link btn-lg" ui-sref-active="active">Now</a> |
37
-              <a href="http://registry.jsonresume.org/jamesperet" class="btn btn-link btn-lg">Resume</a>
57
+              <a href="http://registry.jsonresume.org/jamesperet" class="btn btn-link btn-lg" ng-click="track('Resume view')" target="_blank">Resume</a>
38 58
             </div>
39 59
           </div>
40 60
         </div>
@@ -50,7 +70,7 @@
50 70
        r=n.getElementsByTagName(g)[0],a.src=u,r.parentNode.insertBefore(a,r)
51 71
        }(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
52 72
 
53
-       ga('create', 'UA-XXXXX-X');
73
+       ga('create', 'UA-4959543-2');
54 74
        ga('send', 'pageview');
55 75
     </script>
56 76
 
@@ -65,6 +85,8 @@
65 85
     <script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
66 86
     <script src="bower_components/gsap/src/uncompressed/TweenMax.js"></script>
67 87
     <script src="bower_components/ngFx/dist/ngFx.js"></script>
88
+    <script src="bower_components/mixpanel/mixpanel-jslib-snippet.js"></script>
89
+    <script src="bower_components/angular-mixpanel/src/angular-mixpanel.js"></script>
68 90
     <!-- endbower -->
69 91
     <!-- endbuild -->
70 92
 

BIN
app/mstile-144x144.png


BIN
app/mstile-150x150.png


BIN
app/mstile-310x150.png


BIN
app/mstile-310x310.png


BIN
app/mstile-70x70.png


+ 6 - 1
app/scripts/app.js

@@ -14,7 +14,8 @@ angular
14 14
     'ngSanitize',
15 15
     'ngTouch',
16 16
     'ui.router',
17
-    'ngFx'
17
+    'ngFx',
18
+    'analytics.mixpanel'
18 19
   ])
19 20
 
20 21
   .config(['$stateProvider', '$urlRouterProvider', '$httpProvider', function($stateProvider, $urlRouterProvider, $httpProvider) {
@@ -42,4 +43,8 @@ angular
42 43
     $urlRouterProvider.otherwise("/");
43 44
 
44 45
 
46
+  }])
47
+
48
+  .config(['$mixpanelProvider', function($mixpanelProvider) {
49
+      $mixpanelProvider.apiKey('118b90241623134a3468019b0917b85b'); // your token is different than your API key
45 50
   }]);

+ 1 - 7
app/scripts/controllers/main.js

@@ -9,11 +9,5 @@
9 9
  */
10 10
 angular.module('landingPageApp')
11 11
   .controller('MainCtrl', ['$window', '$scope', '$timeout', function ($window, $scope, $timeout) {
12
-    var lang = $window.navigator.language || $window.navigator.userLanguage;
13
-    console.log(lang);
14
-    if (lang === 'pt-BR') {
15
-      console.log("language is portuguese");
16
-    } else {
17
-      console.log("language is english");
18
-    }
12
+
19 13
   }]);

+ 13 - 4
app/scripts/controllers/nav.js

@@ -8,13 +8,22 @@
8 8
  * Controller of the landingPageApp
9 9
  */
10 10
 angular.module('landingPageApp')
11
-  .controller('NavCtrl', ['$window', '$scope', '$timeout', "$rootScope", "$state", function ($window, $scope, $timeout, $rootScope, $state) {
11
+  .controller('NavCtrl', ['$window', '$scope', '$timeout', "$rootScope", "$state", '$mixpanel', function ($window, $scope, $timeout, $rootScope, $state, $mixpanel) {
12
+
13
+    // Mixpanel Analytics Tracking
14
+    $mixpanel.track('Site Loaded');
15
+
16
+    $scope.track = function(action){
17
+      $mixpanel.track(action);
18
+      //console.log("Tracking action with Mixpanel: " + action)
19
+    }
20
+
21
+    // Get Language
12 22
     var lang = $window.navigator.language || $window.navigator.userLanguage;
13
-    console.log(lang);
14 23
     if (lang === 'pt-BR') {
15
-      console.log("language is portuguese");
24
+      //console.log("language is portuguese");
16 25
     } else {
17
-      console.log("language is english");
26
+      //console.log("language is english");
18 27
     }
19 28
 
20 29
     $scope.logoAnimationStart = false;

+ 4 - 8
app/scripts/controllers/now.js

@@ -8,14 +8,10 @@
8 8
  * Controller of the landingPageApp
9 9
  */
10 10
 angular.module('landingPageApp')
11
-  .controller('NowCtrl', ['$window', '$scope', '$timeout', function ($window, $scope, $timeout) {
12
-    var lang = $window.navigator.language || $window.navigator.userLanguage;
13
-    console.log(lang);
14
-    if (lang === 'pt-BR') {
15
-      console.log("language is portuguese");
16
-    } else {
17
-      console.log("language is english");
18
-    }
11
+  .controller('NowCtrl', ['$window', '$scope', '$timeout', '$mixpanel', function ($window, $scope, $timeout, $mixpanel) {
12
+
13
+    // Mixpanel Analytics Tracking
14
+    $mixpanel.track('Now view');
19 15
 
20 16
     $scope.textAnimationStart = false;
21 17
     $timeout(function(){

+ 3 - 1
bower.json

@@ -8,7 +8,9 @@
8 8
     "angular-sanitize": "^1.3.0",
9 9
     "angular-touch": "^1.3.0",
10 10
     "angular-ui-router": "~0.2.15",
11
-    "ngFx": "~1.1.0"
11
+    "ngFx": "~1.1.0",
12
+    "mixpanel": "~2.5.1",
13
+    "angular-mixpanel": "~1.1.2"
12 14
   },
13 15
   "devDependencies": {
14 16
     "angular-mocks": "^1.3.0"

+ 2 - 0
test/karma.conf.js

@@ -31,6 +31,8 @@ module.exports = function(config) {
31 31
       'bower_components/angular-ui-router/release/angular-ui-router.js',
32 32
       'bower_components/gsap/src/uncompressed/TweenMax.js',
33 33
       'bower_components/ngFx/dist/ngFx.js',
34
+      'bower_components/mixpanel/mixpanel-jslib-snippet.js',
35
+      'bower_components/angular-mixpanel/src/angular-mixpanel.js',
34 36
       'bower_components/angular-mocks/angular-mocks.js',
35 37
       // endbower
36 38
       "app/scripts/**/*.js",