Initial commit

James Peret 8 years ago
commit
9558e0d0fa

+ 3 - 0
.bowerrc

@@ -0,0 +1,3 @@
1
+{
2
+  "directory": "bower_components"
3
+}

+ 21 - 0
.editorconfig

@@ -0,0 +1,21 @@
1
+# EditorConfig helps developers define and maintain consistent
2
+# coding styles between different editors and IDEs
3
+# editorconfig.org
4
+
5
+root = true
6
+
7
+
8
+[*]
9
+
10
+# Change these settings to your own preference
11
+indent_style = space
12
+indent_size = 2
13
+
14
+# We recommend you to keep these unchanged
15
+end_of_line = lf
16
+charset = utf-8
17
+trim_trailing_whitespace = true
18
+insert_final_newline = true
19
+
20
+[*.md]
21
+trim_trailing_whitespace = false

+ 1 - 0
.gitattributes

@@ -0,0 +1 @@
1
+* text=auto

+ 8 - 0
.gitignore

@@ -0,0 +1,8 @@
1
+/node_modules
2
+/dist
3
+/.tmp
4
+/.sass-cache
5
+/bower_components
6
+
7
+.DS_Store
8
+*/.DS_Store

+ 16 - 0
.jshintrc

@@ -0,0 +1,16 @@
1
+{
2
+  "bitwise": true,
3
+  "browser": true,
4
+  "curly": true,
5
+  "eqeqeq": true,
6
+  "esnext": true,
7
+  "latedef": true,
8
+  "noarg": true,
9
+  "node": true,
10
+  "strict": true,
11
+  "undef": true,
12
+  "unused": true,
13
+  "globals": {
14
+    "angular": false
15
+  }
16
+}

+ 9 - 0
.travis.yml

@@ -0,0 +1,9 @@
1
+sudo: false
2
+language: node_js
3
+node_js:
4
+  - 'iojs'
5
+  - '0.12'
6
+  - '0.10'
7
+before_script:
8
+  - 'npm install -g bower grunt-cli'
9
+  - 'bower install'

+ 1 - 0
.yo-rc.json

@@ -0,0 +1 @@
1
+{}

+ 497 - 0
Gruntfile.js

@@ -0,0 +1,497 @@
1
+// Generated on 2016-01-09 using generator-angular 0.12.1
2
+'use strict';
3
+
4
+// # Globbing
5
+// for performance reasons we're only matching one level down:
6
+// 'test/spec/{,*/}*.js'
7
+// use this if you want to recursively match all subfolders:
8
+// 'test/spec/**/*.js'
9
+
10
+module.exports = function (grunt) {
11
+
12
+  // Time how long tasks take. Can help when optimizing build times
13
+  require('time-grunt')(grunt);
14
+
15
+  // Automatically load required Grunt tasks
16
+  require('jit-grunt')(grunt, {
17
+    useminPrepare: 'grunt-usemin',
18
+    ngtemplates: 'grunt-angular-templates',
19
+    cdnify: 'grunt-google-cdn'
20
+  });
21
+
22
+  // Configurable paths for the application
23
+  var appConfig = {
24
+    app: require('./bower.json').appPath || 'app',
25
+    dist: 'dist'
26
+  };
27
+
28
+  // Define the configuration for all the tasks
29
+  grunt.initConfig({
30
+
31
+    // Project settings
32
+    yeoman: appConfig,
33
+
34
+    // Watches files for changes and runs tasks based on the changed files
35
+    watch: {
36
+      bower: {
37
+        files: ['bower.json'],
38
+        tasks: ['wiredep']
39
+      },
40
+      js: {
41
+        files: ['<%= yeoman.app %>/scripts/{,*/}*.js'],
42
+        tasks: ['newer:jshint:all'],
43
+        options: {
44
+          livereload: '<%= connect.options.livereload %>'
45
+        }
46
+      },
47
+      jsTest: {
48
+        files: ['test/spec/{,*/}*.js'],
49
+        tasks: ['newer:jshint:test', 'karma']
50
+      },
51
+      compass: {
52
+        files: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'],
53
+        tasks: ['compass:server', 'autoprefixer:server']
54
+      },
55
+      gruntfile: {
56
+        files: ['Gruntfile.js']
57
+      },
58
+      livereload: {
59
+        options: {
60
+          livereload: '<%= connect.options.livereload %>'
61
+        },
62
+        files: [
63
+          '<%= yeoman.app %>/{,*/}*.html',
64
+          '.tmp/styles/{,*/}*.css',
65
+          '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
66
+        ]
67
+      }
68
+    },
69
+
70
+    // The actual grunt server settings
71
+    connect: {
72
+      options: {
73
+        port: 9000,
74
+        // Change this to '0.0.0.0' to access the server from outside.
75
+        hostname: 'localhost',
76
+        livereload: 35729
77
+      },
78
+      livereload: {
79
+        options: {
80
+          open: true,
81
+          middleware: function (connect) {
82
+            return [
83
+              connect.static('.tmp'),
84
+              connect().use(
85
+                '/bower_components',
86
+                connect.static('./bower_components')
87
+              ),
88
+              connect().use(
89
+                '/app/styles',
90
+                connect.static('./app/styles')
91
+              ),
92
+              connect.static(appConfig.app)
93
+            ];
94
+          }
95
+        }
96
+      },
97
+      test: {
98
+        options: {
99
+          port: 9001,
100
+          middleware: function (connect) {
101
+            return [
102
+              connect.static('.tmp'),
103
+              connect.static('test'),
104
+              connect().use(
105
+                '/bower_components',
106
+                connect.static('./bower_components')
107
+              ),
108
+              connect.static(appConfig.app)
109
+            ];
110
+          }
111
+        }
112
+      },
113
+      dist: {
114
+        options: {
115
+          open: true,
116
+          base: '<%= yeoman.dist %>'
117
+        }
118
+      }
119
+    },
120
+
121
+    // Make sure code styles are up to par and there are no obvious mistakes
122
+    jshint: {
123
+      options: {
124
+        jshintrc: '.jshintrc',
125
+        reporter: require('jshint-stylish')
126
+      },
127
+      all: {
128
+        src: [
129
+          'Gruntfile.js',
130
+          '<%= yeoman.app %>/scripts/{,*/}*.js'
131
+        ]
132
+      },
133
+      test: {
134
+        options: {
135
+          jshintrc: 'test/.jshintrc'
136
+        },
137
+        src: ['test/spec/{,*/}*.js']
138
+      }
139
+    },
140
+
141
+    // Empties folders to start fresh
142
+    clean: {
143
+      dist: {
144
+        files: [{
145
+          dot: true,
146
+          src: [
147
+            '.tmp',
148
+            '<%= yeoman.dist %>/{,*/}*',
149
+            '!<%= yeoman.dist %>/.git{,*/}*'
150
+          ]
151
+        }]
152
+      },
153
+      server: '.tmp'
154
+    },
155
+
156
+    // Add vendor prefixed styles
157
+    autoprefixer: {
158
+      options: {
159
+        browsers: ['last 1 version']
160
+      },
161
+      server: {
162
+        options: {
163
+          map: true,
164
+        },
165
+        files: [{
166
+          expand: true,
167
+          cwd: '.tmp/styles/',
168
+          src: '{,*/}*.css',
169
+          dest: '.tmp/styles/'
170
+        }]
171
+      },
172
+      dist: {
173
+        files: [{
174
+          expand: true,
175
+          cwd: '.tmp/styles/',
176
+          src: '{,*/}*.css',
177
+          dest: '.tmp/styles/'
178
+        }]
179
+      }
180
+    },
181
+
182
+    // Automatically inject Bower components into the app
183
+    wiredep: {
184
+      app: {
185
+        src: ['<%= yeoman.app %>/index.html'],
186
+        ignorePath:  /\.\.\//
187
+      },
188
+      test: {
189
+        devDependencies: true,
190
+        src: '<%= karma.unit.configFile %>',
191
+        ignorePath:  /\.\.\//,
192
+        fileTypes:{
193
+          js: {
194
+            block: /(([\s\t]*)\/{2}\s*?bower:\s*?(\S*))(\n|\r|.)*?(\/{2}\s*endbower)/gi,
195
+              detect: {
196
+                js: /'(.*\.js)'/gi
197
+              },
198
+              replace: {
199
+                js: '\'{{filePath}}\','
200
+              }
201
+            }
202
+          }
203
+      },
204
+      sass: {
205
+        src: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'],
206
+        ignorePath: /(\.\.\/){1,2}bower_components\//
207
+      }
208
+    },
209
+
210
+    // Compiles Sass to CSS and generates necessary files if requested
211
+    compass: {
212
+      options: {
213
+        sassDir: '<%= yeoman.app %>/styles',
214
+        cssDir: '.tmp/styles',
215
+        generatedImagesDir: '.tmp/images/generated',
216
+        imagesDir: '<%= yeoman.app %>/images',
217
+        javascriptsDir: '<%= yeoman.app %>/scripts',
218
+        fontsDir: '<%= yeoman.app %>/styles/fonts',
219
+        importPath: './bower_components',
220
+        httpImagesPath: '/images',
221
+        httpGeneratedImagesPath: '/images/generated',
222
+        httpFontsPath: '/styles/fonts',
223
+        relativeAssets: false,
224
+        assetCacheBuster: false,
225
+        raw: 'Sass::Script::Number.precision = 10\n'
226
+      },
227
+      dist: {
228
+        options: {
229
+          generatedImagesDir: '<%= yeoman.dist %>/images/generated'
230
+        }
231
+      },
232
+      server: {
233
+        options: {
234
+          sourcemap: true
235
+        }
236
+      }
237
+    },
238
+
239
+    // Renames files for browser caching purposes
240
+    filerev: {
241
+      dist: {
242
+        src: [
243
+          '<%= yeoman.dist %>/scripts/{,*/}*.js',
244
+          '<%= yeoman.dist %>/styles/{,*/}*.css',
245
+          '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
246
+          '<%= yeoman.dist %>/styles/fonts/*'
247
+        ]
248
+      }
249
+    },
250
+
251
+    // Reads HTML for usemin blocks to enable smart builds that automatically
252
+    // concat, minify and revision files. Creates configurations in memory so
253
+    // additional tasks can operate on them
254
+    useminPrepare: {
255
+      html: '<%= yeoman.app %>/index.html',
256
+      options: {
257
+        dest: '<%= yeoman.dist %>',
258
+        flow: {
259
+          html: {
260
+            steps: {
261
+              js: ['concat', 'uglifyjs'],
262
+              css: ['cssmin']
263
+            },
264
+            post: {}
265
+          }
266
+        }
267
+      }
268
+    },
269
+
270
+    // Performs rewrites based on filerev and the useminPrepare configuration
271
+    usemin: {
272
+      html: ['<%= yeoman.dist %>/{,*/}*.html'],
273
+      css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
274
+      js: ['<%= yeoman.dist %>/scripts/{,*/}*.js'],
275
+      options: {
276
+        assetsDirs: [
277
+          '<%= yeoman.dist %>',
278
+          '<%= yeoman.dist %>/images',
279
+          '<%= yeoman.dist %>/styles'
280
+        ],
281
+        patterns: {
282
+          js: [[/(images\/[^''""]*\.(png|jpg|jpeg|gif|webp|svg))/g, 'Replacing references to images']]
283
+        }
284
+      }
285
+    },
286
+
287
+    // The following *-min tasks will produce minified files in the dist folder
288
+    // By default, your `index.html`'s <!-- Usemin block --> will take care of
289
+    // minification. These next options are pre-configured if you do not wish
290
+    // to use the Usemin blocks.
291
+    // cssmin: {
292
+    //   dist: {
293
+    //     files: {
294
+    //       '<%= yeoman.dist %>/styles/main.css': [
295
+    //         '.tmp/styles/{,*/}*.css'
296
+    //       ]
297
+    //     }
298
+    //   }
299
+    // },
300
+    // uglify: {
301
+    //   dist: {
302
+    //     files: {
303
+    //       '<%= yeoman.dist %>/scripts/scripts.js': [
304
+    //         '<%= yeoman.dist %>/scripts/scripts.js'
305
+    //       ]
306
+    //     }
307
+    //   }
308
+    // },
309
+    // concat: {
310
+    //   dist: {}
311
+    // },
312
+
313
+    imagemin: {
314
+      dist: {
315
+        files: [{
316
+          expand: true,
317
+          cwd: '<%= yeoman.app %>/images',
318
+          src: '{,*/}*.{png,jpg,jpeg,gif}',
319
+          dest: '<%= yeoman.dist %>/images'
320
+        }]
321
+      }
322
+    },
323
+
324
+    svgmin: {
325
+      dist: {
326
+        files: [{
327
+          expand: true,
328
+          cwd: '<%= yeoman.app %>/images',
329
+          src: '{,*/}*.svg',
330
+          dest: '<%= yeoman.dist %>/images'
331
+        }]
332
+      }
333
+    },
334
+
335
+    htmlmin: {
336
+      dist: {
337
+        options: {
338
+          collapseWhitespace: true,
339
+          conservativeCollapse: true,
340
+          collapseBooleanAttributes: true,
341
+          removeCommentsFromCDATA: true
342
+        },
343
+        files: [{
344
+          expand: true,
345
+          cwd: '<%= yeoman.dist %>',
346
+          src: ['*.html'],
347
+          dest: '<%= yeoman.dist %>'
348
+        }]
349
+      }
350
+    },
351
+
352
+    ngtemplates: {
353
+      dist: {
354
+        options: {
355
+          module: 'landingPageApp',
356
+          htmlmin: '<%= htmlmin.dist.options %>',
357
+          usemin: 'scripts/scripts.js'
358
+        },
359
+        cwd: '<%= yeoman.app %>',
360
+        src: 'views/{,*/}*.html',
361
+        dest: '.tmp/templateCache.js'
362
+      }
363
+    },
364
+
365
+    // ng-annotate tries to make the code safe for minification automatically
366
+    // by using the Angular long form for dependency injection.
367
+    ngAnnotate: {
368
+      dist: {
369
+        files: [{
370
+          expand: true,
371
+          cwd: '.tmp/concat/scripts',
372
+          src: '*.js',
373
+          dest: '.tmp/concat/scripts'
374
+        }]
375
+      }
376
+    },
377
+
378
+    // Replace Google CDN references
379
+    cdnify: {
380
+      dist: {
381
+        html: ['<%= yeoman.dist %>/*.html']
382
+      }
383
+    },
384
+
385
+    // Copies remaining files to places other tasks can use
386
+    copy: {
387
+      dist: {
388
+        files: [{
389
+          expand: true,
390
+          dot: true,
391
+          cwd: '<%= yeoman.app %>',
392
+          dest: '<%= yeoman.dist %>',
393
+          src: [
394
+            '*.{ico,png,txt}',
395
+            '.htaccess',
396
+            '*.html',
397
+            'images/{,*/}*.{webp}',
398
+            'styles/fonts/{,*/}*.*'
399
+          ]
400
+        }, {
401
+          expand: true,
402
+          cwd: '.tmp/images',
403
+          dest: '<%= yeoman.dist %>/images',
404
+          src: ['generated/*']
405
+        }, {
406
+          expand: true,
407
+          cwd: '.',
408
+          src: 'bower_components/bootstrap-sass-official/assets/fonts/bootstrap/*',
409
+          dest: '<%= yeoman.dist %>'
410
+        }]
411
+      },
412
+      styles: {
413
+        expand: true,
414
+        cwd: '<%= yeoman.app %>/styles',
415
+        dest: '.tmp/styles/',
416
+        src: '{,*/}*.css'
417
+      }
418
+    },
419
+
420
+    // Run some tasks in parallel to speed up the build process
421
+    concurrent: {
422
+      server: [
423
+        'compass:server'
424
+      ],
425
+      test: [
426
+        'compass'
427
+      ],
428
+      dist: [
429
+        'compass:dist',
430
+        'imagemin',
431
+        'svgmin'
432
+      ]
433
+    },
434
+
435
+    // Test settings
436
+    karma: {
437
+      unit: {
438
+        configFile: 'test/karma.conf.js',
439
+        singleRun: true
440
+      }
441
+    }
442
+  });
443
+
444
+
445
+  grunt.registerTask('serve', 'Compile then start a connect web server', function (target) {
446
+    if (target === 'dist') {
447
+      return grunt.task.run(['build', 'connect:dist:keepalive']);
448
+    }
449
+
450
+    grunt.task.run([
451
+      'clean:server',
452
+      'wiredep',
453
+      'concurrent:server',
454
+      'autoprefixer:server',
455
+      'connect:livereload',
456
+      'watch'
457
+    ]);
458
+  });
459
+
460
+  grunt.registerTask('server', 'DEPRECATED TASK. Use the "serve" task instead', function (target) {
461
+    grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.');
462
+    grunt.task.run(['serve:' + target]);
463
+  });
464
+
465
+  grunt.registerTask('test', [
466
+    'clean:server',
467
+    'wiredep',
468
+    'concurrent:test',
469
+    'autoprefixer',
470
+    'connect:test',
471
+    'karma'
472
+  ]);
473
+
474
+  grunt.registerTask('build', [
475
+    'clean:dist',
476
+    'wiredep',
477
+    'useminPrepare',
478
+    'concurrent:dist',
479
+    'autoprefixer',
480
+    'ngtemplates',
481
+    'concat',
482
+    'ngAnnotate',
483
+    'copy:dist',
484
+    'cdnify',
485
+    'cssmin',
486
+    'uglify',
487
+    'filerev',
488
+    'usemin',
489
+    'htmlmin'
490
+  ]);
491
+
492
+  grunt.registerTask('default', [
493
+    'newer:jshint',
494
+    'test',
495
+    'build'
496
+  ]);
497
+};

