Modulo:Listaan/pagipadasan
Darsen a mapan iti pagdaliasatan
Darsen a mapan agbiruk
Dokumentasion ti modulo[kitaen] [urnosen] [pakasaritaan] [purgaen]
![]() | Daytoy ket isu ti panid a pagipadasan ti modulo para iti Modulo:Listaan (dip). Kitaen pay ti kakuyog a panid para iti pangsubok a kaskaso (patarayen). |

![]() | Maus-usar ti Modulo:Listaan kadagiti adu a panid, no baliwam adunto ti makadlaw. Pangngaasi nga umuna a subokan kadagiti subpanid ti /pagipadasan wenno /pangsubok, wenno iti bukodmo a subpanid, ken usigen a pagtungtungan dagiti binaliwan idiay tungtungan a panid sakbay nga isayangkat. |
Daytoy a modulo ket mangparuar kadagiti nadumaduma a kita dagiti listaan. Iti agdama, daytoy ket suportaranna laeng dagiti napungluan a listaan (bulleted lists), di napungluan a listaan (unbulleted lists), horisontal a listaan (horizontal lists), naurnos a listaan (nabilangan wenno alpabetikal), ken horisontal a naurnos a listaan. Daytoy ket mangpalubos ti nalaka a panag-estilo ti css iti listaan wenno dagiti banag ti agmaymaysa a listaan.
Panagusar[urnosen ti taudan]
- Napardas a panagusar
{{#invoke:listaan|annong|umuna a banag|maikadua a banag|maikatlo a banag|...}}
- Amin a parametro
{{#invoke:listaan|annong |umuna a banag|maikadua a banag|maikatlo a banag|... |start = rugi a bilang para iti nabilangan a listaan |type = kita ti panagbilang para iti naurnos a listaan |list_style_type = kita ti panagmarka para iti naurnos a listaan (agusar ti CSS) |class = klase |style = estilo |list_style = estilo para iti listaan |item_style = estilo para kadagiti amin a banag ti listaans |item1_style = estilo para iti umuna a banag ti listaan |item2_style = estilo para iti maikadua a banag ti listaan |... |item1_value = pateg para iti umuna a banag ti listaan |item2_value = pateg para iti maikadua a banag ti listaan |... |indent = lennek para iti horisontal a listaan }}
- Dagiti argumento a maipasa manipud ti nagannak a plantilia
{{#invoke:listaan|annong}}
- Dagiti annong
Nagan ti annong | Mapataud | Kas pagarigan a maiparuar |
---|---|---|
bulleted
|
Napungluan a listaan |
|
unbulleted
|
Unbulleted lists |
|
horizontal
|
Horisontal a napungluan a listaan |
|
ordered
|
Naurnos a listaan (nabilangan a listaan ken alpabetikal a listaan) |
|
horizontal_ordered
|
Horisontal a naurnos a listaan |
|
Dagiti parametro[urnosen ti taudan]
- Dagiti pangipuesto a parametro (
1
,2
,3
...) - dagiti banag ti listaan. No awan ti listaan ti banbanag, awan ti iparuar ti modulo. start
- iyasentarna ti pangrugian a banag para iti naurnos a listaan. Daytoy ket mabalin a rugi a bilang para iti nabilanagan a listaan, wenno ti pangrugian a letra para iti alpabetikal a listaan. Ti horisontal a naurnos a listaan ket suportaranna laeng dagiti bilang.type
- ti tipo ti panagmarka nga inusar iti naurnos a listaan. Dagiti mabalin a pateg ket "1" para kadagiti bilang (kasisigud), "A" para kadagiti dakkel a letra, "a" para kadagiti bassit a letra, "I" para kadagiti dakkel a letra ti Romano a numero, ken "i" para kadagiti bassit a letra ti Romano a numero. Saan a masuportaran para iti horisontal a naurnos a listaan. Kitaen pay ti parametro tilist_style_type
.list_style_type
- ti tipo ti panagmarka nga usaren ti naurnos a listaan. Daytoy ket agus-usar ti panagestilo ti CSS, ken ad-adu pay kadagiti magun-od a kita ngem ti parametro titype
, nga agusar ti maysa a gupit ti html. Dagiti mabalin a pateg ket nailista idiay panid ti W3schools ti list-style-type. Ti suporta ket agdumaduma babaen ti pagbasabasa. Tilist-style-type
ket parbo a nagan para iti daytoy a parametro.class
- ti naisangayan a klase dagiti etiketa ti<div>...</div>
a manglikmut ti listaan, kasla itiplainlinks
.style
- ti naisangayan nga estilo ti css para kadagiti etiketa ti<div>...</div>
a manglimut ti listaan, kasla itifont-size: 90%;
.list_style
- ti naisangayan nga estilo ti custom css para iti listaan. Ti pormat ket kapada met laeng a kas para iti parametro ti|style=
.item_style
- ti naisangayan nga estilo ti css para kadagiti amin a banag ti listaan (dagiti etiketa ti<li>...</li>
). Ti pormat ket kapada met laeng a kas para iti parametro ti|style=
.item1_style
,item2_style
,item3_style
... - ti naisangayan nga estilo ti css para iti tunggal maysa a banag ti listaan ti banbanag. Ti pormat ket kapada met laeng a kas para iti parametro ti|style=
.item1_value
,item2_value
,item3_value
... - ti naisangayan a pateg para it inaited a listaan ti banag. Ilista dagiti banag kalpasan ti maysa a naited ket mainkrimeto manipud ti nainaganan a pateg. Ti pateg ket nasken a positibe a nabukel a bilang. (Laglagipen a daytoy a pagpilian ket addaan laeng iti epekto kadagiti naurnos a listaan.)indent
- daytoy a parametro ket lennekanna ti listaan, para iti horisontal ken horisontal a naurnos a listaan laeng. Ti pateg ket nasken a bilang, kasla iti2
. Ti lennek ket nakarkulo iti "em", ken daytoy ket 1.6 a beses ti pateg ti nainaganan a pateg. No awan ti nainaganan a lennek, ti kasisigud ket sero.
Dagiti kas pagarigan[urnosen ti taudan]
- Napungluan a listaan
Kodigo | Resulta |
---|---|
{{#invoke:listaan|bulleted|Umuna a banag|Maikadua a banag|Maikatlo a banag}}
|
|
{{#invoke:listaan|bulleted|Umuna a banag|Maikadua a banag|Maikatlo a banag|item_style=color:blue;}}
|
|
{{#invoke:listaan|bulleted|Umuna a banag|Maikadua a banag|Maikatlo a banag|item1_style=background-color:yellow;|item2_style=background-color:silver;}}
|
|
- Di napungluan a listaan
Kodigo | Resulta |
---|---|
{{#invoke:listaan|unbulleted|Umuna a banag|Maikadua a banag|Maikatlo a banag}}
|
|
{{#invoke:listaan|unbulleted|Umuna a banag|Maikadua a banag|Maikatlo a banag|item_style=color:blue;}}
|
|
{{#invoke:listaan|unbulleted|Umuna a banag|Maikadua a banag|Maikatlo a banag|item1_style=background-color:yellow;|item2_style=background-color:silver;}}
|
|
- Horisontal a listaan
Kodigo | Resulta |
---|---|
{{#invoke:listaan|horizontal|Umuna a banag|Maikadua a banag|Maikatlo a banag}}
|
|
{{#invoke:listaan|horizontal|Umuna a banag|Maikadua a banag|Maikatlo a banag|indent=2}}
|
|
- Di napungluan a listaan
Kodigo | Resulta |
---|---|
{{#invoke:listaan|unbulleted|Umuna a banag|Maikadua a banag|Maikatlo a banag}}
|
|
{{#invoke:listaan|unbulleted|Umuna a banag|Maikadua a banag|Maikatlo a banag|item_style=color:blue;}}
|
|
{{#invoke:listaan|unbulleted|Umuna a banag|Maikadua a banag|Maikatlo a banag|item1_style=background-color:yellow;|item2_style=background-color:silver;}}
|
|
- Naurnos a listaan
Kodigo | Resulta |
---|---|
{{#invoke:listaan|ordered|Umuna a banag|Maikadua a banag|Maikatlo a banag}}
|
|
{{#invoke:listaan|ordered|Umuna a banag|Maikadua a banag|Maikatlo a banag|start=3}}
|
|
{{#invoke:listaan|ordered|Umuna a banag|Maikadua a banag|Maikatlo a banag|type=i}
|
|
{{#invoke:listaan|ordered|Umuna a banag|Maikadua a banag|Maikatlo a banag|list_style_type=lower-greek}}
|
|
- Horisontal a naurnos a listaan
Kodigo | Resulta |
---|---|
{{#invoke:listaan|horizontal_ordered|Umuna a banag|Maikadua a banag|Maikatlo a banag}}
|
|
{{#invoke:listaan|horizontal_ordered|Umuna a banag|Maikadua a banag|Maikatlo a banag|start=3}}
|
|
{{#invoke:listaan|horizontal_ordered|Umuna a banag|Maikadua a banag|Maikatlo a banag|indent=2}}
|
|
Ti dokumentasion dita ngato ket nailak-am manipud iti Modulo:Listaan/dok. (urnosen | pakasaritaan) Mabalin dagiti editor ti agipadas kadagiti panid ti pagipadasan (urnosen | dip) ken pangsubok a kaskaso (urnosen | patarayen) iti daytoy a modulo. Pangngaasi nga ikabil dagiti kategoria iti subpanid ti /dok. Dagiti subpanid daytoy a modulo. |
-- This module outputs different kinds of lists. At the moment, bulleted,
-- unbulleted, horizontal, ordered, and horizontal ordered lists are supported.
local libUtil = require('libraryUtil')
local checkType = libUtil.checkType
local mTableTools = require('Modulo:Ramramit ti tabla')
local p = {}
local listTypes = {
['bulleted'] = true,
['unbulleted'] = true,
['horizontal'] = true,
['ordered'] = true,
['horizontal_ordered'] = true
}
function p.makeListData(listType, args)
-- Constructs a data table to be passed to p.renderList.
local data = {}
-- Classes
data.classes = {}
if listType == 'horizontal' or listType == 'horizontal_ordered' then
table.insert(data.classes, 'hlist hlist-separated')
elseif listType == 'unbulleted' then
table.insert(data.classes, 'plainlist')
end
table.insert(data.classes, args.class)
-- Main div style
data.style = args.style
-- Indent for horizontal lists
if listType == 'horizontal' or listType == 'horizontal_ordered' then
local indent = tonumber(args.indent)
indent = indent and indent * 1.6 or 0
if indent > 0 then
data.marginLeft = indent .. 'em'
end
end
-- List style types for ordered lists
-- This could be "1, 2, 3", "a, b, c", or a number of others. The list style
-- type is either set by the "type" attribute or the "list-style-type" CSS
-- property.
if listType == 'ordered' or listType == 'horizontal_ordered' then
data.listStyleType = args.list_style_type or args['list-style-type']
data.type = args['type']
-- Detect invalid type attributes and attempt to convert them to
-- list-style-type CSS properties.
if data.type
and not data.listStyleType
and not tostring(data.type):find('^%s*[1AaIi]%s*$')
then
data.listStyleType = data.type
data.type = nil
end
end
-- List tag type
if listType == 'ordered' or listType == 'horizontal_ordered' then
data.listTag = 'ol'
else
data.listTag = 'ul'
end
-- Start number for ordered lists
data.start = args.start
if listType == 'horizontal_ordered' then
-- Apply fix to get start numbers working with horizontal ordered lists.
local startNum = tonumber(data.start)
if startNum then
data.counterReset = 'listitem ' .. tostring(startNum - 1)
end
end
-- List style
-- ul_style and ol_style are included for backwards compatibility. No
-- distinction is made for ordered or unordered lists.
data.listStyle = args.list_style
-- List items
-- li_style is included for backwards compatibility. item_style was included
-- to be easier to understand for non-coders.
data.itemStyle = args.item_style or args.li_style
data.items = {}
for i, num in ipairs(mTableTools.numKeys(args)) do
local item = {}
item.content = args[num]
item.style = args['item' .. tostring(num) .. '_style']
or args['item_style' .. tostring(num)]
item.value = args['item' .. tostring(num) .. '_value']
or args['item_value' .. tostring(num)]
table.insert(data.items, item)
end
return data
end
function p.renderList(data)
-- Renders the list HTML.
-- Return the blank string if there are no list items.
if type(data.items) ~= 'table' or #data.items < 1 then
return ''
end
-- Render the main div tag.
local root = mw.html.create('div')
for i, class in ipairs(data.classes or {}) do
root:addClass(class)
end
root:css{['margin-left'] = data.marginLeft}
if data.style then
root:cssText(data.style)
end
-- Render the list tag.
local list = root:tag(data.listTag or 'ul')
list
:attr{start = data.start, type = data.type}
:css{
['counter-reset'] = data.counterReset,
['list-style-type'] = data.listStyleType
}
if data.listStyle then
list:cssText(data.listStyle)
end
-- Render the list items
for i, t in ipairs(data.items or {}) do
local item = list:tag('li')
if data.itemStyle then
item:cssText(data.itemStyle)
end
if t.style then
item:cssText(t.style)
end
item
:attr{value = t.value}
:wikitext(t.content)
end
return tostring(root)
end
function p.renderTrackingCategories(args)
local isDeprecated = false -- Tracks deprecated parameters.
for k, v in pairs(args) do
k = tostring(k)
if k:find('^item_style%d+$') or k:find('^item_value%d+$') then
isDeprecated = true
break
end
end
local ret = ''
if isDeprecated then
ret = ret .. '[[Kategoria:Dagiti plantilia ti listaan nga addaan kadagiti nasukatanen a parametro]]'
end
return ret
end
function p.makeList(listType, args)
if not listType or not listTypes[listType] then
error(string.format(
"madi nga argumento ti #1 iti 'makeList' (ti '%s' ket saan a umiso a kita ti listaan)",
tostring(listType)
), 2)
end
checkType('makeList', 2, args, 'table')
local data = p.makeListData(listType, args)
local list = p.renderList(data)
local trackingCategories = p.renderTrackingCategories(args)
return list .. trackingCategories
end
for listType in pairs(listTypes) do
p[listType] = function (frame)
local mArguments = require('Modulo:Dagiti argumento')
local origArgs = mArguments.getArgs(frame, {
valueFunc = function (key, value)
if not value or not mw.ustring.find(value, '%S') then return nil end
if mw.ustring.find(value, '^%s*[%*#;:]') then
return value
else
return value:match('^%s*(.-)%s*$')
end
return nil
end
})
-- Copy all the arguments to a new table, for faster indexing.
local args = {}
for k, v in pairs(origArgs) do
args[k] = v
end
return p.makeList(listType, args)
end
end
return p