Module:Italic title

From Creation History Wiki
Revision as of 18:37, 3 March 2015 by Mr. Stradivarius (talk) (allow this to be called from Lua, and make it more compact)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Documentation for this module may be created at Module:Italic title/doc

-- This module implements {{italic title}}.

local 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 result
	if prefix and parentheses and args.all ~= 'yes' then
		result = string.format("''%s'' %s", prefix, parentheses)
	else
		result = string.format("''%s''", title.text)
	end
	if title.namespace ~= 0 then
		result = title.nsText .. ':' .. result
	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

return p