From 05b3606fd396733749211fec3db382e6038970f7 Mon Sep 17 00:00:00 2001 From: Sebastian Gierlinger Date: Mon, 21 Jul 2014 20:00:54 +0200 Subject: [PATCH] Remove inline script from default.hbs no issue - added config values as data attributes - removed inline script - removed current-user.js --- Gruntfile.js | 4 +-- core/client/initializers/current-user.js | 36 ------------------------ core/client/initializers/ghost-config.js | 5 +++- core/client/loader.js | 4 +++ core/server/controllers/admin.js | 14 ++------- core/server/helpers/index.js | 4 +++ core/server/views/default.hbs | 9 +----- 7 files changed, 17 insertions(+), 59 deletions(-) delete mode 100644 core/client/initializers/current-user.js create mode 100644 core/client/loader.js diff --git a/Gruntfile.js b/Gruntfile.js index baaf752771..3175b10491 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -269,7 +269,7 @@ var path = require('path'), files: [{ expand: true, cwd: 'core/client/', - src: ['**/*.js'], + src: ['**/*.js', '!loader.js'], dest: '.tmp/ember-transpiled/' }] } @@ -279,7 +279,7 @@ var path = require('path'), // Compiles Ember es6 modules concat_sourcemap: { client: { - src: ['.tmp/ember-transpiled/**/*.js'], + src: ['.tmp/ember-transpiled/**/*.js', 'core/client/loader.js'], dest: 'core/built/scripts/ghost-dev-ember.js', options: { sourcesContent: true diff --git a/core/client/initializers/current-user.js b/core/client/initializers/current-user.js deleted file mode 100644 index 3c7045b117..0000000000 --- a/core/client/initializers/current-user.js +++ /dev/null @@ -1,36 +0,0 @@ -var currentUserInitializer = { - name: 'currentUser', - after: 'store', - - initialize: function (container, application) { - var store = container.lookup('store:main'), - preloadedUser = application.get('user'); - - // If we don't have a user, don't do the injection - if (!preloadedUser) { - return; - } - - // Push the preloaded user into the data store - store.pushPayload({ - users: [preloadedUser] - }); - - // Signal to wait until the user is loaded before continuing. - application.deferReadiness(); - - // Find the user (which should be fast since we just preloaded it in the store) - store.find('user', preloadedUser.id).then(function (user) { - // Register the value for injection - application.register('user:current', user, { instantiate: false }); - - // Inject into the routes and controllers as the user property. - application.inject('route', 'user', 'user:current'); - application.inject('controller', 'user', 'user:current'); - - application.advanceReadiness(); - }); - } -}; - -export default currentUserInitializer; diff --git a/core/client/initializers/ghost-config.js b/core/client/initializers/ghost-config.js index e6a47bc2ba..bc812c859c 100644 --- a/core/client/initializers/ghost-config.js +++ b/core/client/initializers/ghost-config.js @@ -2,7 +2,10 @@ var ConfigInitializer = { name: 'config', initialize: function (container, application) { - application.register('ghost:config', application.get('config'), {instantiate: false}); + var apps = $('body').data('apps'), + fileStorage = $('body').data('filestorage'); + + application.register('ghost:config', {apps: apps, fileStorage: fileStorage}, {instantiate: false}); application.inject('route', 'config', 'ghost:config'); application.inject('controller', 'config', 'ghost:config'); diff --git a/core/client/loader.js b/core/client/loader.js new file mode 100644 index 0000000000..e102b3a95c --- /dev/null +++ b/core/client/loader.js @@ -0,0 +1,4 @@ +// Loader to create the Ember.js application +/*global require */ + +window.App = require('ghost/app')['default'].create(); \ No newline at end of file diff --git a/core/server/controllers/admin.js b/core/server/controllers/admin.js index 503d90d8b3..80d727e489 100644 --- a/core/server/controllers/admin.js +++ b/core/server/controllers/admin.js @@ -1,5 +1,4 @@ -var config = require('../config'), - _ = require('lodash'), +var _ = require('lodash'), when = require('when'), api = require('../api'), errors = require('../errors'), @@ -12,18 +11,9 @@ adminControllers = { // Method: GET 'index': function (req, res) { /*jslint unparam:true*/ - var userData, - // config we need on the frontend - frontConfig = { - apps: config().apps, - fileStorage: config().fileStorage - }; function renderIndex() { - res.render('default', { - user: userData, - config: JSON.stringify(frontConfig) - }); + res.render('default'); } updateCheck().then(function () { diff --git a/core/server/helpers/index.js b/core/server/helpers/index.js index 80a3076e32..94a0c75031 100644 --- a/core/server/helpers/index.js +++ b/core/server/helpers/index.js @@ -782,6 +782,10 @@ registerHelpers = function (adminHbs, assetHash) { registerAdminHelper('ghost_script_tags', coreHelpers.ghost_script_tags); registerAdminHelper('asset', coreHelpers.asset); + + registerAdminHelper('apps', coreHelpers.apps); + + registerAdminHelper('file_storage', coreHelpers.file_storage); }; module.exports = coreHelpers; diff --git a/core/server/views/default.hbs b/core/server/views/default.hbs index a84677d103..5e97744fa5 100644 --- a/core/server/views/default.hbs +++ b/core/server/views/default.hbs @@ -31,16 +31,9 @@ - + {{{ghost_script_tags}}} -