편집 요약 없음 |
편집 요약 없음 |
||
| 9번째 줄: | 9번째 줄: | ||
marginBottom = '20px' | marginBottom = '20px' | ||
} | } | ||
local colgroup = h:tag('colgroup') | |||
colgroup:tag('col'):css('width', '20%') | |||
colgroup:tag('col'):css('width', '65%') | |||
colgroup:tag('col'):css('width', '15%') | |||
local pnt = f:getParent() | local pnt = f:getParent() | ||
if pnt then for k, v in pairs(pnt.args) do a[k] = v end end | if pnt then for k, v in pairs(pnt.args) do a[k] = v end end | ||
2026년 3월 5일 (목) 04:18 판
<colgroup><col style="width:20%" /><col style="width:65%" /><col style="width:15%" /></colgroup>
교류 #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, has, h = {}, false, mw.html.create('table'):addClass('wikitable'):css{
width = '100%',
['border-collapse'] = 'collapse',
['table-layout'] = 'fixed',
border = '2px solid #000', -- 전체 외곽선 굵게
marginBottom = '20px'
}
local colgroup = h:tag('colgroup')
colgroup:tag('col'):css('width', '20%')
colgroup:tag('col'):css('width', '65%')
colgroup:tag('col'):css('width', '15%')
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
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 r = h:tag('tr')
-- 1. 타입 칸 (왼쪽 파란색)
r:tag('td'):css{
background = '#3478bf',
width = '20%',
border = '2px solid #000' -- 테두리 굵기 통일
}:wikitext("<div style='text-align:center;font-weight:bold;color:#fff'>" .. t .. "</div>")
-- 2. 이름 및 게스트 칸 (오른쪽)
if g == '' or g:match '^%s*$' then
r:tag('td'):attr('colspan', 2):css{
fontWeight = 'bold',
border = '2px solid #000', -- 테두리 굵기 통일
paddingLeft = '10px'
}:wikitext(n)
else
r:tag('td'):css{
fontWeight = 'bold',
width = '65%',
border = '2px solid #000', -- 테두리 굵기 통일
paddingLeft = '10px'
}:wikitext(n)
r:tag('td'):css{
textAlign = 'center',
width = '15%',
border = '2px solid #000' -- 테두리 굵기 통일
}:wikitext("<span style='color:#666;font-size:.9em'>with </span>" .. g)
end
-- 3. 추가 스텟 칸
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 '없음'))
-- 4. 상세 내용 칸 (접기/펼치기)
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',
borderTop = '1px solid #ccc' -- 내부 구분선만 얇게 유지
}:wikitext('▼ 상세')
c:tag('div'):addClass('mw-collapsible-content'):css{
padding = '12px',
background = '#fff'
}:wikitext((d ~= '' and d ~= '-') and d or '상세 내용이 없습니다.')
end
end
return has and tostring(h) or "<div style='color:red;font-weight:bold'>데이터를 찾을 수 없습니다.</div>"
end
return p