Merge pull request #935 from omnivore-app/newsletter-convertkit

support newsletters hosted on convertkit.com
This commit is contained in:
Hongbo Wu
2022-07-12 11:49:34 +08:00
committed by GitHub

View File

@ -451,6 +451,14 @@ export const isProbablyNewsletter = async (html: string): Promise<boolean> => {
}
}
// Check if this is a convertkit.com newsletter
if (dom.querySelectorAll('img[src*="convertkit-mail.com"]').length > 0) {
const convertkitUrl = convertkitNewsletterHref(dom)
if (convertkitUrl) {
return true
}
}
return false
}
@ -465,6 +473,17 @@ const beehiivNewsletterHref = (dom: Document): string | undefined => {
return res
}
const convertkitNewsletterHref = (dom: Document): string | undefined => {
const readOnline = dom.querySelectorAll('table tr td div a')
let res: string | undefined = undefined
readOnline.forEach((e) => {
if (e.textContent === 'View this email in your browser') {
res = e.getAttribute('href') || 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
@ -495,6 +514,12 @@ const findNewsletterHeaderHref = (dom: Document): string | undefined => {
return revue
}
// Check if this is a convertkit.com newsletter
const convertkitUrl = convertkitNewsletterHref(dom)
if (convertkitUrl) {
return convertkitUrl
}
return undefined
}