Wikipedia:Narzędzia/veAutocorrect

Wpisując "abc", gadżet podmieni tekst na „abc”, a <<złoty>> podmieni na «złoty».

Narzędzie veAutoCorrect (NAC) – gadżet do autokorekty dla VisualEditora (VE). Automatyzuje wstawianie wybranych znaków specjalnych, w tym długiej pauzy „—” czy polskich cudzysłowów. Gadżet działa również z DiscussionTools, z formularzem odpowiedzi w trybie wizualnym.

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.

W skrócie

Aktywne sekwencje

Podstawowe sekwencje

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

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 wpisywanyzamiana na
szablony
{fdWstawia szablon fakt z bieżącą datą ({{fd}}).
{pLista przypisów (zastępująca {{Przypisy}}).
sekcje końcowe
=z+Wszystkie sekcje końcowe na raz („Zobacz też” itp).
=zt (lub =zob)Sekcja „Zobacz też” (wraz z początkiem listy).
=pSekcja „Przypisy” (wraz z listą przypisów).
=bSekcja „Bibliografia” (wraz z początkiem listy).
=lz (lub =lnk)Sekcja „Linki zewnętrzne” (wraz z początkiem listy).

Własne sekwencje

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

Proste sekwencje

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:'(c)', to:'©'});
    nac.add({from:'(para)', to:'§'});
    nac.add({from:' :-)', to:' 🙂'});
    nac.add({from:' ;-)', to:' 😉'});
});

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

Szablon Osobny artykuł

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ć

// '{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

  • 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

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ż