Modul:Italic title: Unterschied zwischen den Versionen
(re-add all=yes - I made a mistake with the args logic) |
(change "brackets" to "parentheses" per protected edit request) |
||
Zeile 17: | Zeile 17: | ||
local title = mw.title.getCurrentTitle() -- Get the current page object. | local title = mw.title.getCurrentTitle() -- Get the current page object. | ||
-- Find the parts before and after the disambiguation | -- Find the parts before and after the disambiguation parentheses, if any. | ||
local prefix, | local prefix, parentheses = mw.ustring.match(title.text, '^(.+) (%([^%(%)]+%))$') | ||
-- If | -- If parentheses were found, italicise only the part before them. Otherwise | ||
-- italicise the whole title. | -- italicise the whole title. | ||
local result | local result | ||
if prefix and | if prefix and parentheses and args.all ~= 'yes' then | ||
result = "''" .. prefix .. "'' " .. | result = "''" .. prefix .. "'' " .. parentheses | ||
else | else | ||
result = "''" .. title.text .. "''" | result = "''" .. title.text .. "''" |
Version vom 4. September 2013, 10:09 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Italic title/doc erstellt werden
-- 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