Skip to content

Commit

Permalink
Add possibility to inject google analytics. Add a deployed version of
Browse files Browse the repository at this point in the history
that.
  • Loading branch information
eiriksm committed Jan 21, 2015
1 parent b51747c commit 2de5ee2
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 6 deletions.
1 change: 1 addition & 0 deletions default.config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
port: 4000
google_analytics: ""
admin:
user: "admin"
password: "secret"
Expand Down
29 changes: 27 additions & 2 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,29 @@
'use strict';
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var sass = require('gulp-sass');
var prefix = require('gulp-autoprefixer');
var spritesmith = require('gulp.spritesmith');
var ngmin = require('gulp-ngmin');
var ngAnnotate = require('gulp-ng-annotate');
var through = require('through2');
var yaml = require('js-yaml');
var fs = require('fs');

var paths = {
libs: ['static/js/lib/vendor/*.js', 'static/js/lib/*.js'],
app: ['static/js/app.js', 'static/js/components/**/*.js', 'static/js/controllers.js']
};

var config;

try {
config = yaml.safeLoad(fs.readFileSync(__dirname + '/config.yml', 'utf8'));
}
catch(err) {
// So, no analytics either, I take it.
}

gulp.task('scripts', function() {
// Minify and copy all JavaScript.
gulp.src(paths.libs)
Expand All @@ -23,7 +35,7 @@ gulp.task('scripts', function() {
gulp.task('appscripts', function() {
gulp.src(paths.app)
.pipe(concat('app.min.js'))
.pipe(ngmin())
.pipe(ngAnnotate())
.pipe(uglify())
.pipe(gulp.dest('static/js/build/app'));
});
Expand Down Expand Up @@ -71,6 +83,19 @@ gulp.task('deploy', function() {
var s = String(file.contents);
try {
s = s.replace(/DEPLOY_CACHE/g, Date.now());
if (config && config.googleAnalytics && config.googleAnalytics.length) {
s = s.replace(/GOOGLE_ANALYTICS/g, "<script>" +
"(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){" +
"(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o)," +
"m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)" +
"})(window,document,'script','//www.google-analytics.com/analytics.js','ga');" +
"ga('create', '" + config.googleAnalytics + "');" +
"ga('send', 'pageview');" +
"</script>");
}
else {
s = s.replace(/GOOGLE_ANALYTICS/g, '');
}
file.contents = new Buffer(s);
this.push(file);
callback();
Expand Down
7 changes: 4 additions & 3 deletions static/index.prod.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
<html lang="en" data-ng-app="levelCrash">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link href="/css/style.css?1418573481196" rel="stylesheet" />
<link href="/css/style.css?1421860519877" rel="stylesheet" />
<title>Level crasher</title>
</head>
<body data-ng-cloak>
<div data-ng-view></div>
<script src="/js/build/lib/lib.min.js?1418573481196"></script>
<script src="/js/build/app/app.min.js?1418573481196"></script>
<script src="/js/build/lib/lib.min.js?1421860519877"></script>
<script src="/js/build/app/app.min.js?1421860519877"></script>
<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-41112131-3');ga('send', 'pageview');</script>
</body>
</html>
1 change: 1 addition & 0 deletions static/index.prod.html.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@
<div data-ng-view></div>
<script src="/js/build/lib/lib.min.js?DEPLOY_CACHE"></script>
<script src="/js/build/app/app.min.js?DEPLOY_CACHE"></script>
GOOGLE_ANALYTICS
</body>
</html>
2 changes: 1 addition & 1 deletion static/js/build/app/app.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 2de5ee2

Please sign in to comment.