Module:Collapsible list: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
m (1 revision imported) |
(and this one also per jonesey) |
||
Line 1: | Line 1: | ||
-- This module implements {{collapsible list}} |
-- This module implements {{collapsible list}}. |
||
local p = {} |
local p = {} |
||
Line 67: | Line 67: | ||
end |
end |
||
listItems = table.concat( listItems ) |
listItems = table.concat( listItems ) |
||
⚫ | |||
-- hack around mw-collapsible show/hide jumpiness by looking for text-alignment |
|||
-- by setting a margin if centered |
|||
local textAlignmentCentered = 'text%-align%s*:%s*center' |
|||
local centeredTitle = (args.title_style and args.title_style:lower():match(textAlignmentCentered) |
|||
or args.titlestyle and args.titlestyle:lower():match(textAlignmentCentered)) |
|||
local centeredTitleSpacing |
|||
if centeredTitle then |
|||
centeredTitleSpacing = 'margin: 0 4em' |
|||
else |
|||
centeredTitleSpacing = '' |
|||
end |
|||
-- Get class, style and title data. |
-- Get class, style and title data. |
||
local |
local collapsibleContainerClass = formatAttributes( |
||
'class', |
|||
⚫ | |||
'mw-collapsible', not args.expand and 'mw-collapsed' |
|||
⚫ | |||
local collapsibleContainerStyle = formatAttributes( |
|||
'style', |
'style', |
||
'text-align: center; font-size: 95%;', |
'text-align: center; font-size: 95%;', |
||
Line 76: | Line 91: | ||
args.framestyle |
args.framestyle |
||
) |
) |
||
local collapsibleTitleStyle = formatAttributes( |
|||
local div2class = '' -- no classes, just for the sake of consistency |
|||
⚫ | |||
'style', |
'style', |
||
'line-height: 1.6em; font-weight: bold;', |
'line-height: 1.6em; font-weight: bold; font-size: 100%; text-align: left;', |
||
⚫ | |||
'text-align: left;', |
|||
args.title_style, |
args.title_style, |
||
args.titlestyle |
args.titlestyle |
||
) |
|||
⚫ | |||
⚫ | |||
centeredTitleSpacing |
|||
) |
) |
||
local title = args.title or 'List' |
local title = args.title or 'List' |
||
Line 89: | Line 105: | ||
local ulstyle = formatAttributes( |
local ulstyle = formatAttributes( |
||
'style', |
'style', |
||
⚫ | |||
not args.bullets and 'list-style: none none; margin-left: 0;', |
not args.bullets and 'list-style: none none; margin-left: 0;', |
||
args.list_style, |
args.list_style, |
||
args.liststyle |
args.liststyle |
||
not ( args.list_style or args.liststyle ) and 'text-align: left;', |
|||
⚫ | |||
) |
) |
||
-- Build the list. |
-- Build the list. |
||
return mw.ustring.format( |
return mw.ustring.format( |
||
'<div%s%s>\n<div%s%s>%s</div>\n<ul%s%s>%s</ul>\n</div>', |
'<div%s%s>\n<div%s><div%s>%s</div></div>\n<ul%s%s>%s</ul>\n</div>', |
||
collapsibleContainerClass, collapsibleContainerStyle, |
|||
collapsibleTitleStyle, jumpyTitleStyle, title, ulclass, ulstyle, listItems |
|||
) .. gettitlestyletracking(args.title_style or args.titlestyle) |
) .. gettitlestyletracking(args.title_style or args.titlestyle) |
||
end |
end |