diff --git a/gulp/res/js/hideimages.js b/gulp/res/js/hideimages.js index 8d06daa3..f378ba1c 100644 --- a/gulp/res/js/hideimages.js +++ b/gulp/res/js/hideimages.js @@ -28,7 +28,7 @@ const handleHiddenImages = (e) => { const hasHiddenImages = e.detail.json.files.forEach(f => { let hideFilename = '/file/'; if (f.hasThumb) { - hideFilename += `thumb-${f.hash}${f.thumbextension}` + hideFilename += `thumb/${f.hash}${f.thumbextension}` } else { hideFilename += f.filename; } diff --git a/helpers/files/audiothumbnail.js b/helpers/files/audiothumbnail.js index 8e01583f..24c38d65 100644 --- a/helpers/files/audiothumbnail.js +++ b/helpers/files/audiothumbnail.js @@ -16,7 +16,7 @@ module.exports = (file) => { filter: 'showwavespic', options: { split_channels: 1, s: `${thumbSize}x${thumbSize}` } }]) - .save(`${uploadDirectory}/file/thumb-${file.hash}${file.thumbextension}`); + .save(`${uploadDirectory}/file/thumb/${file.hash}${file.thumbextension}`); }); }; diff --git a/helpers/files/deletepostfiles.js b/helpers/files/deletepostfiles.js index 7cd81a24..2e3b2197 100644 --- a/helpers/files/deletepostfiles.js +++ b/helpers/files/deletepostfiles.js @@ -9,7 +9,7 @@ module.exports = (files) => { return Promise.all(files.map(async file => { return Promise.all([ remove(`${uploadDirectory}/file/${file.filename}`), - file.hasThumb ? remove(`${uploadDirectory}/file/thumb-${file.hash}${file.thumbextension}`) : void 0, + file.hasThumb ? remove(`${uploadDirectory}/file/thumb/${file.hash}${file.thumbextension}`) : void 0, ]).catch(e => console.error); })); diff --git a/helpers/files/imagethumbnail.js b/helpers/files/imagethumbnail.js index 30e0f0b9..14057f17 100644 --- a/helpers/files/imagethumbnail.js +++ b/helpers/files/imagethumbnail.js @@ -21,7 +21,7 @@ module.exports = (file, firstFrameOnly=true) => { return reject(err); }) .complexFilter(complexFilters) - .save(`${uploadDirectory}/file/thumb-${file.hash}${file.thumbextension}`); + .save(`${uploadDirectory}/file/thumb/${file.hash}${file.thumbextension}`); } else { //[0] for first frame (gifs, etc) const thumbnailing = gm(`${uploadDirectory}/file/${file.filename}${firstFrameOnly ? '[0]' : ''}`); @@ -30,7 +30,7 @@ module.exports = (file, firstFrameOnly=true) => { thumbnailing.coalesce(); } thumbnailing.resize(Math.min(thumbSize, file.geometry.width), Math.min(thumbSize, file.geometry.height)) - .write(`${uploadDirectory}/file/thumb-${file.hash}${file.thumbextension}`, function (err) { + .write(`${uploadDirectory}/file/thumb/${file.hash}${file.thumbextension}`, function (err) { if (err) { return reject(err); } diff --git a/helpers/files/videothumbnail.js b/helpers/files/videothumbnail.js index 2e5601b9..b8264e15 100644 --- a/helpers/files/videothumbnail.js +++ b/helpers/files/videothumbnail.js @@ -20,14 +20,14 @@ module.exports = (file, geometry, timestamp) => { .outputOptions([ `-vf scale=${geometry.width > geometry.height ? thumbSize + ':-2' : '-2:' + thumbSize}` ]) - .output(`${uploadDirectory}/file/thumb-${file.hash}${file.thumbextension}`) + .output(`${uploadDirectory}/file/thumb/${file.hash}${file.thumbextension}`) .run(); } else { command.screenshots({ timestamps: [timestamp], count: 1, - filename: `thumb-${file.hash}${file.thumbextension}`, - folder: `${uploadDirectory}/file/`, + filename: `${file.hash}${file.thumbextension}`, + folder: `${uploadDirectory}/file/thumb/`, size: geometry.width > geometry.height ? `${thumbSize}x?` : `?x${thumbSize}` //keep aspect ratio, but also making sure taller/wider thumbs dont exceed thumbSize in either dimension }); diff --git a/models/forms/makepost.js b/models/forms/makepost.js index e0d66b9b..d3bc8910 100644 --- a/models/forms/makepost.js +++ b/models/forms/makepost.js @@ -263,7 +263,7 @@ ${res.locals.numFiles > 0 ? req.files.file.map(f => f.name+'|'+(f.phash || '')). processedFile.attachment = true; await saveFull(); } else { - const existsThumb = await pathExists(`${uploadDirectory}/file/thumb-${processedFile.hash}${processedFile.thumbextension}`); + const existsThumb = await pathExists(`${uploadDirectory}/file/thumb/${processedFile.hash}${processedFile.thumbextension}`); switch (type) { case 'image': { processedFile.thumbextension = thumbExtension; @@ -328,7 +328,7 @@ ${res.locals.numFiles > 0 ? req.files.file.map(f => f.name+'|'+(f.phash || '')). await videoThumbnail(processedFile, processedFile.geometry, videoThumbPercentage+'%'); let videoThumbStat = null; try { - videoThumbStat = await fsStat(`${uploadDirectory}/file/thumb-${processedFile.hash}${processedFile.thumbextension}`); + videoThumbStat = await fsStat(`${uploadDirectory}/file/thumb/${processedFile.hash}${processedFile.thumbextension}`); } catch (err) { /*ENOENT, the thumb failed to create. No need to handle this.*/ } if (!videoThumbStat || videoThumbStat.size === 0) { await videoThumbnail(processedFile, processedFile.geometry, 0); diff --git a/package.json b/package.json index a1fdfee1..b6e3056a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "jschan", "version": "0.0.1", - "migrateVersion": "0.0.19", + "migrateVersion": "0.0.20", "description": "", "main": "server.js", "dependencies": { diff --git a/schedules/prune.js b/schedules/prune.js index c80d65bb..91df4aef 100644 --- a/schedules/prune.js +++ b/schedules/prune.js @@ -28,7 +28,7 @@ module.exports = async(fileNames) => { return Promise.all( [remove(`${uploadDirectory}/file/${file._id}`)] .concat(file.exts ? file.exts.filter(ext => ext).map(ext => { - remove(`${uploadDirectory}/file/thumb-${file._id.split('.')[0]}${ext}`) + remove(`${uploadDirectory}/file/thumb/${file._id.split('.')[0]}${ext}`) }) : []) ) })); diff --git a/views/mixins/catalogtile.pug b/views/mixins/catalogtile.pug index d89272bb..6c3bcc72 100644 --- a/views/mixins/catalogtile.pug +++ b/views/mixins/catalogtile.pug @@ -42,7 +42,7 @@ mixin catalogtile(post, index, overboard=false) if post.spoiler || file.spoiler div.spoilerimg.catalog-thumb else if file.hasThumb - img.catalog-thumb(src=`/file/thumb-${file.hash}${file.thumbextension}` width=file.geometry.thumbwidth height=file.geometry.thumbheight loading='lazy') + img.catalog-thumb(src=`/file/thumb/${file.hash}${file.thumbextension}` width=file.geometry.thumbwidth height=file.geometry.thumbheight loading='lazy') else if file.attachment div.attachmentimg.catalog-thumb(data-mimetype=file.mimetype) else if file.mimetype.startsWith('audio') diff --git a/views/mixins/post.pug b/views/mixins/post.pug index 56e3e54c..3e6fdb69 100644 --- a/views/mixins/post.pug +++ b/views/mixins/post.pug @@ -75,7 +75,7 @@ mixin post(post, truncate, manage=false, globalmanage=false, ban=false, overboar if file.hasThumb && !(post.spoiler || file.spoiler) span.jsonly b [ - a.dummy-link.hide-image(data-src=`/file/thumb-${file.hash}${file.thumbextension}`) Hide + a.dummy-link.hide-image(data-src=`/file/thumb/${file.hash}${file.thumbextension}`) Hide b ] span | (#{file.sizeString} @@ -90,7 +90,7 @@ mixin post(post, truncate, manage=false, globalmanage=false, ban=false, overboar if post.spoiler || file.spoiler div.spoilerimg.file-thumb else if file.hasThumb - img.file-thumb(src=`/file/thumb-${file.hash}${file.thumbextension}` height=file.geometry.thumbheight width=file.geometry.thumbwidth loading='lazy') + img.file-thumb(src=`/file/thumb/${file.hash}${file.thumbextension}` height=file.geometry.thumbheight width=file.geometry.thumbwidth loading='lazy') else if file.attachment div.attachmentimg.file-thumb(data-mimetype=file.mimetype) else if type === 'audio'