mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-07-08 15:13:11 +02:00
Merge branch 'extract-gravatar'
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
"daemon": "~1.1.0",
|
||||
"express": "^4.9.5",
|
||||
"express-session": "^1.8.2",
|
||||
"gm": "1.17.0",
|
||||
"lwip": "0.0.6",
|
||||
"gravatar": "^1.1.0",
|
||||
"heapdump": "^0.3.0",
|
||||
"less": "^2.0.0",
|
||||
|
||||
53
src/image.js
53
src/image.js
@@ -1,41 +1,48 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs'),
|
||||
gm = require('gm').subClass({imageMagick: true});
|
||||
lwip = require('lwip'),
|
||||
plugins = require('./plugins');
|
||||
|
||||
var image = {};
|
||||
|
||||
image.resizeImage = function(path, extension, width, height, callback) {
|
||||
function done(err, stdout, stderr) {
|
||||
callback(err);
|
||||
}
|
||||
|
||||
if(extension === '.gif') {
|
||||
gm().in(path)
|
||||
.in('-coalesce')
|
||||
.in('-resize')
|
||||
.in(width+'x'+height+'^')
|
||||
.write(path, done);
|
||||
if (plugins.hasListeners('filter:image.resize')) {
|
||||
plugins.fireHook('filter:image.resize', {
|
||||
path: path,
|
||||
extension: extension,
|
||||
width: width,
|
||||
height: height
|
||||
}, function(err, data) {
|
||||
callback(err);
|
||||
});
|
||||
} else {
|
||||
gm(path)
|
||||
.in('-resize')
|
||||
.in(width+'x'+height+'^')
|
||||
.gravity('Center')
|
||||
.crop(width, height)
|
||||
.write(path, done);
|
||||
lwip.open(path, function(err, image) {
|
||||
image.batch()
|
||||
.cover(width, height)
|
||||
.crop(width, height)
|
||||
.writeFile(path, function(err) {
|
||||
callback(err)
|
||||
})
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
image.convertImageToPng = function(path, extension, callback) {
|
||||
if(extension !== '.png') {
|
||||
gm(path).toBuffer('png', function(err, buffer) {
|
||||
image.normalise = function(path, extension, callback) {
|
||||
if (plugins.hasListeners('filter:image.normalise')) {
|
||||
plugins.fireHook('filter:image.normalise', {
|
||||
path: path,
|
||||
extension: extension
|
||||
}, function(err, data) {
|
||||
callback(err);
|
||||
});
|
||||
} else {
|
||||
lwip.open(path, function(err, image) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
fs.writeFile(path, buffer, 'binary', callback);
|
||||
image.writeFile(path, 'png', callback)
|
||||
});
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ module.exports = function(Plugins) {
|
||||
function display() {
|
||||
process.stdout.write('\n');
|
||||
winston.warn('[plugins/' + pluginData.id + '] This plugin may not be compatible with your version of NodeBB. This may cause unintended behaviour or crashing.');
|
||||
winston.warn('[plugins/' + pluginData.id + '] In the event of an unresponsive NodeBB caused by this plugin, run ./nodebb reset plugin="' + pluginData.id + '".');
|
||||
winston.warn('[plugins/' + pluginData.id + '] In the event of an unresponsive NodeBB caused by this plugin, run ./nodebb reset -p ' + pluginData.id + '.');
|
||||
process.stdout.write('\n');
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ module.exports = function(User) {
|
||||
},
|
||||
function(next) {
|
||||
if (convertToPNG) {
|
||||
image.convertImageToPng(picture.path, extension, next);
|
||||
image.normalise(picture.path, extension, next);
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user