From 9fcf3d7b1b72978748d47dd94da0380af9815d22 Mon Sep 17 00:00:00 2001 From: Kiko Beats Date: Sun, 30 Jun 2024 14:37:44 +0200 Subject: [PATCH] fix(x): strip query parameter from title --- packages/metascraper-x/src/index.js | 6 +++++- packages/metascraper-x/test/index.js | 2 +- .../metascraper-x/test/snapshots/index.js.md | 2 +- .../test/snapshots/index.js.snap | Bin 1561 -> 1562 bytes 4 files changed, 7 insertions(+), 3 deletions(-) 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 b8b8a8b37592d56dca150c3056ccb0e0559485f5..a02147776804761d5c538d6d2b147ad9f0cb0d91 100644 GIT binary patch literal 1562 zcmV+#2IcudRzVfjo_WFm;6)SQyC%SoOn~2+ z0H=)OCynEmI(yXDhVj5$TwDa>1Q<_&@eG_Y%&!;=U>rMX94DEMgdDryc>Z*;$9kgJ zp+qY@v&MR2XudF&_l1CHI(EM9SWfA@RX*=nTUM=ZTXm~euq^B5RMOJ{Rla1YW+EBI z%s&E6x-6kovZRamfASk_^r`eIe-T5GB>|NvLX5OdRlQi$1z!|Po0t1b>e_~CPR7HO ztqeNLn=kbz4_MqS_#!Tj>c2aDRu%24T`hZV#r0}6+jc$A zt`tiv{fm^QYPV!r`z6aN?4{l5dT^3-$Bs#pspY5Atizd#=z~fdJJUaQ$mQ63rqLUh z9z}xF4=-erkL|CG_q9LV&jVzp-`{5e6+>^~#7G7E-|41j-()X_EpUj83c#SiCFMa+CDI7@m3CQwtwNt7izcd~@^i6%0)d-R|m-74&< zf{2H6A=>gLb>H(!%9ooaR8EpS* z7Td1^z#jnM6$9XJ2Ed{T;EuZfYmd$LbE~A!aQ)r~DZP#Ne}4C`AHIrb_DG*`kv{%*64pT7OZFY!Wl?|p*prm9c2=GA68h|61XDDcy_fBIIwxeYo{oN7(w)U*2H z^7`Jxfc@?KpbuHWTyy8nM7jCAP{K^wV{zPL`%7+2}>?H7`tl}KJ z^AYYtzCX+K!s0BZ-vEG*^PX)0oHYSfO@P=0c*g|z`(rbGx+N0A16(cOmdxT5&qzx6 zVQ?6DB(Q6Bw=yr-e}emWesR^0SQui56QyZ@p^!Ps7z#gAc{>*gE)mW`ArnS05-}Zi z;QM#p#6~FgNfLyT(Iil~!W6cc(vtZanL?JJrc$yFr>G*5(gLo~e1V`Zq|8!{so*$> z1d4}_X}wygLGs^P1RDGnZ{3U5*sQ`tqOiOy8fb{wZ> zRh_csdahF{yN)%7ZU+CZo5O2?V3&n6u7$m$MjqDyc-=VsL-1zfZqbZH3Q(T0q~Il@D~H%SrdRfHlQc3 z#zgAvCZ5?QL-Ucq^y<#MJ>59CkvH9#B_tLKDaU~2?KZ)sjO$F2d_19XDycdQH&UX7 z6uvlzjgX6!-sTxo=WvZ^M$Ta~>E64`nNN@=*ziR_W08N|E>-yazg)+%t4A_ip3QJf z14fFiO%hyMOLzQcd;R>z^(V&diN>fJ52Lm?N$n_W%xujq*;d7?TAo`fl}lx(b`-P! M1VBMEeOwU$08-oj)c^nh literal 1561 zcmV+!2Il!eRzV_TUk`r0rK&Beti&cCyZkx(~*#4_eYPPEcRGW z6g!k?g{RK3o*0@>PUU?oAexSyA3By(I%Ad3IM$|BtJ_xHsue8Dx;B;cy?`oTvQ#sX zjAG_LfF@m*P%2r{#oMp^85?~neafH4P-IC!C5jLuty5Jm7IncF#nQ&b{*t=9u9}na zFl8%)&ho}H{mFRytatIc)oz_*lkskcx1QUxH)^fP_@!7}V{X)pI+O9M)>hBn-g1|- z$@oU|x=S~gqqse_-v?Msx`(H9ew>tcR6!3|+%5PbE{^KIGkjJR?W$cZdv3+`YBk$- zJnTqIPrH$?BA3Nl7>^;;t zEIo<@rypL(Bp=&981HLuxSzwk>G$_pK*i8oI6hLr-cP1wfRZY~`#B3+&#kE$s(9@v zRR{y%69eF@kviHYz|Z~%Rq?C2R1q^@3eJ*VfeF-9aS~;T&YdhFeWHoX?H=9lN7oCx zsvu++g%a`D?np6ERC21+I22P&lrKq2|xprw*NSb z?Uw-H?*QKYCtIsd5 zU9dO2E4}{)@@3DiRBN7BaVk~UvOUi$KC^Q6T6)2++(+b(H%6tr6Y!5t0zb+s&cQn$ z;XdU1>r5{!&SLsy0QfNP*#^K1J=1PWJ}!WL6nGG8N8$P(04O4i{NRYX!+z!jP=5cGwVS*kG=90!p= zk??&CBqg!RuL>PeY{w}jeiYM0Gtt`@(72iiSe7`Zp!JSm$O{!ulyQnnLnJU_j58Fc36s?VXby_l*OH5tJR6zD@)r~o6T$CjatrVofFxm-<(m!{tu(dm`=~LY`11R zrE1N#oLaTw&NIaPcm|yb4i9k#pg*4l=q~}_F92}a0Jv!Yd|&{4Y5+WH0+4$K^u(o@ zNWIm>Q(I(c-W8Z$-I=$i8~a!DrW><_#6ltE7_hwECb*Pwok^09Cp1naRR`flO0>tKwBH&n=b8rLt2yirIex LK9M@iToC{OaWe!S