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



951Articles

모듈:샤인 포스트 Be your Idol/캐릭터 메모리

4767561 (토론 | 기여)님의 2026년 1월 19일 (월) 03:00 판
교류 #1반짝이는 이미테이션
-
교류 #2이상의 아이돌
-

사용 예시

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

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

|타입2 = 
|이름2 = 
|게스트2 = 
|내용2 = 
}}

local p = {}

function p.render(frame)
    local args = frame.args
    local html = mw.html.create('table')

    html:addClass('wikitable')
        :css({
            ['width'] = '100%',
            ['border-collapse'] = 'collapse',
            ['table-layout'] = 'fixed'
        })

    local i = 1
    local hasRow = false

    while args['타입' .. i] or args['이름' .. i] do
        hasRow = true

        local m_type   = args['타입' .. i]   or ''
        local m_name   = args['이름' .. i]   or ''
        local m_guest  = args['게스트' .. i] or ''
        local m_detail = args['내용' .. i]   or ''

        -- ① 요약 행
        local row = html:tag('tr')

        -- 타입 (색 적용)
        row:tag('td')
            :css({
                ['background-color'] = '#3478bf',
                ['color'] = 'white',
                ['font-weight'] = 'bold',
                ['text-align'] = 'center',
                ['width'] = '20%',
                ['border'] = '2px solid #000'
            })
            :wikitext(m_type)

        if m_guest == '' then
            -- 게스트 없음 → 이름 2칸 합침
            row:tag('td')
                :attr('colspan', '2')
                :css({
                    ['font-weight'] = 'bold',
                    ['border'] = '2px solid #000'
                })
                :wikitext(m_name)
        else
            -- 게스트 있음 → with 출력
            row:tag('td')
                :css({
                    ['font-weight'] = 'bold',
                    ['width'] = '50%',
                    ['border'] = '2px solid #000'
                })
                :wikitext(m_name)

            row:tag('td')
                :css({
                    ['text-align'] = 'center',
                    ['width'] = '30%',
                    ['border'] = '2px solid #000'
                })
                :wikitext('with ' .. m_guest)
        end

        -- ② 상세 행
        if m_detail ~= '' then
            local detailRow = html:tag('tr')
            detailRow:tag('td')
                :attr('colspan', '3')
                :css({
                    ['padding'] = '10px',
                    ['border-left'] = '2px solid #000',
                    ['border-right'] = '2px solid #000',
                    ['border-bottom'] = '2px solid #000'
                })
                :wikitext(m_detail)
        end

        i = i + 1
    end

    if not hasRow then
        return ''
    end

    return tostring(html)
end

return p