diff --git a/.gitignore b/.gitignore index e49727ac..fddad262 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .DS_Store .nodemonignore .sass-cache/ +.bower-* node_modules/ public/lib test/coverage/ diff --git a/app/views/404.html b/app/views/404.html old mode 100755 new mode 100644 index 2f0d9e86..65f8637e --- a/app/views/404.html +++ b/app/views/404.html @@ -1,13 +1,17 @@ -extends layouts/default +{% extends 'layouts/default.html' %} -block main - h1 Oops something went wrong - br - span 404 - -block content - #error-message-box - #error-stack-trace - pre - code!= error +{% block main %} +

Oops something went wrong

+
+ 404 +{% endblock %} +{% block content %} +
+
+
+                {{error}}
+            
+
+
+{% endblock %} diff --git a/app/views/500.html b/app/views/500.html old mode 100755 new mode 100644 index 491b0008..8eba21c9 --- a/app/views/500.html +++ b/app/views/500.html @@ -1,12 +1,17 @@ -extends layouts/default +{% extends 'layouts/default.html' %} -block main - h1 Oops something went wrong - br - span 500 +{% block main %} +

Oops something went wrong

+
+ 500 +{% endblock %} -block content - #error-message-box - #error-stack-trace - pre - code!= error +{% block content %} +
+
+
+                {{error}}
+            
+
+
+{% endblock %} diff --git a/app/views/includes/foot.html b/app/views/includes/foot.html new file mode 100644 index 00000000..b9c0c047 --- /dev/null +++ b/app/views/includes/foot.html @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{% if (process.env.NODE_ENV == 'development') %} + + +{% endif %} diff --git a/app/views/includes/foot.jade b/app/views/includes/foot.jade deleted file mode 100755 index ba1d6e57..00000000 --- a/app/views/includes/foot.jade +++ /dev/null @@ -1,30 +0,0 @@ -//AngularJS -script(type='text/javascript', src='/lib/angular/angular.js') -script(type='text/javascript', src='/lib/angular-cookies/angular-cookies.js') -script(type='text/javascript', src='/lib/angular-resource/angular-resource.js') -script(type='text/javascript', src='/lib/angular-route/angular-route.js') - -//Angular UI -script(type='text/javascript', src='/lib/angular-bootstrap/ui-bootstrap.js') -script(type='text/javascript', src='/lib/angular-bootstrap/ui-bootstrap-tpls.js') -script(type='text/javascript', src='/lib/angular-ui-utils/ui-utils.min.js') - -//Application Init -script(type='text/javascript', src='/js/app.js') -script(type='text/javascript', src='/js/config.js') -script(type='text/javascript', src='/js/directives.js') -script(type='text/javascript', src='/js/filters.js') - -//Application Services -script(type='text/javascript', src='/js/services/global.js') -script(type='text/javascript', src='/js/services/articles.js') - -//Application Controllers -script(type='text/javascript', src='/js/controllers/articles.js') -script(type='text/javascript', src='/js/controllers/index.js') -script(type='text/javascript', src='/js/controllers/header.js') -script(type='text/javascript', src='/js/init.js') - -if (process.env.NODE_ENV == 'development') - //Livereload script rendered - script(type='text/javascript', src='http://' + req.host + ':35729/livereload.js') \ No newline at end of file diff --git a/app/views/includes/head.html b/app/views/includes/head.html new file mode 100644 index 00000000..dd491970 --- /dev/null +++ b/app/views/includes/head.html @@ -0,0 +1,31 @@ + + + + + + {{appName}} - {{title}} + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/views/includes/head.jade b/app/views/includes/head.jade deleted file mode 100755 index 458c122d..00000000 --- a/app/views/includes/head.jade +++ /dev/null @@ -1,29 +0,0 @@ -head - meta(charset='utf-8') - meta(http-equiv='X-UA-Compatible', content='IE=edge,chrome=1') - meta(name='viewport', content='width=device-width,initial-scale=1') - - title= appName+' - '+title - meta(http-equiv='Content-type', content='text/html;charset=UTF-8') - meta(name="keywords", content="node.js, express, mongoose, mongodb, angularjs") - meta(name="description", content="MEAN - A Modern Stack: MongoDB, ExpressJS, AngularJS, NodeJS. (BONUS: Passport User Support).") - - link(href='/img/icons/favicon.ico', rel='shortcut icon', type='image/x-icon') - - meta(property='fb:app_id', content='APP_ID') - meta(property='og:title', content='#{appName} - #{title}') - meta(property='og:description', content='MEAN - A Modern Stack: MongoDB, ExpressJS, AngularJS, NodeJS. (BONUS: Passport User Support).') - meta(property='og:type', content='website') - meta(property='og:url', content='APP_URL') - meta(property='og:image', content='APP_LOGO') - meta(property='og:site_name', content='MEAN - A Modern Stack') - meta(property='fb:admins', content='APP_ADMIN') - - link(rel='stylesheet', href='/lib/bootstrap/dist/css/bootstrap.min.css') - //- link(rel='stylesheet', href='/lib/bootstrap/dist/css/bootstrap-responsive.css') - link(rel='stylesheet', href='/css/common.css') - - link(rel='stylesheet', href='/css/views/articles.css') - - //if lt IE 9 - script(src='http://html5shim.googlecode.com/svn/trunk/html5.js') diff --git a/app/views/index.html b/app/views/index.html old mode 100755 new mode 100644 index c1218989..c559719a --- a/app/views/index.html +++ b/app/views/index.html @@ -1,6 +1,7 @@ -extends layouts/default - -block content - section(data-ng-view) - script(type="text/javascript"). - window.user = !{user}; +{% extends 'layouts/default.html' %} +{% block content %} +
+ +{% endblock %} diff --git a/app/views/layouts/default.html b/app/views/layouts/default.html new file mode 100644 index 00000000..115a51eb --- /dev/null +++ b/app/views/layouts/default.html @@ -0,0 +1,13 @@ + + + {% include '../includes/head.html' %} + + +
+
+ {% block content %}{% endblock %} +
+
+ {% include '../includes/foot.html' %} + + diff --git a/app/views/layouts/default.jade b/app/views/layouts/default.jade deleted file mode 100755 index 6af83d37..00000000 --- a/app/views/layouts/default.jade +++ /dev/null @@ -1,9 +0,0 @@ -doctype html -html(lang='en', xmlns='http://www.w3.org/1999/xhtml', xmlns:fb='https://www.facebook.com/2008/fbml', itemscope='itemscope', itemtype='http://schema.org/Product') - include ../includes/head - body - .navbar.navbar-inverse.navbar-fixed-top(data-ng-include="'views/header.html'", data-role="navigation") - section.content - section.container - block content - include ../includes/foot diff --git a/app/views/users/auth.html b/app/views/users/auth.html new file mode 100644 index 00000000..74891fdd --- /dev/null +++ b/app/views/users/auth.html @@ -0,0 +1,24 @@ +{% extends '../layouts/default.html' %} + +{% block content %} +
+
+ + + + + +
+
+ {% if message && message.length %} +
+ +
+ {{ message }} +
+
+ {% endif %} + {% block auth %}{% endblock %} +
+
+{% endblock %} diff --git a/app/views/users/auth.jade b/app/views/users/auth.jade deleted file mode 100755 index fadb270d..00000000 --- a/app/views/users/auth.jade +++ /dev/null @@ -1,21 +0,0 @@ -extends ../layouts/default - -block content - .row - .col-md-offset-1.col-md-5 - a(href="/auth/facebook") - img(src="/img/icons/facebook.png") - a(href="/auth/github") - img(src="/img/icons/github.png") - a(href="/auth/twitter") - img(src="/img/icons/twitter.png") - a(href="/auth/google") - img(src="/img/icons/google.png") - a(href="/auth/linkedin") - img(src="/img/icons/linkedin.png") - .col-md-6 - if message && message.length - .fade.in.alert.alert-error - button.close(type="button", data-dismiss="alert") × - strong #{message} - block auth diff --git a/app/views/users/signin.html b/app/views/users/signin.html old mode 100755 new mode 100644 index 9cd9492f..72b9be84 --- a/app/views/users/signin.html +++ b/app/views/users/signin.html @@ -1,20 +1,24 @@ -extends auth +{% extends 'auth.html' %} -block auth - form.signin.form-horizontal(action="/users/session", method="post") - .form-group - label.col-md-4.control-label(for='email') Email - .col-md-8 - input#email.form-control(type='text', name="email", placeholder='Email') - - .form-group - label.col-md-4.control-label(for='password') Password - .col-md-8 - input#password.form-control(type='password', name="password", placeholder='Password') - - .form-group - .col-md-offset-4.col-md-8 - button.btn.btn-primary(type='submit') Sign in -   - | or  - a.show-signup(href="/signup") Sign up +{% block auth %} +
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+   + or  +
+
+
+{% endblock %} diff --git a/app/views/users/signup.html b/app/views/users/signup.html old mode 100755 new mode 100644 index 920f0a65..a539f3f2 --- a/app/views/users/signup.html +++ b/app/views/users/signup.html @@ -1,30 +1,36 @@ -extends auth +{% extends 'auth.html' %} -block auth - form.signup.form-horizontal(action="/users", method="post") - .form-group - label.col-md-4.control-label(for='name') Full Name - .col-md-8 - input#name.form-control(type='text', name="name", placeholder='Full name', value=user.name) - - .form-group - label.col-md-4.control-label(for='email') Email - .col-md-8 - input#email.form-control(type='text', name="email", placeholder='Email', value=user.email) - - .form-group - label.col-md-4.control-label(for='username') Username - .col-md-8 - input#username.form-control(type='text', name="username", placeholder='Username', value=user.username) - - .form-group - label.col-md-4.control-label(for='password') Password - .col-md-8 - input#password.form-control(type='password', name="password", placeholder='Password') - - .form-group - .col-md-offset-4.col-md-8 - button.btn.btn-primary(type='submit') Sign up -   - | or  - a.show-login(href="/signin") login +{% block auth %} +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+   + or  +
+
+
+{% endblock %} diff --git a/config/env/all.js b/config/env/all.js index 1fba9f07..807640df 100644 --- a/config/env/all.js +++ b/config/env/all.js @@ -7,7 +7,7 @@ module.exports = { root: rootPath, port: process.env.PORT || 3000, db: process.env.MONGOHQ_URL, - templateEngine: 'jade', + templateEngine: 'swig', // The secret should be set to a non-guessable string that // is used to compute a session hash diff --git a/config/env/development.js b/config/env/development.js index 37b4d713..f5075ab7 100644 --- a/config/env/development.js +++ b/config/env/development.js @@ -1,33 +1,33 @@ 'use strict'; module.exports = { - db: "mongodb://localhost/mean-dev", + db: 'mongodb://localhost/mean-dev', app: { - name: "MEAN - A Modern Stack - Development" + name: 'MEAN - A Modern Stack - Development' }, facebook: { - clientID: "APP_ID", - clientSecret: "APP_SECRET", - callbackURL: "http://localhost:3000/auth/facebook/callback" + clientID: 'APP_ID', + clientSecret: 'APP_SECRET', + callbackURL: 'http://localhost:3000/auth/facebook/callback' }, twitter: { - clientID: "CONSUMER_KEY", - clientSecret: "CONSUMER_SECRET", - callbackURL: "http://localhost:3000/auth/twitter/callback" + clientID: 'CONSUMER_KEY', + clientSecret: 'CONSUMER_SECRET', + callbackURL: 'http://localhost:3000/auth/twitter/callback' }, github: { - clientID: "APP_ID", - clientSecret: "APP_SECRET", - callbackURL: "http://localhost:3000/auth/github/callback" + clientID: 'APP_ID', + clientSecret: 'APP_SECRET', + callbackURL: 'http://localhost:3000/auth/github/callback' }, google: { - clientID: "APP_ID", - clientSecret: "APP_SECRET", - callbackURL: "http://localhost:3000/auth/google/callback" + clientID: 'APP_ID', + clientSecret: 'APP_SECRET', + callbackURL: 'http://localhost:3000/auth/google/callback' }, linkedin: { - clientID: "API_KEY", - clientSecret: "SECRET_KEY", - callbackURL: "http://localhost:3000/auth/linkedin/callback" + clientID: 'API_KEY', + clientSecret: 'SECRET_KEY', + callbackURL: 'http://localhost:3000/auth/linkedin/callback' } -} \ No newline at end of file +}; diff --git a/config/env/production.js b/config/env/production.js index 71c73a4f..151b2016 100644 --- a/config/env/production.js +++ b/config/env/production.js @@ -1,33 +1,33 @@ 'use strict'; module.exports = { - db: "mongodb://localhost/mean", + db: 'mongodb://localhost/mean', app: { - name: "MEAN - A Modern Stack - Production" + name: 'MEAN - A Modern Stack - Production' }, facebook: { - clientID: "APP_ID", - clientSecret: "APP_SECRET", - callbackURL: "http://localhost:3000/auth/facebook/callback" + clientID: 'APP_ID', + clientSecret: 'APP_SECRET', + callbackURL: 'http://localhost:3000/auth/facebook/callback' }, twitter: { - clientID: "CONSUMER_KEY", - clientSecret: "CONSUMER_SECRET", - callbackURL: "http://localhost:3000/auth/twitter/callback" + clientID: 'CONSUMER_KEY', + clientSecret: 'CONSUMER_SECRET', + callbackURL: 'http://localhost:3000/auth/twitter/callback' }, github: { - clientID: "APP_ID", - clientSecret: "APP_SECRET", - callbackURL: "http://localhost:3000/auth/github/callback" + clientID: 'APP_ID', + clientSecret: 'APP_SECRET', + callbackURL: 'http://localhost:3000/auth/github/callback' }, google: { - clientID: "APP_ID", - clientSecret: "APP_SECRET", - callbackURL: "http://localhost:3000/auth/google/callback" + clientID: 'APP_ID', + clientSecret: 'APP_SECRET', + callbackURL: 'http://localhost:3000/auth/google/callback' }, linkedin: { - clientID: "API_KEY", - clientSecret: "SECRET_KEY", - callbackURL: "http://localhost:3000/auth/linkedin/callback" + clientID: 'API_KEY', + clientSecret: 'SECRET_KEY', + callbackURL: 'http://localhost:3000/auth/linkedin/callback' } -} \ No newline at end of file +}; diff --git a/config/env/test.js b/config/env/test.js index 2a213998..dc2a0c50 100644 --- a/config/env/test.js +++ b/config/env/test.js @@ -1,29 +1,29 @@ 'use strict'; module.exports = { - db: "mongodb://localhost/mean-test", + db: 'mongodb://localhost/mean-test', port: 3001, app: { - name: "MEAN - A Modern Stack - Test" + name: 'MEAN - A Modern Stack - Test' }, facebook: { - clientID: "APP_ID", - clientSecret: "APP_SECRET", - callbackURL: "http://localhost:3000/auth/facebook/callback" + clientID: 'APP_ID', + clientSecret: 'APP_SECRET', + callbackURL: 'http://localhost:3000/auth/facebook/callback' }, twitter: { - clientID: "CONSUMER_KEY", - clientSecret: "CONSUMER_SECRET", - callbackURL: "http://localhost:3000/auth/twitter/callback" + clientID: 'CONSUMER_KEY', + clientSecret: 'CONSUMER_SECRET', + callbackURL: 'http://localhost:3000/auth/twitter/callback' }, github: { - clientID: "APP_ID", - clientSecret: "APP_SECRET", - callbackURL: "http://localhost:3000/auth/github/callback" + clientID: 'APP_ID', + clientSecret: 'APP_SECRET', + callbackURL: 'http://localhost:3000/auth/github/callback' }, google: { - clientID: "APP_ID", - clientSecret: "APP_SECRET", - callbackURL: "http://localhost:3000/auth/google/callback" + clientID: 'APP_ID', + clientSecret: 'APP_SECRET', + callbackURL: 'http://localhost:3000/auth/google/callback' } -} \ No newline at end of file +}; diff --git a/gruntfile.js b/gruntfile.js index 1779ab84..9f1c3f58 100644 --- a/gruntfile.js +++ b/gruntfile.js @@ -80,7 +80,7 @@ module.exports = function(grunt) { } }); - //Load NPM tasks + //Load NPM tasks grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-mocha-test'); @@ -97,4 +97,4 @@ module.exports = function(grunt) { //Test task. grunt.registerTask('test', ['env:test', 'mochaTest', 'karma:unit']); -}; \ No newline at end of file +}; diff --git a/package.json b/package.json index dc3dc871..800ae83f 100755 --- a/package.json +++ b/package.json @@ -57,7 +57,8 @@ "grunt-nodemon": "0.1.2", "grunt-contrib-watch": "~0.5.3", "karma-coverage": "~0.1.4", - "karma": "~0.10.9" + "karma": "~0.10.9", + "swig": "~1.3.2" }, "devDependencies": { "supertest": "0.8.2",