From d56232e6b7d06048babaf3e4f186ff15b5cd4dd7 Mon Sep 17 00:00:00 2001 From: Johan Holmerin Date: Wed, 15 Jul 2020 19:57:27 +0200 Subject: [PATCH] Remove old alternate entries --- index.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/index.ts b/index.ts index 83a9755..d13c498 100644 --- a/index.ts +++ b/index.ts @@ -96,8 +96,14 @@ export const emailServer = new SMTPServer({ while ( document.querySelector("feed > entry") !== null && xml.serialize().length > 500_000 - ) - document.querySelector("feed > entry:last-of-type")!.remove(); + ) { + const lastEntry = document.querySelector("feed > entry:last-of-type"); + const identifier = removeUrn( + lastEntry!.querySelector("id")!.textContent as string + ); + await fs.unlink(alternatePath(identifier)); + lastEntry!.remove(); + } await writeFileAtomic( path, `${xml.serialize()}` @@ -235,6 +241,10 @@ function urn(identifier: string): string { return `urn:kill-the-newsletter:${identifier}`; } +function removeUrn(identifier: string): string { + return identifier.replace(urn(""), ""); +} + function X(string: string): string { return entities.encodeXML(sanitizeXMLString.sanitize(string)); }