redirecter for ao3 that adds opengraph metadata

i forget what i did here but it was probably sensible

Changed files
+5 -5
pages
+5 -5
pages/Image.jsx
···
async function Image ({ data, addr }) {
const filename = addr.replaceAll("/", "-")
-
const cachedFile = Bun.file(`imagecache/${filename}.png`)
const cacheTime = Date.now() - (24*60*60)
if (await cachedFile.exists() && (await cachedFile.mtime) > cacheTime) {
return Response(await cachedFile.arrayBuffer(), {
headers: {
-
'Content-Type': 'image/png'
}
})
}
···
await $`magick -size 1520x480 xc:white tmp/${filename}-box.png`
await $`magick -size 1440x20 -background none -gravity East -font Verdana -pointsize 18 -fill black caption:"https://archiveofourown.org/${addr}" tmp/${filename}-addr.png`
await $`magick -size 1440x400 -background none -font Verdana -pointsize 24 -fill black caption:"Wordcount: ${data.words}${chapterCountString} | Rating: ${data.rating}\n\n${summaryFormatted}" tmp/${filename}-desc.png`
-
await $`magick -size 1600x900 xc:#990000 -draw "image over 40,40, 0,0 tmp/${filename}-title.png" -draw "image over 40,380, 0,0 tmp/${filename}-box.png" -draw "image over 80,420 0,0 tmp/${filename}-desc.png" -draw "image over 80,800 0,0 tmp/${filename}-addr.png" imagecache/${filename}.png`
await $`rm tmp/${filename}-*.png`
-
const file = Bun.file(`imagecache/${filename}.png`)
return Response(await file.arrayBuffer(), {
headers: {
-
'Content-Type': 'image/png'
}
})
}
···
async function Image ({ data, addr }) {
const filename = addr.replaceAll("/", "-")
+
const cachedFile = Bun.file(`imagecache/${filename}.webp`)
const cacheTime = Date.now() - (24*60*60)
if (await cachedFile.exists() && (await cachedFile.mtime) > cacheTime) {
return Response(await cachedFile.arrayBuffer(), {
headers: {
+
'Content-Type': 'image/webp'
}
})
}
···
await $`magick -size 1520x480 xc:white tmp/${filename}-box.png`
await $`magick -size 1440x20 -background none -gravity East -font Verdana -pointsize 18 -fill black caption:"https://archiveofourown.org/${addr}" tmp/${filename}-addr.png`
await $`magick -size 1440x400 -background none -font Verdana -pointsize 24 -fill black caption:"Wordcount: ${data.words}${chapterCountString} | Rating: ${data.rating}\n\n${summaryFormatted}" tmp/${filename}-desc.png`
+
await $`magick -size 1600x900 xc:#990000 -draw "image over 40,40, 0,0 tmp/${filename}-title.png" -draw "image over 40,380, 0,0 tmp/${filename}-box.png" -draw "image over 80,420 0,0 tmp/${filename}-desc.png" -draw "image over 80,800 0,0 tmp/${filename}-addr.png" imagecache/${filename}.webp`
await $`rm tmp/${filename}-*.png`
+
const file = Bun.file(`imagecache/${filename}.webp`)
return Response(await file.arrayBuffer(), {
headers: {
+
'Content-Type': 'image/webp'
}
})
}