mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-15 19:52:01 +03:00
7c4381c812
- Every route can set a title token that is combined with the blog’s title, resulting in titles like ‘Content - Test Blog’. - Subroutes are supported (‘Settings - General - Test Blog’) - The blog’s name is applied to and taken from the `config` object to spare Ember a REST call via `store.find(‘settings’)`. - Tests have been changed to test for the new titles. - The initially proposed solution (https://github.com/paddle8/ember-document-title) doesn’t play nice with EAK, which is why I went with this solution (https://gist.github.com/machty/8413411) by Ember.JS core dev @Machty.
58 lines
1.5 KiB
JavaScript
58 lines
1.5 KiB
JavaScript
/*global Ember */
|
|
/* jshint unused: false */
|
|
import ghostPaths from 'ghost/utils/ghost-paths';
|
|
import documentTitle from 'ghost/utils/document-title';
|
|
|
|
// ensure we don't share routes between all Router instances
|
|
var Router = Ember.Router.extend();
|
|
|
|
documentTitle();
|
|
|
|
Router.reopen({
|
|
location: 'trailing-history', // use HTML5 History API instead of hash-tag based URLs
|
|
rootURL: ghostPaths().adminRoot, // admin interface lives under sub-directory /ghost
|
|
|
|
clearNotifications: function () {
|
|
this.notifications.closePassive();
|
|
this.notifications.displayDelayed();
|
|
}.on('didTransition')
|
|
});
|
|
|
|
Router.map(function () {
|
|
this.route('setup');
|
|
this.route('signin');
|
|
this.route('signout');
|
|
this.route('signup', {path: '/signup/:token'});
|
|
this.route('forgotten');
|
|
this.route('reset', {path: '/reset/:token'});
|
|
|
|
this.resource('posts', {path: '/'}, function () {
|
|
this.route('post', {path: ':post_id'});
|
|
});
|
|
|
|
this.resource('editor', function () {
|
|
this.route('new', {path: ''});
|
|
this.route('edit', {path: ':post_id'});
|
|
});
|
|
|
|
this.resource('settings', function () {
|
|
this.route('general');
|
|
|
|
this.resource('settings.users', {path: '/users'}, function () {
|
|
this.route('user', {path: '/:slug'});
|
|
});
|
|
|
|
this.route('about');
|
|
this.route('tags');
|
|
});
|
|
|
|
this.route('debug');
|
|
|
|
// Redirect legacy content to posts
|
|
this.route('content');
|
|
|
|
this.route('error404', {path: '/*path'});
|
|
});
|
|
|
|
export default Router;
|