Moduł:Odnośnik
Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Odnośnik/opis
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 pelen_odnosnik_bibliografia = frame.args[2]
local w_tekscie = frame.args[1]
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 pelen_odnosnik_bibliografia == nil or pelen_odnosnik_bibliografia == '' 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 = '' .. p.blokuj(pelen_odnosnik_bibliografia) .. ''
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
:wikitext( w_tekscie )
:attr( 'title', kor_title)
hide_span
:css( ' display', 'none' )
:wikitext( pelen_odnosnik_bibliografia )
: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( pelen_odnosnik_bibliografia )
:attr( 'title', kor_title)
if kor_podkr == 'yes' then span:css( ' border-bottom', 'initial') end
return span
end
end
return p