Difference between revisions of "Module:Italic title"
From Wiki
m (Changed protection level of Module:Italic title: High-risk Lua module: allow template editors ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite))) |
m (1 revision) |
(No difference)
|
Latest revision as of 19:58, 3 February 2014
Documentation for this module may be created at Module:Italic title/doc
-- This module implements {{italic title}}. local p = {} function p.main(frame) -- Process the arguments. local args if frame == mw.getCurrentFrame() then args = frame:getParent().args for k, v in pairs(frame.args) do args = frame.args break end else args = frame end local title = mw.title.getCurrentTitle() -- Get the current page object. -- Find the parts before and after the disambiguation parentheses, if any. local prefix, parentheses = mw.ustring.match(title.text, '^(.+) (%([^%(%)]+%))$') -- If parentheses were found, italicise only the part before them. Otherwise -- italicise the whole title. local result if prefix and parentheses and args.all ~= 'yes' then result = "''" .. prefix .. "'' " .. parentheses else result = "''" .. title.text .. "''" end -- Add the namespace if it exists. if title.nsText and title.nsText ~= "" then result = title.nsText .. ':' .. result end -- Call displaytitle with the text we generated. return mw.getCurrentFrame():callParserFunction( 'DISPLAYTITLE', result ) end return p