+ 12 - 0
README.md

@@ -0,0 +1,12 @@
1
+# landing-page
2
+
3
+This project is generated with [yo angular generator](https://github.com/yeoman/generator-angular)
4
+version 0.12.1.
5
+
6
+## Build & development
7
+
8
+Run `grunt` for building and `grunt serve` for preview.
9
+
10
+## Testing
11
+
12
+Running `grunt test` will run the unit tests with karma.

+ 1 - 0
app/.buildignore

@@ -0,0 +1 @@
1
+*.coffee

+ 543 - 0
app/.htaccess

@@ -0,0 +1,543 @@
1
+# Apache Configuration File
2
+
3
+# (!) Using `.htaccess` files slows down Apache, therefore, if you have access
4
+# to the main server config file (usually called `httpd.conf`), you should add
5
+# this logic there: http://httpd.apache.org/docs/current/howto/htaccess.html.
6
+
7
+# ##############################################################################
8
+# # CROSS-ORIGIN RESOURCE SHARING (CORS)                                       #
9
+# ##############################################################################
10
+
11
+# ------------------------------------------------------------------------------
12
+# | Cross-domain AJAX requests                                                 |
13
+# ------------------------------------------------------------------------------
14
+
15
+# Enable cross-origin AJAX requests.
16
+# http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity
17
+# http://enable-cors.org/
18
+
19
+# <IfModule mod_headers.c>
20
+#    Header set Access-Control-Allow-Origin "*"
21
+# </IfModule>
22
+
23
+# ------------------------------------------------------------------------------
24
+# | CORS-enabled images                                                        |
25
+# ------------------------------------------------------------------------------
26
+
27
+# Send the CORS header for images when browsers request it.
28
+# https://developer.mozilla.org/en/CORS_Enabled_Image
29
+# http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
30
+# http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
31
+
32
+<IfModule mod_setenvif.c>
33
+    <IfModule mod_headers.c>
34
+        <FilesMatch "\.(gif|ico|jpe?g|png|svg|svgz|webp)$">
35
+            SetEnvIf Origin ":" IS_CORS
36
+            Header set Access-Control-Allow-Origin "*" env=IS_CORS
37
+        </FilesMatch>
38
+    </IfModule>
39
+</IfModule>
40
+
41
+# ------------------------------------------------------------------------------
42
+# | Web fonts access                                                           |
43
+# ------------------------------------------------------------------------------
44
+
45
+# Allow access from all domains for web fonts
46
+
47
+<IfModule mod_headers.c>
48
+    <FilesMatch "\.(eot|font.css|otf|ttc|ttf|woff)$">
49
+        Header set Access-Control-Allow-Origin "*"
50
+    </FilesMatch>
51
+</IfModule>
52
+
53
+
54
+# ##############################################################################
55
+# # ERRORS                                                                     #
56
+# ##############################################################################
57
+
58
+# ------------------------------------------------------------------------------
59
+# | 404 error prevention for non-existing redirected folders                   |
60
+# ------------------------------------------------------------------------------
61
+
62
+# Prevent Apache from returning a 404 error for a rewrite if a directory
63
+# with the same name does not exist.
64
+# http://httpd.apache.org/docs/current/content-negotiation.html#multiviews
65
+# http://www.webmasterworld.com/apache/3808792.htm
66
+
67
+Options -MultiViews
68
+
69
+# ------------------------------------------------------------------------------
70
+# | Custom error messages / pages                                              |
71
+# ------------------------------------------------------------------------------
72
+
73
+# You can customize what Apache returns to the client in case of an error (see
74
+# http://httpd.apache.org/docs/current/mod/core.html#errordocument), e.g.:
75
+
76
+ErrorDocument 404 /404.html
77
+
78
+
79
+# ##############################################################################
80
+# # INTERNET EXPLORER                                                          #
81
+# ##############################################################################
82
+
83
+# ------------------------------------------------------------------------------
84
+# | Better website experience                                                  |
85
+# ------------------------------------------------------------------------------
86
+
87
+# Force IE to render pages in the highest available mode in the various
88
+# cases when it may not: http://hsivonen.iki.fi/doctype/ie-mode.pdf.
89
+
90
+<IfModule mod_headers.c>
91
+    Header set X-UA-Compatible "IE=edge"
92
+    # `mod_headers` can't match based on the content-type, however, we only
93
+    # want to send this header for HTML pages and not for the other resources
94
+    <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webapp|webm|webp|woff|xml|xpi)$">
95
+        Header unset X-UA-Compatible
96
+    </FilesMatch>
97
+</IfModule>
98
+
99
+# ------------------------------------------------------------------------------
100
+# | Cookie setting from iframes                                                |
101
+# ------------------------------------------------------------------------------
102
+
103
+# Allow cookies to be set from iframes in IE.
104
+
105
+# <IfModule mod_headers.c>
106
+#   Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
107
+# </IfModule>
108
+
109
+# ------------------------------------------------------------------------------
110
+# | Screen flicker                                                             |
111
+# ------------------------------------------------------------------------------
112
+
113
+# Stop screen flicker in IE on CSS rollovers (this only works in
114
+# combination with the `ExpiresByType` directives for images from below).
115
+
116
+# BrowserMatch "MSIE" brokenvary=1
117
+# BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
118
+# BrowserMatch "Opera" !brokenvary
119
+# SetEnvIf brokenvary 1 force-no-vary
120
+
121
+
122
+# ##############################################################################
123
+# # MIME TYPES AND ENCODING                                                    #
124
+# ##############################################################################
125
+
126
+# ------------------------------------------------------------------------------
127
+# | Proper MIME types for all files                                            |
128
+# ------------------------------------------------------------------------------
129
+
130
+<IfModule mod_mime.c>
131
+
132
+  # Audio
133
+    AddType audio/mp4                                   m4a f4a f4b
134
+    AddType audio/ogg                                   oga ogg
135
+
136
+  # JavaScript
137
+    # Normalize to standard type (it's sniffed in IE anyways):
138
+    # http://tools.ietf.org/html/rfc4329#section-7.2
139
+    AddType application/javascript                      js jsonp
140
+    AddType application/json                            json
141
+
142
+  # Video
143
+    AddType video/mp4                                   mp4 m4v f4v f4p
144
+    AddType video/ogg                                   ogv
145
+    AddType video/webm                                  webm
146
+    AddType video/x-flv                                 flv
147
+
148
+  # Web fonts
149
+    AddType application/font-woff                       woff
150
+    AddType application/vnd.ms-fontobject               eot
151
+
152
+    # Browsers usually ignore the font MIME types and sniff the content,
153
+    # however, Chrome shows a warning if other MIME types are used for the
154
+    # following fonts.
155
+    AddType application/x-font-ttf                      ttc ttf
156
+    AddType font/opentype                               otf
157
+
158
+    # Make SVGZ fonts work on iPad:
159
+    # https://twitter.com/FontSquirrel/status/14855840545
160
+    AddType     image/svg+xml                           svg svgz
161
+    AddEncoding gzip                                    svgz
162
+
163
+  # Other
164
+    AddType application/octet-stream                    safariextz
165
+    AddType application/x-chrome-extension              crx
166
+    AddType application/x-opera-extension               oex
167
+    AddType application/x-shockwave-flash               swf
168
+    AddType application/x-web-app-manifest+json         webapp
169
+    AddType application/x-xpinstall                     xpi
170
+    AddType application/xml                             atom rdf rss xml
171
+    AddType image/webp                                  webp
172
+    AddType image/x-icon                                ico
173
+    AddType text/cache-manifest                         appcache manifest
174
+    AddType text/vtt                                    vtt
175
+    AddType text/x-component                            htc
176
+    AddType text/x-vcard                                vcf
177
+
178
+</IfModule>
179
+
180
+# ------------------------------------------------------------------------------
181
+# | UTF-8 encoding                                                             |
182
+# ------------------------------------------------------------------------------
183
+
184
+# Use UTF-8 encoding for anything served as `text/html` or `text/plain`.
185
+AddDefaultCharset utf-8
186
+
187
+# Force UTF-8 for certain file formats.
188
+<IfModule mod_mime.c>
189
+    AddCharset utf-8 .atom .css .js .json .rss .vtt .webapp .xml
190
+</IfModule>
191
+
192
+
193
+# ##############################################################################
194
+# # URL REWRITES                                                               #
195
+# ##############################################################################
196
+
197
+# ------------------------------------------------------------------------------
198
+# | Rewrite engine                                                             |
199
+# ------------------------------------------------------------------------------
200
+
201
+# Turning on the rewrite engine and enabling the `FollowSymLinks` option is
202
+# necessary for the following directives to work.
203
+
204
+# If your web host doesn't allow the `FollowSymlinks` option, you may need to
205
+# comment it out and use `Options +SymLinksIfOwnerMatch` but, be aware of the
206
+# performance impact: http://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks
207
+
208
+# Also, some cloud hosting services require `RewriteBase` to be set:
209
+# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-mod-rewrite-not-working-on-my-site
210
+
211
+<IfModule mod_rewrite.c>
212
+    Options +FollowSymlinks
213
+  # Options +SymLinksIfOwnerMatch
214
+    RewriteEngine On
215
+  # RewriteBase /
216
+</IfModule>
217
+
218
+# ------------------------------------------------------------------------------
219
+# | Suppressing / Forcing the "www." at the beginning of URLs                  |
220
+# ------------------------------------------------------------------------------
221
+
222
+# The same content should never be available under two different URLs especially
223
+# not with and without "www." at the beginning. This can cause SEO problems
224
+# (duplicate content), therefore, you should choose one of the alternatives and
225
+# redirect the other one.
226
+
227
+# By default option 1 (no "www.") is activated:
228
+# http://no-www.org/faq.php?q=class_b
229
+
230
+# If you'd prefer to use option 2, just comment out all the lines from option 1
231
+# and uncomment the ones from option 2.
232
+
233
+# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME!
234
+
235
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
236
+
237
+# Option 1: rewrite www.example.com → example.com
238
+
239
+<IfModule mod_rewrite.c>
240
+    RewriteCond %{HTTPS} !=on
241
+    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
242
+    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
243
+</IfModule>
244
+
245
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
246
+
247
+# Option 2: rewrite example.com → www.example.com
248
+
249
+# Be aware that the following might not be a good idea if you use "real"
250
+# subdomains for certain parts of your website.
251
+
252
+# <IfModule mod_rewrite.c>
253
+#    RewriteCond %{HTTPS} !=on
254
+#    RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
255
+#    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
256
+# </IfModule>
257
+
258
+
259
+# ##############################################################################
260
+# # SECURITY                                                                   #
261
+# ##############################################################################
262
+
263
+# ------------------------------------------------------------------------------
264
+# | Content Security Policy (CSP)                                              |
265
+# ------------------------------------------------------------------------------
266
+
267
+# You can mitigate the risk of cross-site scripting and other content-injection
268
+# attacks by setting a Content Security Policy which whitelists trusted sources
269
+# of content for your site.
270
+
271
+# The example header below allows ONLY scripts that are loaded from the current
272
+# site's origin (no inline scripts, no CDN, etc). This almost certainly won't
273
+# work as-is for your site!
274
+
275
+# To get all the details you'll need to craft a reasonable policy for your site,
276
+# read: http://html5rocks.com/en/tutorials/security/content-security-policy (or
277
+# see the specification: http://w3.org/TR/CSP).
278
+
279
+# <IfModule mod_headers.c>
280
+#    Header set Content-Security-Policy "script-src 'self'; object-src 'self'"
281
+#    <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webapp|webm|webp|woff|xml|xpi)$">
282
+#        Header unset Content-Security-Policy
283
+#    </FilesMatch>
284
+# </IfModule>
285
+
286
+# ------------------------------------------------------------------------------
287
+# | File access                                                                |
288
+# ------------------------------------------------------------------------------
289
+
290
+# Block access to directories without a default document.
291
+# Usually you should leave this uncommented because you shouldn't allow anyone
292
+# to surf through every directory on your server (which may includes rather
293
+# private places like the CMS's directories).
294
+
295
+<IfModule mod_autoindex.c>
296
+    Options -Indexes
297
+</IfModule>
298
+
299
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
300
+
301
+# Block access to hidden files and directories.
302
+# This includes directories used by version control systems such as Git and SVN.
303
+
304
+<IfModule mod_rewrite.c>
305
+    RewriteCond %{SCRIPT_FILENAME} -d [OR]
306
+    RewriteCond %{SCRIPT_FILENAME} -f
307
+    RewriteRule "(^|/)\." - [F]
308
+</IfModule>
309
+
310
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
311
+
312
+# Block access to backup and source files.
313
+# These files may be left by some text editors and can pose a great security
314
+# danger when anyone has access to them.
315
+
316
+<FilesMatch "(^#.*#|\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|sw[op])|~)$">
317
+    Order allow,deny
318
+    Deny from all
319
+    Satisfy All
320
+</FilesMatch>
321
+
322
+# ------------------------------------------------------------------------------
323
+# | Secure Sockets Layer (SSL)                                                 |
324
+# ------------------------------------------------------------------------------
325
+
326
+# Rewrite secure requests properly to prevent SSL certificate warnings, e.g.:
327
+# prevent `https://www.example.com` when your certificate only allows
328
+# `https://secure.example.com`.
329
+
330
+# <IfModule mod_rewrite.c>
331
+#    RewriteCond %{SERVER_PORT} !^443
332
+#    RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L]
333
+# </IfModule>
334
+
335
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
336
+
337
+# Force client-side SSL redirection.
338
+
339
+# If a user types "example.com" in his browser, the above rule will redirect him
340
+# to the secure version of the site. That still leaves a window of opportunity
341
+# (the initial HTTP connection) for an attacker to downgrade or redirect the
342
+# request. The following header ensures that browser will ONLY connect to your
343
+# server via HTTPS, regardless of what the users type in the address bar.
344
+# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/
345
+
346
+# <IfModule mod_headers.c>
347
+#    Header set Strict-Transport-Security max-age=16070400;
348
+# </IfModule>
349
+
350
+# ------------------------------------------------------------------------------
351
+# | Server software information                                                |
352
+# ------------------------------------------------------------------------------
353
+
354
+# Avoid displaying the exact Apache version number, the description of the
355
+# generic OS-type and the information about Apache's compiled-in modules.
356
+
357
+# ADD THIS DIRECTIVE IN THE `httpd.conf` AS IT WILL NOT WORK IN THE `.htaccess`!
358
+
359
+# ServerTokens Prod
360
+
361
+
362
+# ##############################################################################
363
+# # WEB PERFORMANCE                                                            #
364
+# ##############################################################################
365
+
366
+# ------------------------------------------------------------------------------
367
+# | Compression                                                                |
368
+# ------------------------------------------------------------------------------
369
+
370
+<IfModule mod_deflate.c>
371
+
372
+    # Force compression for mangled headers.
373
+    # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
374
+    <IfModule mod_setenvif.c>
375
+        <IfModule mod_headers.c>
376
+            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
377
+            RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
378
+        </IfModule>
379
+    </IfModule>
380
+
381
+    # Compress all output labeled with one of the following MIME-types
382
+    # (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
383
+    #  and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
384
+    #  as `AddOutputFilterByType` is still in the core directives).
385
+    <IfModule mod_filter.c>
386
+        AddOutputFilterByType DEFLATE application/atom+xml \
387
+                                      application/javascript \
388
+                                      application/json \
389
+                                      application/rss+xml \
390
+                                      application/vnd.ms-fontobject \
391
+                                      application/x-font-ttf \
392
+                                      application/x-web-app-manifest+json \
393
+                                      application/xhtml+xml \
394
+                                      application/xml \
395
+                                      font/opentype \
396
+                                      image/svg+xml \
397
+                                      image/x-icon \
398
+                                      text/css \
399
+                                      text/html \
400
+                                      text/plain \
401
+                                      text/x-component \
402
+                                      text/xml
403
+    </IfModule>
404
+
405
+</IfModule>
406
+
407
+# ------------------------------------------------------------------------------
408
+# | Content transformations                                                    |
409
+# ------------------------------------------------------------------------------
410
+
411
+# Prevent some of the mobile network providers from modifying the content of
412
+# your site: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5.
413
+
414
+# <IfModule mod_headers.c>
415
+#    Header set Cache-Control "no-transform"
416
+# </IfModule>
417
+
418
+# ------------------------------------------------------------------------------
419
+# | ETag removal                                                               |
420
+# ------------------------------------------------------------------------------
421
+
422
+# Since we're sending far-future expires headers (see below), ETags can
423
+# be removed: http://developer.yahoo.com/performance/rules.html#etags.
424
+
425
+# `FileETag None` is not enough for every server.
426
+<IfModule mod_headers.c>
427
+    Header unset ETag
428
+</IfModule>
429
+
430
+FileETag None
431
+
432
+# ------------------------------------------------------------------------------
433
+# | Expires headers (for better cache control)                                 |
434
+# ------------------------------------------------------------------------------
435
+
436
+# The following expires headers are set pretty far in the future. If you don't
437
+# control versioning with filename-based cache busting, consider lowering the
438
+# cache time for resources like CSS and JS to something like 1 week.
439
+
440
+<IfModule mod_expires.c>
441
+
442
+    ExpiresActive on
443
+    ExpiresDefault                                      "access plus 1 month"
444
+
445
+  # CSS
446
+    ExpiresByType text/css                              "access plus 1 year"
447
+
448
+  # Data interchange
449
+    ExpiresByType application/json                      "access plus 0 seconds"
450
+    ExpiresByType application/xml                       "access plus 0 seconds"
451
+    ExpiresByType text/xml                              "access plus 0 seconds"
452
+
453
+  # Favicon (cannot be renamed!)
454
+    ExpiresByType image/x-icon                          "access plus 1 week"
455
+
456
+  # HTML components (HTCs)
457
+    ExpiresByType text/x-component                      "access plus 1 month"
458
+
459
+  # HTML
460
+    ExpiresByType text/html                             "access plus 0 seconds"
461
+
462
+  # JavaScript
463
+    ExpiresByType application/javascript                "access plus 1 year"
464
+
465
+  # Manifest files
466
+    ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
467
+    ExpiresByType text/cache-manifest                   "access plus 0 seconds"
468
+
469
+  # Media
470
+    ExpiresByType audio/ogg                             "access plus 1 month"
471
+    ExpiresByType image/gif                             "access plus 1 month"
472
+    ExpiresByType image/jpeg                            "access plus 1 month"
473
+    ExpiresByType image/png                             "access plus 1 month"
474
+    ExpiresByType video/mp4                             "access plus 1 month"
475
+    ExpiresByType video/ogg                             "access plus 1 month"
476
+    ExpiresByType video/webm                            "access plus 1 month"
477
+
478
+  # Web feeds
479
+    ExpiresByType application/atom+xml                  "access plus 1 hour"
480
+    ExpiresByType application/rss+xml                   "access plus 1 hour"
481
+
482
+  # Web fonts
483
+    ExpiresByType application/font-woff                 "access plus 1 month"
484
+    ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
485
+    ExpiresByType application/x-font-ttf                "access plus 1 month"
486
+    ExpiresByType font/opentype                         "access plus 1 month"
487
+    ExpiresByType image/svg+xml                         "access plus 1 month"
488
+
489
+</IfModule>
490
+
491
+# ------------------------------------------------------------------------------
492
+# | Filename-based cache busting                                               |
493
+# ------------------------------------------------------------------------------
494
+
495
+# If you're not using a build process to manage your filename version revving,
496
+# you might want to consider enabling the following directives to route all
497
+# requests such as `/css/style.12345.css` to `/css/style.css`.
498
+
499
+# To understand why this is important and a better idea than `*.css?v231`, read:
500
+# http://stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring
501
+
502
+# <IfModule mod_rewrite.c>
503
+#    RewriteCond %{REQUEST_FILENAME} !-f
504
+#    RewriteCond %{REQUEST_FILENAME} !-d
505
+#    RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
506
+# </IfModule>
507
+
508
+# ------------------------------------------------------------------------------
509
+# | File concatenation                                                         |
510
+# ------------------------------------------------------------------------------
511
+
512
+# Allow concatenation from within specific CSS and JS files, e.g.:
513
+# Inside of `script.combined.js` you could have
514
+#   <!--#include file="libs/jquery.js" -->
515
+#   <!--#include file="plugins/jquery.idletimer.js" -->
516
+# and they would be included into this single file.
517
+
518
+# <IfModule mod_include.c>
519
+#    <FilesMatch "\.combined\.js$">
520
+#        Options +Includes
521
+#        AddOutputFilterByType INCLUDES application/javascript application/json
522
+#        SetOutputFilter INCLUDES
523
+#    </FilesMatch>
524
+#    <FilesMatch "\.combined\.css$">
525
+#        Options +Includes
526
+#        AddOutputFilterByType INCLUDES text/css
527
+#        SetOutputFilter INCLUDES
528
+#    </FilesMatch>
529
+# </IfModule>
530
+
531
+# ------------------------------------------------------------------------------
532
+# | Persistent connections                                                     |
533
+# ------------------------------------------------------------------------------
534
+
535
+# Allow multiple requests to be sent over the same TCP connection:
536
+# http://httpd.apache.org/docs/current/en/mod/core.html#keepalive.
537
+
538
+# Enable if you serve a lot of static content but, be aware of the
539
+# possible disadvantages!
540
+
541
+# <IfModule mod_headers.c>
542
+#    Header set Connection Keep-Alive
543
+# </IfModule>

