0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-13 22:41:32 -05:00
ghost/core/server/helpers/url.js
cobbspur cd5d87ddf2 Return computed url with post object
closes #4445

- post model gets permalink format
- post model queries urlPathForPost to return computed url
- url helper modified to use post url
- urlForPost method abolished and replaced where necessary
- updated tests
2014-12-10 17:23:02 +00:00

30 lines
903 B
JavaScript

// # URL helper
// Usage: `{{url}}`, `{{url absolute="true"}}`
//
// Returns the URL for the current object scope i.e. If inside a post scope will return post permalink
// `absolute` flag outputs absolute URL, else URL is relative
var Promise = require('bluebird'),
config = require('../config'),
schema = require('../data/schema').checks,
url;
url = function (options) {
var absolute = options && options.hash.absolute;
if (schema.isPost(this)) {
return Promise.resolve(config.urlFor('post', {post: this}, absolute));
}
if (schema.isTag(this)) {
return Promise.resolve(config.urlFor('tag', {tag: this}, absolute));
}
if (schema.isUser(this)) {
return Promise.resolve(config.urlFor('author', {author: this}, absolute));
}
return Promise.resolve(config.urlFor(this, absolute));
};
module.exports = url;