* change return value for new version of pubsub * add support for the other bloomberg newsletters not only business * add default fallback url if newsletter url not found * revert pubsub version change
22 lines
629 B
TypeScript
22 lines
629 B
TypeScript
import { NewsletterHandler } from './newsletter'
|
|
import addressparser from 'addressparser'
|
|
|
|
export class SubstackHandler extends NewsletterHandler {
|
|
constructor() {
|
|
super()
|
|
this.defaultUrl = 'https://www.substack.com/'
|
|
}
|
|
|
|
getNewsletterUrl(rawUrl: string, _html: string): string | undefined {
|
|
// raw SubStack newsletter url is like <https://hongbo130.substack.com/p/tldr>
|
|
// we need to get the real url from the raw url
|
|
return addressparser(rawUrl).length > 0
|
|
? addressparser(rawUrl)[0].name
|
|
: undefined
|
|
}
|
|
|
|
isNewsletter(rawUrl: string, _from: string): boolean {
|
|
return !!rawUrl
|
|
}
|
|
}
|