Difference between revisions of "Module:List"
first attempt to add support for list-style-type, but broken for now
meta>Mr. Stradivarius (add ol_style as a possible parameter for backwards compatibility with {{ordered list}}) |
meta>Mr. Stradivarius (first attempt to add support for list-style-type, but broken for now) |
||
Line 39: | Line 39: | ||
end | end | ||
local function getClass(listType, | local function getClass(listType, args) | ||
local classes = {} | local classes = {} | ||
if listType == 'horizontal' or listType == 'horizontal_ordered' then | if listType == 'horizontal' or listType == 'horizontal_ordered' then | ||
Line 46: | Line 46: | ||
table.insert(classes, 'plainlist') | table.insert(classes, 'plainlist') | ||
end | end | ||
table.insert(classes, class) | table.insert(classes, args.class) | ||
local ret | local ret | ||
if #classes == 0 then | if #classes == 0 then | ||
Line 54: | Line 54: | ||
end | end | ||
local function getStyle(listType, | local function getStyle(listType, args) | ||
local styles = {} | local styles = {} | ||
if listType == 'horizontal' or listType == 'horizontal_ordered' then | if listType == 'horizontal' or listType == 'horizontal_ordered' then | ||
indent = indent and tonumber(indent) | local indent = args.indent and tonumber(indent) | ||
indent = tostring((indent and indent * 1.6) or 0) | indent = tostring((indent and indent * 1.6) or 0) | ||
table.insert(styles, 'margin-left: ' .. indent .. 'em;') | table.insert(styles, 'margin-left: ' .. indent .. 'em;') | ||
end | end | ||
table.insert(styles, style) | local listStyleType = args['list-style-type'] | ||
if listStyleType then | |||
table.insert(styles, 'list-style-type: ' .. listStyleType .. ';') | |||
end | |||
table.insert(styles, args.style) | |||
if #styles == 0 then | if #styles == 0 then | ||
return nil | return nil | ||
Line 101: | Line 105: | ||
typeAttr = typeAttr or '' | typeAttr = typeAttr or '' | ||
-- Get the classes and styles and output the list. | -- Get the classes and styles and output the list. | ||
local class = getClass(listType, args | local class = getClass(listType, args) or '' | ||
local style = getStyle(listType, args | local style = getStyle(listType, args) or '' | ||
local list_style = args.list_style or args.ul_style or args.ol_style -- ul_style and ol_style are included for backwards compatibility. No distinction is made for ordered or unordered lists. | local list_style = args.list_style or args.ul_style or args.ol_style -- ul_style and ol_style are included for backwards compatibility. No distinction is made for ordered or unordered lists. | ||
list_style = list_style and (' style="' .. list_style .. '"') or '' | list_style = list_style and (' style="' .. list_style .. '"') or '' |