Module:Template link: Difference between revisions

m
Replace " " with "\t"
(More flags)
m (Replace " " with "\t")
 
Line 2: Line 2:


local function trim(str)
local function trim(str)
    if str == nil then return nil end
if str == nil then return nil end
    return mw.text.trim(tostring(str))
return mw.text.trim(tostring(str))
end
end


Line 13: Line 13:


function p.main(frame)
function p.main(frame)
    local args = {}
local args = {}
    for k, v in pairs(frame.args) do
for k, v in pairs(frame.args) do
        args[k] = v
args[k] = v
    end
end
    for k, v in pairs(frame:getParent().args) do
for k, v in pairs(frame:getParent().args) do
        args[k] = v
args[k] = v
    end
end
    return p.makeLink(args)
return p.makeLink(args)
end
end


Line 38: Line 38:
end
end


    local linkedTitle = mw.title.new(templateName, "Template")
local linkedTitle = mw.title.new(templateName, "Template")
    if linkedTitle == nil then
if linkedTitle == nil then
        error(mw.ustring.format([["%s" isn't a valid title]], templateName))
error(mw.ustring.format([["%s" isn't a valid title]], templateName))
    end
end


    local slash = mw.ustring.sub(templateName, 1, 1) == "/"
local slash = mw.ustring.sub(templateName, 1, 1) == "/"
    if slash then
if slash then
        linkedTitle = mw.title.new(templateName)
linkedTitle = mw.title.new(templateName)
    end
end


    local titleText = linkedTitle.fullText
local titleText = linkedTitle.fullText
    local linkText = linkedTitle.text
local linkText = linkedTitle.text
    if slash then
if slash then
        -- Do nothing
-- Do nothing
    elseif linkedTitle.nsText == "" then
elseif linkedTitle.nsText == "" then
        titleText = ":" .. titleText
titleText = ":" .. titleText
        linkText = ":" .. linkText
linkText = ":" .. linkText
    elseif linkedTitle.nsText ~= "Template" then
elseif linkedTitle.nsText ~= "Template" then
        linkText = linkedTitle.prefixedText
linkText = linkedTitle.prefixedText
    end
end


local output
local output
Line 76: Line 76:


local html
local html
    if yes(args.code) then
if yes(args.code) then
html = mw.html.create("code")
html = mw.html.create("code")
elseif yes(args.mono) then
elseif yes(args.mono) then
html = mw.html.create("span"):css("font-family", "monospace")
html = mw.html.create("span"):css("font-family", "monospace")
    end
end
if yes(args.nowrap) then
if yes(args.nowrap) then
if html == nil then html = mw.html.create("span") end
if html == nil then html = mw.html.create("span") end
Line 89: Line 89:
end
end


    return output
return output
end
end


return p
return p
420

edits