From 2cb5cc065a73c755939219fb2830f6685bc9b605 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 7 Mar 2022 15:23:56 -0800 Subject: [PATCH] Add support for identifying newsletters hosted on beehiiv.com --- packages/api/src/utils/parser.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/api/src/utils/parser.ts b/packages/api/src/utils/parser.ts index c32b539ed..5f3adfd82 100644 --- a/packages/api/src/utils/parser.ts +++ b/packages/api/src/utils/parser.ts @@ -432,9 +432,28 @@ export const isProbablyNewsletter = (html: string): boolean => { return true } + const beehiivUrl = beehiivNewsletterHref(dom.window) + if (beehiivUrl) { + return true + } + return false } +const beehiivNewsletterHref = (dom: DOMWindow): string | undefined => { + const readOnline = dom.document.querySelectorAll( + 'table tr td div a[class*="link"]' + ) + let res: string | undefined = undefined + readOnline.forEach((e) => { + console.log('text content', e.textContent) + if (e.textContent === 'Read Online') { + res = e.getAttribute('href') || undefined + } + }) + return res +} + const findNewsletterHeaderHref = (dom: DOMWindow): string | undefined => { const postLink = dom.document.querySelector('h1 a ') if (postLink) {