dont thumbnail images that are already small dimensions, and fix css for mismatched width/height thumbs

merge-requests/208/head
fatchan 5 years ago
parent 38c72dd5ce
commit 826b623477
  1. 6
      gulp/res/css/style.css
  2. 8
      models/forms/make-post.js
  3. 10
      views/mixins/post.pug

@ -312,12 +312,18 @@ summary {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
word-break: keep-all; word-break: keep-all;
font-size: x-small;
} }
.post-file-src { .post-file-src {
margin: 0 auto; margin: 0 auto;
} }
.file-thumb {
max-width: 128px;
max-height: 128px;
}
figure { figure {
} }

@ -109,7 +109,12 @@ module.exports = async (req, res, next, numFiles) => {
processedFile.geometry = imageData.size // object with width and height pixels processedFile.geometry = imageData.size // object with width and height pixels
processedFile.sizeString = formatSize(processedFile.size) // 123 Ki string processedFile.sizeString = formatSize(processedFile.size) // 123 Ki string
processedFile.geometryString = imageData.Geometry // 123 x 123 string processedFile.geometryString = imageData.Geometry // 123 x 123 string
await imageThumbnail(filename); if (processedFile.geometry.height <= 128 && processedFile.geometry.width <= 128) {
processedFile.hasThumb = false;
} else {
processedFile.hasThumb = true;
await imageThumbnail(filename);
}
break; break;
case 'video': case 'video':
//video metadata //video metadata
@ -120,6 +125,7 @@ module.exports = async (req, res, next, numFiles) => {
processedFile.geometry = {width: videoData.streams[0].coded_width, height: videoData.streams[0].coded_height} // object with width and height pixels processedFile.geometry = {width: videoData.streams[0].coded_width, height: videoData.streams[0].coded_height} // object with width and height pixels
processedFile.sizeString = formatSize(processedFile.size) // 123 Ki string processedFile.sizeString = formatSize(processedFile.size) // 123 Ki string
processedFile.geometryString = `${processedFile.geometry.width}x${processedFile.geometry.height}` // 123 x 123 string processedFile.geometryString = `${processedFile.geometry.width}x${processedFile.geometry.height}` // 123 x 123 string
processedFile.hasThumb = true;
await videoThumbnail(filename); await videoThumbnail(filename);
break; break;
default: default:

@ -41,7 +41,7 @@ mixin post(post, truncate, manage=false, globalmanage=false)
.post-files .post-files
each file in post.files each file in post.files
.post-file .post-file
small.post-file-info span.post-file-info
span: a(href='/img/'+file.filename title=file.originalFilename download=file.originalFilename) #{file.originalFilename} span: a(href='/img/'+file.filename title=file.originalFilename download=file.originalFilename) #{file.originalFilename}
br br
span span
@ -50,11 +50,13 @@ mixin post(post, truncate, manage=false, globalmanage=false)
| , #{file.durationString} | , #{file.durationString}
| ) | )
.post-file-src .post-file-src
a(target='_blank' href='/img/'+file.filename) a(target='_blank' href=`/img/${file.filename}`)
if post.spoiler if post.spoiler
object(data='/img/spoiler.png' width='128' height='128') object.file-thumb(data='/img/spoiler.png' width='128' height='128')
else if file.hasThumb
object.file-thumb(data=`/img/thumb-${file.filename.split('.')[0]}.jpg`)
else else
object(data=`/img/thumb-${file.filename.split('.')[0]}.jpg`) object.file-thumb(data=`/img/${file.filename}`)
if post.message if post.message
if truncate if truncate
- -

Loading…
Cancel
Save