익명
×
새 문서 만들기
여기에 문서 제목을 쓰세요:
We currently have 962 articles on 루리위키. Type your article name above or click on one of the titles below and start writing!



962Articles

모듈:샤인 포스트 Be your Idol/캐릭터 메모리: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 5개는 보이지 않습니다)
1번째 줄: 1번째 줄:
local p = {}
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='none',marginBottom='20px'}


function p.render(frame)
local pnt=f:getParent()
    local args = {}
if pnt then for k,v in pairs(pnt.args) do a[k]=v end end
    local parent = frame:getParent()
for k,v in pairs(f.args) do a[k]=v end
    if parent then
        for k, v in pairs(parent.args) do args[k] = v end
    end
    for k, v in pairs(frame.args) do args[k] = v end


    local html = mw.html.create('table')
for i=1,50 do
        :addClass('wikitable')
local t,n,g,s,d=
        :css({
a['타입'..i]or'',
            width = '100%',
a['이름'..i]or'',
            ['border-collapse'] = 'collapse',
a['게스트'..i]or'',
            ['table-layout'] = 'fixed',
a['스텟'..i]or'',
            border = 'none',
a['내용'..i]or''
            ['margin-bottom'] = '20px'
        })


    local hasAnyData = false
if t~='' or n~='' then
has=true
local r=h:tag('tr')


    for i = 1, 50 do
-- 타입 (중앙정렬 + 볼드 확정)
        local m_type  = args['타입' .. i]  or ''
r:tag('td')
        local m_name  = args['이름' .. i]  or ''
:css{background='#3478bf',width='20%',border='2px solid #000',borderRight='none'}
        local m_guest  = args['게스트' .. i] or ''
:wikitext("<div style='text-align:center;font-weight:bold;color:#fff'>"..t.."</div>")
        local m_stat  = args['스텟' .. i]  or ''
        local m_detail = args['내용' .. i]  or ''


        if m_type ~= '' or m_name ~= '' or m_guest ~= '' or m_detail ~= '' then
if g=='' or g:match'^%s*$' then
            hasAnyData = true
r:tag('td')
:attr('colspan',2)
:css{fontWeight='bold',borderTop='2px solid #000',borderRight='2px solid #000',paddingLeft='10px'}
:wikitext(n)
else
r:tag('td')
:css{fontWeight='bold',width='55%',borderTop='2px solid #000',paddingLeft='10px'}
:wikitext(n)
r:tag('td')
:css{textAlign='center',width='25%',borderTop='2px solid #000',borderRight='2px solid #000'}
:wikitext("<span style='color:#666;font-size:.9em'>with </span>"..g)
end


            local row = html:tag('tr')
h:tag('tr'):tag('td')
            row:tag('td')
:attr('colspan',3)
                :css({
:css{background='#f0f4f9',border='2px solid #000',borderTop='none',padding='6px 12px',fontSize='.9em'}
                    ['background-color'] = '#3478bf',
:wikitext("'''추가 스탯:''' "..(s~='' and s or '없음'))
                    ['color'] = 'white',
                    ['font-weight'] = 'bold',
                    ['text-align'] = 'center',
                    ['width'] = '20%',
                    ['border-top'] = '2px solid #000',
                    ['border-left'] = '2px solid #000'
                })
                :wikitext(m_type)


            if m_guest == '' or m_guest == nil or m_guest:match("^%s*$") then
local c=h:tag('tr'):tag('td')
                row:tag('td')
:attr('colspan',3)
                    :attr('colspan', '2')
:css{padding=0,border='2px solid #000',borderTop='none'}
                    :css({
:tag('div'):addClass('mw-collapsible mw-collapsed')
                        ['font-weight'] = 'bold',
                        ['border-top'] = '2px solid #000',
                        ['border-right'] = '2px solid #000',
                        ['padding-left'] = '10px'
                    })
                    :wikitext(m_name)
            else
                row:tag('td')
                    :css({
                        ['font-weight'] = 'bold',
                        ['width'] = '55%',
                        ['border-top'] = '2px solid #000',
                        ['padding-left'] = '10px'
                    })
                    :wikitext(m_name)


                local guestCell = row:tag('td')
