Ghost/core/client/app/utils/ghost-paths.js
Kevin Ansfield 3f361f8742 Standardize on var-less export default across ember app
no issue
- drops the `var Foo = Ember.Thing.extend({}); export default Foo;` syntax in favour of exporting directly, eg: `export default Ember.Thing.extend({})`
- discussion on this change [here](https://github.com/TryGhost/Ghost/pull/5340#issuecomment-105828423) and [here](https://github.com/TryGhost/Ghost/pull/5694#discussion-diff-37511606)
2015-10-06 10:59:50 +01:00

60 lines
1.5 KiB
JavaScript

var makeRoute = function (root, args) {
var slashAtStart,
slashAtEnd,
parts,
route;
slashAtStart = /^\//;
slashAtEnd = /\/$/;
route = root.replace(slashAtEnd, '');
parts = Array.prototype.slice.call(args, 0);
parts.forEach(function (part) {
if (part) {
route = [route, part.replace(slashAtStart, '').replace(slashAtEnd, '')].join('/');
}
});
return route += '/';
};
export default function () {
var path = window.location.pathname,
subdir = path.substr(0, path.search('/ghost/')),
adminRoot = subdir + '/ghost',
apiRoot = subdir + '/ghost/api/v0.1';
function assetUrl(src) {
return subdir + src;
}
return {
subdir: subdir,
blogRoot: subdir + '/',
adminRoot: adminRoot,
apiRoot: apiRoot,
url: {
admin: function () {
return makeRoute(adminRoot, arguments);
},
api: function () {
return makeRoute(apiRoot, arguments);
},
join: function () {
if (arguments.length > 1) {
return makeRoute(arguments[0], Array.prototype.slice.call(arguments, 1));
} else if (arguments.length === 1) {
var arg = arguments[0];
return arg.slice(-1) === '/' ? arg : arg + '/';
}
return '/';
},
asset: assetUrl
},
count: 'https://ghost.org/count/'
};
}