편집 요약 없음 |
편집 요약 없음 |
||
| (같은 사용자의 중간 판 23개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
local p = {} | local p = {} | ||
function p.render( | function p.render(f) | ||
local | local a = {} | ||
local | local pnt = f:getParent() | ||
if pnt then for k, v in pairs(pnt.args) do a[k] = v end end | |||
for k, v in pairs(f.args) do a[k] = v end | |||
local results = {} | |||
local has = false | |||
local i = | for i = 1, 50 do | ||
local t = a['타입' .. i] or '' | |||
local n = a['이름' .. i] or '' | |||
local g = a['게스트' .. i] or '' | |||
local s = a['스텟' .. i] or '' | |||
local d = a['내용' .. i] or '' | |||
if t ~= '' or n ~= '' then | |||
has = true | |||
local h = mw.html.create('table'):addClass('wikitable'):css{ | |||
width = '100%', | |||
['border-collapse'] = 'collapse', | |||
['table-layout'] = 'fixed', | |||
border = '2px solid #000', | |||
marginBottom = '15px' | |||
} | |||
local r1 = h:tag('tr') | |||
r1:tag('td'):css{ | |||
background = '#3478bf', width = '20%', border = '2px solid #000' | |||
}:wikitext("<div style='text-align:center;font-weight:bold;color:#fff'>" .. t .. "</div>") | |||
if g == '' or g:match '^%s*$' then | |||
r1:tag('td'):attr('colspan', 2):css{ | |||
fontWeight = 'bold', border = '2px solid #000', paddingLeft = '10px' | |||
}:wikitext(n) | |||
else | |||
r1:tag('td'):css{ | |||
fontWeight = 'bold', width = '65%', border = '2px solid #000', paddingLeft = '10px' | |||
}:wikitext(n) | |||
r1:tag('td'):css{ | |||
textAlign = 'center', width = '15%', border = '2px solid #000' | |||
}:wikitext("<span style='color:#666;font-size:.9em'>with </span>" .. g) | |||
end | |||
h:tag('tr'):tag('td'):attr('colspan', 3):css{ | |||
background = '#f0f4f9', border = '2px solid #000', padding = '6px 12px', fontSize = '.9em' | |||
}:wikitext("'''추가 스탯:''' " .. (s ~= '' and s or '없음')) | |||
local c = h:tag('tr'):tag('td'):attr('colspan', 3):css{ | |||
padding = 0, border = '2px solid #000' | |||
}:tag('div'):addClass('mw-collapsible mw-collapsed') | |||
c:tag('div'):addClass('mw-collapsible-toggle'):css{ | |||
textAlign = 'center', background = '#eee', fontSize = '.85em', padding = '4px' | |||
}:wikitext('▼ 상세') | |||
c:tag('div'):addClass('mw-collapsible-content'):css{ | |||
padding = '12px', background = '#fff' | |||
}:wikitext((d ~= '' and d ~= '-') and d or '상세 내용이 없습니다.') | |||
table.insert(results, tostring(h)) | |||
end | end | ||
end | end | ||
if not | if not has then | ||
return '' | return "<div style='color:red;font-weight:bold'>-</div>" | ||
end | end | ||
return | return table.concat(results, "") | ||
end | end | ||
return p | return p | ||
2026년 3월 10일 (화) 13:02 기준 최신판
교류 #1 | 반짝이는 이미테이션 | |
| 추가 스탯: 없음 | ||
▼ 상세 상세 내용이 없습니다. | ||
교류 #2 | 이상의 아이돌 | |
| 추가 스탯: 없음 | ||
▼ 상세 상세 내용이 없습니다. | ||
사용 예시
숫자를 늘리면 무한히 늘어납니다
{{#invoke:샤인 포스트 Be your Idol/캐릭터 메모리|render
|타입1 =
|이름1 =
|게스트1 =
|스텟1
|내용1 =
|타입2 =
|이름2 =
|게스트2 =
|스텟2=
|내용2 =
}}
local p = {}
function p.render(f)
local a = {}
local pnt = f:getParent()
if pnt then for k, v in pairs(pnt.args) do a[k] = v end end
for k, v in pairs(f.args) do a[k] = v end
local results = {}
local has = false
for i = 1, 50 do
local t = a['타입' .. i] or ''
local n = a['이름' .. i] or ''
local g = a['게스트' .. i] or ''
local s = a['스텟' .. i] or ''
local d = a['내용' .. i] or ''
if t ~= '' or n ~= '' then
has = true
local h = mw.html.create('table'):addClass('wikitable'):css{
width = '100%',
['border-collapse'] = 'collapse',
['table-layout'] = 'fixed',
border = '2px solid #000',
marginBottom = '15px'
}
local r1 = h:tag('tr')
r1:tag('td'):css{
background = '#3478bf', width = '20%', border = '2px solid #000'
}:wikitext("<div style='text-align:center;font-weight:bold;color:#fff'>" .. t .. "</div>")
if g == '' or g:match '^%s*$' then
r1:tag('td'):attr('colspan', 2):css{
fontWeight = 'bold', border = '2px solid #000', paddingLeft = '10px'
}:wikitext(n)
else
r1:tag('td'):css{
fontWeight = 'bold', width = '65%', border = '2px solid #000', paddingLeft = '10px'
}:wikitext(n)
r1:tag('td'):css{
textAlign = 'center', width = '15%', border = '2px solid #000'
}:wikitext("<span style='color:#666;font-size:.9em'>with </span>" .. g)
end
h:tag('tr'):tag('td'):attr('colspan', 3):css{
background = '#f0f4f9', border = '2px solid #000', padding = '6px 12px', fontSize = '.9em'
}:wikitext("'''추가 스탯:''' " .. (s ~= '' and s or '없음'))
local c = h:tag('tr'):tag('td'):attr('colspan', 3):css{
padding = 0, border = '2px solid #000'
}:tag('div'):addClass('mw-collapsible mw-collapsed')
c:tag('div'):addClass('mw-collapsible-toggle'):css{
textAlign = 'center', background = '#eee', fontSize = '.85em', padding = '4px'
}:wikitext('▼ 상세')
c:tag('div'):addClass('mw-collapsible-content'):css{
padding = '12px', background = '#fff'
}:wikitext((d ~= '' and d ~= '-') and d or '상세 내용이 없습니다.')
table.insert(results, tostring(h))
end
end
if not has then
return "<div style='color:red;font-weight:bold'>-</div>"
end
return table.concat(results, "")
end
return p