+ 152 - 0
app/404.html

@@ -0,0 +1,152 @@
1
+<!doctype html>
2
+<html lang="en">
3
+  <head>
4
+    <meta charset="utf-8">
5
+    <title>Page Not Found :(</title>
6
+    <style>
7
+      ::-moz-selection {
8
+        background: #b3d4fc;
9
+        text-shadow: none;
10
+      }
11
+
12
+      ::selection {
13
+        background: #b3d4fc;
14
+        text-shadow: none;
15
+      }
16
+
17
+      html {
18
+        padding: 30px 10px;
19
+        font-size: 20px;
20
+        line-height: 1.4;
21
+        color: #737373;
22
+        background: #f0f0f0;
23
+        -webkit-text-size-adjust: 100%;
24
+        -ms-text-size-adjust: 100%;
25
+      }
26
+
27
+      html,
28
+      input {
29
+        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
30
+      }
31
+
32
+      body {
33
+        max-width: 500px;
34
+        padding: 30px 20px 50px;
35
+        border: 1px solid #b3b3b3;
36
+        border-radius: 4px;
37
+        margin: 0 auto;
38
+        box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
39
+        background: #fcfcfc;
40
+      }
41
+
42
+      h1 {
43
+        margin: 0 10px;
44
+        font-size: 50px;
45
+        text-align: center;
46
+      }
47
+
48
+      h1 span {
49
+        color: #bbb;
50
+      }
51
+
52
+      h3 {
53
+        margin: 1.5em 0 0.5em;
54
+      }
55
+
56
+      p {
57
+        margin: 1em 0;
58
+      }
59
+
60
+      ul {
61
+        padding: 0 0 0 40px;
62
+        margin: 1em 0;
63
+      }
64
+
65
+      .container {
66
+        max-width: 380px;
67
+        margin: 0 auto;
68
+      }
69
+
70
+      /* google search */
71
+
72
+      #goog-fixurl ul {
73
+        list-style: none;
74
+        padding: 0;
75
+        margin: 0;
76
+      }
77
+
78
+      #goog-fixurl form {
79
+        margin: 0;
80
+      }
81
+
82
+      #goog-wm-qt,
83
+      #goog-wm-sb {
84
+        border: 1px solid #bbb;
85
+        font-size: 16px;
86
+        line-height: normal;
87
+        vertical-align: top;
88
+        color: #444;
89
+        border-radius: 2px;
90
+      }
91
+
92
+      #goog-wm-qt {
93
+        width: 220px;
94
+        height: 20px;
95
+        padding: 5px;
96
+        margin: 5px 10px 0 0;
97
+        box-shadow: inset 0 1px 1px #ccc;
98
+      }
99
+
100
+      #goog-wm-sb {
101
+        display: inline-block;
102
+        height: 32px;
103
+        padding: 0 10px;
104
+        margin: 5px 0 0;
105
+        white-space: nowrap;
106
+        cursor: pointer;
107
+        background-color: #f5f5f5;
108
+        background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1);
109
+        background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1);
110
+        background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1);
111
+        background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1);
112
+        -webkit-appearance: none;
113
+        -moz-appearance: none;
114
+        appearance: none;
115
+      }
116
+
117
+      #goog-wm-sb:hover,
118
+      #goog-wm-sb:focus {
119
+        border-color: #aaa;
120
+        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
121
+        background-color: #f8f8f8;
122
+      }
123
+
124
+      #goog-wm-qt:hover,
125
+      #goog-wm-qt:focus {
126
+        border-color: #105cb6;
127
+        outline: 0;
128
+        color: #222;
129
+      }
130
+
131
+      input::-moz-focus-inner {
132
+        padding: 0;
133
+        border: 0;
134
+      }
135
+    </style>
136
+  </head>
137
+  <body>
138
+    <div class="container">
139
+      <h1>Not found <span>:(</span></h1>
140
+      <p>Sorry, but the page you were trying to view does not exist.</p>
141
+      <p>It looks like this was the result of either:</p>
142
+      <ul>
143
+        <li>a mistyped address</li>
144
+        <li>an out-of-date link</li>
145
+      </ul>
146
+      <script>
147
+        var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host;
148
+      </script>
149
+      <script src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
150
+    </div>
151
+  </body>
152
+</html>

BIN
app/favicon.ico


BIN
app/images/jamesperet-logo-white.png


BIN
app/images/yeoman.png


+ 59 - 0
app/index.html

@@ -0,0 +1,59 @@
1
+<!doctype html>
2
+<html>
3
+  <head>
4
+    <meta charset="utf-8">
5
+    <title>James Peret</title>
6
+    <meta name="description" content="">
7
+    <meta name="viewport" content="width=device-width">
8
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
9
+    <!-- build:css(.) styles/vendor.css -->
10
+    <!-- bower:css -->
11
+    <!-- endbower -->
12
+    <!-- endbuild -->
13
+    <!-- build:css(.tmp) styles/main.css -->
14
+    <link rel="stylesheet" href="styles/main.css">
15
+    <link rel="stylesheet" href="styles/styles.css">
16
+    <link rel="stylesheet" href="styles/stars-bg.css">
17
+    <!-- endbuild -->
18
+  </head>
19
+  <body ng-app="landingPageApp">
20
+    <!--[if lte IE 8]>
21
+      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
22
+    <![endif]-->
23
+
24
+    <!-- Add your site or application content here -->
25
+
26
+    <div id="stars"></div>
27
+    <div id="stars2"></div>
28
+
29
+    <div ui-view></div>
30
+
31
+    <!-- Google Analytics: change UA-XXXXX-X to be your site's ID -->
32
+     <script>
33
+       !function(A,n,g,u,l,a,r){A.GoogleAnalyticsObject=l,A[l]=A[l]||function(){
34
+       (A[l].q=A[l].q||[]).push(arguments)},A[l].l=+new Date,a=n.createElement(g),
35
+       r=n.getElementsByTagName(g)[0],a.src=u,r.parentNode.insertBefore(a,r)
36
+       }(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
37
+
38
+       ga('create', 'UA-XXXXX-X');
39
+       ga('send', 'pageview');
40
+    </script>
41
+
42
+    <!-- build:js(.) scripts/vendor.js -->
43
+    <!-- bower:js -->
44
+    <script src="bower_components/jquery/dist/jquery.js"></script>
45
+    <script src="bower_components/angular/angular.js"></script>
46
+    <script src="bower_components/bootstrap-sass-official/assets/javascripts/bootstrap.js"></script>
47
+    <script src="bower_components/angular-animate/angular-animate.js"></script>
48
+    <script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
49
+    <script src="bower_components/angular-touch/angular-touch.js"></script>
50
+    <!-- endbower -->
51
+    <!-- endbuild -->
52
+
53
+        <!-- build:js({.tmp,app}) scripts/scripts.js -->
54
+        <script src="scripts/app.js"></script>
55
+        <script src="scripts/controllers/main.js"></script>
56
+        <script src="scripts/controllers/now.js"></script>
57
+        <!-- endbuild -->
58
+</body>
59
+</html>

+ 4 - 0
app/robots.txt

@@ -0,0 +1,4 @@
1
+# robotstxt.org
2
+
3
+User-agent: *
4
+Disallow:

+ 44 - 0
app/scripts/app.js

@@ -0,0 +1,44 @@
1
+'use strict';
2
+
3
+/**
4
+ * @ngdoc overview
5
+ * @name landingPageApp
6
+ * @description
7
+ * # landingPageApp
8
+ *
9
+ * Main module of the application.
10
+ */
11
+angular
12
+  .module('landingPageApp', [
13
+    'ngAnimate',
14
+    'ngSanitize',
15
+    'ngTouch',
16
+    'ui.router'
17
+  ])
18
+
19
+  .config(['$stateProvider', '$urlRouterProvider', '$httpProvider', function($stateProvider, $urlRouterProvider, $httpProvider) {
20
+
21
+    // Configs
22
+    //Enable cross domain calls
23
+    $httpProvider.defaults.useXDomain = true;
24
+    //Remove the header used to identify ajax call  that would prevent CORS from working
25
+    delete $httpProvider.defaults.headers.common['X-Requested-With'];
26
+
27
+    // UI router
28
+    // For any unmatched url, redirect to /state1
29
+
30
+    $stateProvider
31
+    .state('main', {
32
+      url: "/",
33
+      templateUrl: 'views/main.html',
34
+      controller: 'MainCtrl'
35
+    })
36
+    .state('now', {
37
+      url: "/now",
38
+      templateUrl: 'views/now.html',
39
+      controller: 'NowCtrl'
40
+    })
41
+    $urlRouterProvider.otherwise("/");
42
+
43
+
44
+  }]);

+ 19 - 0
app/scripts/controllers/main.js

@@ -0,0 +1,19 @@
1
+'use strict';
2
+
3
+/**
4
+ * @ngdoc function
5
+ * @name landingPageApp.controller:MainCtrl
6
+ * @description
7
+ * # MainCtrl
8
+ * Controller of the landingPageApp
9
+ */
10
+angular.module('landingPageApp')
11
+  .controller('MainCtrl', ['$window', function ($window) {
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
+    }
19
+  }]);

+ 20 - 0
app/scripts/controllers/now.js

@@ -0,0 +1,20 @@
1
+'use strict';
2
+
3
+/**
4
+ * @ngdoc function
5
+ * @name landingPageApp.controller:MainCtrl
6
+ * @description
7
+ * # MainCtrl
8
+ * Controller of the landingPageApp
9
+ */
10
+angular.module('landingPageApp')
11
+  .controller('NowCtrl', ['$window', function ($window) {
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
+    }
19
+    console.log("Showing page NOW");
20
+  }]);

