Portfolio image captions and dates
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Rik Berkelder 2025-03-03 03:11:48 +01:00
parent 2102441dd2
commit beaa79b377
50 changed files with 124 additions and 76 deletions

View file

@ -1,17 +1,31 @@
import * as path from 'node:path';
import * as fs from 'node:fs';
import exifr from 'exifr';
const conf = {
tags: "portfolio",
layout: "portfolio.njk",
eleventyComputed: {
images(data) {
async images(data) {
const dir = path.dirname(data.page.inputPath);
const images = fs.readdirSync(dir)
const files = fs.readdirSync(dir)
.filter(file => ['.png', '.jpg', '.jpeg', '.JPG'].includes(path.extname(file)))
.sort()
.map(image => `${data.page.url}${image}`);
.sort();
const images = await Promise.all(files.map(async (image) => {
const imagePath = path.resolve(dir + '/' + image);
const exif = await exifr.parse(imagePath, { pick: ['XPComment', 'DateTimeOriginal'] });
return {
url: data.page.url + image,
caption: exif?.XPComment ?? "",
date: exif?.DateTimeOriginal
};
}));
return images;
},