Wikipedia:Narzędzia/dodatkowe przyciski opisu edycji
Opisując swój problem, staraj się być możliwie precyzyjny – podaj wersję przeglądarki i nazwę używanej skórki. Powiadom mnie o nowym wątku na mojej stronie dyskusji, żebym nie przegapił.
autor: Wikipedysta:Skalee • kod źródłowy: Wikipedysta:Skalee/dodatkowe przyciski opisu edycji.js • licencje: MIT i standardowe WikipediiDodatkowe przyciski opisu edycji umożliwiają łatwe definiowanie przycisków, które pojawią się na ekranie edycji artykułu i umożliwiają ustawianie opisu edycji za pomocą jednego kliknięcia myszą.
Zaraz pod tekstem Wypełnij opis zmian widoczne są zielone przyciski: +rozwiń skróty, ort., lit., int., ogonki, linki-zew. Wielu wikipedystów ceni te przyciski za wygodę, z jaką mogą opisywać najbardziej typowe zmiany. Nie pogardziliby jednak możliwością rozszerzenia tej listy o dodatkowe przyciski, dostosowane do potrzeb ich prac na Wikipedii.
Poniższy skrypt umożliwia dodanie dodatkowych przycisków z typowymi opisami edycji. Dodane przyciski mogą być dowolnie grupowane w wiersze, a także dowolnie stylizowane dla lepszej przejrzystości. Wszystko to możliwe było już wcześniej, ale nigdy w tak prostej formie.
- Pamiętaj, że opis edycji musi być merytoryczny i konkretny. Nie zawsze jakiś ogólny, wyklikany opis jest wystarczający. Często i tak należy doprecyzować o co w edycji chodziło. Nieprecyzyjne opisy mogą wywoływać zamieszanie, a nawet prowadzić do niepotrzebnych napięć pomiędzy wikipedystami. Poniższe narzędzie stosuj z rozwagą.
Przykład instalacji
edytujW swoim common.js wklej i odpowiednio do potrzeb zmodyfikuj (zamień treści, dodaj kolejne wiersze dla kolejnych przycisków; patrz: #Konfiguracja):
dodatkowePrzyciskiOpisuEdycjiUstawienia = [
{opis: 'szablony problemów', skrot: 'sz.pr.', nrWiersza: 1, kolorTla: 'whitesmoke'},
{opis: 'potrzebne źródła', skrot: 'p.źródła', nrWiersza: 1, kolorTla: 'whitesmoke'},
{opis: 'potrzebne przypisy w artykule zamiast bibliografii lub linków zewnętrznych', skrot: 'p.przypisy', nrWiersza: 1, kolorTla: 'whitesmoke'},
{opis: 'dopracować', skrot: 'dopr.', nrWiersza: 1, kolorTla: 'whitesmoke'},
{opis: 'potrzebna aktualizacja', skrot: 'p.akt.', nrWiersza: 1, kolorTla: 'whitesmoke'},
{opis: '+źródła', skrot: '+źr', nrWiersza: 2, kolorTla: 'blanchedalmond'},
{opis: 'posortowano', skrot: 'sort', nrWiersza: 2, kolorTla: 'blanchedalmond'},
{opis: 'uaktualniono', skrot: 'akt.', nrWiersza: 2, kolorTla: 'blanchedalmond', kolorTekstu: 'red'},
{opis: 'drobne językowe', skrot: 'dr.jęz.', nrWiersza: 2, kolorTla: 'deepskyblue', styl:'color:azure;'}
];
importScript('Wikipedysta:Skalee/dodatkowe_przyciski_opisu_edycji.js');
Nowe przyciski będą rozmieszczone w dwóch wierszach. Wiersz pierwszy złożony jest z 4 przycisków o kolorze tła whitesmoke. Wiersz drugi złożony jest z 5 przycisków: 3 pierwsze o kolorze tła blanchedalmond i następujące po nich 2 o kolorze tła deepskyblue i kolorze czcionki azure. Pierwszy przycisk w pierwszym wierszu nosi etykietę sz.pr. i wstawia do opisu edycji tekst szablony problemów. Drugi przycisk w pierwszym wierszu nosi etykietę p.źródła i wstawia do opisu edycji tekst potrzebne źródła, itd. Ostatni przycisk ostatniego wiersza to zaawansowane wykorzystanie przycisku: zamiast zwykłego dodania opisu, wykonanie dowolnego wyrażenia JavaScript. Jeżeli nie wiesz o co chodzi, to się nie przejmuj - najprawdopodobniej i tak nie będziesz taką możliwością zainteresowany.
Niestety, nie przewiduje się możliwości prostszej instalacji (np. w Gadżetach na panelu preferencji) ponieważ i tak gdzieś trzeba zdefiniować jakie dodatkowe przyciski mają się pojawić. Mam nadzieję, że nie jest to wielki problem.
Uwagi:
- Zwróć szczególną uwagę gdzie są przecinki, nawiasy, dwukropki itp. Język JavaScript bywa bardzo wrażliwy na tym punkcie.
- U mnie pomimo poprawnego common.js przyciski początkowo się nie pojawiały. Pomogło ponowne otworzenie do edycji i zapisanie common.js (być może po prostu oprogramowanie MediaWiki potrzebowało chwili czasu).
Konfiguracja
edytujTutaj znajdziesz nazwy kolorów, które możesz wykorzystywać.
Opis parametrów każdego z przycisków
Nazwa | Obowiązkowy | Opis | Dopuszczalne wartości |
---|---|---|---|
nrWiersza | tak | Numer wiersza, w którym pojawić się ma przycisk. | dodatnie liczby całkowite |
skrot | tak | Etykieta przycisku. | dowolny tekst, zalecane 3-10 znaków |
kolorTla | nie | Kolor tła przycisku. Jeżeli pominiesz ten parametr, kolor będzie taki, jak w standardowych przyciskach (#BBFFBB). | dowolny kolor HTML |
kolorTekstu | nie | Kolor tekstu na przycisku. Jeżeli pominiesz ten parametr, kolor będzie taki, jak w standardowych przyciskach (czarny). | dowolny kolor HTML |
styl | nie | Jeżeli ustawienie koloru tła jest niewystarczające, to tym parametrem możesz przekazać dowolne style css (opcja zaawansowana). | css |
opis | tak, jeżeli nie podano parametru funkcja | Tekst, który ma zostać dopisany do opisu edycji po naciśnięciu tego przycisku. | Dowolny, merytoryczny tekst |
funkcja | tak, jeżeli nie podano parametru opis | Dowolne wyrażenie JavaScript, które ma zostać wykonane po kliknięciu przycisku (opcja zaawansowana). | dowolne wyrażenie JavaScript |
Użycie parametru funkcja
edytujJeżeli podano parametr funkcja, to po naciśnięciu przycisku wykona się dowolna funkcja lub wyrażenie JavaScript zamiast dodania opisu. Te można określać na dwa sposoby:
- obiekt funkcji, np.
- function(){ alert('pokaż się'); }
- new Function("alert('pokaż się')")
- łańcuch znaków zawierający wyrażenie, np. "alert('pokaż się');"
- Przykład 1 – wywołanie gadżetu Wikiprojekt:Sprzątanie kodu (gadżet wciąż musi być włączony w preferencjach).
dodatkowePrzyciskiOpisuEdycjiUstawienia = [
{funkcja: function() { wp_sk.cleanup(document.getElementById('wpTextbox1')); }, skrot: 'wp sk', nrWiersza: 1}
];
- Przykład 2 – dodanie opisu edycji pomimo użycia parametru funkcja
Można skorzystać z funkcji dodajOpis(opis), zdefiniowanej tutaj.
dodatkowePrzyciskiOpisuEdycjiUstawienia = [
{funkcja: function() { alert("zaraz pojawi się okienko, po naciśnięciu ok dodany zostanie opis"); dodajOpis("teraz dodaję opis"); }, skrot: 'alert i opis', nrWiersza: 1}
];
Ukrywanie domyślnych przycisków
edytujNowy sposób
edytujZaraz po zdefiniowaniu przycisków dopisz taką linię:
dodatkowePrzyciskiOpisuEdycjiUstawienia.ukrywajStandardowePrzyciski = true;
Powyższa wstawka ukrywa wszystkie domyślne przyciski. Jeżeli chcesz zachować niektóre z nich, musisz zdefiniować je tak, jak definiujesz swoje. Mała ściągawka:
{opis: 'ort.', skrot: 'ort.', nrWiersza: 1},
{opis: 'lit.', skrot: 'lit.', nrWiersza: 1},
{opis: 'int.', skrot: 'int.', nrWiersza: 1},
{opis: 'polskie znaki', skrot: 'ogonki', nrWiersza: 1},
{opis: 'linki zewnętrzne', skrot: 'linki-zew', nrWiersza: 1},
{opis: 'poprawa linków', skrot: 'linki-popr', nrWiersza: 1},
{opis: '[[Pomoc:Interwiki|interwiki]]', skrot: 'interwiki', nrWiersza: 1},
{opis: 'kat.', skrot: 'kat.', nrWiersza: 1},
{opis: '[[Pomoc:Słowniczek#W|wikizacja]]', skrot: 'wikizacja', nrWiersza: 1},
{opis: 'źródła/przypisy', skrot: 'przypisy', nrWiersza: 1},
{opis: 'ujednoznacznienie', skrot: 'ujedn.', nrWiersza: 1},
{opis: 'ilustracja', skrot: 'ilustr.', nrWiersza: 1},
{opis: 'szablon', skrot: 'szablon', nrWiersza: 1},
{opis: 'infobox', skrot: 'infobox', nrWiersza: 1},
{opis: 'drobne merytoryczne', skrot: 'dr. meryt.', nrWiersza: 2},
{opis: 'drobne redakcyjne', skrot: 'dr. red.', nrWiersza: 2},
{opis: 'drobne techniczne', skrot: 'dr. tech.', nrWiersza: 2},
{opis: 'witaj', skrot: 'witaj', nrWiersza: 2},
{opis: 'test', skrot: 'test', nrWiersza: 2},
{opis: '[[WP:NPA|NPA]]', skrot: 'npa', nrWiersza: 2},
{opis: '[[WP:WER|Potrzebne źródło]]', skrot: 'wer', nrWiersza: 2},
{opis: '[[Wikipedia:Poczekalnia|Poczekalnia DNU]]', skrot: 'dnu', nrWiersza: 2},
{opis: '[[Kategoria:Ekspresowe kasowanie|ek]]', skrot: 'ek', nrWiersza: 2},
{opis: 'przywrócenie poprzedniej wersji', skrot: 'rew.', nrWiersza: 2},
{opis: 'integracja (autorzy: [[Wikipedysta:]], [[Wikipedysta:]]...', skrot: 'integracja', nrWiersza: 2},
{opis: 'głos', skrot: 'głos', nrWiersza: 2},
{opis: 'komentarz', skrot: 'komentarz', nrWiersza: 2}
Przykład:
dodatkowePrzyciskiOpisuEdycjiUstawienia = [
{opis: 'ort.', skrot: 'ort.', nrWiersza: 1},
{opis: 'lit.', skrot: 'lit.', nrWiersza: 1},
{opis: 'int.', skrot: 'int.', nrWiersza: 1},
{opis: 'polskie znaki', skrot: 'ogonki', nrWiersza: 1},
{opis: 'linki zewnętrzne', skrot: 'linki-zew', nrWiersza: 1},
{opis: 'poprawa linków', skrot: 'linki-popr', nrWiersza: 1},
{opis: '[[Pomoc:Interwiki|interwiki]]', skrot: 'interwiki', nrWiersza: 1},
{opis: 'kat.', skrot: 'kat.', nrWiersza: 1},
{opis: '[[Pomoc:Słowniczek#W|wikizacja]]', skrot: 'wikizacja', nrWiersza: 1},
{opis: 'źródła/przypisy', skrot: 'przypisy', nrWiersza: 1},
{opis: 'ujednoznacznienie', skrot: 'ujedn.', nrWiersza: 1},
{opis: 'ilustracja', skrot: 'ilustr.', nrWiersza: 1},
{opis: 'szablon', skrot: 'szablon', nrWiersza: 1},
{opis: 'infobox', skrot: 'infobox', nrWiersza: 1},
{opis: 'nowy opis 1', skrot: 'przycisk 1', nrWiersza: 5},
{opis: 'nowy opis 2', skrot: 'przycisk 2', nrWiersza: 5},
{opis: 'nowy opis 3', skrot: 'przycisk 3', nrWiersza: 5}
];
dodatkowePrzyciskiOpisuEdycjiUstawienia.ukrywajStandardowePrzyciski = true;
Stary sposób
edytujStary sposób domyślnie zwijam, żeby nie mieszał w głowach. Nie znaczy to, że jest zły, jest równie dobry. W dodatku nie jest w żaden sposób związany z narzędziem "Dodatkowe przyciski opisu edycji" i będzie działać także bez niego w większości współczesnych przeglądarek (w przypadku IE od wersji 9). Nowy sposób jest ciut prostszy i wprowadza mniej zamieszania do konfiguracji, toteż go promuję.
Aby ukryć piąty przycisk (uwaga, jako pierwszy liczony jest "rozwiń skróty", zatem piątym jest ten z opisem "ogonki"), dopisz:
#userSummaryButtons > a:nth-of-type(5) {display: none;}
Aby ukryć wszystkie domyślne przyciski, ale pozostawić przycisk "rozwiń skróty":
#userSummaryButtons > *:nth-child(-n+30) {display: none;}
#userSummaryButtons > *:nth-child(1) {display: inline !important;}
Aby ukryć wszystkie domyślne przyciski i do tego przycisk "rozwiń skróty":
#userSummaryButtons > *:nth-child(-n+30) {display: none;}
Inny separator opisów
edytujDomyślnie poszczególne opisy zmian oddzielane są przecinkiem, można to jednak zmienić. Dopisz taką linię:
dodatkowePrzyciskiOpisuEdycjiUstawienia.separator = '; ';
a opisy zmian będą oddzielane średnikiem. (Zwróć uwagę, że po średniku jest jeszcze spacja. Bez niej następny opis następowałby bezpośrednio po średniku, bez żadnego odstępu). Opisy z domyślnych przycisków też będą oddzielane separatorem, który wybrałeś. Niestety, wiele gadżetów (w tym WP:SK) wciąż będzie stosować przecinek.
Błędy
edytuj- Skrypt nie włącza się na niektórych instalacjach Firefoksa.
- status: Załatwione w wersji 0.2 (8 czerwca 2011); specjalne podziękowania dla Powerka38
Zobacz też
edytuj- kod źródłowy
- Wikipedia:Narzędzia/magicOfGreenRectangles - podobne narzędzie autorstwa Beau i Bulwersatora
- brak możliwości stylizacji przycisków (mniej przejrzysty interfejs)
- brak możliwości wywoływania dowolnego JavaScriptu
- (ciut) bardziej skomplikowana i mniej przejrzysta konfiguracja
- ale: łatwa możliwość dopisywania treści do artykułu (np. jednym kliknięciem wstawiasz na górze artykułu szablon {{Źródła}} i dodajesz do opisu potrzebne źródła); W tym narzędziu też jest to możliwe, ale (póki co) dość skomplikowane
- różne przyciski w zależności od rodzaju edytowanej strony
- można używać obu narzędzi jednocześnie