diff --git a/packages/metascraper-x/src/index.js b/packages/metascraper-x/src/index.js index f483c61cc..6db724ac5 100644 --- a/packages/metascraper-x/src/index.js +++ b/packages/metascraper-x/src/index.js @@ -30,7 +30,11 @@ module.exports = ({ resolveUrls = false, resolveUrl = url => url } = {}) => { return author?.includes(' on X') ? author.split(' on X')[0] : author }) ], - title: [toTitle(($, url) => `@${url.split('/')[3]} on X`)], + title: [ + toTitle( + ($, url) => `@${new URL(url).pathname.toString().split('/')[1]} on X` + ) + ], url: [ toUrl($ => $('link[rel="canonical"]').attr('href')?.replace('twitter.com', 'x.com') diff --git a/packages/metascraper-x/test/index.js b/packages/metascraper-x/test/index.js index 94d31ab8a..1a204e757 100644 --- a/packages/metascraper-x/test/index.js +++ b/packages/metascraper-x/test/index.js @@ -21,7 +21,7 @@ const createMetascraper = (...args) => ]) test('from a X profile', async t => { - const url = 'https://x.com/Kikobeats' + const url = 'https://x.com/kikobeats?mx=2' const html = await readFile(resolve(__dirname, 'fixtures/profile.html')) const metascraper = createMetascraper() const metadata = await metascraper({ url, html }) diff --git a/packages/metascraper-x/test/snapshots/index.js.md b/packages/metascraper-x/test/snapshots/index.js.md index 3212fef16..f73f189fa 100644 --- a/packages/metascraper-x/test/snapshots/index.js.md +++ b/packages/metascraper-x/test/snapshots/index.js.md @@ -15,7 +15,7 @@ Generated by [AVA](https://avajs.dev). image: 'https://pbs.twimg.com/profile_images/1717583638991138816/4HvMeeps_400x400.jpg', lang: 'en', publisher: 'X', - title: '@Kikobeats on X', + title: '@kikobeats on X', url: 'https://x.com/Kikobeats', video: null, } diff --git a/packages/metascraper-x/test/snapshots/index.js.snap b/packages/metascraper-x/test/snapshots/index.js.snap index b8b8a8b37..a02147776 100644 Binary files a/packages/metascraper-x/test/snapshots/index.js.snap and b/packages/metascraper-x/test/snapshots/index.js.snap differ