Module:Message box: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
m (1 revision imported from wikipedia:Module:Message_box) |
(Undo imported revision 56530 by user wikipedia>Izno) Tags: Undo Reverted |
||
Line 1: | Line 1: | ||
-- This is a meta-module for producing message box templates, including |
|||
-- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}. |
|||
-- Load necessary modules. |
|||
require('Module:No globals') |
require('Module:No globals') |
||
local getArgs |
local getArgs |
||
local yesno = require('Module:Yesno') |
local yesno = require('Module:Yesno') |
||
-- Get a language object for formatDate and ucfirst. |
|||
local lang = mw.language.getContentLanguage() |
local lang = mw.language.getContentLanguage() |
||
-- 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'} |
local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} |
||
Line 296: | Line 303: | ||
end |
end |
||
if date then |
if date then |
||
self.date = string.format(" <span class='date-container'> |
self.date = string.format(" <span class='date-container'>''(<span class='date'>%s</span>)''</span>", date) |
||
end |
end |
||
self.info = args.info |
self.info = args.info |
||
Line 318: | Line 325: | ||
self.imageCellDiv = not self.isSmall and cfg.imageCellDiv |
self.imageCellDiv = not self.isSmall and cfg.imageCellDiv |
||
self.imageEmptyCell = cfg.imageEmptyCell |
self.imageEmptyCell = cfg.imageEmptyCell |
||
if cfg.imageEmptyCellStyle then |
|||
self.imageEmptyCellStyle = 'border:none;padding:0;width:1px' |
|||
end |
|||
-- Left image settings. |
-- Left image settings. |
||
Line 341: | Line 351: | ||
-- set templatestyles |
-- set templatestyles |
||
self.base_templatestyles = cfg.templatestyles |
|||
self.templatestyles = args.templatestyles |
self.templatestyles = args.templatestyles |
||
end |
end |
||
Line 477: | Line 486: | ||
)) |
)) |
||
end |
end |
||
⚫ | |||
root:wikitext(frame:extensionTag{ |
|||
name = 'templatestyles', |
|||
args = { src = self.base_templatestyles }, |
|||
}) |
|||
-- Add support for a single custom templatestyles sheet. Undocumented as |
-- Add support for a single custom templatestyles sheet. Undocumented as |
||
-- need should be limited and many templates using mbox are substed; we |
-- need should be limited and many templates using mbox are substed; we |
||
-- don't want to spread templatestyles sheets around to arbitrary places |
-- don't want to spread templatestyles sheets around to arbitrary places |
||
-- TODO: Add each template's stylesheet, waiting on [[MediaWiki talk:Common.css/to do]] |
|||
⚫ | |||
if self.templatestyles then |
if self.templatestyles then |
||
root:wikitext(frame:extensionTag{ |
root:wikitext(frame:extensionTag{ |
||
Line 516: | Line 522: | ||
-- image width to 52px. If any images in a div are wider than that, |
-- image width to 52px. If any images in a div are wider than that, |
||
-- they may overlap with the text or cause other display problems. |
-- they may overlap with the text or cause other display problems. |
||
imageLeftCell = imageLeftCell:tag('div'): |
imageLeftCell = imageLeftCell:tag('div'):css('width', '52px') |
||
end |
end |
||
imageLeftCell:wikitext(self.imageLeft or nil) |
imageLeftCell:wikitext(self.imageLeft or nil) |
||
Line 526: | Line 532: | ||
row:tag('td') |
row:tag('td') |
||
:addClass('mbox-empty-cell') |
:addClass('mbox-empty-cell') |
||
:cssText(self.imageEmptyCellStyle or nil) |
|||
end |
end |
||
Line 570: | Line 577: | ||
-- If we are using a div, redefine imageRightCell so that the image |
-- If we are using a div, redefine imageRightCell so that the image |
||
-- is inside it. |
-- is inside it. |
||
imageRightCell = imageRightCell:tag('div'): |
imageRightCell = imageRightCell:tag('div'):css('width', '52px') |
||
end |
end |
||
imageRightCell |
imageRightCell |
||
Line 589: | Line 596: | ||
if self.invalidTypeError then |
if self.invalidTypeError then |
||
root:tag('div') |
root:tag('div') |
||
: |
:css('text-align', 'center') |
||
:wikitext(string.format( |
:wikitext(string.format( |
||
'This message box is using an invalid "type=%s" parameter and needs fixing.', |
'This message box is using an invalid "type=%s" parameter and needs fixing.', |