Ghost/core/client/router.js
Felix Rieseberg 7c4381c812 Dynamic Titles in Ghost Admin
- 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.
2014-11-27 15:41:00 -08:00

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;