Module:Message box: Difference between revisions
Content added Content deleted
Enwikipedia>MSGJ (code requested by User:Danski454 to fix demospace feature) |
No edit summary |
||
Line 5: | Line 5: | ||
require('Module:No globals') |
require('Module:No globals') |
||
local getArgs |
local getArgs |
||
local yesno = require('Module: |
local yesno = require('Module:Yesnao') |
||
-- Get a language object for formatDate and ucfirst. |
-- Get a language object for formatDate and ucfirst. |
||
Line 12: | Line 12: | ||
-- Define constants |
-- Define constants |
||
local CONFIG_MODULE = 'Module:Message box/configuration' |
local CONFIG_MODULE = 'Module:Message box/configuration' |
||
local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} |
|||
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
||
Line 75: | Line 74: | ||
local ns = obj.title.namespace |
local ns = obj.title.namespace |
||
-- boxType is "mbox" or invalid input |
-- boxType is "mbox" or invalid input |
||
if |
if ns == 0 then |
||
-- implement demospace parameter of mbox |
|||
local demospace = string.lower(args.demospace) |
|||
if DEMOSPACES[demospace] then |
|||
-- use template from DEMOSPACES |
|||
obj.cfg = cfg[DEMOSPACES[demospace]] |
|||
elseif string.find( demospace, 'talk' ) then |
|||
-- demo as a talk page |
|||
obj.cfg = cfg.tmbox |
|||
else |
|||
-- default to ombox |
|||
obj.cfg = cfg.ombox |
|||
end |
|||
elseif ns == 0 then |
|||
obj.cfg = cfg.ambox -- main namespace |
obj.cfg = cfg.ambox -- main namespace |
||
elseif ns == 6 then |
elseif ns == 6 then |
||
Line 174: | Line 160: | ||
-- Add attributes, classes and styles. |
-- Add attributes, classes and styles. |
||
self.id = args.id |
self.id = args.id |
||
⚫ | |||
if self.name then |
|||
self:addClass('box-' .. string.gsub(self.name,' ','_')) |
|||
end |
|||
if yesno(args.plainlinks) ~= false then |
if yesno(args.plainlinks) ~= false then |
||
self:addClass('plainlinks') |
self:addClass('plainlinks') |
||
Line 203: | Line 185: | ||
and cfg.templateCategoryRequireName |
and cfg.templateCategoryRequireName |
||
then |
then |
||
⚫ | |||
if self.name then |
if self.name then |
||
local templateName = mw.ustring.match( |
local templateName = mw.ustring.match( |
||
Line 214: | Line 197: | ||
and mw.title.equals(self.title, self.templateTitle) |
and mw.title.equals(self.title, self.templateTitle) |
||
end |
end |
||
-- Process data for collapsible text fields. At the moment these are only |
-- Process data for collapsible text fields. At the moment these are only |
||
-- used in {{ambox}}. |
-- used in {{ambox}}. |
||
Line 297: | Line 280: | ||
end |
end |
||
if date then |
if date then |
||
self.date = string.format(" <small |
self.date = string.format(" <small>''(%s)''</small>", date) |
||
end |
end |
||
self.info = args.info |
self.info = args.info |