Moduł:Korekta
Ten moduł wykorzystuje dość skomplikowane cechy mechanizmów MediaWiki. Nie zaleca się jego modyfikacji osobom niedoświadczonym.
Osoba proponująca zmiany powinna być przygotowana do naprawienia wszelkich niepożądanych ubocznych efektów swoich działań. Eksperymenty należy prowadzić w brudnopisie. Moduł nadzorowany jest przez Wikiskryba:Zdzislaw |
Moduł obsługuje Szablon {{Korekta}}.
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">\'\'\' 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">\'\'\' Błędne użycie szablonu→ brak lub pusty parametr "powinno".\'\'\'</span>'
return kor_kom_blad
end
if mw.title.getCurrentTitle().namespace == 0 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