Files
remanso/src/modules/atproto/withATProtoImages.ts
2026-03-28 09:38:55 +01:00

14 lines
459 B
TypeScript

export const withATProtoImages = (
markdown: string,
{ pds, did }: { pds: string; did: string }
): string => {
const imageLinkPattern = /!\[([^\]]*)\]\((bafkrei[a-z0-9]+)\)/g
return markdown.replace(imageLinkPattern, (_, altText, cid) => {
const imageUrl = new URL("/xrpc/com.atproto.sync.getBlob", pds)
imageUrl.searchParams.set("did", did)
imageUrl.searchParams.set("cid", cid)
return `![${altText}](${imageUrl.toString()})`
})
}