diff --git a/app/index.js b/app/index.js index 4d3d41c8..26720281 100644 --- a/app/index.js +++ b/app/index.js @@ -42,6 +42,10 @@ var MeanGenerator = yeoman.generators.Base.extend({ }, { name: 'appAuthor', message: 'What is your company/author name?' + }, { + name: 'html5Mode', + message: 'Enable HTML5 mode?', + default: false }, { type: 'confirm', name: 'addArticleExample', @@ -54,6 +58,7 @@ var MeanGenerator = yeoman.generators.Base.extend({ this.appDescription = props.appDescription; this.appKeywords = props.appKeywords; this.appAuthor = props.appAuthor; + this.html5Mode = props.html5Mode; this.addArticleExample = props.addArticleExample; this.slugifiedAppName = this._.slugify(this.appName); diff --git a/app/templates/app/routes/articles.server.routes.js b/app/templates/app/routes/articles.server.routes.js index 9dfcb038..1ed1e8ec 100644 --- a/app/templates/app/routes/articles.server.routes.js +++ b/app/templates/app/routes/articles.server.routes.js @@ -1,22 +1,22 @@ 'use strict'; -/** - * Module dependencies. - */ -var users = require('../../app/controllers/users'), - articles = require('../../app/controllers/articles'); - module.exports = function(app) { + /** + * Module dependencies. + */ + var users = require('../../app/controllers/users'), + articles = require('../../app/controllers/articles'); + // Article Routes - app.route('/articles') + app.route('/api/articles') .get(articles.list) .post(users.requiresLogin, articles.create); - app.route('/articles/:articleId') + app.route('/api/articles/:articleId') .get(articles.read) .put(users.requiresLogin, articles.hasAuthorization, articles.update) .delete(users.requiresLogin, articles.hasAuthorization, articles.delete); // Finish by binding the article middleware app.param('articleId', articles.articleByID); -}; \ No newline at end of file +}; diff --git a/app/templates/app/routes/core.server.routes.js b/app/templates/app/routes/core.server.routes.js index 4cd9616a..60340a4a 100644 --- a/app/templates/app/routes/core.server.routes.js +++ b/app/templates/app/routes/core.server.routes.js @@ -1,7 +1,11 @@ 'use strict'; module.exports = function(app) { - // Root routing + /** + * Module dependencies. + */ var core = require('../../app/controllers/core'); + + // Core Routes app.route('/').get(core.index); -}; \ No newline at end of file +}; diff --git a/app/templates/app/routes/users.server.routes.js b/app/templates/app/routes/users.server.routes.js index 929a88a2..f85b3d19 100644 --- a/app/templates/app/routes/users.server.routes.js +++ b/app/templates/app/routes/users.server.routes.js @@ -10,12 +10,12 @@ module.exports = function(app) { var users = require('../../app/controllers/users'); // Setting up the users profile api - app.route('/users/me').get(users.me); - app.route('/users').put(users.update); - app.route('/users/accounts').delete(users.removeOAuthProvider); + app.route('/api/users/me').get(users.me); + app.route('/api/users').put(users.update); + app.route('/api/users/accounts').delete(users.removeOAuthProvider); // Setting up the users password api - app.route('/users/password').post(users.changePassword); + app.route('/api/users/password').post(users.changePassword); app.route('/auth/forgot').post(users.forgot); app.route('/auth/reset/:token').get(users.validateResetToken); app.route('/auth/reset/:token').post(users.reset); diff --git a/app/templates/config/config.js b/app/templates/config/config.js index 3baa02e5..f1216e97 100644 --- a/app/templates/config/config.js +++ b/app/templates/config/config.js @@ -57,7 +57,7 @@ module.exports.getGlobbedFiles = function(globPatterns, removeRoot) { * Get the modules JavaScript files */ module.exports.getJavaScriptAssets = function(includeTests) { - var output = this.getGlobbedFiles(this.assets.lib.js.concat(this.assets.js), 'public/'); + var output = this.getGlobbedFiles(this.assets.lib.js.concat(this.assets.js), 'public'); // To include tests if (includeTests) { @@ -71,6 +71,6 @@ module.exports.getJavaScriptAssets = function(includeTests) { * Get the modules CSS files */ module.exports.getCSSAssets = function() { - var output = this.getGlobbedFiles(this.assets.lib.css.concat(this.assets.css), 'public/'); + var output = this.getGlobbedFiles(this.assets.lib.css.concat(this.assets.css), 'public'); return output; -}; \ No newline at end of file +}; diff --git a/app/templates/config/express.js b/app/templates/config/express.js index bea1c88d..74505d44 100755 --- a/app/templates/config/express.js +++ b/app/templates/config/express.js @@ -118,6 +118,14 @@ module.exports = function(db) { require(path.resolve(routePath))(app); }); + /** + * Module dependencies. + */ + var core = require('../app/controllers/core'); + + // Catch-all route + app.route('*').get(core.index); + // Assume 'not found' in the error msgs is a 404. this is somewhat silly, but valid, you can do whatever you like, set properties, use instanceof etc. app.use(function(err, req, res, next) { // If the error object doesn't exists @@ -141,4 +149,4 @@ module.exports = function(db) { }); return app; -}; \ No newline at end of file +}; diff --git a/app/templates/public/_config.js b/app/templates/public/_config.js index 2b46e570..dea4d01e 100644 --- a/app/templates/public/_config.js +++ b/app/templates/public/_config.js @@ -15,9 +15,12 @@ var ApplicationConfiguration = (function() { angular.module(applicationModuleName).requires.push(moduleName); }; + var html5Mode = <%= html5Mode %>; + return { applicationModuleName: applicationModuleName, applicationModuleVendorDependencies: applicationModuleVendorDependencies, - registerModule: registerModule + registerModule: registerModule, + html5Mode: html5Mode }; -})(); \ No newline at end of file +})(); diff --git a/app/templates/public/application.js b/app/templates/public/application.js index 19bb411e..a641584c 100644 --- a/app/templates/public/application.js +++ b/app/templates/public/application.js @@ -6,7 +6,7 @@ angular.module(ApplicationConfiguration.applicationModuleName, ApplicationConfig // Setting HTML5 Location Mode angular.module(ApplicationConfiguration.applicationModuleName).config(['$locationProvider', function($locationProvider) { - $locationProvider.hashPrefix('!'); + $locationProvider.html5Mode(ApplicationConfiguration.html5Mode).hashPrefix('!'); } ]); @@ -17,4 +17,4 @@ angular.element(document).ready(function() { //Then init the app angular.bootstrap(document, [ApplicationConfiguration.applicationModuleName]); -}); \ No newline at end of file +}); diff --git a/app/templates/public/modules/articles/config/articles.client.routes.js b/app/templates/public/modules/articles/config/articles.client.routes.js index 1531a9a5..646ae915 100755 --- a/app/templates/public/modules/articles/config/articles.client.routes.js +++ b/app/templates/public/modules/articles/config/articles.client.routes.js @@ -7,19 +7,19 @@ angular.module('articles').config(['$stateProvider', $stateProvider. state('listArticles', { url: '/articles', - templateUrl: 'modules/articles/views/list-articles.client.view.html' + templateUrl: '/modules/articles/views/list-articles.client.view.html' }). state('createArticle', { url: '/articles/create', - templateUrl: 'modules/articles/views/create-article.client.view.html' + templateUrl: '/modules/articles/views/create-article.client.view.html' }). state('viewArticle', { url: '/articles/:articleId', - templateUrl: 'modules/articles/views/view-article.client.view.html' + templateUrl: '/modules/articles/views/view-article.client.view.html' }). state('editArticle', { url: '/articles/:articleId/edit', - templateUrl: 'modules/articles/views/edit-article.client.view.html' + templateUrl: '/modules/articles/views/edit-article.client.view.html' }); } -]); \ No newline at end of file +]); diff --git a/app/templates/public/modules/articles/services/articles.client.service.js b/app/templates/public/modules/articles/services/articles.client.service.js index deeb7da5..55265337 100644 --- a/app/templates/public/modules/articles/services/articles.client.service.js +++ b/app/templates/public/modules/articles/services/articles.client.service.js @@ -3,7 +3,7 @@ //Articles service used for communicating with the articles REST endpoints angular.module('articles').factory('Articles', ['$resource', function($resource) { - return $resource('articles/:articleId', { + return $resource('/api/articles/:articleId', { articleId: '@_id' }, { update: { @@ -11,4 +11,4 @@ angular.module('articles').factory('Articles', ['$resource', } }); } -]); \ No newline at end of file +]); diff --git a/app/templates/public/modules/articles/views/list-articles.client.view.html b/app/templates/public/modules/articles/views/list-articles.client.view.html index 861ae5b6..bac28655 100644 --- a/app/templates/public/modules/articles/views/list-articles.client.view.html +++ b/app/templates/public/modules/articles/views/list-articles.client.view.html @@ -3,7 +3,7 @@

Articles

- + Posted on @@ -17,4 +17,4 @@

- \ No newline at end of file + diff --git a/app/templates/public/modules/core/config/core.client.routes.js b/app/templates/public/modules/core/config/core.client.routes.js index 894e3a6c..f2f541f8 100755 --- a/app/templates/public/modules/core/config/core.client.routes.js +++ b/app/templates/public/modules/core/config/core.client.routes.js @@ -10,7 +10,7 @@ angular.module('core').config(['$stateProvider', '$urlRouterProvider', $stateProvider. state('home', { url: '/', - templateUrl: 'modules/core/views/home.client.view.html' + templateUrl: '/modules/core/views/home.client.view.html' }); } -]); \ No newline at end of file +]); diff --git a/app/templates/public/modules/core/views/_header.client.view.html b/app/templates/public/modules/core/views/_header.client.view.html index 499450c8..2eee8342 100644 --- a/app/templates/public/modules/core/views/_header.client.view.html +++ b/app/templates/public/modules/core/views/_header.client.view.html @@ -49,10 +49,10 @@
  • - Signout + Signout
  • -
    \ No newline at end of file + diff --git a/app/templates/public/modules/users/config/users.client.routes.js b/app/templates/public/modules/users/config/users.client.routes.js index 4ae5ff9a..55a5254e 100755 --- a/app/templates/public/modules/users/config/users.client.routes.js +++ b/app/templates/public/modules/users/config/users.client.routes.js @@ -7,39 +7,39 @@ angular.module('users').config(['$stateProvider', $stateProvider. state('profile', { url: '/settings/profile', - templateUrl: 'modules/users/views/settings/edit-profile.client.view.html' + templateUrl: '/modules/users/views/settings/edit-profile.client.view.html' }). state('password', { url: '/settings/password', - templateUrl: 'modules/users/views/settings/change-password.client.view.html' + templateUrl: '/modules/users/views/settings/change-password.client.view.html' }). state('accounts', { url: '/settings/accounts', - templateUrl: 'modules/users/views/settings/social-accounts.client.view.html' + templateUrl: '/modules/users/views/settings/social-accounts.client.view.html' }). state('signup', { url: '/signup', - templateUrl: 'modules/users/views/authentication/signup.client.view.html' + templateUrl: '/modules/users/views/authentication/signup.client.view.html' }). state('signin', { url: '/signin', - templateUrl: 'modules/users/views/authentication/signin.client.view.html' + templateUrl: '/modules/users/views/authentication/signin.client.view.html' }). state('forgot', { url: '/password/forgot', - templateUrl: 'modules/users/views/password/forgot-password.client.view.html' + templateUrl: '/modules/users/views/password/forgot-password.client.view.html' }). state('reset-invlaid', { url: '/password/reset/invalid', - templateUrl: 'modules/users/views/password/reset-password-invalid.client.view.html' + templateUrl: '/modules/users/views/password/reset-password-invalid.client.view.html' }). state('reset-success', { url: '/password/reset/success', - templateUrl: 'modules/users/views/password/reset-password-success.client.view.html' + templateUrl: '/modules/users/views/password/reset-password-success.client.view.html' }). state('reset', { url: '/password/reset/:token', - templateUrl: 'modules/users/views/password/reset-password.client.view.html' + templateUrl: '/modules/users/views/password/reset-password.client.view.html' }); } -]); \ No newline at end of file +]); diff --git a/app/templates/public/modules/users/controllers/settings.client.controller.js b/app/templates/public/modules/users/controllers/settings.client.controller.js index 1d4b4e92..70b16c51 100644 --- a/app/templates/public/modules/users/controllers/settings.client.controller.js +++ b/app/templates/public/modules/users/controllers/settings.client.controller.js @@ -25,7 +25,7 @@ angular.module('users').controller('SettingsController', ['$scope', '$http', '$l $scope.removeUserSocialAccount = function(provider) { $scope.success = $scope.error = null; - $http.delete('/users/accounts', { + $http.delete('/api/users/accounts', { params: { provider: provider } @@ -59,7 +59,7 @@ angular.module('users').controller('SettingsController', ['$scope', '$http', '$l $scope.changeUserPassword = function() { $scope.success = $scope.error = null; - $http.post('/users/password', $scope.passwordDetails).success(function(response) { + $http.post('/api/users/password', $scope.passwordDetails).success(function(response) { // If successful show success message and clear form $scope.success = true; $scope.passwordDetails = null; diff --git a/app/templates/public/modules/users/services/users.client.service.js b/app/templates/public/modules/users/services/users.client.service.js index 664828f0..34f2a967 100644 --- a/app/templates/public/modules/users/services/users.client.service.js +++ b/app/templates/public/modules/users/services/users.client.service.js @@ -3,10 +3,10 @@ // Users service used for communicating with the users REST endpoint angular.module('users').factory('Users', ['$resource', function($resource) { - return $resource('users', {}, { + return $resource('/api/users', {}, { update: { method: 'PUT' } }); } -]); \ No newline at end of file +]); diff --git a/app/templates/public/modules/users/views/authentication/signin.client.view.html b/app/templates/public/modules/users/views/authentication/signin.client.view.html index 91e256ef..75fd71b4 100644 --- a/app/templates/public/modules/users/views/authentication/signin.client.view.html +++ b/app/templates/public/modules/users/views/authentication/signin.client.view.html @@ -1,19 +1,19 @@

    Sign in using your social accounts

    @@ -42,4 +42,4 @@

    Or with your account

    -
    \ No newline at end of file + diff --git a/app/templates/public/modules/users/views/authentication/signup.client.view.html b/app/templates/public/modules/users/views/authentication/signup.client.view.html index e2051760..745cfd9d 100644 --- a/app/templates/public/modules/users/views/authentication/signup.client.view.html +++ b/app/templates/public/modules/users/views/authentication/signup.client.view.html @@ -1,19 +1,19 @@

    Sign up using your social accounts

    @@ -51,4 +51,4 @@

    Or with your email

    -
    \ No newline at end of file + diff --git a/app/templates/public/modules/users/views/settings/social-accounts.client.view.html b/app/templates/public/modules/users/views/settings/social-accounts.client.view.html index 4712ee09..91aac10f 100644 --- a/app/templates/public/modules/users/views/settings/social-accounts.client.view.html +++ b/app/templates/public/modules/users/views/settings/social-accounts.client.view.html @@ -10,20 +10,20 @@

    Connect other social accounts:

    - + - + - + - + - +
    - \ No newline at end of file +