diff options
Diffstat (limited to 'src/lib/extractTwitterMeta.ts')
-rw-r--r-- | src/lib/extractTwitterMeta.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/extractTwitterMeta.ts b/src/lib/extractTwitterMeta.ts new file mode 100644 index 000000000..d785903c0 --- /dev/null +++ b/src/lib/extractTwitterMeta.ts @@ -0,0 +1,20 @@ +export const extractTwitterMeta = ({ + pathname, +}: { + pathname: string +}): Record<string, string> => { + const res = {title: 'Twitter'} + const parsedPathname = pathname.split('/') + if (parsedPathname.length <= 1 || parsedPathname[1].length <= 1) { + // Excluding one letter usernames as they're reserved by twitter for things like cases like twitter.com/i/articles/follows/-1675653703 + return res + } + const username = parsedPathname?.[1] + const isUserProfile = parsedPathname?.length === 2 + + res.title = isUserProfile + ? `@${username} on Twitter` + : `Tweet by @${username}` + + return res +} |