+ 91 - 0
app/styles/main.scss

@@ -0,0 +1,91 @@
1
+$icon-font-path: "../bower_components/bootstrap-sass-official/assets/fonts/bootstrap/";
2
+// bower:scss
3
+@import "bootstrap-sass-official/assets/stylesheets/_bootstrap.scss";
4
+// endbower
5
+
6
+.browsehappy {
7
+  margin: 0.2em 0;
8
+  background: #ccc;
9
+  color: #000;
10
+  padding: 0.2em 0;
11
+}
12
+
13
+body {
14
+  padding: 0;
15
+}
16
+
17
+/* Everything but the jumbotron gets side spacing for mobile first views */
18
+.header,
19
+.marketing,
20
+.footer {
21
+  padding-left: 15px;
22
+  padding-right: 15px;
23
+}
24
+
25
+/* Custom page header */
26
+.header {
27
+  border-bottom: 1px solid #e5e5e5;
28
+  margin-bottom: 10px;
29
+
30
+  /* Make the masthead heading the same height as the navigation */
31
+  h3 {
32
+    margin-top: 0;
33
+    margin-bottom: 0;
34
+    line-height: 40px;
35
+    padding-bottom: 19px;
36
+  }
37
+}
38
+
39
+/* Custom page footer */
40
+.footer {
41
+  padding-top: 19px;
42
+  color: #777;
43
+  border-top: 1px solid #e5e5e5;
44
+}
45
+
46
+.container-narrow > hr {
47
+  margin: 30px 0;
48
+}
49
+
50
+/* Main marketing message and sign up button */
51
+.jumbotron {
52
+  text-align: center;
53
+  border-bottom: 1px solid #e5e5e5;
54
+
55
+  .btn {
56
+    font-size: 21px;
57
+    padding: 14px 24px;
58
+  }
59
+}
60
+
61
+/* Supporting marketing content */
62
+.marketing {
63
+  margin: 40px 0;
64
+
65
+  p + h4 {
66
+    margin-top: 28px;
67
+  }
68
+}
69
+
70
+/* Responsive: Portrait tablets and up */
71
+@media screen and (min-width: 768px) {
72
+  .container {
73
+    max-width: 730px;
74
+  }
75
+
76
+  /* Remove the padding we set earlier */
77
+  .header,
78
+  .marketing,
79
+  .footer {
80
+    padding-left: 0;
81
+    padding-right: 0;
82
+  }
83
+  /* Space out the masthead */
84
+  .header {
85
+    margin-bottom: 30px;
86
+  }
87
+  /* Remove the bottom border on the jumbotron for visual effect */
88
+  .jumbotron {
89
+    border-bottom: 0;
90
+  }
91
+}

+ 85 - 0
app/styles/stars-bg.css

