Wikipedia:Narzędzia/disFixer

podpowiedzi w disFixer (filtrowanie listy)

disFixer to narzędzie pozwalające na łatwą poprawę linków do ujednoznacznień (zobacz też Wikiprojekt:Strony ujednoznaczniające z linkami) i przekierowań. Autorem skryptu jest Matma Rex.

Użycie: Włącz disFixer w zakładce „Gadżety” strony z preferencjami (sekcja „Edycja stron”).

  • Kliknij preferencje (w pasku na górze ekranu), potem na zakładkę gadżety, w sekcji „Edycja stron” kliknij na kwadracik obok „disFixer – narzędzie do poprawiania linków do stron ujednoznaczniających i przekierowań”

Jeśli na stronie są linki do ujednoznacznień, w pasku narzędzi pojawi się przycisk, po kliknięciu którego wyświetli się lista i możliwości poprawy.

Ustawienia

Do zarządzania ustawieniami disFixer używa gConfiga. Ustawienia gadżetu można zmienić na stronie preferencji gadżetów po włączeniu go w preferencjach.

Zaawansowane dostosowanie (hooks)

Główne hooki:

  • userjs.disFixer.actioninit
  • userjs.disFixer.actionready

Uważaj przy używaniu actioninit

Ten hook możesz teoretycznie użyć do zmiany zachowania disFixera zanim utworzony zostanie główny przycisk/link... Ale...

Przykład zmiany jednej z funkcji:

mw.hook('userjs.disFixer.actioninit').add(function (disFixer, disambigs, redirs) {console.log('disFixer.actioninit');// Replace one of the functions (class methods).// Note! Any function might change and you might need to adjust yours in future.disFixer.disHeaderButton = function(title){$('#content').prepend('<input id="disBeginButton" type="submit" class="disFixerButton" value="" title="'+title+'" />');var $button = $('#disBeginButton');return $button;};});// should do mw.loader after...

Uwaga! Zmiana niektórych funkcji, a w szczególności `disHeaderButton` może być zdradliwe. Musisz uruchomić powyższy kod zanim oryginalna funkcja zostanie wykonana i utworzy przycisk. Czyli w praktyce musisz ładować disFixer za pomocą `mw.loader` i to najlepiej pod kodem rejestrującym funkcja dla hooka `userjs.disFixer.actioninit`.

Używanie actionready

Innym podejściem może być przesunięcie przycisku już po tym jak zostanie utworzony. W tym wypadku nie ma znaczenia, czy użyjesz mw.loader, czy dodasz gadżet w preferencjach.

// move exisiting button (should preserve events, might brake styles)mw.hook('userjs.disFixer.actionready').add(function (disFixer, disambigs, redirs) {console.log('disFixer.actionready');if (disBeginButton) {document.querySelector('#content').prepend(disBeginButton);}});

Znane problemy

  1. Pod Firefoksem skrypt niekiedy uruchamia się przy każdej edycji jakiejkolwiek strony. Należy wtedy włączyć w ustawieniach przechowywanie danych w ciasteczkach zamiast LocalStorage.
  2. W przypadku ustawienia skórki nowoczesnej pod Firefoxem i w najnowszym IE nie działa poprawnie. Nie pojawia się przy edycji hasła.
  3. Nie działa z edytorem wikikodu 2017 (funkcja eksperymentalna).

Masz pomysł na ulepszenie lub znalazłeś błąd?

Śmiało raportuj! ;).