mirror of
https://github.com/plankanban/planka.git
synced 2025-07-18 20:59:44 +02:00
Set best image quality for all uploads. Closes #114
This commit is contained in:
parent
3806d0c6fd
commit
ad60517603
4 changed files with 42 additions and 11 deletions
|
@ -2,13 +2,11 @@ FROM node AS client-builder
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY client/package.json client/package-lock.json ./
|
|
||||||
|
|
||||||
RUN npm install
|
|
||||||
|
|
||||||
COPY client .
|
COPY client .
|
||||||
|
|
||||||
RUN npm install npm@latest --global && npm run build
|
RUN npm install npm@latest --global \
|
||||||
|
&& npm install \
|
||||||
|
&& npm run build
|
||||||
|
|
||||||
FROM node:alpine
|
FROM node:alpine
|
||||||
|
|
||||||
|
|
|
@ -52,13 +52,22 @@ module.exports = {
|
||||||
if (imageMetadata) {
|
if (imageMetadata) {
|
||||||
let cover256Buffer;
|
let cover256Buffer;
|
||||||
if (imageMetadata.height > imageMetadata.width) {
|
if (imageMetadata.height > imageMetadata.width) {
|
||||||
cover256Buffer = await image.resize(256, 320).jpeg().toBuffer();
|
cover256Buffer = await image
|
||||||
|
.resize(256, 320)
|
||||||
|
.jpeg({
|
||||||
|
quality: 100,
|
||||||
|
chromaSubsampling: '4:4:4',
|
||||||
|
})
|
||||||
|
.toBuffer();
|
||||||
} else {
|
} else {
|
||||||
cover256Buffer = await image
|
cover256Buffer = await image
|
||||||
.resize({
|
.resize({
|
||||||
width: 256,
|
width: 256,
|
||||||
})
|
})
|
||||||
.jpeg()
|
.jpeg({
|
||||||
|
quality: 100,
|
||||||
|
chromaSubsampling: '4:4:4',
|
||||||
|
})
|
||||||
.toBuffer();
|
.toBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,20 @@ module.exports = {
|
||||||
);
|
);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const originalBuffer = await sharp(buffer).jpeg().toBuffer();
|
const originalBuffer = await sharp(buffer)
|
||||||
const cover336Buffer = await sharp(buffer).resize(336, 200).jpeg().toBuffer();
|
.jpeg({
|
||||||
|
quality: 100,
|
||||||
|
chromaSubsampling: '4:4:4',
|
||||||
|
})
|
||||||
|
.toBuffer();
|
||||||
|
|
||||||
|
const cover336Buffer = await sharp(buffer)
|
||||||
|
.resize(336, 200)
|
||||||
|
.jpeg({
|
||||||
|
quality: 100,
|
||||||
|
chromaSubsampling: '4:4:4',
|
||||||
|
})
|
||||||
|
.toBuffer();
|
||||||
|
|
||||||
const dirname = uuid();
|
const dirname = uuid();
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,20 @@ module.exports = {
|
||||||
);
|
);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const originalBuffer = await sharp(buffer).jpeg().toBuffer();
|
const originalBuffer = await sharp(buffer)
|
||||||
const square100Buffer = await sharp(buffer).resize(100, 100).jpeg().toBuffer();
|
.jpeg({
|
||||||
|
quality: 100,
|
||||||
|
chromaSubsampling: '4:4:4',
|
||||||
|
})
|
||||||
|
.toBuffer();
|
||||||
|
|
||||||
|
const square100Buffer = await sharp(buffer)
|
||||||
|
.resize(100, 100)
|
||||||
|
.jpeg({
|
||||||
|
quality: 100,
|
||||||
|
chromaSubsampling: '4:4:4',
|
||||||
|
})
|
||||||
|
.toBuffer();
|
||||||
|
|
||||||
const dirname = uuid();
|
const dirname = uuid();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue