Module:RequirementBox: Difference between revisions
no edit summary
Admin Jeremy (talk | contribs) No edit summary |
Admin Jeremy (talk | contribs) No edit summary |
||
| Line 3: | Line 3: | ||
local function renderCategory(title, list) | local function renderCategory(title, list) | ||
if list == "" then return "" end | if list == "" then return "" end | ||
-- Split list into individual <li> blocks | |||
local items = {} | |||
for li in list:gmatch("<li>(.-)</li>") do | |||
table.insert(items, li) | |||
end | |||
local out = "" | |||
for _, item in ipairs(items) do | |||
if item:find("||OR||") then | |||
-- OR requirement | |||
local parts = mw.text.split(item, "%s*||OR||%s*") | |||
out = out .. '<li class="vp-requirement-or">' | |||
for i, part in ipairs(parts) do | |||
out = out .. '<div class="vp-requirement-or-option">' .. part .. '</div>' | |||
if i < #parts then | |||
out = out .. '<div class="vp-requirement-or-divider">OR</div>' | |||
end | |||
end | |||
out = out .. '</li>' | |||
else | |||
-- Normal requirement | |||
out = out .. '<li>' .. item .. '</li>' | |||
end | |||
end | |||
return string.format([[ | return string.format([[ | ||
<div class="vp-requirements-category"> | <div class="vp-requirements-category"> | ||
| Line 9: | Line 36: | ||
%s | %s | ||
</ul> | </ul> | ||
</div>]], title, | </div>]], title, out) | ||
end | end | ||
function p.render(frame) | function p.render(frame) | ||