Rozdělovač tweetových vláken
Vložte dlouhý příspěvek a nechte si ho rozdělit na skutečné X/Twitter vlákno pomocí opravdových pravidel váženého počítání znaků – každá URL se počítá jako pevných 23 znaků a emoji z pomocných rovin se započítávají správně – s chytrými hranicemi odstavců/vět/slov a číslováním vlákna, které si rezervuje vlastní prostor.
🔒 Zpracováno výhradně ve vašem prohlížeči – nic, co zde zadáte, se nikdy nenahraje.
Výsledek
Limit 280 znaků na tweet není jednoduchá kontrola `text.length` a většina naivních počítadel znaků to v podstatných ohledech neřeší správně. Tento nástroj implementuje skutečný algoritmus vážené délky X/Twitteru: každý kódový bod je vyhodnocen podle stejné tabulky vážených rozsahů, kterou používá interní knihovna twitter-text samotné platformy, kde většina znaků latinky, cyrilice, řečtiny a běžné interpunkce má váhu 1, ale vše mimo tyto rozsahy – CJK ideogramy, většina emoji, mnoho symbolů – má váhu 2. Stejně důležité je, že procházení textu podle skutečných unicode kódových bodů (nikoli hrubých UTF-16 jednotek) znamená, že emoji z pomocné roviny, jako je obličej ze zástupného páru nebo vlajka, je správně započítáno jednou a nedojde k omylu, kdy by ho naivní kontrola `.length` započítala dvakrát.
Další snadno přehlédnutelné, ale poctivě implementované skutečné pravidlo: každá URL začínající na http(s):// nebo www. se ve vašem textu počítá jako přesně 23 znaků, bez ohledu na to, zda má doslovný odkaz 20 nebo 200 znaků. To je skutečná délka zkráceného odkazu t.co, kterou X za každý odkaz dosazuje, a znamená to, že tweet přeplněný dlouhou sledovací URL má pro skutečná slova mnohem více místa, než by napovídal naivní počet znaků – nástroj pro rozdělování to bere v úvahu při rozhodování, kde tweet končí.
Rozdělení dlouhého příspěvku do vlákna je víc než jen ořezávání textu po 280 znacích. Tento nástroj prochází třemi úrovněmi hranic v pořadí podle preference: nejprve se snaží udržet pohromadě celé odstavce, pokud je odstavec příliš dlouhý, přechází na skutečnou heuristiku hranic vět (rozdělovač založený na regexu, který pozná rozdíl mezi tečkou na konci věty a tečkou uvnitř zkratky jako „Dr.“ nebo „např.“ nebo desetinného čísla jako „3,14“), a dělí na jednotlivých slovech jen jako poslední možnost, když i jediná věta přesáhne limit – na každé úrovni je URL považována za jeden nedělitelný token a nikdy není rozdělena uprostřed.
Číslování vláken („1/7“, „2/7“...) má skutečně snadno přehlédnutelný okrajový případ: samotný text číslování zabírá znaky v tweetu, ke kterému je připojen, a šířka tohoto číslování závisí na celkovém počtu tweetů, který není znám, dokud rozdělování neskončí. Tento nástroj to řeší iterativním přepočítáváním a rezervováním skutečné vážené délky číslování před každým průchodem, dokud rezervovaný rozpočet neodpovídá skutečnému výslednému počtu tweetů. Standardně se používá limit 280 znaků s upřímnou poznámkou, že předplatitelé X Premium dostávají mnohem vyšší limit pro dlouhé příspěvky (až přibližně 25 000 znaků) pro příspěvky, které nemusí fungovat jako veřejné vlákno – přepínač vám umožní přejít na vlastní limit, pokud je to váš cíl.