Modul:Italic title: Unterschied zwischen den Versionen
allow this to be called from Lua, and make it more compact
(allow the ability to specify the "noerror" parameter) |
(allow this to be called from Lua, and make it more compact) |
||
Zeile 3: | Zeile 3: | ||
local p = {} | local p = {} | ||
function p. | function p._main(args, frame, title) | ||
args = args or {} | |||
frame = frame or mw.getCurrentFrame() | |||
title = title or mw.title.getCurrentTitle() | |||
local prefix, parentheses = mw.ustring.match(title.text, '^(.+) (%([^%(%)]+%))$') | local prefix, parentheses = mw.ustring.match(title.text, '^(.+) (%([^%(%)]+%))$') | ||
local result | local result | ||
if prefix and parentheses and args.all ~= 'yes' then | if prefix and parentheses and args.all ~= 'yes' then | ||
result = "'' | result = string.format("''%s'' %s", prefix, parentheses) | ||
else | else | ||
result = "''" | result = string.format("''%s''", title.text) | ||
end | end | ||
if title.namespace ~= 0 then | if title.namespace ~= 0 then | ||
result = | result = title.nsText .. ':' .. result | ||
end | end | ||
return frame:callParserFunction('DISPLAYTITLE', result, args[1]) | |||
end | |||
function p.main(frame) | |||
local args = require('Module:Arguments').getArgs(frame, { | |||
' | wrappers = 'Template:Italic title' | ||
}) | |||
return p._main(args, frame) | |||
end | |||
end | |||
return p | return p |