Module:Sandbox/BrandonXLF/4: Difference between revisions

Content deleted Content added
No edit summary
Support Parsoid
Line 10:
items[#items + 1] = {'*' .. indent, item}
end
local outtoClose = ''{}
local postout = ':'
 
-- Bold sublist titles and add a blank list item before them
-- The blank item is used by CSS to make the list item block leel
for i, item in pairs(items) do
-- Close <li> and <ul> enclosing deeper items
while #toClose > 0 and #toClose[#toClose][1] >= #item[1] do
out = out .. toClose[#toClose][2]
table.remove(toClose, #toClose)
end
-- Create new lists
while #toClose > 0 and (#toClose[#toClose][1] + 1 < #item[1] or toClose[#toClose][2] ~= '</ul>') do
out = out .. '<ul>'
toClose[#toClose + 1] = { item[1]:sub(1, -2), '</ul>' }
end
-- Added by {{Keep inline}}
local keepInline = item[2]:match('KEEP%-INLINE$') ~= nil
if keepInline then
item[2]out = out .. '<li>'
out = out .. item[2]:gsub(' *KEEP%-INLINE$', '') .. '<span class="content-list-inline"></span>'
elseif i < #items and #items[i + 1][1] > #item[1] then
out = out .. '<li class="content-sublist">'
out = out .. item[1]"'''''" .. item[2] .. "&#58;''''\n'"
else
out = out .. '<li>'
out = out .. item[2]
end
if not keepInline and i < toClose[#items and #items[itoClose + 1][1] >= { #item[1], '</li>' then}
-- local post = inlineNext and '&#58;' or ''
local post = '&#58;'
item[2] = '\n' .. item[1] .. "'''''" .. item[2] .. post .. "'''''"
end
end
return '<pre>' .. mw.text.encode(out) .. '</pre>' ..
local out = ''
for _, item in pairs(items) do
out = out .. item[1] .. item[2] .. '\n'
end
return '<div class="content-list"><ul>\n' .. out .. '</ul></div>' .. frame:extensionTag{
name = 'templatestyles', args = { src = 'User:BrandonXLF/styles2.css' }
}