From 2e772410449f51b8e81a8ddb41e9f32bcf57f5cc Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 6 Jul 2022 22:06:21 +0800 Subject: [PATCH] Check and get Revue newsletter url from email --- packages/api/src/utils/parser.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/api/src/utils/parser.ts b/packages/api/src/utils/parser.ts index a7a08475b..638996cbc 100644 --- a/packages/api/src/utils/parser.ts +++ b/packages/api/src/utils/parser.ts @@ -457,6 +457,17 @@ const beehiivNewsletterHref = (dom: Document): string | undefined => { return res } +const revueNewsletterHref = (dom: Document): string | undefined => { + const viewOnline = dom.querySelectorAll('table tr td div a[target="_blank"]') + let res: string | undefined = undefined + viewOnline.forEach((e) => { + if (e.textContent === 'View online') { + res = e.getAttribute('href') || undefined + } + }) + return res +} + const findNewsletterHeaderHref = (dom: Document): string | undefined => { // Substack header links const postLink = dom.querySelector('h1 a ') @@ -470,6 +481,12 @@ const findNewsletterHeaderHref = (dom: Document): string | undefined => { return beehiiv } + // Check if this is a revue newsletter + const revue = revueNewsletterHref(dom) + if (revue) { + return revue + } + return undefined }