문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다. 문서의 원본을 보거나 복사할 수 있습니다. local p = {} local azupper = mw.text.split('ABCDEFGHIJKLMNOPQRSTUVWXYZ','') local azlower = mw.text.split('abcdefghijklmnopqrstuvwxyz','') local hangulmain = mw.text.split('가까나다따라마바빠사싸아자짜차카타파하','') local hangul1 = mw.text.split('가개갸걔거게겨계고과괘괴교구궈궤규그긔기','') local hangul2 = mw.text.split('까깨꺄꺠꺼께껴꼐꼬꽈꽤꾀꾜꾸꿔꿰뀨끄끠끼','') local hangul3 = mw.text.split('나내냐냬너네녀녜노놔놰뇌뇨누눠눼뉴느늬니','') local hangul4 = mw.text.split('다대댜댸더데뎌뎨도돠돼되됴두둬뒈듀드듸디','') local hangul5 = mw.text.split('따때땨떄떠떼뗘뗴또똬뙈뙤뚀뚜뚸뛔뜌뜨띄띠','') local hangul6 = mw.text.split('라래랴럐러레려례로롸뢔뢰료루뤄뤠류르릐리','') local hangul7 = mw.text.split('마매먀먜머메며몌모뫄뫠뫼묘무뭐뭬뮤므믜미','') local hangul8 = mw.text.split('바배뱌뱨버베벼볘보봐봬뵈뵤부붜붸뷰브븨비','') local hangul9 = mw.text.split('빠빼뺘뺴뻐뻬뼈뼤뽀뽜뽸뾔뾰뿌뿨쀄쀼쁘쁴삐','') local hangul10 = mw.text.split('사새샤섀서세셔셰소솨쇄쇠쇼수숴쉐슈스싀시','') local hangul11 = mw.text.split('싸쌔쌰썌써쎄쎠쎼쏘쏴쐐쐬쑈쑤쒀쒜쓔쓰씌씨','') local hangul12 = mw.text.split('아애야얘어에여예오와왜외요우워웨유으의이','') local hangul13 = mw.text.split('자재쟈쟤저제져졔조좌좨죄죠주줘줴쥬즈즤지','') local hangul14 = mw.text.split('짜째쨔쨰쩌쩨쪄쪠쪼쫘쫴쬐쬬쭈쭤쮀쮸쯔쯰찌','') local hangul15 = mw.text.split('차채챠챼처체쳐쳬초촤쵀최쵸추춰췌츄츠츼치','') local hangul16 = mw.text.split('카캐캬컈커케켜켸코콰쾌쾨쿄쿠쿼퀘큐크킈키','') local hangul17 = mw.text.split('타태탸턔터테텨톄토톼퇘퇴툐투퉈퉤튜트틔티','') local hangul18 = mw.text.split('파패퍄퍠퍼페펴폐포퐈퐤푀표푸풔풰퓨프픠피','') local hangul19 = mw.text.split('하해햐햬허헤혀혜호화홰회효후훠훼휴흐희히','') local aejot = mw.text.split('aejot','') function p.scrollable(frame) return main('scrollable') end function p.collapsible(frame) return main('collapsible') end function p.aejot(frame) return main('aejot') end function main(toc_type) -- It should be much faster to only process these once, and just re use them as variables local pageurl = mw.title.getCurrentTitle():fullUrl() local toc = mw.message.new('Toc'):plain() -- Highest level div local toc_frame = mw.html.create('div') :addClass('plainlinks') :addClass('hlist') :addClass('toc') -- :attr('id','toc') :css({ display = 'block', background = 'WhiteSmoke', clear = 'both', width = '98%' }) -- Contains "Content: 처음 0-9 A - Z" local header = toc_frame:tag('div') :attr('id', 'toctitle') :attr('class', 'toctitle') -- Contains all the rest local body_wrapper local body = toc_frame:tag('div') :css('text-align', 'center') local jumpy_collapse = mw.html.create('div') :cssText('margin: 0 4em') if toc_type == 'collapsible' then toc_frame:addClass('mw-collapsible mw-collapsed') :cssText('padding: 4px; text-align: center; border: 1px solid #a2a9b1; font-size: 95%') header:cssText('font-weight: bold; line-height: 1.6em') body:addClass('mw-collapsible-content') :css({ background = 'white' }) elseif toc_type == 'scrollable' then body:css({ ['overflow-x'] = 'scroll', ['overflow-y']= 'hidden', ['white-space'] = 'nowrap' }) end local header_content = {'<span style="font-weight: bold">',toc,':</span>', ' [',pageurl,' 처음]', ' [',pageurl,'?from=0 0–9]'} for _, v in ipairs(azupper) do table.insert(header_content,string.format(' [%s?from=%s %s]',pageurl,v,v)) end for _, v in ipairs(hangulmain) do table.insert(header_content,string.format(' [%s?from=%s %s]',pageurl,v,v)) end if toc_type == 'collapsible' then jumpy_collapse:wikitext(table.concat(header_content)) header:node(jumpy_collapse) else header:wikitext(table.concat(header_content)) end local body_content = {} if toc_type == 'collapsible' then table.insert(body_content,'<b>#</b> ') body_wrapper = body:tag('code') :css('background','White') else table.insert(body_content,'['..pageurl..'?from=* <b>*</b>] <b>#</b> ') body_wrapper = body:tag('span') end for i=0,9 do table.insert(body_content,string.format(' [%s?from=%s %s]',pageurl,i,i)) end local function atoz(letter) local azlist = {} local letterlist if toc_type == 'aejot' then letterlist = aejot else letterlist = azlower end if toc_type == 'aejot' or toc_type == 'scrollable' then table.insert(azlist,' • <b>'..letter..'</b> ') else table.insert(azlist,'<br /><b>'..letter..'</b> ') end for _, v in ipairs(letterlist) do table.insert(azlist,string.format(' [%s?from=%s%s %s%s] ',pageurl,letter,v,letter,v)) end return table.concat(azlist) end local function makehangul(idx, letter) local hangullist = {} local hangulitems = {} if toc_type == 'aejot' or toc_type == 'scrollable' then table.insert(hangullist,' • <b>'..letter..'</b> ') else table.insert(hangullist,'<br /><b>'..letter..'</b> ') end if idx == 1 then hangulitems = hangul1 elseif idx == 2 then hangulitems = hangul2 elseif idx == 3 then hangulitems = hangul3 elseif idx == 4 then hangulitems = hangul4 elseif idx == 5 then hangulitems = hangul5 elseif idx == 6 then hangulitems = hangul6 elseif idx == 7 then hangulitems = hangul7 elseif idx == 8 then hangulitems = hangul8 elseif idx == 9 then hangulitems = hangul9 elseif idx == 10 then hangulitems = hangul10 elseif idx == 11 then hangulitems = hangul11 elseif idx == 12 then hangulitems = hangul12 elseif idx == 13 then hangulitems = hangul13 elseif idx == 14 then hangulitems = hangul14 elseif idx == 15 then hangulitems = hangul15 elseif idx == 16 then hangulitems = hangul16 elseif idx == 17 then hangulitems = hangul17 elseif idx == 18 then hangulitems = hangul18 elseif idx == 19 then hangulitems = hangul19 end for _, v in ipairs(hangulitems) do table.insert(hangullist,string.format(' [%s?from=%s %s] ',pageurl,v,v)) end return table.concat(hangullist) end for _, v in ipairs(azupper) do table.insert(body_content,atoz(v)) end for i, v in ipairs(hangulmain) do table.insert(body_content,makehangul(i, v)) end body_wrapper:wikitext(table.concat(body_content)) return '__NOTOC__\n'..tostring(toc_frame) end return p 이 문서에서 사용한 틀: 모듈:Large category TOC/설명문서 (편집) 모듈:Large category TOC 문서로 돌아갑니다.