c:tag('div')
                    :css({
:addClass('mw-collapsible-toggle')
                        ['text-align'] = 'center',
:css{textAlign='center',background='#eee',fontSize='.85em',padding='4px',borderTop='1px solid #ccc'}
                        ['width'] = '25%',
:wikitext('▼ 상세')
                        ['border-top'] = '2px solid #000',
                        ['border-right'] = '2px solid #000'
                    })
                guestCell:tag('span'):css({ ['color'] = '#666', ['font-size'] = '0.9em' }):wikitext('with ')
                guestCell:wikitext(m_guest)
            end


            local statRow = html:tag('tr')
c:tag('div')
            statRow:tag('td')
:addClass('mw-collapsible-content')
                :attr('colspan', '3')
:css{padding='12px',background='#fff'}
                :css({
:wikitext((d~='' and d~='-') and d or '상세 내용이 없습니다.')
                    ['background-color'] = '#f0f4f9',
end
                    ['border-left'] = '2px solid #000',
end
                    ['border-right'] = '2px solid #000',
                    ['padding'] = '6px 12px',
                    ['font-size'] = '0.9em'
                })
                :wikitext("'''추가 스탯:''' " .. (m_stat ~= '' and m_stat or '없음'))


            local detailRow = html:tag('tr')
return has and tostring(h)
            local detailCell = detailRow:tag('td')
or "<div style='color:red;font-weight:bold'>데이터를 찾을 수 없습니다.</div>"
                :attr('colspan', '3')
                :css({
                    ['padding'] = '0',
                    ['border-left'] = '2px solid #000',
                    ['border-right'] = '2px solid #000',
                    ['border-bottom'] = '2px solid #000'
                })
 
            local collapse = detailCell:tag('div')
                :addClass('mw-collapsible mw-collapsed')
                :css({ ['width'] = '100%' })
 
            collapse:tag('div')
                :addClass('mw-collapsible-toggle')
                :css({
                    ['float'] = 'none',
                    ['text-align'] = 'center',
                    ['background'] = '#eee',
                    ['font-size'] = '0.85em',
                    ['padding'] = '4px',
                    ['border-top'] = '1px solid #ccc',
                    ['cursor'] = 'pointer'
                })
                :wikitext("'''▼ 상세 내용 보기 / 닫기 ▼'''")
 
            collapse:tag('div')
                :addClass('mw-collapsible-content')
                :css({
                    ['padding'] = '12px',
                    ['background'] = '#fff'
                })
                :wikitext((m_detail ~= '' and m_detail ~= '-') and m_detail or '상세 내용이 없습니다.')
        end
    end
 
    if not hasAnyData then
        return '<div style="color:red; font-weight:bold;">데이터를 찾을 수 없습니다.</div>'
    end
 
    return tostring(html)
end
end
return p
return p

2026년 1월 26일 (월) 19:07 기준 최신판

교류 #1
반짝이는 이미테이션
추가 스탯: 없음
▼ 상세
상세 내용이 없습니다.
교류 #2
이상의 아이돌
추가 스탯: 없음
▼ 상세
상세 내용이 없습니다.

사용 예시

숫자를 늘리면 무한히 늘어납니다

{{#invoke:샤인 포스트 Be your Idol/캐릭터 메모리|render
|타입1 = 
|이름1 = 
|게스트1 =
|내용1 = 

|타입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='none',marginBottom='20px'}

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,n,g,s,d=
a['타입'..i]or'',
a['이름'..i]or'',
a['게스트'..i]or'',
a['스텟'..i]or'',
a['내용'..i]or''

if t~='' or n~='' then
has=true
local r=h:tag('tr')

-- 타입 (중앙정렬 + 볼드 확정)
r:tag('td')
:css{background='#3478bf',width='20%',border='2px solid #000',borderRight='none'}
:wikitext("<div style='text-align:center;font-weight:bold;color:#fff'>"..t.."</div>")

if g=='' or g:match'^%s*$' then
r:tag('td')
:attr('colspan',2)
:css{fontWeight='bold',borderTop='2px solid #000',borderRight='2px solid #000',paddingLeft='10px'}
:wikitext(n)
else
r:tag('td')
:css{fontWeight='bold',width='55%',borderTop='2px solid #000',paddingLeft='10px'}
:wikitext(n)
r:tag('td')
:css{textAlign='center',width='25%',borderTop='2px solid #000',borderRight='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',borderTop='none',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',borderTop='none'}
: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