famous-angular restart

James Peret 9 years ago
parent
commit
8755b6ccad
13 changed files with 140 additions and 672 deletions
  1. 1 0
      .gitignore
  2. 55 413
      Gruntfile.js
  3. BIN
      app/favicon.ico
  4. 53 82
      app/index.html
  5. 0 4
      app/robots.txt
  6. 0 2
      app/scripts/main.js
  7. 0 89
      app/styles/main.css
  8. 21 4
      bower.json
  9. 10 27
      package.json
  10. 0 3
      test/.bowerrc
  11. 0 9
      test/bower.json
  12. 0 26
      test/index.html
  13. 0 13
      test/spec/test.js

+ 1 - 0
.gitignore

@@ -2,3 +2,4 @@ node_modules
2 2
 dist
3 3
 .tmp
4 4
 bower_components
5
+.DS_Store

+ 55 - 413
Gruntfile.js

@@ -1,440 +1,82 @@
1
-/*jshint node:true*/
1
+module.exports = function(grunt) {
2 2
 
3
-// Generated on 2015-03-31 using
4
-// generator-lessapp 0.5.1
5
-'use strict';
6
-
7
-// # Globbing
8
-// for performance reasons we're only matching one level down:
9
-// 'test/spec/{,*/}*.js'
10
-// If you want to recursively match all subfolders, use:
11
-// 'test/spec/**/*.js'
12
-
13
-module.exports = function (grunt) {
14
-
15
-  // Time how long tasks take. Can help when optimizing build times
16
-  require('time-grunt')(grunt);
17
-
18
-  // Load grunt tasks automatically
19
-  require('load-grunt-tasks')(grunt);
20
-
21
-  // Configurable paths
22
-  var config = {
23
-    app: 'app',
24
-    dist: 'dist'
25
-  };
26
-
27
-  // Define the configuration for all the tasks
28 3
   grunt.initConfig({
29
-
30
-    // Project settings
31
-    config: config,
32
-
33
-    // Watches files for changes and runs tasks based on the changed files
34
-    watch: {
35
-      bower: {
36
-        files: ['bower.json'],
37
-        tasks: ['wiredep']
38
-      },
39
-      js: {
40
-        files: ['<%= config.app %>/scripts/{,*/}*.js'],
41
-        tasks: ['jshint'],
42
-        options: {
43
-          livereload: '<%= connect.options.livereload %>'
44
-        }
45
-      },
46
-      jstest: {
47
-        files: ['test/spec/{,*/}*.js'],
48
-        tasks: ['test:watch']
49
-      },
50
-      gruntfile: {
51
-        files: ['Gruntfile.js']
52
-      },
53
-      less: {
54
-        files: ['<%= config.app %>/styles/{,*/}*.less'],
55
-        tasks: ['less:server', 'autoprefixer']
56
-      },
57
-      styles: {
58
-        files: ['<%= config.app %>/styles/{,*/}*.css'],
59
-        tasks: ['newer:copy:styles', 'autoprefixer']
60
-      },
61
-      livereload: {
62
-        options: {
63
-          livereload: '<%= connect.options.livereload %>'
64
-        },
65
-        files: [
66
-          '<%= config.app %>/{,*/}*.html',
67
-          '.tmp/styles/{,*/}*.css',
68
-          '<%= config.app %>/images/{,*/}*'
69
-        ]
70
-      }
71
-    },
72
-
73
-    // The actual grunt server settings
74
-    connect: {
75
-      options: {
76
-        port: 9000,
77
-        open: true,
78
-        livereload: 35729,
79
-        // Change this to '0.0.0.0' to access the server from outside
80
-        hostname: 'localhost'
81
-      },
82
-      livereload: {
83
-        options: {
84
-          middleware: function(connect) {
85
-            return [
86
-              connect.static('.tmp'),
87
-              connect().use('/bower_components', connect.static('./bower_components')),
88
-              connect().use('/fonts', connect.static('<%= config.app %>/bower_components/bootstrap/dist/fonts')),
89
-              connect.static(config.app)
90
-            ];
91
-          }
92
-        }
93
-      },
94
-      test: {
95
-        options: {
96
-          open: false,
97
-          port: 9001,
98
-          middleware: function(connect) {
99
-            return [
100
-              connect.static('.tmp'),
101
-              connect.static('test'),
102
-              connect().use('/bower_components', connect.static('./bower_components')),
103
-              connect().use('/fonts', connect.static('./bower_components/bootstrap/dist/fonts')),
104
-              connect.static(config.app)
105
-            ];
106
-          }
107
-        }
108
-      },
109
-      dist: {
110
-        options: {
111
-          base: '<%= config.dist %>',
112
-          livereload: false
113
-        }
114
-      }
115
-    },
116
-
117
-    // Empties folders to start fresh
118
-    clean: {
119
-      dist: {
120
-        files: [{
121
-          dot: true,
122
-          src: [
123
-            '.tmp',
124
-            '<%= config.dist %>/*',
125
-            '!<%= config.dist %>/.git*'
126
-          ]
127
-        }]
128
-      },
129
-      server: '.tmp'
130
-    },
131
-
132
-    // Make sure code styles are up to par and there are no obvious mistakes
4
+    pkg: grunt.file.readJSON('package.json'),
133 5
     jshint: {
6
+      files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js'],
134 7
       options: {
135
-        jshintrc: '.jshintrc',
136
-        reporter: require('jshint-stylish')
137
-      },
138
-      all: [
139
-        'Gruntfile.js',
140
-        '<%= config.app %>/scripts/{,*/}*.js',
141
-        '!<%= config.app %>/scripts/vendor/*',
142
-        'test/spec/{,*/}*.js'
143
-      ]
144
-    },
145
-
146
-    // Mocha testing framework configuration options
147
-    mocha: {
148
-      all: {
149
-        options: {
150
-          run: true,
151
-          urls: ['http://<%= connect.test.options.hostname %>:<%= connect.test.options.port %>/index.html']
8
+        globals: {
9
+          jQuery: true
152 10
         }
153 11
       }
154 12
     },
155
-
156
-    // Compiles LESS to CSS and generates necessary files if requested
157
-    less: {
158
-      options: {
159
-        paths: ['./bower_components'],
160
-      },
161
-      dist: {
162
-        options: {
163
-          cleancss: true,
164
-          report: 'gzip'
165
-        },
166
-        files: [{
167
-          expand: true,
168
-          cwd: '<%= config.app %>/styles',
169
-          src: '*.less',
170
-          dest: '.tmp/styles',
171
-          ext: '.css'
172
-        }]
173
-      },
174
-      server: {
175
-        options: {
176
-          sourceMap: true,
177
-          sourceMapBasepath: '<%= config.app %>/',
178
-          sourceMapRootpath: '../'
179
-        },
180
-        files: [{
181
-          expand: true,
182
-          cwd: '<%= config.app %>/styles',
183
-          src: '*.less',
184
-          dest: '.tmp/styles',
185
-          ext: '.css'
186
-        }]
187
-      }
13
+    watch: {
14
+      files: ['<%= jshint.files %>'],
15
+      tasks: ['jshint']
188 16
     },
189
-
190
-    // Add vendor prefixed styles
191
-    autoprefixer: {
17
+    concat: {
192 18
       options: {
193
-        browsers: ['> 1%', 'last 2 versions', 'Firefox ESR', 'Opera 12.1'],
194
-        map: {
195
-          prev: '.tmp/styles/'
196
-        }
197
-        
198
-      },
199
-      dist: {
200
-        files: [{
201
-          expand: true,
202
-          cwd: '.tmp/styles/',
203
-          src: '{,*/}*.css',
204
-          dest: '.tmp/styles/'
205
-        }]
206
-      }
207
-    },
208
-
209
-    // Automatically inject Bower components into the HTML file
210
-    wiredep: {
211
-      app: {
212
-        ignorePath: /^\/|\.\.\//,
213
-        src: ['<%= config.app %>/index.html'],
214
-        exclude: ['bower_components/bootstrap/dist/js/bootstrap.js']
19
+        // define a string to put between each file in the concatenated output
20
+        separator: ';'
215 21
       },
216
-      less: {
217
-        src: ['<%= config.app %>/styles/{,*/}*.less'],
218
-        ignorePath: /(\.\.\/){1,2}bower_components\//
219
-      }
220
-    },
221
-
222
-    // Renames files for browser caching purposes
223
-    filerev: {
224 22
       dist: {
225
-        src: [
226
-          '<%= config.dist %>/scripts/{,*/}*.js',
227
-          '<%= config.dist %>/styles/{,*/}*.css',
228
-          '<%= config.dist %>/images/{,*/}*.*',
229
-          '<%= config.dist %>/styles/fonts/{,*/}*.*',
230
-          '<%= config.dist %>/*.{ico,png}'
231
-        ]
23
+        // the files to concatenate
24
+        src: ['src/**/*.js'],
25
+        // the location of the resulting JS file
26
+        dest: 'dist/<%= pkg.name %>.js'
232 27
       }
233 28
     },
234
-
235
-    // Reads HTML for usemin blocks to enable smart builds that automatically
236
-    // concat, minify and revision files. Creates configurations in memory so
237
-    // additional tasks can operate on them
238
-    useminPrepare: {
239
-      options: {
240
-        dest: '<%= config.dist %>'
241
-      },
242
-      html: '<%= config.app %>/index.html'
243
-    },
244
-
245
-     // Performs rewrites based on rev and the useminPrepare configuration
246
-    usemin: {
29
+    uglify: {
247 30
       options: {
248
-        assetsDirs: [
249
-          '<%= config.dist %>',
250
-          '<%= config.dist %>/images',
251
-          '<%= config.dist %>/styles'
252
-        ]
31
+        // the banner is inserted at the top of the output
32
+        banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
253 33
       },
254
-      html: ['<%= config.dist %>/{,*/}*.html'],
255
-      css: ['<%= config.dist %>/styles/{,*/}*.css']
256
-    },
257
-
258
-    // The following *-min tasks produce minified files in the dist folder
259
-    imagemin: {
260
-      dist: {
261
-        files: [{
262
-          expand: true,
263
-          cwd: '<%= config.app %>/images',
264
-          src: '{,*/}*.{gif,jpeg,jpg,png}',
265
-          dest: '<%= config.dist %>/images'
266
-        }]
267
-      }
268
-    },
269
-
270
-    svgmin: {
271
-      dist: {
272
-        files: [{
273
-          expand: true,
274
-          cwd: '<%= config.app %>/images',
275
-          src: '{,*/}*.svg',
276
-          dest: '<%= config.dist %>/images'
277
-        }]
278
-      }
279
-    },
280
-
281
-    htmlmin: {
282
-      dist: {
283
-        options: {
284
-          collapseBooleanAttributes: true,
285
-          collapseWhitespace: true,
286
-          conservativeCollapse: true,
287
-          removeAttributeQuotes: true,
288
-          removeCommentsFromCDATA: true,
289
-          removeEmptyAttributes: true,
290
-          removeOptionalTags: true,
291
-          // true would impact styles with attribute selectors
292
-          removeRedundantAttributes: false,
293
-          useShortDoctype: true
294
-        },
295
-        files: [{
296
-          expand: true,
297
-          cwd: '<%= config.dist %>',
298
-          src: '{,*/}*.html',
299
-          dest: '<%= config.dist %>'
300
-        }]
301
-      }
302
-    },
303
-
304
-    // By default, your `index.html`'s <!-- Usemin block --> will take care
305
-    // of minification. These next options are pre-configured if you do not
306
-    // wish to use the Usemin blocks.
307
-    // cssmin: {
308
-    //   dist: {
309
-    //     files: {
310
-    //       '<%= config.dist %>/styles/main.css': [
311
-    //         '.tmp/styles/{,*/}*.css',
312
-    //         '<%= config.app %>/styles/{,*/}*.css'
313
-    //       ]
314
-    //     }
315
-    //   }
316
-    // },
317
-    // uglify: {
318
-    //   dist: {
319
-    //     files: {
320
-    //       '<%= config.dist %>/scripts/scripts.js': [
321
-    //         '<%= config.dist %>/scripts/scripts.js'
322
-    //       ]
323
-    //     }
324
-    //   }
325
-    // },
326
-    // concat: {
327
-    //   dist: {}
328
-    // },
329
-
330
-    // Copies remaining files to places other tasks can use
331
-    copy: {
332 34
       dist: {
333
-        files: [{
334
-          expand: true,
335
-          dot: true,
336
-          cwd: '<%= config.app %>',
337
-          dest: '<%= config.dist %>',
338
-          src: [
339
-            '*.{ico,png,txt}',
340
-            'images/{,*/}*.webp',
341
-            '{,*/}*.html',
342
-            'styles/fonts/{,*/}*.*'
343
-          ]
344
-        }, {
345
-          expand: true,
346
-          dot: true,
347
-          cwd: 'bower_components/bootstrap/dist',
348
-          src: 'fonts/*',
349
-          dest: '<%= config.dist %>'
350
-        }]
35
+        files: {
36
+          'dist/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>']
37
+        }
351 38
       }
352 39
     },
353
-
354
-    // Run some tasks in parallel to speed up build process
355
-    concurrent: {
356
-      server: [
357
-        'less:server'
358
-      ],
359
-      test: [
360
-      ],
361
-      dist: [
362
-        'less:dist',
363
-        'imagemin',
364
-        'svgmin'
365
-      ]
40
+    qunit: {
41
+      files: ['test/**/*.html']
366 42
     },
367
-    surge: {
368
-      'portfolio-go': {
43
+    wiredep: {
44
+      task: {
45
+        // Point to the files that should be updated when 
46
+        // you run `grunt wiredep` 
47
+        src: [
48
+          'app/*.html',
49
+		'app/views/**/*.html',   // .html support... 
50
+          'app/views/**/*.jade',   // .jade support... 
51
+          'app/styles/main.scss',  // .scss & .sass support... 
52
+          'app/config.yml'         // and .yml & .yaml support out of the box! 
53
+        ],
369 54
         options: {
370
-          project: 'dist/',
371
-          domain: 'portfolio-go.surge.sh'
55
+          // See wiredep's configuration documentation for the options 
56
+          // you may pass: 
57
+          // https://github.com/taptapship/wiredep#configuration 
372 58
         }
373 59
       }
374
-    }
375
-  });
376
-
377
-  grunt.loadNpmTasks('grunt-surge');
378
-
379
-  grunt.registerTask('serve', 'start the server and preview your app, --allow-remote for remote access', function (target) {
380
-    if (grunt.option('allow-remote')) {
381
-      grunt.config.set('connect.options.hostname', '0.0.0.0');
382
-    }
383
-    if (target === 'dist') {
384
-      return grunt.task.run(['build', 'connect:dist:keepalive']);
385
-    }
386
-
387
-    grunt.task.run([
388
-      'clean:server',
389
-      'wiredep',
390
-      'concurrent:server',
391
-      'autoprefixer',
392
-      'connect:livereload',
393
-      'watch'
394
-    ]);
60
+     },
61
+	serve: {
62
+	    options: {
63
+	        port: 9000,
64
+	    }
65
+	}
395 66
   });
396 67
 
397
-  grunt.registerTask('server', function (target) {
398
-    grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.');
399
-    grunt.task.run([target ? ('serve:' + target) : 'serve']);
400
-  });
401
-
402
-  grunt.registerTask('test', function (target) {
403
-    if (target !== 'watch') {
404
-      grunt.task.run([
405
-        'clean:server',
406
-        'concurrent:test',
407
-        'autoprefixer'
408
-      ]);
409
-    }
68
+  grunt.loadNpmTasks('grunt-contrib-uglify');
69
+  grunt.loadNpmTasks('grunt-contrib-jshint');
70
+  grunt.loadNpmTasks('grunt-contrib-qunit');
71
+  grunt.loadNpmTasks('grunt-contrib-watch');
72
+  grunt.loadNpmTasks('grunt-contrib-concat');
73
+  grunt.loadNpmTasks('grunt-wiredep');
74
+  grunt.loadNpmTasks('grunt-serve');
410 75
 
411
-    grunt.task.run([
412
-      'connect:test',
413
-      'mocha'
414
-    ]);
415
-  });
76
+  // this would be run by typing "grunt test" on the command line
77
+  grunt.registerTask('test', ['jshint', 'qunit']);
416 78
 
417
-  grunt.registerTask('build', [
418
-    'clean:dist',
419
-    'wiredep',
420
-    'useminPrepare',
421
-    'concurrent:dist',
422
-    'autoprefixer',
423
-    'concat',
424
-    'cssmin',
425
-    'uglify',
426
-    'copy:dist',
427
-    'filerev',
428
-    'usemin',
429
-    'htmlmin'
430
-  ]);
79
+  // the default task can be run just by typing "grunt" on the command line
80
+  grunt.registerTask('default', ['jshint', 'concat', 'uglify', 'wiredep']);
431 81
 
432
-  grunt.registerTask('default', [
433
-    'newer:jshint',
434
-    'test',
435
-    'build'
436
-  ]);
437
-  
438
-  grunt.registerTask('deploy', ['build', 'surge']);
439
-   
440
-};
82
+};

BIN
app/favicon.ico


+ 53 - 82
app/index.html

@@ -1,84 +1,55 @@
1
-<!doctype html>
2
-<html lang="">
3
-  <head>
4
-    <meta charset="utf-8">
5
-    <title>portfolio go</title>
6
-    <meta name="description" content="">
7
-    <meta name="viewport" content="width=device-width">
8
-    <link rel="shortcut icon" href="/favicon.ico">
9
-    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
10
-    <!-- build:css(.) styles/vendor.css -->
11
-    <!-- bower:css -->
12
-    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
13
-    <!-- endbower -->
14
-    <!-- endbuild -->
15
-    <!-- build:css(.tmp) styles/main.css -->
16
-    <link rel="stylesheet" href="styles/main.css">
17
-    <!-- endbuild -->
18
-  </head>
19
-  <body>
20
-    <!--[if lt IE 10]>
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
-
25
-    <div class="container">
26
-      <div class="header">
27
-        <ul class="nav nav-pills pull-right">
28
-          <li class="active"><a href="#">Home</a></li>
29
-          <li><a href="#">About</a></li>
30
-          <li><a href="#">Contact</a></li>
31
-        </ul>
32
-        <h3 class="text-muted">portfolio go</h3>
33
-      </div>
34
-
35
-      <div class="jumbotron">
36
-        <h1>'Allo, 'Allo!</h1>
37
-        <p class="lead">Always a pleasure scaffolding your apps.</p>
38
-        <p><a class="btn btn-lg btn-success" href="#">Splendid! <span class="glyphicon glyphicon-ok"></span></a></p>
39
-      </div>
40
-
41
-      <div class="row marketing">
42
-        <div class="col-lg-6">
43
-          <h4>HTML5 Boilerplate</h4>
44
-          <p>HTML5 Boilerplate is a professional front-end template for building fast, robust, and adaptable web apps or sites.</p>
45
-
46
-          <h4>LESS</h4>
47
-          <p>LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions.</p>
48
-
49
-
50
-          <h4>Bootstrap</h4>
51
-          <p>Sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.</p>
52
-
53
-
54
-        </div>
55
-      </div>
56
-
57
-      <div class="footer">
58
-        <p><span class="glyphicon glyphicon-heart"></span> from the Yeoman team</p>
59
-      </div>
60
-
61
-    </div>
62
-
63
-
64
-    <!-- build:js(.) scripts/vendor.js -->
65
-    <!-- bower:js -->
66
-    <script src="bower_components/jquery/dist/jquery.js"></script>
67
-    <!-- endbower -->
68
-    <!-- endbuild -->
69
-
70
-    <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
71
-    <script>
72
-      (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
73
-      function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
74
-      e=o.createElement(i);r=o.getElementsByTagName(i)[0];
75
-      e.src='//www.google-analytics.com/analytics.js';
76
-      r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
77
-      ga('create','UA-XXXXX-X');ga('send','pageview');
78
-    </script>
79
-
80
-        <!-- build:js({app,.tmp}) scripts/main.js -->
81
-        <script src="scripts/main.js"></script>
82
-        <!-- endbuild -->
1
+<html ng-app="myAppName">
2
+<head>
3
+	
4
+	
5
+	<!-- bower:js -->
6
+	
7
+	<script src="../bower_components/angular/angular.js"></script>
8
+	<script src="../bower_components/famous-angular/dist/famous-angular.js"></script>
9
+	<script src="../bower_components/famous/dist/famous-global.js"></script>
10
+	
11
+	<!-- endbower -->
12
+	
13
+	<script>
14
+  		angular.module('myAppName', ['famous.angular'])
15
+     		.controller('Lesson1Ctrl', function($scope, $famous, $timeline) {
16
+				$scope.data = {message: "Hello"};
17
+				
18
+				var Transitionable = $famous['famous/transitions/Transitionable'];
19
+				var Easing = $famous['famous/transitions/Easing'];
20
+
21
+				$scope.t = new Transitionable(0);
22
+
23
+
24
+				$scope.translation = $timeline([
25
+				  [0, [100, 100, 0], Easing.inOutQuad], 
26
+				  [0.25, [400, 200, 0], Easing.inOutQuad],
27
+				  [0.5, [300, 300, 0], Easing.inOutQuad],
28
+				  [0.75, [200, 500, 0], Easing.inOutQuad],
29
+				  [1, [100, 100, 0], Easing.inOutQuad],
30
+				]);
31
+				
32
+				$scope.t.delay((1000), function(){ // we will delay each animation based on index
33
+				    $scope.t.set(1, {duration: 3400}, function(){
34
+					    
35
+
36
+				    }); // we will set each Transitionable to 1 == which is the index of the $timeline to transition to
37
+				    
38
+
39
+				});
40
+     	});
41
+	</script>
42
+	
43
+</head>
44
+<body >
45
+	<fa-app ng-controller='Lesson1Ctrl' id="app">
46
+	<ui-view>
47
+	     <fa-modifier fa-size="[100, 100]" fa-translate="translation(t.get())" >	    
48
+		  <fa-surface fa-background-color="'#FA5C4F'" fa-color="'red'">
49
+		    {{data.message}}
50
+		  </fa-surface>
51
+		 </fa-modifier>
52
+	</fa-app>
83 53
 </body>
84 54
 </html>
55
+

+ 0 - 4
app/robots.txt

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

+ 0 - 2
app/scripts/main.js

@@ -1,2 +0,0 @@
1
-// jshint devel:true
2
-console.log('\'Allo \'Allo!');

+ 0 - 89
app/styles/main.css

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

+ 21 - 4
bower.json

@@ -1,7 +1,24 @@
1 1
 {
2
-  "name": "portfolio-go",
3
-  "private": true,
2
+  "name": "famous-angular",
3
+  "version": "0.1.0",
4
+  "authors": [
5
+    "James Peret <james.peret@gmail.com>"
6
+  ],
7
+  "description": "famous-angular starter kit",
8
+  "moduleType": [
9
+    "node"
10
+  ],
11
+  "license": "MIT",
12
+  "homepage": "http://jamesperet.com",
13
+  "ignore": [
14
+    "**/.*",
15
+    "node_modules",
16
+    "bower_components",
17
+    "test",
18
+    "tests"
19
+  ],
4 20
   "dependencies": {
5
-    "bootstrap": "~3.2.0"
21
+    "famous-angular": "~0.5.2",
22
+    "requirejs": "~2.1.17"
6 23
   }
7
-}
24
+}

+ 10 - 27
package.json

@@ -1,32 +1,15 @@
1 1
 {
2
-  "name": "portfolio-go",
2
+  "name": "famous-angular",
3
+  "version": "0.1.0",
3 4
   "devDependencies": {
4
-    "grunt": "^0.4.5",
5
-    "grunt-autoprefixer": "^1.0.0",
6
-    "grunt-concurrent": "^0.5.0",
7
-    "grunt-contrib-clean": "^0.6.0",
8
-    "grunt-contrib-concat": "^0.5.0",
9
-    "grunt-contrib-connect": "^0.8.0",
10
-    "grunt-contrib-copy": "^0.5.0",
11
-    "grunt-contrib-cssmin": "^0.10.0",
12
-    "grunt-contrib-htmlmin": "^0.3.0",
13
-    "grunt-contrib-imagemin": "^0.8.0",
14
-    "grunt-contrib-jshint": "^0.10.0",
15
-    "grunt-contrib-less": "^1.0.0",
16
-    "grunt-contrib-uglify": "^0.5.1",
5
+    "grunt": "~0.4.5",
6
+    "grunt-contrib-concat": "^0.5.1",
7
+    "grunt-contrib-jshint": "~0.10.0",
8
+    "grunt-contrib-nodeunit": "~0.4.1",
9
+    "grunt-contrib-qunit": "^0.7.0",
10
+    "grunt-contrib-uglify": "~0.5.0",
17 11
     "grunt-contrib-watch": "^0.6.1",
18
-    "grunt-filerev": "^2.2.0",
19
-    "grunt-mocha": "^0.4.10",
20
-    "grunt-newer": "^0.7.0",
21
-    "grunt-surge": "^0.4.3",
22
-    "grunt-svgmin": "^0.4.0",
23
-    "grunt-usemin": "^2.3.0",
24
-    "grunt-wiredep": "^1.7.0",
25
-    "jshint-stylish": "^0.4.0",
26
-    "load-grunt-tasks": "^0.4.0",
27
-    "time-grunt": "^0.4.0"
28
-  },
29
-  "engines": {
30
-    "node": ">=0.10.0"
12
+    "grunt-serve": "^0.1.6",
13
+    "grunt-wiredep": "^2.0.0"
31 14
   }
32 15
 }

+ 0 - 3
test/.bowerrc

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

+ 0 - 9
test/bower.json

@@ -1,9 +0,0 @@
1
-{
2
-  "name": "portfolio-go",
3
-  "private": true,
4
-  "dependencies": {
5
-    "chai": "~1.8.0",
6
-    "mocha": "~1.14.0"
7
-  },
8
-  "devDependencies": {}
9
-}

+ 0 - 26
test/index.html

@@ -1,26 +0,0 @@
1
-<!doctype html>
2
-<html>
3
-<head>
4
-    <meta charset="utf-8">
5
-    <title>Mocha Spec Runner</title>
6
-    <link rel="stylesheet" href="bower_components/mocha/mocha.css">
7
-</head>
8
-<body>
9
-    <div id="mocha"></div>
10
-    <script src="bower_components/mocha/mocha.js"></script>
11
-    <script>mocha.setup('bdd')</script>
12
-    <script src="bower_components/chai/chai.js"></script>
13
-    <script>
14
-        var assert = chai.assert;
15
-        var expect = chai.expect;
16
-        var should = chai.should();
17
-    </script>
18
-
19
-    <!-- include source files here... -->
20
-
21
-    <!-- include spec files here... -->
22
-    <script src="spec/test.js"></script>
23
-
24
-    <script>mocha.run()</script>
25
-</body>
26
-</html>

+ 0 - 13
test/spec/test.js

@@ -1,13 +0,0 @@
1
-/* global describe, it */
2
-
3
-(function () {
4
-  'use strict';
5
-
6
-  describe('Give it some context', function () {
7
-    describe('maybe a bit more context here', function () {
8
-      it('should run here few assertions', function () {
9
-
10
-      });
11
-    });
12
-  });
13
-})();