Przejdź do zawartości

Moduł:Korekta

Z Wikibooks, biblioteki wolnych podręczników.
 Dokumentacja modułu [stwórz] [odśwież]
local p = {}

function p.blokuj( tresc )
	local szabl = tresc
	local wynik = ''
	wynik = string.gsub( szabl, '<span[^ ]* [^>]*/span>' , ' → ')
	wynik = string.gsub( wynik, '<br%s?[/]?>', '↓')
	wynik = string.gsub( wynik, '<sub>1</sub>', '₁')
	return wynik
end

function p.kod( frame )
	local kor_jest = frame.args[1]
	local kor_raw_powinno = frame.args[2]
	local kor_powinno = p.blokuj(frame.args[2])
	local kor_raw_alt_powinno = frame.args[3]
	local kor_alt_powinno = p.blokuj(frame.args[3])
	local kor_podkr = frame.args[4]
	local kor_opis = frame.args[5]
	if kor_jest == nil or kor_jest == '' then 
		local kor_kom_blad = '[[Kategoria:Błędne zastosowania szablonów]]<span style="color:red">\'\'\'&nbsp;Błędne użycie szablonu→ brak lub pusty parametr "jest".\'\'\'</span>'
		return kor_kom_blad
	end
	if kor_powinno == nil or kor_powinno == '' then 
		local kor_kom_blad = '[[Kategoria:Błędne zastosowania szablonów]]<span style="color:red">\'\'\'&nbsp;Błędne użycie szablonu→ brak lub pusty parametr "powinno".\'\'\'</span>'
		return kor_kom_blad
	end
	local ksiazkowe_modul=require("Module:Książkowe");
	local tabela_nazw={};
	local nazwa_strony=mw.title.getCurrentTitle().fullText;
	local nazwa_przestrzeni_nazw=ksiazkowe_modul["NazwaPrzestrzeni"](nazwa_strony,tabela_nazw);
	local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nazwa_strony,tabela_nazw);
	local nazwy_modul=require("Module:Nazwy");
	local nazwa_kanoniczna_przestrzeni=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,kanoniczna="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",};
	local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
	if(
		(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main)
		or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior)
		or(((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project)or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User))and(nazwa_przestrzeni_ksiazki~=""))
	)then
		local kor_title = '[w druku] ' .. '\'' .. p.blokuj(kor_jest) .. '\''
		local kor_title_h = '[' .. kor_opis .. '] ' .. '\'' .. kor_powinno .. '\''
		if kor_alt_powinno ~= 'a_null' then kor_title_h = kor_title_h .. ' lub \'' .. kor_alt_powinno .. '\'' end
		local span = mw.html.create( 'span' )
		local hide_span = mw.html.create( 'span' )
		span
			:addClass( 'n0k' )
			:wikitext( kor_raw_powinno )
			:attr( 'title', kor_title)
		hide_span
			:addClass( 'n0kh' )
			:css( ' display', 'none' )
			:wikitext( kor_jest )
			:attr( 'title', kor_title_h)		
		if kor_podkr == 'yes' then
			span:css( ' border-bottom', 'initial')
			hide_span:css( ' border-bottom', 'initial')
		end
		return tostring(hide_span) .. tostring(span)
	else
		local kor_title = '[' .. kor_opis .. '] ' .. '\'' .. kor_powinno .. '\''
		if kor_alt_powinno ~= 'a_null' then kor_title = kor_title .. ' lub \'' .. kor_alt_powinno .. '\'' end
		local span = mw.html.create( 'span' )
		span
			:addClass( 'korekta' )
			:wikitext( kor_jest )
			:attr( 'title', kor_title)
		if kor_podkr == 'yes' then span:css( ' border-bottom', 'initial') end
		return span
	end
end

return p