Difference between pages "Module:Tlx" and "Module:Tlx/sandbox"
(Difference between pages)
Jump to navigation
Jump to search
m (4 revisions imported) |
m (31 revisions imported) |
||
Line 1: | Line 1: | ||
− | + | local p = {} | |
− | + | ||
− | + | bold, ital, subst = "", false, false | |
− | + | ||
− | + | function p.tlxs(frame) | |
− | + | subst=true | |
− | + | return p.tlx(frame) | |
− | + | end | |
− | + | ||
− | + | function p.tlxb(frame) | |
− | + | bold="'''" | |
− | + | return p.tlx(frame) | |
− | + | end | |
− | + | ||
− | + | function p.tlxi(frame) | |
− | + | ital = true | |
− | + | return p.tlx(frame) | |
− | + | end | |
− | + | ||
− | + | function p.tlx(frame) | |
− | + | local outStr = frame:extensionTag{name='nowiki',content='{{'} | |
− | + | local args = frame:getParent().args | |
− | + | ||
− | + | if (subst or args['subst'] or '') ~= '' then outStr = outStr..'[[Help:Substitution|subst]]:' end | |
− | + | ||
+ | local tempTitle = (args[1] or ' ') | ||
+ | |||
+ | if mw.title.new(tempTitle) ~= nil then | ||
+ | if (mw.title.new(tempTitle).nsText or '') == '' and (mw.title.new(tempTitle).interwiki or '') == '' then | ||
+ | tempLink=frame:callParserFunction{name='ns',args='Template'}..':'..tempTitle | ||
+ | else | ||
+ | tempLink = tempTitle | ||
+ | end | ||
+ | else | ||
+ | tempLink = tempTitle | ||
+ | end | ||
+ | |||
+ | outStr = outStr..'[[:'..(args['LANG'] or frame.args['LANG'] or '')..(args['SISTER'] or frame.args['SISTER'] or '')..tempLink..'|'..bold..tempTitle..bold..']]' | ||
+ | |||
+ | local k, v | ||
+ | |||
+ | for k, v in pairs(args) do | ||
+ | local p = k | ||
+ | |||
+ | if type(p) == 'number' then p = p - 1 end | ||
+ | |||
+ | if type(p) == 'number' and p ~= 0 and not mw.ustring.match(v,'=') then | ||
+ | if ital then outStr = outStr..'|'..frame:extensionTag{name='var',content=v} else outStr = outStr..'|'..v end | ||
+ | elseif p ~= 'subst' and p ~= 'LANG' and p ~= 'SISTER' and p ~= 0 then | ||
+ | if ital then outStr = outStr..'|'..frame:extensionTag{name='var',content=k..'='..v} else outStr = outStr..'|'..p..'='..v end | ||
+ | end | ||
+ | end | ||
+ | |||
+ | outStr = outStr..frame:extensionTag{name='nowiki',content='}}'} | ||
+ | |||
+ | return frame:extensionTag{name='code',content=outStr} | ||
+ | end | ||
+ | |||
+ | return p |