/wiki-DYKCzyWiesz

Nominacje do Czy-Wiesza aka DYKnomination (Did You Know).

Primary LanguageJavaScript

Wiki:Gadżet CzyWiesz

Nominacje do Czy-Wiesza aka DYKnomination (Did You Know).

Linki

Wersja dev skryptu:

Instrukcja: Wikipedia:Narzędzia/CzyWiesz (na tej stronie wyświetlany jest również Numer aktualnej wersji)

Budowanie gadżetu

Gadżet jest budowany w Node.js (w miarę dowolny Node, ale pewnie przynajmniej v16).

Do pracy zalecyny jest VSCode, ale można budować wszystko z linii poleceń.

npm i
npm run test
npm run build

Uwaga! Pamiętaj o zmianie wersji gadżetu: src\build\version.js. Wersje powinny być semantyczne (proste bugi to ostatnia liczba, po środku nowe aspekty i funkcje, a pierwsza liczba to znaczące rozbudowy i przebudowy)

Do wdrażania potrzebny jest bot.config.mjs (o ile chcesz wdrażać jednym kliknięciem).

Więcej info: Deploy script w instrukcji z Wikiploy

Debug

Wersja dev z włączonym debug:

// testowa wersja DYK [[Wikipedia:Narzędzia/CzyWiesz]]
if ([0, 2].includes(mw.config.get('wgNamespaceNumber'))) {
	mw.loader.using("mediawiki.util, jquery.ui, ext.gadget.lib-wikiprojects".split(/, ?/)).then(function() {
		window.DYKnomination_is_beta = true;
		mw.hook('userjs.DYKnomination.loaded').add(function (DYKnomination) {
			console.log('[DYKnomination]', 'loaded v' + DYKnomination.about.version);
			DYKnomination.options.enabledClose = true;
			DYKnomination.debugmode = true;
		});
		importScript('Wikipedysta:Nux/CzyWiesz-dev.js');
	});
}
// Możliwość normalnego zamykania zgłoszeń (DoneHandling) i test kodu gadżetu
if ([102].includes(mw.config.get('wgNamespaceNumber'))) {
	mw.loader.using("mediawiki.util, jquery.ui, ext.gadget.lib-wikiprojects".split(/, ?/)).then(function() {
		mw.hook('userjs.DYKnomination.loaded').add(function (DYKnomination) {
			console.log('[DYKnomination]', 'loaded v' + DYKnomination.about.version);
			DYKnomination.options.enabledClose = true;
		});
		importScript('MediaWiki:Gadget-CzyWiesz.js');
	});
}

Można też przełączyć się na debug wpisując w konsoli przeglądarki DYKnomination.debug() (co od razu uruchomi okienko zgłoszenia). Aczkolwiek lepiej użyć hooka userjs.DYKnomination.loaded.

W trybie debug:

  • aktualne informacje pokażą się w konsoli przeglądarki;
  • zgłoszenie pójdzie na testową podstronę Nux/CzyWieszTest/propozycje (a nie na [[Wikiprojekt:Czy wiesz/propozycje]]);
  • informowanie autora – na analogiczną podstronę "…/autor";
  • informowanie wikiprojektu – na "…/wikiprojekt".

Bazowa strona do zgłoszeń w trybie debug jest ustawiona w config.js (config.debugBase).