Difference between revisions of "Module:List"
only use type and list_style_type with ordered and horizontal ordered lists
meta>Mr. Stradivarius (fix ordered lists - had a stupid variable clash) |
meta>Mr. Stradivarius (only use type and list_style_type with ordered and horizontal ordered lists) |
||
Line 54: | Line 54: | ||
return '' | return '' | ||
end | end | ||
-- Build the | -- Build the opening div tag. | ||
local root = htmlBuilder.create('div') | local root = htmlBuilder.create('div') | ||
if listType == 'horizontal' or listType == 'horizontal_ordered' then | if listType == 'horizontal' or listType == 'horizontal_ordered' then | ||
Line 66: | Line 66: | ||
indent = tostring((indent and indent * 1.6) or 0) | indent = tostring((indent and indent * 1.6) or 0) | ||
root.css('margin-left', indent .. 'em') | root.css('margin-left', indent .. 'em') | ||
end | |||
-- If we are outputting an ordered list or an ordered horizontal list, get the type and list-style-type. | |||
-- Horizontal ordered lists aren't supported yet, but including them anyway in case support is ever added to the CSS backend. | |||
local listStyleType, typeAttr | |||
if listType == 'ordered' or listType == 'horizontal_ordered' then | |||
listStyleType = args.list_style_type or args['list-style-type'] | |||
typeAttr = args['type'] | |||
end | end | ||
-- Detect if the type attribute specified by args.type is using an invalid value, and if so try passing it as a list-style-type CSS property. | -- Detect if the type attribute specified by args.type is using an invalid value, and if so try passing it as a list-style-type CSS property. | ||
if typeAttr and not typeAttr:match('^%s*[1AaIi]%s*$') then | if typeAttr and not typeAttr:match('^%s*[1AaIi]%s*$') then | ||
if not listStyleType then | if not listStyleType then | ||
Line 77: | Line 82: | ||
end | end | ||
root.cssText(args.style) | root.cssText(args.style) | ||
-- Build the list tags and list items. | |||
local list = root.tag((listType == 'ordered' or listType == 'horizontal_ordered') and 'ol' or 'ul') | local list = root.tag((listType == 'ordered' or listType == 'horizontal_ordered') and 'ol' or 'ul') | ||
list | list |