about summary refs log tree commit diff
path: root/src/lib/strings.ts
diff options
context:
space:
mode:
authorAryan Goharzad <arrygoo@gmail.com>2023-01-19 13:53:11 -0500
committerGitHub <noreply@github.com>2023-01-19 12:53:11 -0600
commitf10a8308d9f6bfb907c8a2458cbf78b4cfad88d2 (patch)
tree0cb50ba6736ea67773e76f9000d07095a654bb6d /src/lib/strings.ts
parent9230d52ff596056429a773298b2728619afe3432 (diff)
downloadvoidsky-f10a8308d9f6bfb907c8a2458cbf78b4cfad88d2.tar.zst
Fixes youtube embed issues (#50)
* fixes youtube embed

* move extractMetaHtml test to its own file

* tests cleanup

* Add fallback for youtube meta data

* lint

* Check for youtube in the url domain

* use hostname instead of full url to check for link domain

* checks only for domain
Diffstat (limited to 'src/lib/strings.ts')
-rw-r--r--src/lib/strings.ts51
1 files changed, 0 insertions, 51 deletions
diff --git a/src/lib/strings.ts b/src/lib/strings.ts
index 04d8656f7..77fe222e4 100644
--- a/src/lib/strings.ts
+++ b/src/lib/strings.ts
@@ -265,54 +265,3 @@ export function convertBskyAppUrlIfNeeded(url: string): string {
   }
   return url
 }
-
-const htmlTitleRegex = /<title>([^<]+)<\/title>/i
-export function extractHtmlMeta(html: string): Record<string, string> {
-  const res: Record<string, string> = {}
-
-  {
-    const match = htmlTitleRegex.exec(html)
-    if (match) {
-      res.title = match[1].trim()
-    }
-  }
-
-  {
-    let metaMatch
-    let propMatch
-    const metaRe = /<meta[\s]([^>]+)>/gis
-    while ((metaMatch = metaRe.exec(html))) {
-      let propName
-      let propValue
-      const propRe = /(name|property|content)="([^"]+)"/gis
-      while ((propMatch = propRe.exec(metaMatch[1]))) {
-        if (propMatch[1] === 'content') {
-          propValue = propMatch[2]
-        } else {
-          propName = propMatch[2]
-        }
-      }
-      if (!propName || !propValue) {
-        continue
-      }
-      switch (propName?.trim()) {
-        case 'title':
-        case 'og:title':
-        case 'twitter:title':
-          res.title = propValue?.trim()
-          break
-        case 'description':
-        case 'og:description':
-        case 'twitter:description':
-          res.description = propValue?.trim()
-          break
-        case 'og:image':
-        case 'twitter:image':
-          res.image = propValue?.trim()
-          break
-      }
-    }
-  }
-
-  return res
-}