@@ -0,0 +1,85 @@
1
+html {
2
+  height: 100%;
3
+  background: radial-gradient(ellipse at bottom, #1b2735 0%, #090a0f 100%);
4
+  overflow: hidden;
5
+}
6
+
7
+#stars {
8
+  width: 1px;
9
+  height: 1px;
10
+  background: transparent;
11
+  box-shadow: 1182px 478px #FFF , 766px 529px #FFF , 62px 156px #FFF , 972px 1950px #FFF , 847px 1093px #FFF , 908px 1187px #FFF , 910px 159px #FFF , 1637px 1589px #FFF , 813px 1186px #FFF , 1211px 1141px #FFF , 448px 19px #FFF , 749px 736px #FFF , 1543px 563px #FFF , 1747px 420px #FFF , 1185px 25px #FFF , 543px 497px #FFF , 202px 261px #FFF , 1620px 41px #FFF , 430px 520px #FFF , 846px 813px #FFF , 1698px 440px #FFF , 1619px 1786px #FFF , 1767px 474px #FFF , 1021px 1806px #FFF , 304px 388px #FFF , 1149px 1360px #FFF , 443px 1125px #FFF , 1449px 751px #FFF , 37px 144px #FFF , 631px 632px #FFF , 945px 489px #FFF , 1152px 425px #FFF , 1074px 1099px #FFF , 1101px 546px #FFF , 1377px 1666px #FFF , 183px 1509px #FFF , 248px 527px #FFF , 1636px 145px #FFF , 1852px 1584px #FFF , 515px 1031px #FFF , 94px 1431px #FFF , 194px 960px #FFF , 1721px 1883px #FFF , 710px 455px #FFF , 1813px 443px #FFF , 1899px 1892px #FFF , 1528px 1143px #FFF , 927px 513px #FFF , 188px 852px #FFF , 1410px 1567px #FFF , 464px 1618px #FFF , 1404px 795px #FFF , 1638px 226px #FFF , 935px 1413px #FFF , 452px 644px #FFF , 928px 978px #FFF , 992px 1478px #FFF , 18px 1752px #FFF , 1302px 1175px #FFF , 1210px 1470px #FFF , 144px 1966px #FFF , 1056px 125px #FFF , 269px 623px #FFF , 1224px 580px #FFF , 1454px 1117px #FFF , 525px 360px #FFF , 592px 1118px #FFF , 1701px 562px #FFF , 4px 464px #FFF , 42px 1285px #FFF , 1179px 484px #FFF , 1575px 1349px #FFF , 255px 1639px #FFF , 1156px 411px #FFF , 1223px 1915px #FFF , 771px 346px #FFF , 1299px 759px #FFF , 1273px 729px #FFF , 698px 583px #FFF , 1443px 1100px #FFF , 1598px 708px #FFF , 938px 1518px #FFF , 121px 1318px #FFF , 1546px 791px #FFF , 1793px 1530px #FFF , 540px 227px #FFF , 39px 1436px #FFF , 201px 1258px #FFF , 1325px 2px #FFF , 1154px 1036px #FFF , 68px 1122px #FFF , 1912px 313px #FFF , 1137px 1884px #FFF , 1098px 1040px #FFF , 468px 240px #FFF , 362px 1894px #FFF , 1704px 278px #FFF , 729px 566px #FFF , 1414px 1004px #FFF , 1845px 776px #FFF , 187px 393px #FFF , 1599px 1700px #FFF , 915px 641px #FFF , 654px 1630px #FFF , 1229px 1644px #FFF , 1458px 543px #FFF , 136px 671px #FFF , 46px 1085px #FFF , 950px 952px #FFF , 1245px 752px #FFF , 1508px 1345px #FFF , 1725px 839px #FFF , 222px 408px #FFF , 1832px 169px #FFF , 546px 103px #FFF , 954px 1651px #FFF , 93px 1109px #FFF , 1737px 5px #FFF , 200px 1532px #FFF , 1184px 108px #FFF , 623px 817px #FFF , 1288px 26px #FFF , 292px 128px #FFF , 1722px 5px #FFF , 1013px 1803px #FFF , 1737px 592px #FFF , 1856px 840px #FFF , 392px 1540px #FFF , 1283px 785px #FFF , 1647px 630px #FFF , 1081px 1px #FFF , 1032px 1351px #FFF , 299px 26px #FFF , 530px 1404px #FFF , 1258px 1106px #FFF , 1018px 1923px #FFF , 1737px 1762px #FFF , 1618px 669px #FFF , 810px 697px #FFF , 329px 1099px #FFF , 1539px 867px #FFF , 686px 816px #FFF , 863px 1330px #FFF , 1406px 1420px #FFF , 1846px 629px #FFF , 558px 1428px #FFF , 1896px 834px #FFF , 376px 745px #FFF , 1990px 1550px #FFF , 1041px 889px #FFF , 1327px 886px #FFF , 61px 1614px #FFF , 8px 102px #FFF , 1181px 654px #FFF , 1268px 77px #FFF , 86px 328px #FFF , 1733px 1752px #FFF , 136px 1775px #FFF , 435px 702px #FFF , 348px 433px #FFF , 1628px 751px #FFF , 1337px 183px #FFF , 1944px 1180px #FFF , 1771px 98px #FFF , 1547px 1869px #FFF , 1109px 154px #FFF , 612px 331px #FFF , 1678px 1381px #FFF , 479px 1681px #FFF , 1190px 1978px #FFF , 930px 23px #FFF , 1099px 1472px #FFF , 262px 288px #FFF , 696px 202px #FFF , 1334px 543px #FFF , 509px 540px #FFF , 1542px 5px #FFF , 999px 1574px #FFF , 1812px 32px #FFF , 1219px 1994px #FFF , 1157px 148px #FFF , 1074px 396px #FFF , 799px 341px #FFF , 1560px 761px #FFF , 1958px 843px #FFF , 575px 1454px #FFF , 31px 1090px #FFF , 1755px 378px #FFF , 1922px 191px #FFF , 641px 295px #FFF , 217px 1791px #FFF , 744px 1333px #FFF , 1934px 1285px #FFF , 109px 1602px #FFF , 1502px 374px #FFF , 182px 1212px #FFF , 1301px 1398px #FFF , 1196px 1829px #FFF , 1661px 707px #FFF , 593px 1434px #FFF , 1626px 965px #FFF , 1762px 830px #FFF , 576px 1347px #FFF , 1302px 54px #FFF , 338px 722px #FFF , 1449px 1963px #FFF , 1155px 1165px #FFF , 362px 846px #FFF , 301px 914px #FFF , 1103px 1845px #FFF , 1521px 186px #FFF , 86px 461px #FFF , 222px 1348px #FFF , 312px 346px #FFF , 802px 1458px #FFF , 188px 316px #FFF , 64px 389px #FFF , 426px 17px #FFF , 1509px 1201px #FFF , 1060px 719px #FFF , 1041px 872px #FFF , 117px 1906px #FFF , 1970px 1075px #FFF , 1440px 606px #FFF , 205px 826px #FFF , 984px 441px #FFF , 788px 1804px #FFF , 94px 689px #FFF , 760px 1848px #FFF , 1829px 153px #FFF , 609px 1699px #FFF , 1442px 1243px #FFF , 1758px 160px #FFF , 1817px 507px #FFF , 1281px 139px #FFF , 610px 175px #FFF , 551px 28px #FFF , 521px 1392px #FFF , 1125px 1030px #FFF , 1846px 438px #FFF , 1913px 1480px #FFF , 1005px 1969px #FFF , 861px 170px #FFF , 625px 24px #FFF , 1309px 1022px #FFF , 916px 1741px #FFF , 1783px 1829px #FFF , 601px 1679px #FFF , 684px 1982px #FFF , 415px 1591px #FFF , 111px 193px #FFF , 909px 1606px #FFF , 760px 1799px #FFF , 54px 1535px #FFF , 1195px 1725px #FFF , 949px 841px #FFF , 1510px 1306px #FFF , 1865px 469px #FFF , 706px 1726px #FFF , 624px 50px #FFF , 1683px 708px #FFF , 1205px 448px #FFF , 36px 727px #FFF , 1904px 430px #FFF , 867px 447px #FFF , 1693px 1469px #FFF , 529px 959px #FFF , 703px 1513px #FFF , 1108px 1989px #FFF , 1523px 1180px #FFF , 651px 1322px #FFF , 576px 1595px #FFF , 280px 994px #FFF , 1492px 244px #FFF , 309px 1138px #FFF , 397px 449px #FFF , 756px 1109px #FFF , 986px 906px #FFF , 1956px 1780px #FFF , 1717px 1340px #FFF , 980px 1829px #FFF , 1381px 132px #FFF , 896px 50px #FFF , 240px 1024px #FFF , 865px 628px #FFF , 377px 1137px #FFF , 744px 1577px #FFF , 720px 1122px #FFF , 1138px 327px #FFF , 611px 554px #FFF , 1766px 1876px #FFF , 593px 585px #FFF , 1063px 700px #FFF , 961px 1570px #FFF , 297px 1123px #FFF , 1497px 717px #FFF , 6px 1949px #FFF , 1112px 1429px #FFF , 725px 515px #FFF , 1809px 29px #FFF , 282px 650px #FFF , 624px 1597px #FFF , 1103px 1155px #FFF , 1153px 968px #FFF , 389px 710px #FFF , 249px 397px #FFF , 1977px 1666px #FFF , 541px 1437px #FFF , 106px 751px #FFF , 1315px 844px #FFF , 1604px 721px #FFF , 300px 1509px #FFF , 1783px 1358px #FFF , 730px 899px #FFF , 203px 926px #FFF , 1195px 1725px #FFF , 1893px 558px #FFF , 1042px 1109px #FFF , 112px 1041px #FFF , 614px 137px #FFF , 934px 386px #FFF , 1025px 1288px #FFF , 381px 406px #FFF , 135px 1989px #FFF , 625px 1479px #FFF , 697px 1026px #FFF , 1170px 780px #FFF , 153px 1396px #FFF , 1706px 1067px #FFF , 1477px 568px #FFF , 943px 1094px #FFF , 1318px 105px #FFF , 1835px 202px #FFF , 458px 1354px #FFF , 1285px 1082px #FFF , 1807px 1339px #FFF , 263px 981px #FFF , 1095px 1213px #FFF , 967px 1159px #FFF , 1031px 1958px #FFF , 1987px 94px #FFF , 1323px 951px #FFF , 23px 1287px #FFF , 1637px 1323px #FFF , 128px 1208px #FFF , 272px 1526px #FFF , 83px 943px #FFF , 742px 1474px #FFF , 210px 53px #FFF , 530px 1192px #FFF , 212px 1702px #FFF , 985px 1654px #FFF , 1832px 452px #FFF , 638px 274px #FFF , 1741px 833px #FFF , 540px 109px #FFF , 1704px 957px #FFF , 1081px 1632px #FFF , 325px 211px #FFF , 923px 1210px #FFF , 258px 1295px #FFF , 1196px 829px #FFF , 28px 206px #FFF , 653px 991px #FFF , 281px 414px #FFF , 868px 1809px #FFF , 965px 873px #FFF , 577px 1575px #FFF , 1305px 25px #FFF , 263px 1115px #FFF , 1884px 1292px #FFF , 992px 1453px #FFF , 838px 1499px #FFF , 249px 1769px #FFF , 479px 538px #FFF , 819px 1830px #FFF , 86px 933px #FFF , 305px 559px #FFF , 1276px 979px #FFF , 1394px 16px #FFF , 1481px 1952px #FFF , 1060px 1065px #FFF , 221px 902px #FFF , 366px 1170px #FFF , 485px 1163px #FFF , 595px 1829px #FFF , 1943px 967px #FFF , 1460px 1753px #FFF , 406px 1455px #FFF , 1567px 694px #FFF , 88px 1806px #FFF , 2000px 1673px #FFF , 1482px 1778px #FFF , 1851px 1476px #FFF , 48px 331px #FFF , 1626px 1446px #FFF , 1479px 1843px #FFF , 521px 1656px #FFF , 127px 1560px #FFF , 991px 299px #FFF , 258px 1674px #FFF , 1461px 1180px #FFF , 115px 1643px #FFF , 394px 521px #FFF , 104px 1884px #FFF , 1330px 1559px #FFF , 814px 69px #FFF , 893px 1134px #FFF , 611px 1417px #FFF , 404px 849px #FFF , 1593px 466px #FFF , 1993px 577px #FFF , 1550px 666px #FFF , 165px 1395px #FFF , 136px 354px #FFF , 1347px 1999px #FFF , 373px 686px #FFF , 220px 1847px #FFF , 1679px 146px #FFF , 297px 336px #FFF , 324px 1000px #FFF , 490px 1176px #FFF , 2px 1472px #FFF , 704px 952px #FFF , 157px 626px #FFF , 1878px 928px #FFF , 949px 160px #FFF , 423px 94px #FFF , 1542px 1403px #FFF , 1886px 1082px #FFF , 1922px 946px #FFF , 1411px 1352px #FFF , 963px 1535px #FFF , 2px 593px #FFF , 260px 276px #FFF , 175px 1942px #FFF , 1575px 1229px #FFF , 522px 425px #FFF , 570px 1296px #FFF , 1812px 131px #FFF , 467px 229px #FFF , 642px 978px #FFF , 756px 950px #FFF , 1988px 1699px #FFF , 1449px 1165px #FFF , 101px 1890px #FFF , 444px 1002px #FFF , 1391px 166px #FFF , 1347px 675px #FFF , 843px 174px #FFF , 757px 1464px #FFF , 1854px 837px #FFF , 1282px 908px #FFF , 769px 1627px #FFF , 638px 365px #FFF , 980px 1423px #FFF , 24px 746px #FFF , 926px 514px #FFF , 118px 388px #FFF , 1657px 1808px #FFF , 790px 1503px #FFF , 1044px 1645px #FFF , 964px 623px #FFF , 1803px 245px #FFF , 1398px 942px #FFF , 782px 1483px #FFF , 631px 404px #FFF , 778px 1151px #FFF , 1848px 641px #FFF , 1948px 1072px #FFF , 408px 867px #FFF , 1043px 1941px #FFF , 300px 257px #FFF , 1696px 1258px #FFF , 1002px 361px #FFF , 385px 1037px #FFF , 1329px 256px #FFF , 556px 96px #FFF , 321px 1742px #FFF , 119px 1521px #FFF , 1528px 1738px #FFF , 318px 922px #FFF , 1272px 339px #FFF , 438px 1277px #FFF , 1631px 1479px #FFF , 735px 185px #FFF , 946px 1053px #FFF , 411px 1020px #FFF , 1154px 52px #FFF , 283px 1057px #FFF , 1651px 867px #FFF , 1653px 385px #FFF , 1070px 1499px #FFF , 1449px 860px #FFF , 188px 633px #FFF , 1194px 1340px #FFF , 430px 26px #FFF , 1993px 727px #FFF , 721px 509px #FFF , 1227px 1278px #FFF , 1700px 1628px #FFF , 169px 183px #FFF , 625px 1593px #FFF , 1609px 1422px #FFF , 1454px 1768px #FFF , 161px 349px #FFF , 1082px 95px #FFF , 915px 1780px #FFF , 95px 1151px #FFF , 1565px 1112px #FFF , 637px 121px #FFF , 1201px 1666px #FFF , 602px 595px #FFF , 835px 38px #FFF , 455px 1814px #FFF , 1353px 1141px #FFF , 597px 1444px #FFF , 1351px 69px #FFF , 211px 380px #FFF , 194px 1829px #FFF , 802px 1487px #FFF , 1259px 1168px #FFF , 84px 885px #FFF , 296px 748px #FFF , 743px 1213px #FFF , 1202px 1960px #FFF , 1494px 1722px #FFF , 242px 1210px #FFF , 700px 608px #FFF , 1242px 1630px #FFF , 440px 1826px #FFF , 4px 1398px #FFF , 622px 188px #FFF , 849px 1989px #FFF , 1748px 1817px #FFF , 1707px 662px #FFF , 75px 779px #FFF , 1085px 1895px #FFF , 1917px 968px #FFF , 1778px 1415px #FFF , 829px 1696px #FFF , 994px 658px #FFF , 1879px 1213px #FFF , 2px 1353px #FFF , 1122px 1917px #FFF , 1496px 1142px #FFF , 220px 1363px #FFF , 1950px 1422px #FFF , 1286px 1642px #FFF , 269px 1289px #FFF , 218px 904px #FFF , 1632px 410px #FFF , 768px 670px #FFF , 639px 1587px #FFF , 255px 361px #FFF , 557px 880px #FFF , 872px 1426px #FFF , 1345px 1344px #FFF , 1711px 1820px #FFF , 1530px 201px #FFF , 718px 1167px #FFF , 1851px 1296px #FFF , 1181px 1684px #FFF , 1694px 956px #FFF , 1149px 872px #FFF , 490px 1205px #FFF , 747px 251px #FFF , 904px 788px #FFF , 1167px 919px #FFF , 503px 1055px #FFF , 35px 759px #FFF , 716px 1463px #FFF , 1615px 1436px #FFF , 16px 774px #FFF , 573px 604px #FFF , 804px 363px #FFF , 863px 1406px #FFF , 202px 73px #FFF , 507px 1366px #FFF , 1675px 399px #FFF , 1550px 578px #FFF , 518px 644px #FFF , 896px 829px #FFF , 201px 1414px #FFF , 7px 1454px #FFF , 712px 575px #FFF , 517px 441px #FFF , 1428px 1156px #FFF , 30px 1361px #FFF , 1080px 1288px #FFF , 101px 1663px #FFF , 1247px 1770px #FFF , 1081px 1354px #FFF , 1642px 328px #FFF , 1704px 30px #FFF , 1681px 1859px #FFF , 1002px 236px #FFF , 881px 843px #FFF , 1617px 572px #FFF , 459px 1349px #FFF , 1968px 1028px #FFF , 1029px 1957px #FFF , 1733px 822px #FFF , 458px 1499px #FFF , 235px 1370px #FFF , 251px 824px #FFF , 1161px 167px #FFF , 914px 1922px #FFF , 504px 1158px #FFF , 1441px 1006px #FFF , 330px 1975px #FFF , 606px 1022px #FFF , 788px 1198px #FFF , 1853px 1127px #FFF , 1394px 388px #FFF , 1269px 1163px #FFF , 1224px 845px #FFF , 1461px 1361px #FFF , 1198px 373px #FFF , 1223px 235px #FFF , 899px 1570px #FFF , 1420px 1841px #FFF , 278px 345px #FFF , 1200px 1070px #FFF , 1017px 350px #FFF , 1506px 41px #FFF , 408px 941px #FFF , 1073px 961px #FFF , 454px 817px #FFF , 1026px 566px #FFF , 238px 677px #FFF , 965px 1828px #FFF , 569px 1750px #FFF , 1338px 554px #FFF , 622px 1777px #FFF , 39px 1647px #FFF , 351px 456px #FFF , 1885px 1138px #FFF , 1139px 1622px #FFF , 1662px 1216px #FFF , 680px 1252px #FFF , 973px 827px #FFF , 325px 17px #FFF , 1655px 1371px #FFF , 1903px 1700px #FFF , 1197px 238px #FFF , 316px 865px #FFF , 1461px 818px #FFF , 932px 1186px #FFF , 725px 25px #FFF , 345px 1979px #FFF , 1826px 3px #FFF , 1307px 758px #FFF , 706px 847px #FFF , 1621px 413px #FFF , 592px 911px #FFF , 1134px 1946px #FFF , 302px 210px #FFF , 528px 1187px #FFF , 818px 132px #FFF , 1617px 1127px #FFF , 1906px 1986px #FFF , 1392px 966px #FFF , 662px 1934px #FFF , 643px 423px #FFF , 1344px 194px #FFF , 576px 351px #FFF , 1561px 173px #FFF , 375px 1886px #FFF , 1974px 1913px #FFF , 1833px 26px #FFF , 1096px 1478px #FFF , 485px 111px #FFF , 562px 1651px #FFF , 378px 1926px #FFF , 1325px 1799px #FFF , 1047px 956px #FFF , 1317px 9px #FFF , 1876px 1062px #FFF , 1513px 1372px #FFF , 1654px 1725px #FFF , 1641px 1587px #FFF , 1548px 556px #FFF , 461px 1239px #FFF , 1677px 977px #FFF , 756px 1452px #FFF , 213px 1576px #FFF , 1036px 1652px #FFF , 107px 1545px #FFF , 520px 540px #FFF , 1002px 248px #FFF , 231px 381px #FFF , 418px 1098px #FFF , 116px 916px #FFF , 525px 1536px #FFF , 444px 17px #FFF , 10px 963px #FFF , 566px 1197px #FFF , 324px 1177px #FFF , 925px 448px #FFF;
12
+  animation: animStar 50s linear infinite;
13
+}
14
+#stars:after {
15
+  content: " ";
16
+  position: absolute;
17
+  top: 2000px;
18
+  width: 1px;
19
+  height: 1px;
20
+  background: transparent;
21
+  box-shadow: 1182px 478px #FFF , 766px 529px #FFF , 62px 156px #FFF , 972px 1950px #FFF , 847px 1093px #FFF , 908px 1187px #FFF , 910px 159px #FFF , 1637px 1589px #FFF , 813px 1186px #FFF , 1211px 1141px #FFF , 448px 19px #FFF , 749px 736px #FFF , 1543px 563px #FFF , 1747px 420px #FFF , 1185px 25px #FFF , 543px 497px #FFF , 202px 261px #FFF , 1620px 41px #FFF , 430px 520px #FFF , 846px 813px #FFF , 1698px 440px #FFF , 1619px 1786px #FFF , 1767px 474px #FFF , 1021px 1806px #FFF , 304px 388px #FFF , 1149px 1360px #FFF , 443px 1125px #FFF , 1449px 751px #FFF , 37px 144px #FFF , 631px 632px #FFF , 945px 489px #FFF , 1152px 425px #FFF , 1074px 1099px #FFF , 1101px 546px #FFF , 1377px 1666px #FFF , 183px 1509px #FFF , 248px 527px #FFF , 1636px 145px #FFF , 1852px 1584px #FFF , 515px 1031px #FFF , 94px 1431px #FFF , 194px 960px #FFF , 1721px 1883px #FFF , 710px 455px #FFF , 1813px 443px #FFF , 1899px 1892px #FFF , 1528px 1143px #FFF , 927px 513px #FFF , 188px 852px #FFF , 1410px 1567px #FFF , 464px 1618px #FFF , 1404px 795px #FFF , 1638px 226px #FFF , 935px 1413px #FFF , 452px 644px #FFF , 928px 978px #FFF , 992px 1478px #FFF , 18px 1752px #FFF , 1302px 1175px #FFF , 1210px 1470px #FFF , 144px 1966px #FFF , 1056px 125px #FFF , 269px 623px #FFF , 1224px 580px #FFF , 1454px 1117px #FFF , 525px 360px #FFF , 592px 1118px #FFF , 1701px 562px #FFF , 4px 464px #FFF , 42px 1285px #FFF , 1179px 484px #FFF , 1575px 1349px #FFF , 255px 1639px #FFF , 1156px 411px #FFF , 1223px 1915px #FFF , 771px 346px #FFF , 1299px 759px #FFF , 1273px 729px #FFF , 698px 583px #FFF , 1443px 1100px #FFF , 1598px 708px #FFF , 938px 1518px #FFF , 121px 1318px #FFF , 1546px 791px #FFF , 1793px 1530px #FFF , 540px 227px #FFF , 39px 1436px #FFF , 201px 1258px #FFF , 1325px 2px #FFF , 1154px 1036px #FFF , 68px 1122px #FFF , 1912px 313px #FFF , 1137px 1884px #FFF , 1098px 1040px #FFF , 468px 240px #FFF , 362px 1894px #FFF , 1704px 278px #FFF , 729px 566px #FFF , 1414px 1004px #FFF , 1845px 776px #FFF , 187px 393px #FFF , 1599px 1700px #FFF , 915px 641px #FFF , 654px 1630px #FFF , 1229px 1644px #FFF , 1458px 543px #FFF , 136px 671px #FFF , 46px 1085px #FFF , 950px 952px #FFF , 1245px 752px #FFF , 1508px 1345px #FFF , 1725px 839px #FFF , 222px 408px #FFF , 1832px 169px #FFF , 546px 103px #FFF , 954px 1651px #FFF , 93px 1109px #FFF , 1737px 5px #FFF , 200px 1532px #FFF , 1184px 108px #FFF , 623px 817px #FFF , 1288px 26px #FFF , 292px 128px #FFF , 1722px 5px #FFF , 1013px 1803px #FFF , 1737px 592px #FFF , 1856px 840px #FFF , 392px 1540px #FFF , 1283px 785px #FFF , 1647px 630px #FFF , 1081px 1px #FFF , 1032px 1351px #FFF , 299px 26px #FFF , 530px 1404px #FFF , 1258px 1106px #FFF , 1018px 1923px #FFF , 1737px 1762px #FFF , 1618px 669px #FFF , 810px 697px #FFF , 329px 1099px #FFF , 1539px 867px #FFF , 686px 816px #FFF , 863px 1330px #FFF , 1406px 1420px #FFF , 1846px 629px #FFF , 558px 1428px #FFF , 1896px 834px #FFF , 376px 745px #FFF , 1990px 1550px #FFF , 1041px 889px #FFF , 1327px 886px #FFF , 61px 1614px #FFF , 8px 102px #FFF , 1181px 654px #FFF , 1268px 77px #FFF , 86px 328px #FFF , 1733px 1752px #FFF , 136px 1775px #FFF , 435px 702px #FFF , 348px 433px #FFF , 1628px 751px #FFF , 1337px 183px #FFF , 1944px 1180px #FFF , 1771px 98px #FFF , 1547px 1869px #FFF , 1109px 154px #FFF , 612px 331px #FFF , 1678px 1381px #FFF , 479px 1681px #FFF , 1190px 1978px #FFF , 930px 23px #FFF , 1099px 1472px #FFF , 262px 288px #FFF , 696px 202px #FFF , 1334px 543px #FFF , 509px 540px #FFF , 1542px 5px #FFF , 999px 1574px #FFF , 1812px 32px #FFF , 1219px 1994px #FFF , 1157px 148px #FFF , 1074px 396px #FFF , 799px 341px #FFF , 1560px 761px #FFF , 1958px 843px #FFF , 575px 1454px #FFF , 31px 1090px #FFF , 1755px 378px #FFF , 1922px 191px #FFF , 641px 295px #FFF , 217px 1791px #FFF , 744px 1333px #FFF , 1934px 1285px #FFF , 109px 1602px #FFF , 1502px 374px #FFF , 182px 1212px #FFF , 1301px 1398px #FFF , 1196px 1829px #FFF , 1661px 707px #FFF , 593px 1434px #FFF , 1626px 965px #FFF , 1762px 830px #FFF , 576px 1347px #FFF , 1302px 54px #FFF , 338px 722px #FFF , 1449px 1963px #FFF , 1155px 1165px #FFF , 362px 846px #FFF , 301px 914px #FFF , 1103px 1845px #FFF , 1521px 186px #FFF , 86px 461px #FFF , 222px 1348px #FFF , 312px 346px #FFF , 802px 1458px #FFF , 188px 316px #FFF , 64px 389px #FFF , 426px 17px #FFF , 1509px 1201px #FFF , 1060px 719px #FFF , 1041px 872px #FFF , 117px 1906px #FFF , 1970px 1075px #FFF , 1440px 606px #FFF , 205px 826px #FFF , 984px 441px #FFF , 788px 1804px #FFF , 94px 689px #FFF , 760px 1848px #FFF , 1829px 153px #FFF , 609px 1699px #FFF , 1442px 1243px #FFF , 1758px 160px #FFF , 1817px 507px #FFF , 1281px 139px #FFF , 610px 175px #FFF , 551px 28px #FFF , 521px 1392px #FFF , 1125px 1030px #FFF , 1846px 438px #FFF , 1913px 1480px #FFF , 1005px 1969px #FFF , 861px 170px #FFF , 625px 24px #FFF , 1309px 1022px #FFF , 916px 1741px #FFF , 1783px 1829px #FFF , 601px 1679px #FFF , 684px 1982px #FFF , 415px 1591px #FFF , 111px 193px #FFF , 909px 1606px #FFF , 760px 1799px #FFF , 54px 1535px #FFF , 1195px 1725px #FFF , 949px 841px #FFF , 1510px 1306px #FFF , 1865px 469px #FFF , 706px 1726px #FFF , 624px 50px #FFF , 1683px 708px #FFF , 1205px 448px #FFF , 36px 727px #FFF , 1904px 430px #FFF , 867px 447px #FFF , 1693px 1469px #FFF , 529px 959px #FFF , 703px 1513px #FFF , 1108px 1989px #FFF , 1523px 1180px #FFF , 651px 1322px #FFF , 576px 1595px #FFF , 280px 994px #FFF , 1492px 244px #FFF , 309px 1138px #FFF , 397px 449px #FFF , 756px 1109px #FFF , 986px 906px #FFF , 1956px 1780px #FFF , 1717px 1340px #FFF , 980px 1829px #FFF , 1381px 132px #FFF , 896px 50px #FFF , 240px 1024px #FFF , 865px 628px #FFF , 377px 1137px #FFF , 744px 1577px #FFF , 720px 1122px #FFF , 1138px 327px #FFF , 611px 554px #FFF , 1766px 1876px #FFF , 593px 585px #FFF , 1063px 700px #FFF , 961px 1570px #FFF , 297px 1123px #FFF , 1497px 717px #FFF , 6px 1949px #FFF , 1112px 1429px #FFF , 725px 515px #FFF , 1809px 29px #FFF , 282px 650px #FFF , 624px 1597px #FFF , 1103px 1155px #FFF , 1153px 968px #FFF , 389px 710px #FFF , 249px 397px #FFF , 1977px 1666px #FFF , 541px 1437px #FFF , 106px 751px #FFF , 1315px 844px #FFF , 1604px 721px #FFF , 300px 1509px #FFF , 1783px 1358px #FFF , 730px 899px #FFF , 203px 926px #FFF , 1195px 1725px #FFF , 1893px 558px #FFF , 1042px 1109px #FFF , 112px 1041px #FFF , 614px 137px #FFF , 934px 386px #FFF , 1025px 1288px #FFF , 381px 406px #FFF , 135px 1989px #FFF , 625px 1479px #FFF , 697px 1026px #FFF , 1170px 780px #FFF , 153px 1396px #FFF , 1706px 1067px #FFF , 1477px 568px #FFF , 943px 1094px #FFF , 1318px 105px #FFF , 1835px 202px #FFF , 458px 1354px #FFF , 1285px 1082px #FFF , 1807px 1339px #FFF , 263px 981px #FFF , 1095px 1213px #FFF , 967px 1159px #FFF , 1031px 1958px #FFF , 1987px 94px #FFF , 1323px 951px #FFF , 23px 1287px #FFF , 1637px 1323px #FFF , 128px 1208px #FFF , 272px 1526px #FFF , 83px 943px #FFF , 742px 1474px #FFF , 210px 53px #FFF , 530px 1192px #FFF , 212px 1702px #FFF , 985px 1654px #FFF , 1832px 452px #FFF , 638px 274px #FFF , 1741px 833px #FFF , 540px 109px #FFF , 1704px 957px #FFF , 1081px 1632px #FFF , 325px 211px #FFF , 923px 1210px #FFF , 258px 1295px #FFF , 1196px 829px #FFF , 28px 206px #FFF , 653px 991px #FFF , 281px 414px #FFF , 868px 1809px #FFF , 965px 873px #FFF , 577px 1575px #FFF , 1305px 25px #FFF , 263px 1115px #FFF , 1884px 1292px #FFF , 992px 1453px #FFF , 838px 1499px #FFF , 249px 1769px #FFF , 479px 538px #FFF , 819px 1830px #FFF , 86px 933px #FFF , 305px 559px #FFF , 1276px 979px #FFF , 1394px 16px #FFF , 1481px 1952px #FFF , 1060px 1065px #FFF , 221px 902px #FFF , 366px 1170px #FFF , 485px 1163px #FFF , 595px 1829px #FFF , 1943px 967px #FFF , 1460px 1753px #FFF , 406px 1455px #FFF , 1567px 694px #FFF , 88px 1806px #FFF , 2000px 1673px #FFF , 1482px 1778px #FFF , 1851px 1476px #FFF , 48px 331px #FFF , 1626px 1446px #FFF , 1479px 1843px #FFF , 521px 1656px #FFF , 127px 1560px #FFF , 991px 299px #FFF , 258px 1674px #FFF , 1461px 1180px #FFF , 115px 1643px #FFF , 394px 521px #FFF , 104px 1884px #FFF , 1330px 1559px #FFF , 814px 69px #FFF , 893px 1134px #FFF , 611px 1417px #FFF , 404px 849px #FFF , 1593px 466px #FFF , 1993px 577px #FFF , 1550px 666px #FFF , 165px 1395px #FFF , 136px 354px #FFF , 1347px 1999px #FFF , 373px 686px #FFF , 220px 1847px #FFF , 1679px 146px #FFF , 297px 336px #FFF , 324px 1000px #FFF , 490px 1176px #FFF , 2px 1472px #FFF , 704px 952px #FFF , 157px 626px #FFF , 1878px 928px #FFF , 949px 160px #FFF , 423px 94px #FFF , 1542px 1403px #FFF , 1886px 1082px #FFF , 1922px 946px #FFF , 1411px 1352px #FFF , 963px 1535px #FFF , 2px 593px #FFF , 260px 276px #FFF , 175px 1942px #FFF , 1575px 1229px #FFF , 522px 425px #FFF , 570px 1296px #FFF , 1812px 131px #FFF , 467px 229px #FFF , 642px 978px #FFF , 756px 950px #FFF , 1988px 1699px #FFF , 1449px 1165px #FFF , 101px 1890px #FFF , 444px 1002px #FFF , 1391px 166px #FFF , 1347px 675px #FFF , 843px 174px #FFF , 757px 1464px #FFF , 1854px 837px #FFF , 1282px 908px #FFF , 769px 1627px #FFF , 638px 365px #FFF , 980px 1423px #FFF , 24px 746px #FFF , 926px 514px #FFF , 118px 388px #FFF , 1657px 1808px #FFF , 790px 1503px #FFF , 1044px 1645px #FFF , 964px 623px #FFF , 1803px 245px #FFF , 1398px 942px #FFF , 782px 1483px #FFF , 631px 404px #FFF , 778px 1151px #FFF , 1848px 641px #FFF , 1948px 1072px #FFF , 408px 867px #FFF , 1043px 1941px #FFF , 300px 257px #FFF , 1696px 1258px #FFF , 1002px 361px #FFF , 385px 1037px #FFF , 1329px 256px #FFF , 556px 96px #FFF , 321px 1742px #FFF , 119px 1521px #FFF , 1528px 1738px #FFF , 318px 922px #FFF , 1272px 339px #FFF , 438px 1277px #FFF , 1631px 1479px #FFF , 735px 185px #FFF , 946px 1053px #FFF , 411px 1020px #FFF , 1154px 52px #FFF , 283px 1057px #FFF , 1651px 867px #FFF , 1653px 385px #FFF , 1070px 1499px #FFF , 1449px 860px #FFF , 188px 633px #FFF , 1194px 1340px #FFF , 430px 26px #FFF , 1993px 727px #FFF , 721px 509px #FFF , 1227px 1278px #FFF , 1700px 1628px #FFF , 169px 183px #FFF , 625px 1593px #FFF , 1609px 1422px #FFF , 1454px 1768px #FFF , 161px 349px #FFF , 1082px 95px #FFF , 915px 1780px #FFF , 95px 1151px #FFF , 1565px 1112px #FFF , 637px 121px #FFF , 1201px 1666px #FFF , 602px 595px #FFF , 835px 38px #FFF , 455px 1814px #FFF , 1353px 1141px #FFF , 597px 1444px #FFF , 1351px 69px #FFF , 211px 380px #FFF , 194px 1829px #FFF , 802px 1487px #FFF , 1259px 1168px #FFF , 84px 885px #FFF , 296px 748px #FFF , 743px 1213px #FFF , 1202px 1960px #FFF , 1494px 1722px #FFF , 242px 1210px #FFF , 700px 608px #FFF , 1242px 1630px #FFF , 440px 1826px #FFF , 4px 1398px #FFF , 622px 188px #FFF , 849px 1989px #FFF , 1748px 1817px #FFF , 1707px 662px #FFF , 75px 779px #FFF , 1085px 1895px #FFF , 1917px 968px #FFF , 1778px 1415px #FFF , 829px 1696px #FFF , 994px 658px #FFF , 1879px 1213px #FFF , 2px 1353px #FFF , 1122px 1917px #FFF , 1496px 1142px #FFF , 220px 1363px #FFF , 1950px 1422px #FFF , 1286px 1642px #FFF , 269px 1289px #FFF , 218px 904px #FFF , 1632px 410px #FFF , 768px 670px #FFF , 639px 1587px #FFF , 255px 361px #FFF , 557px 880px #FFF , 872px 1426px #FFF , 1345px 1344px #FFF , 1711px 1820px #FFF , 1530px 201px #FFF , 718px 1167px #FFF , 1851px 1296px #FFF , 1181px 1684px #FFF , 1694px 956px #FFF , 1149px 872px #FFF , 490px 1205px #FFF , 747px 251px #FFF , 904px 788px #FFF , 1167px 919px #FFF , 503px 1055px #FFF , 35px 759px #FFF , 716px 1463px #FFF , 1615px 1436px #FFF , 16px 774px #FFF , 573px 604px #FFF , 804px 363px #FFF , 863px 1406px #FFF , 202px 73px #FFF , 507px 1366px #FFF , 1675px 399px #FFF , 1550px 578px #FFF , 518px 644px #FFF , 896px 829px #FFF , 201px 1414px #FFF , 7px 1454px #FFF , 712px 575px #FFF , 517px 441px #FFF , 1428px 1156px #FFF , 30px 1361px #FFF , 1080px 1288px #FFF , 101px 1663px #FFF , 1247px 1770px #FFF , 1081px 1354px #FFF , 1642px 328px #FFF , 1704px 30px #FFF , 1681px 1859px #FFF , 1002px 236px #FFF , 881px 843px #FFF , 1617px 572px #FFF , 459px 1349px #FFF , 1968px 1028px #FFF , 1029px 1957px #FFF , 1733px 822px #FFF , 458px 1499px #FFF , 235px 1370px #FFF , 251px 824px #FFF , 1161px 167px #FFF , 914px 1922px #FFF , 504px 1158px #FFF , 1441px 1006px #FFF , 330px 1975px #FFF , 606px 1022px #FFF , 788px 1198px #FFF , 1853px 1127px #FFF , 1394px 388px #FFF , 1269px 1163px #FFF , 1224px 845px #FFF , 1461px 1361px #FFF , 1198px 373px #FFF , 1223px 235px #FFF , 899px 1570px #FFF , 1420px 1841px #FFF , 278px 345px #FFF , 1200px 1070px #FFF , 1017px 350px #FFF , 1506px 41px #FFF , 408px 941px #FFF , 1073px 961px #FFF , 454px 817px #FFF , 1026px 566px #FFF , 238px 677px #FFF , 965px 1828px #FFF , 569px 1750px #FFF , 1338px 554px #FFF , 622px 1777px #FFF , 39px 1647px #FFF , 351px 456px #FFF , 1885px 1138px #FFF , 1139px 1622px #FFF , 1662px 1216px #FFF , 680px 1252px #FFF , 973px 827px #FFF , 325px 17px #FFF , 1655px 1371px #FFF , 1903px 1700px #FFF , 1197px 238px #FFF , 316px 865px #FFF , 1461px 818px #FFF , 932px 1186px #FFF , 725px 25px #FFF , 345px 1979px #FFF , 1826px 3px #FFF , 1307px 758px #FFF , 706px 847px #FFF , 1621px 413px #FFF , 592px 911px #FFF , 1134px 1946px #FFF , 302px 210px #FFF , 528px 1187px #FFF , 818px 132px #FFF , 1617px 1127px #FFF , 1906px 1986px #FFF , 1392px 966px #FFF , 662px 1934px #FFF , 643px 423px #FFF , 1344px 194px #FFF , 576px 351px #FFF , 1561px 173px #FFF , 375px 1886px #FFF , 1974px 1913px #FFF , 1833px 26px #FFF , 1096px 1478px #FFF , 485px 111px #FFF , 562px 1651px #FFF , 378px 1926px #FFF , 1325px 1799px #FFF , 1047px 956px #FFF , 1317px 9px #FFF , 1876px 1062px #FFF , 1513px 1372px #FFF , 1654px 1725px #FFF , 1641px 1587px #FFF , 1548px 556px #FFF , 461px 1239px #FFF , 1677px 977px #FFF , 756px 1452px #FFF , 213px 1576px #FFF , 1036px 1652px #FFF , 107px 1545px #FFF , 520px 540px #FFF , 1002px 248px #FFF , 231px 381px #FFF , 418px 1098px #FFF , 116px 916px #FFF , 525px 1536px #FFF , 444px 17px #FFF , 10px 963px #FFF , 566px 1197px #FFF , 324px 1177px #FFF , 925px 448px #FFF;
22
+}
23
+
24
+#stars2 {
25
+  width: 2px;
26
+  height: 2px;
27
+  background: transparent;
28
+  box-shadow: 321px 1291px #FFF , 1713px 351px #FFF , 125px 1292px #FFF , 1848px 46px #FFF , 1446px 257px #FFF , 540px 591px #FFF , 1770px 158px #FFF , 21px 13px #FFF , 1877px 519px #FFF , 1666px 1739px #FFF , 788px 1082px #FFF , 1072px 1830px #FFF , 209px 918px #FFF , 287px 1889px #FFF , 48px 1873px #FFF , 347px 107px #FFF , 458px 1516px #FFF , 1924px 1428px #FFF , 577px 1483px #FFF , 1935px 195px #FFF , 836px 941px #FFF , 260px 1918px #FFF , 1469px 792px #FFF , 700px 173px #FFF , 1253px 1062px #FFF , 76px 125px #FFF , 990px 1994px #FFF , 1311px 1345px #FFF , 1308px 976px #FFF , 251px 1683px #FFF , 992px 7px #FFF , 854px 791px #FFF , 1957px 628px #FFF , 1906px 1918px #FFF , 797px 1529px #FFF , 1423px 285px #FFF , 1397px 1101px #FFF , 603px 691px #FFF , 1071px 554px #FFF , 1792px 1345px #FFF , 728px 1327px #FFF , 1386px 1531px #FFF , 1908px 68px #FFF , 18px 422px #FFF , 227px 211px #FFF , 1726px 1505px #FFF , 557px 1386px #FFF , 8px 1284px #FFF , 1157px 819px #FFF , 166px 1280px #FFF , 1103px 1595px #FFF , 1159px 1787px #FFF , 372px 525px #FFF , 158px 1212px #FFF , 421px 379px #FFF , 1568px 170px #FFF , 1351px 1478px #FFF , 1206px 1435px #FFF , 1528px 1617px #FFF , 103px 737px #FFF , 285px 929px #FFF , 93px 452px #FFF , 460px 35px #FFF , 1307px 1386px #FFF , 584px 475px #FFF , 875px 585px #FFF , 707px 390px #FFF , 295px 1693px #FFF , 1802px 1012px #FFF , 1100px 451px #FFF , 1008px 573px #FFF , 674px 857px #FFF , 1891px 1433px #FFF , 1393px 12px #FFF , 683px 836px #FFF , 553px 1271px #FFF , 1135px 1838px #FFF , 804px 470px #FFF , 1256px 1901px #FFF , 342px 1001px #FFF , 129px 1204px #FFF , 1347px 459px #FFF , 459px 1286px #FFF , 1464px 780px #FFF , 1503px 1195px #FFF , 20px 142px #FFF , 1275px 466px #FFF , 1686px 1021px #FFF , 718px 1522px #FFF , 1792px 324px #FFF , 625px 1489px #FFF , 1569px 1354px #FFF , 218px 62px #FFF , 565px 1198px #FFF , 1797px 1408px #FFF , 624px 1403px #FFF , 1036px 35px #FFF , 943px 1036px #FFF , 1288px 1012px #FFF , 1068px 865px #FFF , 1507px 1162px #FFF , 1346px 263px #FFF , 494px 1271px #FFF , 1483px 1968px #FFF , 661px 1307px #FFF , 820px 1445px #FFF , 1229px 132px #FFF , 1689px 543px #FFF , 275px 1508px #FFF , 600px 536px #FFF , 1343px 220px #FFF , 1758px 1199px #FFF , 1817px 416px #FFF , 13px 1518px #FFF , 514px 742px #FFF , 1651px 192px #FFF , 708px 867px #FFF , 1180px 1598px #FFF , 731px 101px #FFF , 416px 561px #FFF , 1661px 1253px #FFF , 806px 1559px #FFF , 764px 1650px #FFF , 203px 454px #FFF , 1110px 1275px #FFF , 1075px 980px #FFF , 1051px 482px #FFF , 53px 363px #FFF , 514px 922px #FFF , 149px 469px #FFF , 496px 1284px #FFF , 408px 1989px #FFF , 1014px 38px #FFF , 257px 1720px #FFF , 410px 1519px #FFF , 673px 9px #FFF , 799px 95px #FFF , 254px 1999px #FFF , 1341px 1609px #FFF , 1811px 1113px #FFF , 448px 674px #FFF , 1007px 1667px #FFF , 965px 627px #FFF , 1444px 1240px #FFF , 1486px 1336px #FFF , 1321px 1935px #FFF , 120px 855px #FFF , 618px 836px #FFF , 832px 38px #FFF , 1499px 1937px #FFF , 1012px 1387px #FFF , 606px 1240px #FFF , 456px 1030px #FFF , 1247px 996px #FFF , 1031px 1692px #FFF , 854px 1303px #FFF , 1805px 1250px #FFF , 1925px 1615px #FFF , 1152px 1515px #FFF , 992px 877px #FFF , 1867px 1544px #FFF , 1685px 1709px #FFF , 660px 1716px #FFF , 1703px 42px #FFF , 1281px 1314px #FFF , 1663px 1286px #FFF , 1066px 1328px #FFF , 433px 900px #FFF , 1307px 1052px #FFF , 1850px 10px #FFF , 851px 1175px #FFF , 1363px 268px #FFF , 118px 216px #FFF , 45px 1977px #FFF , 1332px 19px #FFF , 1918px 1079px #FFF , 1809px 1144px #FFF , 341px 905px #FFF , 1898px 840px #FFF , 1962px 363px #FFF , 1035px 346px #FFF , 1806px 842px #FFF , 579px 603px #FFF , 1592px 1698px #FFF , 698px 135px #FFF , 430px 1418px #FFF , 880px 1907px #FFF , 402px 1376px #FFF , 364px 190px #FFF , 602px 876px #FFF , 352px 1950px #FFF , 170px 1091px #FFF , 608px 1326px #FFF , 1452px 1703px #FFF , 26px 1543px #FFF , 1275px 173px #FFF , 3px 941px #FFF , 1559px 1948px #FFF , 378px 781px #FFF , 1743px 603px #FFF;
29
+  animation: animStar 100s linear infinite;
30
+}
31
+#stars2:after {
32
+  content: " ";
33
+  position: absolute;
34
+  top: 2000px;
35
+  width: 2px;
36
+  height: 2px;
37
+  background: transparent;
38
+  box-shadow: 321px 1291px #FFF , 1713px 351px #FFF , 125px 1292px #FFF , 1848px 46px #FFF , 1446px 257px #FFF , 540px 591px #FFF , 1770px 158px #FFF , 21px 13px #FFF , 1877px 519px #FFF , 1666px 1739px #FFF , 788px 1082px #FFF , 1072px 1830px #FFF , 209px 918px #FFF , 287px 1889px #FFF , 48px 1873px #FFF , 347px 107px #FFF , 458px 1516px #FFF , 1924px 1428px #FFF , 577px 1483px #FFF , 1935px 195px #FFF , 836px 941px #FFF , 260px 1918px #FFF , 1469px 792px #FFF , 700px 173px #FFF , 1253px 1062px #FFF , 76px 125px #FFF , 990px 1994px #FFF , 1311px 1345px #FFF , 1308px 976px #FFF , 251px 1683px #FFF , 992px 7px #FFF , 854px 791px #FFF , 1957px 628px #FFF , 1906px 1918px #FFF , 797px 1529px #FFF , 1423px 285px #FFF , 1397px 1101px #FFF , 603px 691px #FFF , 1071px 554px #FFF , 1792px 1345px #FFF , 728px 1327px #FFF , 1386px 1531px #FFF , 1908px 68px #FFF , 18px 422px #FFF , 227px 211px #FFF , 1726px 1505px #FFF , 557px 1386px #FFF , 8px 1284px #FFF , 1157px 819px #FFF , 166px 1280px #FFF , 1103px 1595px #FFF , 1159px 1787px #FFF , 372px 525px #FFF , 158px 1212px #FFF , 421px 379px #FFF , 1568px 170px #FFF , 1351px 1478px #FFF , 1206px 1435px #FFF , 1528px 1617px #FFF , 103px 737px #FFF , 285px 929px #FFF , 93px 452px #FFF , 460px 35px #FFF , 1307px 1386px #FFF , 584px 475px #FFF , 875px 585px #FFF , 707px 390px #FFF , 295px 1693px #FFF , 1802px 1012px #FFF , 1100px 451px #FFF , 1008px 573px #FFF , 674px 857px #FFF , 1891px 1433px #FFF , 1393px 12px #FFF , 683px 836px #FFF , 553px 1271px #FFF , 1135px 1838px #FFF , 804px 470px #FFF , 1256px 1901px #FFF , 342px 1001px #FFF , 129px 1204px #FFF , 1347px 459px #FFF , 459px 1286px #FFF , 1464px 780px #FFF , 1503px 1195px #FFF , 20px 142px #FFF , 1275px 466px #FFF , 1686px 1021px #FFF , 718px 1522px #FFF , 1792px 324px #FFF , 625px 1489px #FFF , 1569px 1354px #FFF , 218px 62px #FFF , 565px 1198px #FFF , 1797px 1408px #FFF , 624px 1403px #FFF , 1036px 35px #FFF , 943px 1036px #FFF , 1288px 1012px #FFF , 1068px 865px #FFF , 1507px 1162px #FFF , 1346px 263px #FFF , 494px 1271px #FFF , 1483px 1968px #FFF , 661px 1307px #FFF , 820px 1445px #FFF , 1229px 132px #FFF , 1689px 543px #FFF , 275px 1508px #FFF , 600px 536px #FFF , 1343px 220px #FFF , 1758px 1199px #FFF , 1817px 416px #FFF , 13px 1518px #FFF , 514px 742px #FFF , 1651px 192px #FFF , 708px 867px #FFF , 1180px 1598px #FFF , 731px 101px #FFF , 416px 561px #FFF , 1661px 1253px #FFF , 806px 1559px #FFF , 764px 1650px #FFF , 203px 454px #FFF , 1110px 1275px #FFF , 1075px 980px #FFF , 1051px 482px #FFF , 53px 363px #FFF , 514px 922px #FFF , 149px 469px #FFF , 496px 1284px #FFF , 408px 1989px #FFF , 1014px 38px #FFF , 257px 1720px #FFF , 410px 1519px #FFF , 673px 9px #FFF , 799px 95px #FFF , 254px 1999px #FFF , 1341px 1609px #FFF , 1811px 1113px #FFF , 448px 674px #FFF , 1007px 1667px #FFF , 965px 627px #FFF , 1444px 1240px #FFF , 1486px 1336px #FFF , 1321px 1935px #FFF , 120px 855px #FFF , 618px 836px #FFF , 832px 38px #FFF , 1499px 1937px #FFF , 1012px 1387px #FFF , 606px 1240px #FFF , 456px 1030px #FFF , 1247px 996px #FFF , 1031px 1692px #FFF , 854px 1303px #FFF , 1805px 1250px #FFF , 1925px 1615px #FFF , 1152px 1515px #FFF , 992px 877px #FFF , 1867px 1544px #FFF , 1685px 1709px #FFF , 660px 1716px #FFF , 1703px 42px #FFF , 1281px 1314px #FFF , 1663px 1286px #FFF , 1066px 1328px #FFF , 433px 900px #FFF , 1307px 1052px #FFF , 1850px 10px #FFF , 851px 1175px #FFF , 1363px 268px #FFF , 118px 216px #FFF , 45px 1977px #FFF , 1332px 19px #FFF , 1918px 1079px #FFF , 1809px 1144px #FFF , 341px 905px #FFF , 1898px 840px #FFF , 1962px 363px #FFF , 1035px 346px #FFF , 1806px 842px #FFF , 579px 603px #FFF , 1592px 1698px #FFF , 698px 135px #FFF , 430px 1418px #FFF , 880px 1907px #FFF , 402px 1376px #FFF , 364px 190px #FFF , 602px 876px #FFF , 352px 1950px #FFF , 170px 1091px #FFF , 608px 1326px #FFF , 1452px 1703px #FFF , 26px 1543px #FFF , 1275px 173px #FFF , 3px 941px #FFF , 1559px 1948px #FFF , 378px 781px #FFF , 1743px 603px #FFF;
39
+}
40
+
41
+#stars3 {
42
+  width: 3px;
43
+  height: 3px;
44
+  background: transparent;
45
+  box-shadow: 140px 1824px #FFF , 433px 1217px #FFF , 1082px 1061px #FFF , 750px 835px #FFF , 1640px 336px #FFF , 849px 555px #FFF , 163px 400px #FFF , 596px 1747px #FFF , 1824px 1317px #FFF , 1244px 1217px #FFF , 1295px 1144px #FFF , 763px 152px #FFF , 1867px 446px #FFF , 367px 860px #FFF , 825px 284px #FFF , 206px 961px #FFF , 135px 1685px #FFF , 728px 1213px #FFF , 678px 540px #FFF , 756px 1933px #FFF , 1345px 1694px #FFF , 307px 95px #FFF , 950px 716px #FFF , 456px 1444px #FFF , 644px 1264px #FFF , 1345px 78px #FFF , 724px 1808px #FFF , 957px 1824px #FFF , 1377px 1719px #FFF , 1364px 1621px #FFF , 1242px 377px #FFF , 944px 418px #FFF , 1764px 1239px #FFF , 1976px 1906px #FFF , 1984px 247px #FFF , 358px 173px #FFF , 565px 1086px #FFF , 270px 904px #FFF , 396px 1316px #FFF , 1992px 534px #FFF , 237px 980px #FFF , 1093px 1594px #FFF , 736px 1652px #FFF , 1518px 546px #FFF , 322px 563px #FFF , 581px 859px #FFF , 754px 1738px #FFF , 1715px 1191px #FFF , 718px 449px #FFF , 1566px 1850px #FFF , 1350px 1017px #FFF , 1117px 167px #FFF , 1361px 674px #FFF , 424px 1775px #FFF , 1609px 384px #FFF , 1488px 1785px #FFF , 499px 1726px #FFF , 1375px 669px #FFF , 1220px 343px #FFF , 941px 555px #FFF , 1251px 1046px #FFF , 1325px 1526px #FFF , 1072px 475px #FFF , 244px 1822px #FFF , 1495px 356px #FFF , 1918px 1785px #FFF , 759px 328px #FFF , 393px 1306px #FFF , 1219px 1957px #FFF , 661px 833px #FFF , 1011px 1459px #FFF , 629px 1494px #FFF , 1506px 865px #FFF , 1956px 156px #FFF , 677px 434px #FFF , 1694px 1637px #FFF , 807px 1903px #FFF , 1944px 1407px #FFF , 869px 1824px #FFF , 1088px 1295px #FFF , 1652px 907px #FFF , 416px 917px #FFF , 1570px 920px #FFF , 980px 163px #FFF , 1362px 1295px #FFF , 1507px 764px #FFF , 985px 1991px #FFF , 1579px 218px #FFF , 902px 1425px #FFF , 1923px 916px #FFF , 1911px 588px #FFF , 200px 963px #FFF , 678px 161px #FFF , 1114px 388px #FFF , 1675px 1943px #FFF , 425px 1351px #FFF , 1691px 120px #FFF , 103px 772px #FFF , 806px 980px #FFF , 991px 1098px #FFF;
46
+  animation: animStar 150s linear infinite;
47
+}
48
+#stars3:after {
49
+  content: " ";
50
+  position: absolute;
51
+  top: 2000px;
52
+  width: 3px;
53
+  height: 3px;
54
+  background: transparent;
55
+  box-shadow: 140px 1824px #FFF , 433px 1217px #FFF , 1082px 1061px #FFF , 750px 835px #FFF , 1640px 336px #FFF , 849px 555px #FFF , 163px 400px #FFF , 596px 1747px #FFF , 1824px 1317px #FFF , 1244px 1217px #FFF , 1295px 1144px #FFF , 763px 152px #FFF , 1867px 446px #FFF , 367px 860px #FFF , 825px 284px #FFF , 206px 961px #FFF , 135px 1685px #FFF , 728px 1213px #FFF , 678px 540px #FFF , 756px 1933px #FFF , 1345px 1694px #FFF , 307px 95px #FFF , 950px 716px #FFF , 456px 1444px #FFF , 644px 1264px #FFF , 1345px 78px #FFF , 724px 1808px #FFF , 957px 1824px #FFF , 1377px 1719px #FFF , 1364px 1621px #FFF , 1242px 377px #FFF , 944px 418px #FFF , 1764px 1239px #FFF , 1976px 1906px #FFF , 1984px 247px #FFF , 358px 173px #FFF , 565px 1086px #FFF , 270px 904px #FFF , 396px 1316px #FFF , 1992px 534px #FFF , 237px 980px #FFF , 1093px 1594px #FFF , 736px 1652px #FFF , 1518px 546px #FFF , 322px 563px #FFF , 581px 859px #FFF , 754px 1738px #FFF , 1715px 1191px #FFF , 718px 449px #FFF , 1566px 1850px #FFF , 1350px 1017px #FFF , 1117px 167px #FFF , 1361px 674px #FFF , 424px 1775px #FFF , 1609px 384px #FFF , 1488px 1785px #FFF , 499px 1726px #FFF , 1375px 669px #FFF , 1220px 343px #FFF , 941px 555px #FFF , 1251px 1046px #FFF , 1325px 1526px #FFF , 1072px 475px #FFF , 244px 1822px #FFF , 1495px 356px #FFF , 1918px 1785px #FFF , 759px 328px #FFF , 393px 1306px #FFF , 1219px 1957px #FFF , 661px 833px #FFF , 1011px 1459px #FFF , 629px 1494px #FFF , 1506px 865px #FFF , 1956px 156px #FFF , 677px 434px #FFF , 1694px 1637px #FFF , 807px 1903px #FFF , 1944px 1407px #FFF , 869px 1824px #FFF , 1088px 1295px #FFF , 1652px 907px #FFF , 416px 917px #FFF , 1570px 920px #FFF , 980px 163px #FFF , 1362px 1295px #FFF , 1507px 764px #FFF , 985px 1991px #FFF , 1579px 218px #FFF , 902px 1425px #FFF , 1923px 916px #FFF , 1911px 588px #FFF , 200px 963px #FFF , 678px 161px #FFF , 1114px 388px #FFF , 1675px 1943px #FFF , 425px 1351px #FFF , 1691px 120px #FFF , 103px 772px #FFF , 806px 980px #FFF , 991px 1098px #FFF;
56
+}
57
+
58
+#title {
59
+  position: absolute;
60
+  top: 50%;
61
+  left: 0;
62
+  right: 0;
63
+  color: #FFF;
64
+  text-align: center;
65
+  font-family: "lato", sans-serif;
66
+  font-weight: 300;
67
+  font-size: 50px;
68
+  letter-spacing: 10px;
69
+  margin-top: -60px;
70
+  padding-left: 10px;
71
+}
72
+#title span {
73
+  background: -webkit-linear-gradient(white, #38495a);
74
+  -webkit-background-clip: text;
75
+  -webkit-text-fill-color: transparent;
76
+}
77
+
78
+@keyframes animStar {
79
+  from {
80
+    transform: translateY(0px);
81
+  }
82
+  to {
83
+    transform: translateY(-2000px);
84
+  }
85
+}

