New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blokowanie wysłania zgłoszenia dla artykułów poniżej limitu 2kB #5
Comments
Jest komunikat. Wystarczy. |
Zrobiłem już udoskonaloną wersję ustalania wielkości artykułu i ostatnich zmian w artykule. Nadal trzeba brać pod uwagę, że artykuł mógł zostać przepisany. Przepisany artykuł mający nominalnie tyle samo bajtów może mieć 10kB nowych danych... Ale można by pokombinować kiedy faktycznie zgłoszenie powinno być blokowane. |
Co robi ta udoskonalona wersja? Bo moim marzeniem zawsze był pomiar ilości samego tekstu, tj. bez kategorii, szablonów, (przypisów?) itp., ale nie udało mi się tego zrealizować. |
Tego nie robiłem. Zresztą nie jestem pewien jakie jest tutaj oczekiwanie ludzi powiązanych z projektem CW. Jamnik faktycznie coś wspomniał, że w zasadzie infoboks się nie do końca liczy w CW, ale z drugiej strony w konkursach liczy się każdy bajt (w tym przypisy)... Tak że to byłoby pewnie do ustalenia i to raczej nie byłoby łatwe. W każdym razie RevisionList umie liczyć różne przypadki. Dzięki dokładnemu sprawdzeniu historii zmian można ustalić:
Czyli można w miarę łatwo dodać twardy limit dla nowych artykułów (tylko dla nowych, bo przy przebudowie można mieć 0 bajtów różnicy, a przepisać cały artykuł). |
Metoda liczenia długości tekstuChyba wymyśliłem jak można by uczciwie liczyć ilość tekstu na stronie. Można ukryć zbędne szablony i linki edycji: $('.ambox,.navbox,.mw-editsection').hide(); I potem sprawdzić jaka jest długość: visibleText = $('#mw-content-text')[0].innerText
textChars = visibleText.length;
textBytes = (new TextEncoder().encode(visibleText)).length;
console.log(`długość: ${textChars} znaków`);
console.log(`długość: ${textBytes} bajtów`); To sobie zapisać i jeśli artykuł jest nowy, to według tego liczyć limit. Wyświetlanie długości tekstuPowyższe wyliczenie należałoby też dorzucić w sekcji z tabelką zmian (może nad tabelką):
PS: Nawiasem mówiąc znaki to nie bajty... A w sumie to ciekawe, jak mediawiki liczy np. "żółć" - jako 4 (znaki) czy 8 (bajtów)? PPS: Dla spornego artykułu wychodzi:
Tak że na pewno w polskich artykułach różnica jest znacząca. |
Potrzebne blokowanie, gdy artykuł ma <2kB - tak, jak działa to dla artykułów bez źródeł. Tzn. oprócz tego czerwonego napisu.
The text was updated successfully, but these errors were encountered: