Modul:Italic title: Unterschied zwischen den Versionen
(per edit request on talk page) |
(use mw.site.namespaces to get the namespace name without underscores; also use Module:Arguments and convert whitespace to tabs) |
||
Zeile 1: | Zeile 1: | ||
-- This module implements {{italic title}}. | -- This module implements {{italic title}}. | ||
local p = {} | local p = {} | ||
function p.main(frame) | function p.main(frame) | ||
local args = require('Module:Arguments').getArgs(frame, { | |||
wrappers = 'Template:Italic title' | |||
}) | |||
local title = mw.title.getCurrentTitle() | |||
-- 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 we're not in mainspace. | |||
if title.namespace ~= 0 then | |||
result = mw.site.namespaces[title.namespace].name .. ':' .. result | |||
end | |||
-- Call displaytitle with the text we generated. | |||
return mw.getCurrentFrame():callParserFunction('DISPLAYTITLE', result) | |||
end | end | ||
return p | return p |
Version vom 21. August 2014, 08:56 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) local args = require('Module:Arguments').getArgs(frame, { wrappers = 'Template:Italic title' }) local title = mw.title.getCurrentTitle() -- 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 we're not in mainspace. if title.namespace ~= 0 then result = mw.site.namespaces[title.namespace].name .. ':' .. result end -- Call displaytitle with the text we generated. return mw.getCurrentFrame():callParserFunction('DISPLAYTITLE', result) end return p