+ 41 - 0
app/styles/styles.scss

@@ -0,0 +1,41 @@
1
+body {
2
+  background-color: #1D1F21;
3
+}
4
+
5
+.center-div
6
+{
7
+  position: absolute;
8
+  margin: auto;
9
+  top: 0;
10
+  right: 0;
11
+  bottom: 0;
12
+  left: 0;
13
+  width: 800px;
14
+  height: 350px;
15
+  text-align: center;
16
+  color: white;
17
+}
18
+
19
+.link-list {
20
+  margin-top: 40px;
21
+  color: white;
22
+  text-align: center;
23
+  font-family: helvetica;
24
+  .btn-link {
25
+    color: white;
26
+    text-transform: uppercase;
27
+  }
28
+}
29
+
30
+.text {
31
+  font-size: 1.4em;
32
+  font-family: helvetica;
33
+  a {
34
+    color: #979797;
35
+    text-decoration: none;
36
+  }
37
+  a:hover {
38
+    color: white;
39
+    text-decoration: underline;
40
+  }
41
+}

+ 12 - 0
app/views/main.html

@@ -0,0 +1,12 @@
1
+<div class="center-div">
2
+  <a href="/"><img src="images/jamesperet-logo-white.png"></a>
3
+  <div class="container-fluid link-list">
4
+    <div class="row-fluid">
5
+      <div class="col-sm-12">
6
+        <a href="http://blog.j1x.co" class="btn btn-link btn-lg">Blog</a> |
7
+        <a href="#now" class="btn btn-link btn-lg">Now</a> |
8
+        <a href="http://registry.jsonresume.org/jamesperet" class="btn btn-link btn-lg">Resume</a>
9
+      </div>
10
+    </div>
11
+  </div>
12
+</div>

