From 2fce1637b4ae01667da8ceafaa07a6266ab88450 Mon Sep 17 00:00:00 2001 From: Aryan Goharzad Date: Fri, 20 Jan 2023 13:54:30 -0500 Subject: Fixes embed links for twitter and tiktok (#74) --- src/lib/extractHtmlMeta.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/lib/extractHtmlMeta.ts') diff --git a/src/lib/extractHtmlMeta.ts b/src/lib/extractHtmlMeta.ts index 2517262be..038ca81c6 100644 --- a/src/lib/extractHtmlMeta.ts +++ b/src/lib/extractHtmlMeta.ts @@ -1,15 +1,18 @@ +import {extractTwitterMeta} from './extractTwitterMeta' import {extractYoutubeMeta} from './extractYoutubeMeta' interface ExtractHtmlMetaInput { html: string hostname?: string + pathname?: string } export const extractHtmlMeta = ({ html, hostname, + pathname, }: ExtractHtmlMetaInput): Record => { - const htmlTitleRegex = /([^<]+)<\/title>/i + const htmlTitleRegex = /<title.*>([^<]+)<\/title>/i let res: Record<string, string> = {} @@ -56,9 +59,12 @@ export const extractHtmlMeta = ({ const isYoutubeUrl = hostname?.includes('youtube.') || hostname?.includes('youtu.be') + const isTwitterUrl = hostname?.includes('twitter.') + // Workaround for some websites not having a title or description in the meta tags in the initial serve if (isYoutubeUrl) { - // Workaround for Youtube not having a title in the meta tags res = {...res, ...extractYoutubeMeta(html)} + } else if (isTwitterUrl) { + res = {...extractTwitterMeta({pathname})} } return res -- cgit 1.4.1