Dokumentation für das Modul Unbulleted list[Ansicht] [Bearbeiten] [Versionsgeschichte] [Aktualisieren]

This module outputs an unbulleted list. It has two functions: unbulleted, for a normal unbulleted list, and hlist, for a horizontal list using the hlist class (see HLIST). It supersedes the templates {{unbulleted list}} and {{hlist}}.

Usage

Unbulleted list

Quick usage
{{#invoke:unbulleted list|unbulleted|''first item''|''second item''|''third item''|...}}
All parameters
{{#invoke:unbulleted list|unbulleted |''first item''|''second item''|''third item''|... |class     = ''class'' |style     = ''style'' |ul_style  = ''style for ul tag'' |li_style  = ''style for all li tags'' |li_style1 = ''style for first li tag'' |li_style2 = ''style for second li tag'' |... }} 
Arguments passed from parent template
{{#invoke:unbulleted list|unbulleted}}

Horizontal list

Quick usage
{{#invoke:unbulleted list|hlist|''first item''|''second item''|''third item''|...}}
All parameters
{{#invoke:unbulleted list|hlist |''first item''|''second item''|''third item''|... |class     = ''class'' |style     = ''style'' |ul_style  = ''style for ul tag'' |li_style  = ''style for all li tags'' |li_style1 = ''style for first li tag'' |li_style2 = ''style for second li tag'' |... |indent    = ''indent for the list'' }} 
Arguments passed from parent template
{{#invoke:unbulleted list|hlist}}

Parameters

  • Positional parameters (1, 2, 3...) - these are the list items. If no list items are present, the module will output nothing.
  • class - a custom class for the <div>...</div> tags surrounding the list, e.g. plainlinks.
  • style - a custom css style for the <div>...</div> tags surrounding the list, e.g. font-size: 90%;.
  • ul_style - a custom css style for the <ul>...</ul> tags around the list. The format is the same as for the |style= parameter.
  • li_style - a custom css style for all of the list items (the <li>...</li> tags). The format is the same as for the |style= parameter.
  • li_style1, li_style2, li_style3... - custom css styles for each of the list items. The format is the same as for the |style= parameter.
  • indent - for horizontal lists only, this parameter indents the list. The value must be a number, e.g. 2. The indent is calculated in em, and is 1.6 times the value specified. If no indent is specified, the default is zero.

Examples

Unbulleted lists
Code Result
{{#invoke:unbulleted list|unbulleted|entry1|entry2|entry3|entry4|entry5|entry6|entry7|entry8|entry9}}
  • entry1
  • entry2
  • entry3
  • entry4
  • entry5
  • entry6
  • entry7
  • entry8
  • entry9
{{#invoke:unbulleted list|unbulleted|Winner|Runner-up|Third place|li_style=color:blue;}}
  • Winner
  • Runner-up
  • Third place
{{#invoke:unbulleted list|unbulleted|Winner|Runner-up|Third place|li_style1=background-color:yellow;|li_style2=background-color:silver;}}
  • Winner
  • Runner-up
  • Third place
Horizontal lists
Code Result
{{#invoke:unbulleted list|hlist|entry1|entry2|entry3|entry4|entry5|entry6|entry7|entry8|entry9}}
  • entry1
  • entry2
  • entry3
  • entry4
  • entry5
  • entry6
  • entry7
  • entry8
  • entry9
{{#invoke:unbulleted list|hlist|Winner|Runner-up|Third place|li_style=color:blue;}}
  • Winner
  • Runner-up
  • Third place
{{#invoke:unbulleted list|hlist|Winner|Runner-up|Third place|li_style=color:blue;|indent=2}}
  • Winner
  • Runner-up
  • Third place
{{#invoke:unbulleted list|hlist|Winner|Runner-up|Third place|li_style1=background-color:yellow;|li_style2=background-color:silver;}}
  • Winner
  • Runner-up
  • Third place
Hinweise
-- This module implements {{unbulleted list}} and {{hlist}}.  local function getListItem( data, style, itemStyle )     if not data then         return nil     end     if style or itemStyle then         style = style or ''         itemStyle = itemStyle or ''         return mw.ustring.format(             '<li style="%s%s">%s</li>',             style, itemStyle, data         )     else         return mw.ustring.format(             '<li>%s</li>',             data         )     end end  local function getArgNums( args )     -- Returns an array containing the keys of all positional arguments     -- that contain data (i.e. non-whitespace values).     local nums = {}     for k, v in pairs( args ) do         if type( k ) == 'number' and              k >= 1 and              math.floor( k ) == k and              mw.ustring.match( v, '%S' ) then                 table.insert( nums, k )         end     end     table.sort( nums )     return nums end  local function getClass( listType, class )     local classes = {}     if listType == 'hlist' then         table.insert( classes, 'hlist' )     end     table.insert( classes, 'plainlist' )     table.insert( classes, class )     local ret     if #classes == 0 then         return nil     end     return mw.ustring.format( ' class="%s"', table.concat( classes, ' ' ) ) end  local function getStyle( listType, indent, style )     local styles = {}     if listType == 'hlist' then         indent = indent and tonumber( indent )         indent = tostring( ( indent and indent * 1.6 ) or 0 )         table.insert( styles, 'margin-left: ' .. indent .. 'em;' )     end     table.insert( styles, style )     if #styles == 0 then         return nil     end     return mw.ustring.format( ' style="%s"', table.concat( styles, ' ' ) ) end  local function buildList( args, listType )     local listItems = {}     local argNums = getArgNums( args )     for i, num in ipairs( argNums ) do         local item = getListItem(             args[ num ],             args.li_style,             args[ 'li_style' .. tostring( num ) ]         )         table.insert( listItems, item )     end     if #listItems == 0 then         return ''     end     local class = getClass( listType, args.class ) or ''     local style = getStyle( listType, args.indent, args.style ) or ''     local ulStyle = ( args.ul_style and ( ' style="' .. args.ul_style .. '"' ) ) or ''     return mw.ustring.format(          '<div%s%s><ul%s>%s</ul></div>',         class, style, ulStyle, table.concat( listItems )     ) end  local function makeWrapper( listType )     return function( frame )         local origArgs         if frame == mw.getCurrentFrame() then             origArgs = frame:getParent().args             for k, v in pairs( frame.args ) do                 origArgs = frame.args                 break             end         else             origArgs = frame         end                  local args = {}         for k, v in pairs( origArgs ) do             if type( k ) == 'number' or v ~= '' then                 args[ k ] = v             end         end         return buildList( args, listType )     end end  return {     hlist = makeWrapper( 'hlist' ),     unbulleted = makeWrapper( 'unbulleted' ) }