Merge pull request #932 from omnivore-app/newsletter-revue
Add support for newsletters hosted on getrevue.co
This commit is contained in:
@ -443,6 +443,14 @@ export const isProbablyNewsletter = async (html: string): Promise<boolean> => {
|
||||
}
|
||||
}
|
||||
|
||||
// Check if this is a newsletter from revue
|
||||
if (dom.querySelectorAll('img[src*="getrevue.co"]').length > 0) {
|
||||
const getrevueUrl = revueNewsletterHref(dom)
|
||||
if (getrevueUrl) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
@ -457,6 +465,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 +489,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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user