+ 24 - 0
app/views/now.html

@@ -0,0 +1,24 @@
1
+<div class="center-div">
2
+  <a href="/"><img src="images/jamesperet-logo-white.png"></a>
3
+  <div class="container-fluid link-list">
4
+    <div class="row-fluid">
5
+      <div class="col-sm-12">
6
+        <a href="http://blog.j1x.co" class="btn btn-link btn-lg">Blog</a> |
7
+        <a href="#now" class="btn btn-link btn-lg"><b style="text-decoration: underline;">Now</b></a> |
8
+        <a href="http://registry.jsonresume.org/jamesperet" class="btn btn-link btn-lg">Resume</a>
9
+      </div>
10
+    </div>
11
+  </div>
12
+  <div class="container-fluid" style="margin-top: 70px;">
13
+    <div class="row-fluid" >
14
+      <div class="col-sm-12 text">
15
+        <p>I'm currently in Abu Dhabi, planning to go to Berlim soon.</p>
16
+        <p>Looking for work as a <b>full stack developer</b> in Dubai, Berlim or remote.</p>
17
+        <p>Working on my <a href="http://blog.j1x.co">blog</a> and <a href="#resume">resume</a>.</p>
18
+      </div>
19
+    </div>
20
+  </div>
21
+</div>
22
+
23
+
24
+</div>

