Dyskusja modułu:Sprawdź

message: Pisane z głowy, więc kod może nie działać tak jak powinien:
local pattern = string.match(kind,"^(^.-$)!?$")
local pattern? = string.match(kind,"^(^.-$)%?$")
if (pattern and not mw.ustring.match(v, pattern))
 or (pattern? and not (#v == 0 or mw.ustring.match(v, pattern?))) then
  table.insert(invalid, argName(k))
elseif (#v > 0) ...
--MarMi wiki (dyskusja) 18:16, 20 kwi 2021 (CEST)
*  Chodzi o implementację sprawdzania czy pole pasuje do wzoru lub jest puste? Ja to rozwiązuję tak, że jeśli pole puste jest prawidłowe to nie podstawiam wzoru do . Wyrażenia regularne Lua są dosyć prymitywne. Nie widzę powodu aby je nadto promować. Mamy szablony, w których zamiast jednego sztywnego wzoru dobierany jest dedykowany wzór w zależności od wartości innego parametru. Zobacz źródła tutaj albo tutaj. Ich analiza w celu na przykład uzupełnienia lub poprawienia błędów to naprawdę niezła łamigłówka. Oczywiście zawsze możesz spróbować dodać ten kod samodzielnie. Paweł Ziemian (dyskusja) 20:04, 20 kwi 2021 (CEST)
*:Tak, zapomniałem o istnieniu 1= jako opcjonalnego parametru.
*:Skoro już i tak wywołuje się moduł, to czemu by przy okazji nie skorzystać z regexów?
*:|2=^%-?%d$?}} jest bardziej zwarte od |2={{#if:{{{2|}}}|^%-?%d$}} (zakładając że działało by tak samo), chociaż z podświetlaniem składni da się jeszcze to odczytać.
*:Przydała by się kontrola parametrów w samym module, bo zdarzało się że zapominałem o użyciu ^ i/lub $, przy ^...$? wydawało się że test jakoś działa, a tak naprawdę był ignorowany. MarMi wiki (dyskusja) 00:35, 21 kwi 2021 (CEST)
*::Argument za kontrolą parametrów - albo przynajmniej za rozpoznawaniem błędów zwracanych przez szablony:
*:: rzuca błędem 
*::|| połyka błędy szablonów w 1=: ||. MarMi wiki (dyskusja) 01:43, 27 kwi 2021 (CEST)
*:::Szybki fragment kodu:
*:::			if mw.ustring.match(v, 'class="error">') then
				table.insert(invalid, k)
				table.insert(unknown, v)
			end MarMi wiki (dyskusja) 02:40, 27 kwi 2021 (CEST)
* Użycie jednego ze znaków "^" lub "$" może być zamierzone, więc komunikat o błędzie nie jest wskazany. ~malarz pl PISZ 09:48, 21 kwi 2021 (CEST)
*:Może się mylę, ale dla funkcji "parametry" inny tekst, nie pasujący do wzorca któregoś z testów (zmienna "kind"), jest po prostu ignorowany? Czy jednak jest do czegoś używany? MarMi wiki (dyskusja) 18:23, 21 kwi 2021 (CEST)
thread_title:  Obsługa pustej wartości (modyfikator "?") dla wyrażenia regularnego (^...$) 

message: Jeśli dobrze zrozumiałem (przyglądając się jednemu z szablonów cytuj xxx), to komunikaty o błędach (suffix) (klasa stylów problemy) nie będą widoczne w przestrzeni głównej (poza podglądem strony). Czy można dodać klasę (np. z display:inherit!important; - ), albo po prostu dodatkową opcję która by to przełączała (ale bez stylu chyba się i tak nie obejdzie)? (Jeśli to byłaby klasa, to może warto by też dodać możliwość podawania kilku klas: ="klasa1 ... klasaN" kategoria).
Ewentualnie czy któraś klasa stylów z Mediawiki:common.css (lub innych, o których nie wiem) z display:xxx!important; by się do tego nadawała? Bo niektóre z nich potrafią mieć inne ustawienia początkowe niż te na stronie (np. cite-name-before jest z none, a w artykule jest inline): cite-name-before, cite-name-after, cite-name-full, cite-name-initials, cite-at-al. MarMi wiki (dyskusja) 23:25, 30 maj 2021 (CEST)
replies: text: (Sorki za późną odpowiedź. Umknęło mi.) Miliony osób zaglądających na Wikipedię to przeważnie czytelnicy. Z ich punktu widzenia te czerwone komunikaty to nic nie znaczący śmietnik, który zaburza odczytywanie informacji. Niewielka garstka zalogowanych użytkowników, która byłaby zainteresowana uwidacznianiem tych treści nawet w przestrzeni głównej może skorzystać z Specjalna:Moja strona/common.css aby to włączyć. Stosowny opis jest dodany w opisie kategorii, która jest przy tej okazji dodawana. Zobacz na przykład opis w :Kategoria:Szablon cytuj do sprawdzenia. Przy cite-name-* sugerowałbym nie manipulować, bo to może zepsuć działanie . Paweł Ziemian (dyskusja) 19:01, 6 cze 2021 (CEST)
replies: text: :W razie czego (dla zainteresowanych) jest na to lepszy(?) sposób:

text: :TemplateStyles (w Szablonach), w Modułach można to zrobić przez:

text: :return mw.getCurrentFrame():extensionTag{
		name = 'templatestyles', args = { src = 'Module:Sidebar games events/styles.css' }
	} .. tostring(root)
-- albo
return table.concat({frame:extensionTag{
		name = 'templatestyles', args = { src = 'Module:Sidebar games events/styles.css' }
	}, tostring(root)}) MarMi wiki (dyskusja) 20:45, 6 cze 2021 (CEST)
* Przestaję rozumieć tę dyskusję. Paweł Ziemian (dyskusja) 21:12, 6 cze 2021 (CEST)
*:To była raczej ogólna (p)odpowiedź w celach ogólno-edukacyjnych. Nie każdy kto tu ewentualnie zajrzy (np. by zadać podobne pytanie) może wiedzieć o TemplateStyles (ja nie wiedziałem). MarMi wiki (dyskusja) 04:44, 7 cze 2021 (CEST)
thread_title:  Klasa problemy a widoczność w przestrzeni głównej (ns:0) 

message: Czy ten warunek Modu%C5%82:Sprawd%C5%BA#L-312 coś robi? Bo wygląda na niepotrzebny. MarMi wiki (dyskusja) 01:21, 22 cze 2021 (CEST)
* Sprawdza czy jest jakaś nazwa szablonu do wyświetlenia. Nawet jeśli zbędny to nie przeszkadza. Paweł Ziemian (dyskusja) 17:11, 22 cze 2021 (CEST)
*:Dla jasności, chodziło mi o cały blok if ... end. Co do nie przeszkadzania: Redundancja#Programowanie. 
*:Jeśli jednak do czegoś służy (np. ma wyłożyć moduł przed dotarciem do drugiego wywołania showTemplate w wypadku błędu w tej funkcji), to warto by to zaznaczyć w komentarzu. MarMi wiki (dyskusja) 01:19, 23 cze 2021 (CEST)
thread_title:  Pusty kod w linii 312?