Open main menu

EUSwiki β

Changes

Module:List

1,135 bytes removed, 02:00, 14 November 2013
convert to Module:HtmlBuilder and fix list-style-type support
local p = {}
 
local htmlBuilder = require('Module:HtmlBuilder')
local function getListItem(data, style, itemStyle)
return nil
end
if style or itemStyle then style local item = style or htmlBuilder.create('li') itemStyle = itemStyle or '' item return mw.ustring.formatcssText( '<li style="%s%s">%s</li>',) style, .cssText(itemStyle, data ) else return mw.ustring.formatwikitext( '<li>%s</li>', data ) endreturn tostring(item)
end
table.sort(nums)
return nums
end
 
local function getClass(listType, args)
local classes = {}
if listType == 'horizontal' or listType == 'horizontal_ordered' then
table.insert(classes, 'hlist')
elseif listType == 'unbulleted' then
table.insert(classes, 'plainlist')
end
table.insert(classes, args.class)
local ret
if #classes == 0 then
return nil
end
return mw.ustring.format(' class="%s"', table.concat(classes, ' '))
end
 
local function getStyle(listType, args)
local styles = {}
if listType == 'horizontal' or listType == 'horizontal_ordered' then
local indent = args.indent and tonumber(indent)
indent = tostring((indent and indent * 1.6) or 0)
table.insert(styles, 'margin-left: ' .. indent .. 'em;')
end
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
return nil
end
return mw.ustring.format(' style="%s"', table.concat(styles, ' '))
end
return ''
end
-- Check if we need a ul tag or an ol tag, and get Build the start and type attributes for ordered listslist html. local listTag root = htmlBuilder.create('uldiv' local startAttr, typeAttr) if listType == 'orderedhorizontal' or listType == 'horizontal_ordered' then listTag root.addClass('hlist') elseif listType == 'olunbulleted'then startAttr = root.addClass('plainlist') end root.addClass(args.startclass) if startAttr then startAttr listType == ' starthorizontal' or listType =="' .. startAttr .. '"horizontal_ordered'then endlocal indent = args.indent and tonumber(indent) typeAttr indent = argstostring((indent and indent * 1.type6) or 0) if typeAttr then typeAttr = root.css(' type="margin-left' .. typeAttr , indent .. '"em' end)
end
startAttr root.cssText(args.style) local list = root.tag((listType == startAttr 'ordered' or listType == 'horizontal_ordered') and 'ol' typeAttr = typeAttr or 'ul') -- Get the classes and styles and output the list . local class = getClassattr(listType'start', args.start) or .attr('type', args.type) local .css('list-style = getStyle(listType-type', args) or ['list-style-type']) local list_style = .cssText(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 '' return mw.ustring.formatwikitext( '<div%s%s><%s%s%s%s>%s</%s></div>', class, style, listTag, startAttr, typeAttr, list_style, table.concat(listItems), listTag) return tostring(root)
end
Anonymous user