+ 25 - 0
bower.json

@@ -0,0 +1,25 @@
1
+{
2
+  "name": "landing-page",
3
+  "version": "0.0.0",
4
+  "dependencies": {
5
+    "angular": "^1.3.0",
6
+    "bootstrap-sass-official": "^3.2.0",
7
+    "angular-animate": "^1.3.0",
8
+    "angular-sanitize": "^1.3.0",
9
+    "angular-touch": "^1.3.0"
10
+  },
11
+  "devDependencies": {
12
+    "angular-mocks": "^1.3.0"
13
+  },
14
+  "appPath": "app",
15
+  "moduleName": "landingPageApp",
16
+  "overrides": {
17
+    "bootstrap": {
18
+      "main": [
19
+        "less/bootstrap.less",
20
+        "dist/css/bootstrap.css",
21
+        "dist/js/bootstrap.js"
22
+      ]
23
+    }
24
+  }
25
+}

+ 41 - 0
package.json

@@ -0,0 +1,41 @@
1
+{
2
+  "name": "landingpage",
3
+  "private": true,
4
+  "devDependencies": {
5
+    "grunt": "^0.4.5",
6
+    "grunt-angular-templates": "^0.5.7",
7
+    "grunt-autoprefixer": "^2.0.0",
8
+    "grunt-concurrent": "^1.0.0",
9
+    "grunt-contrib-clean": "^0.6.0",
10
+    "grunt-contrib-compass": "^1.0.0",
11
+    "grunt-contrib-concat": "^0.5.0",
12
+    "grunt-contrib-connect": "^0.9.0",
13
+    "grunt-contrib-copy": "^0.7.0",
14
+    "grunt-contrib-cssmin": "^0.12.0",
15
+    "grunt-contrib-htmlmin": "^0.4.0",
16
+    "vinyl-fs": "2.2.1",
17
+    "grunt-contrib-imagemin": "^0.9.2",
18
+    "grunt-contrib-jshint": "^0.11.0",
19
+    "grunt-contrib-uglify": "^0.7.0",
20
+    "grunt-contrib-watch": "^0.6.1",
21
+    "grunt-filerev": "^2.1.2",
22
+    "grunt-google-cdn": "^0.4.3",
23
+    "grunt-karma": "*",
24
+    "grunt-newer": "^1.1.0",
25
+    "grunt-ng-annotate": "^0.9.2",
26
+    "grunt-svgmin": "^2.0.0",
27
+    "grunt-usemin": "^3.0.0",
28
+    "grunt-wiredep": "^2.0.0",
29
+    "jit-grunt": "^0.9.1",
30
+    "jshint-stylish": "^1.0.0",
31
+    "karma-jasmine": "*",
32
+    "karma-phantomjs-launcher": "*",
33
+    "time-grunt": "^1.0.0"
34
+  },
35
+  "engines": {
36
+    "node": ">=0.10.0"
37
+  },
38
+  "scripts": {
39
+    "test": "grunt test"
40
+  }
41
+}

+ 18 - 0
test/.jshintrc

@@ -0,0 +1,18 @@
1
+{
2
+  "bitwise": true,
3
+  "browser": true,
4
+  "curly": true,
5
+  "eqeqeq": true,
6
+  "esnext": true,
7
+  "jasmine": true,
8
+  "latedef": true,
9
+  "noarg": true,
10
+  "node": true,
11
+  "strict": true,
12
+  "undef": true,
13
+  "unused": true,
14
+  "globals": {
15
+    "angular": false,
16
+    "inject": false
17
+  }
18
+}

+ 80 - 0
test/karma.conf.js

@@ -0,0 +1,80 @@
1
+// Karma configuration
2
+// http://karma-runner.github.io/0.12/config/configuration-file.html
3
+// Generated on 2016-01-09 using
4
+// generator-karma 1.0.0
5
+
6
+module.exports = function(config) {
7
+  'use strict';
8
+
9
+  config.set({
10
+    // enable / disable watching file and executing tests whenever any file changes
11
+    autoWatch: true,
12
+
13
+    // base path, that will be used to resolve files and exclude
14
+    basePath: '../',
15
+
16
+    // testing framework to use (jasmine/mocha/qunit/...)
17
+    // as well as any additional frameworks (requirejs/chai/sinon/...)
18
+    frameworks: [
19
+      "jasmine"
20
+    ],
21
+
22
+    // list of files / patterns to load in the browser
23
+    files: [
24
+      // bower:js
25
+      'bower_components/jquery/dist/jquery.js',
26
+      'bower_components/angular/angular.js',
27
+      'bower_components/bootstrap-sass-official/assets/javascripts/bootstrap.js',
28
+      'bower_components/angular-animate/angular-animate.js',
29
+      'bower_components/angular-sanitize/angular-sanitize.js',
30
+      'bower_components/angular-touch/angular-touch.js',
31
+      'bower_components/angular-mocks/angular-mocks.js',
32
+      // endbower
33
+      "app/scripts/**/*.js",
34
+      "test/mock/**/*.js",
35
+      "test/spec/**/*.js"
36
+    ],
37
+
38
+    // list of files / patterns to exclude
39
+    exclude: [
40
+    ],
41
+
42
+    // web server port
43
+    port: 8080,
44
+
45
+    // Start these browsers, currently available:
46
+    // - Chrome
47
+    // - ChromeCanary
48
+    // - Firefox
49
+    // - Opera
50
+    // - Safari (only Mac)
51
+    // - PhantomJS
52
+    // - IE (only Windows)
53
+    browsers: [
54
+      "PhantomJS"
55
+    ],
56
+
57
+    // Which plugins to enable
58
+    plugins: [
59
+      "karma-phantomjs-launcher",
60
+      "karma-jasmine"
61
+    ],
62
+
63
+    // Continuous Integration mode
64
+    // if true, it capture browsers, run tests and exit
65
+    singleRun: false,
66
+
67
+    colors: true,
68
+
69
+    // level of logging
70
+    // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
71
+    logLevel: config.LOG_INFO,
72
+
73
+    // Uncomment the following lines if you are using grunt's server to run the tests
74
+    // proxies: {
75
+    //   '/': 'http://localhost:9000/'
76
+    // },
77
+    // URL root prevent conflicts with the site root
78
+    // urlRoot: '_karma_'
79
+  });
80
+};

+ 23 - 0
test/spec/controllers/main.js

@@ -0,0 +1,23 @@
1
+'use strict';
2
+
3
+describe('Controller: MainCtrl', function () {
4
+
5
+  // load the controller's module
6
+  beforeEach(module('landingPageApp'));
7
+
8
+  var MainCtrl,
9
+    scope;
10
+
11
+  // Initialize the controller and a mock scope
12
+  beforeEach(inject(function ($controller, $rootScope) {
13
+    scope = $rootScope.$new();
14
+    MainCtrl = $controller('MainCtrl', {
15
+      $scope: scope
16
+      // place here mocked dependencies
17
+    });
18
+  }));
19
+
20
+  it('should attach a list of awesomeThings to the scope', function () {
21
+    expect(MainCtrl.awesomeThings.length).toBe(3);
22
+  });
23
+});