mirror of
https://github.com/anotherhadi/awesome-wallpapers.git
synced 2026-10-05 10:18:26 +02:00
35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
import { readdirSync, readFileSync, statSync, writeFileSync } from 'fs';
|
|
import { join, extname } from 'path';
|
|
import { imageSize } from 'image-size';
|
|
|
|
const staticDir = './static/wallpapers';
|
|
const outputFile = './static/files.json';
|
|
|
|
function getFiles(dir) {
|
|
return readdirSync(dir)
|
|
.filter(file => !file.startsWith('.'))
|
|
.map(file => {
|
|
const filePath = join(dir, file);
|
|
const stats = statSync(filePath);
|
|
const sizeInMB = (stats.size / (1024 * 1024)).toFixed(2); // Taille en MB
|
|
|
|
let dimensions = { width: 0, height: 0 };
|
|
if (['.jpg', '.png', '.gif'].includes(extname(file).toLowerCase())) {
|
|
const buffer = readFileSync(filePath);
|
|
dimensions = imageSize(buffer);
|
|
}
|
|
|
|
return {
|
|
filename: file,
|
|
size: sizeInMB,
|
|
width: dimensions.width || 0,
|
|
height: dimensions.height || 0
|
|
};
|
|
});
|
|
}
|
|
|
|
const files = getFiles(staticDir);
|
|
writeFileSync(outputFile, JSON.stringify(files, null, 2));
|
|
|
|
console.log(`✅ Liste des fichiers générée dans ${outputFile}`);
|