Wikipedia:Narzędzia/veAutocorrect

veAutocorrect – gadżet do autokorekty dla VisualEditora. Automatyzuje wstawianie wybranych znaków specjalnych, w tym długiej pauzy „—” czy polskich cudzysłowów.

Od wersji 2.0 możliwe jest szybkie wstawianie szablonu {{fd}}. Wystarczy wpisać „{fd”, a gadżet automatycznie podmieni to na „[potrzebny przypis]” (razem z wpisaną datą). Mniej roboty, ten sam efekt 😎. A poniżej m.in., jak wstawiać sekcje końcowe, szablon przypisów itp. → #Dodatki dla Polskiej Wikipedii.

Uwaga!
Skrypt nie był i nie będzie testowany w przeglądarce Internet Explorer. Czas z tym skończyć 😉.
Polecam przeglądarki: Firefox lub Chrome. Edge i inne nakładki na Chrome/Chromium też powinny działać.

W skrócie edytuj

Aktywne sekwencje edytuj

Podstawowe sekwencje edytuj

tekst wpisywany zamiana na
-- (półpauza, ndash)
--- (pauza, mdash)
" otwierający lub zamykający cudzysłów (zależnie od kontekstu).
<< « cudzysłów wewnętrzny
>> »
1/2 ½ (wymagana spacja po „2”)
1/4 ¼ (wymagana spacja po „4”)
3/4 ¾ (wymagana spacja po „4”)
+- ±
...
->

Dodatki dla Polskiej Wikipedii edytuj

NAC dostępny jako gadżet ma wbudowane dodatkowe sekwencje. Większość z nich jest wzięta od pierwszych liter sekcji lub szablonów.

tekst wpisywany zamiana na
szablony
{fd wstawia szablon fakt z datą ({{fd}}).
{p szablon „Przypisy”.
sekcje końcowe
=z+ wszystkie sekcje końcowe na raz („Zobacz też” itp).
=zt (lub =zob) sekcja „Zobacz też”.
=p sekcja „Przypisy” (zaraz potem można użyć: „{p”).
=b sekcja „Bibliografia”.
=lz (lub =lnk) sekcja „Linki zewnętrzne”.

Własne sekwencje edytuj

Własne sekwencje można dodać w swoim `common.js` (lub `vector.js`). Należy przy tym wykorzystać zdarzenie „userjs.veNuxAutocorrect.ready”.

Proste sekwencje edytuj

Dodanie zamiany tekstu na tekst jest proste. Jedyne na co trzeba uważać, to żeby to co jest we „from” się nie powtarzało.

mw.hook('userjs.veNuxAutocorrect.ready').add(function (nac, helpers) {
    nac.add({from:' :-)', to:' 🙂'});
    nac.add({from:' ;-)', to:' 😉'});
});

Tak przy okazji, pod Windows 10 – do wstawiania emoji – można użyć skrótu Windows + . (wyskakuje menu, w którym można wyszukać emoji).

Szablon Osobny artykuł edytuj

Dodawanie szablonów i innych elementów składni jest nieco bardziej skomplikowane, ale z użyciem funkcji nie jest aż takie trudne. Załóżmy, że często wstawiasz szablon {{Osobny artykuł}}, możesz go wstawiać np. po wpisaniu „{oa” (albo „{osob”).

mw.hook('userjs.veNuxAutocorrect.ready').add(function (nac, helpers) {
    const p = helpers.p;
    const h2 = helpers.h2;
    const tpl = helpers.tpl;

	// '{oa' -> {{Osobny artykuł}}
    nac.add({
    	from: '{oa',
    	to: tpl({
			target: {
				href: 'Szablon:Osobny artykuł',
				wt: 'Osobny artykuł'
			},
			//params: {}
		})
	});
});

Szablon Dopracować edytuj

// '{d=*' -> {{Dopracować}}
mw.hook('userjs.veNuxAutocorrect.ready').add(function (nac, helpers) {
    // helper mapping
    const p = helpers.p;
    const tpl = helpers.tpl;

	function dopracowac(parametr) {
		var params = {};
		params[parametr] = {wt:'{{'+'subst:#time:Y-m'+'}}'};
		return tpl({
			target: {
				href: 'Szablon:Dopracować',
				wt: 'Dopracować'
			},
			params: params
		}, true);
	}
	//console.log(JSON.stringify(dopracowac('źródła'), true, '\t'));
    nac.add({
    	from: '{d=bz', // brak źródeł
    	to: dopracowac('źródła')
	});
    nac.add({
    	from: '{d=wp', // więcej przypisów
    	to: dopracowac('więcej przypisów')
	});
    nac.add({
    	from: '{d=wz',  // więcej źródeł
    	to: dopracowac('więcej przypisów')
	});
});

Więcej przykładów edytuj

  • MediaWiki:Gadget-NAC-extras.js – sekwencje dla pl.wiki. Tu znajdziesz kod do tego jak zrobione są sekwencje ze wstawianiem sekcji.
  • github.com/Eccenux/veAutocorrect – przykłady w języku angielskim. Tu znajdziesz więcej przykładów z szablonami, w tym z parametrami. Jest też przykład możliwości użycia wikikodu w szablonie.

Uwagi do angielskiej wersji edytuj

Jeśli kopiujesz sekwencje z pl.wiki na en.wiki i masz w komentarzach wywołania polskich szablonów (np. // '{d=*' -> {{Dopracować}}), to na en.wiki umieść je wszystkie w bloku pary komentarzy // <nowiki> i // </nowiki>. Zapobiegnie to wstawieniu strony z kodem do en:Special:WantedTemplates (Specjalna:Potrzebne szablony).

Zobacz też edytuj