mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-20 22:42:53 -05:00
47 lines
1.7 KiB
JavaScript
47 lines
1.7 KiB
JavaScript
|
var utils = require('../../utils'),
|
||
|
settingsCache = require('../../settings/cache'),
|
||
|
blogIconUtils = require('../../utils/blog-icon'),
|
||
|
Promise = require('bluebird'),
|
||
|
config = require('../../config'),
|
||
|
path = require('path');
|
||
|
|
||
|
function getBlogLogo() {
|
||
|
return new Promise(function getIconSize(resolve, reject) {
|
||
|
var logo = {},
|
||
|
filePath;
|
||
|
|
||
|
if (settingsCache.get('logo')) {
|
||
|
logo.url = utils.url.urlFor('image', {image: settingsCache.get('logo')}, true);
|
||
|
} else {
|
||
|
// CASE: no publication logo is updated. We can try to use either an uploaded publication icon
|
||
|
// or use the default one to make
|
||
|
// Google happy with it. See https://github.com/TryGhost/Ghost/issues/7558
|
||
|
logo.url = blogIconUtils.getIconUrl(true);
|
||
|
|
||
|
if (blogIconUtils.isIcoImageType(logo.url)) {
|
||
|
filePath = blogIconUtils.getIconPath();
|
||
|
// getIconDimensions needs the physical path of the ico file
|
||
|
if (settingsCache.get('icon')) {
|
||
|
// CASE: custom uploaded icon
|
||
|
filePath = path.join(config.getContentPath('images'), filePath);
|
||
|
}
|
||
|
|
||
|
return blogIconUtils.getIconDimensions(filePath).then(function (response) {
|
||
|
logo.dimensions = {
|
||
|
width: response.width,
|
||
|
height: response.height
|
||
|
};
|
||
|
|
||
|
return resolve(logo);
|
||
|
}).catch(function (err) {
|
||
|
return reject(err);
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return resolve(logo);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
module.exports = getBlogLogo;
|