모듈:섹션 링크/샌드박스

Module:Section link/sandbox
-- 이 모듈은 {{섹션 링크}}을(를) 구현한다. 요구하다('모듈:글로벌 없음');  국부적 체크타입 = 요구하다('libraryUtil').체크타입  국부적 p = {}  국부적 기능을 하다 makeSectionLink(페이지를 매기다, 단면, 전시하다)  전시하다 = 전시하다 또는 단면  페이지를 매기다 = 페이지를 매기다 또는 ''  -- 미디어위키는 페이지에서는 이런 것을 허용하지 않기 때문에 섹션에서만 하면 된다.  만일 타자를 치다(단면) == '끈' , 그러면.   단면 = 끈.gsub(단면, "{", "&#x7B;")   단면 = 끈.gsub(단면, "}", "&#x7D;")  끝,  돌아오다 문자열.format('[%s#%s %s]', 페이지를 매기다, 단면, 전시하다) 끝,  국부적 기능을 하다 정상화하다제목(칭호를 붙이다)  칭호를 붙이다 = mw.우스트링.gsub(mw.우스트링.gsub(칭호를 붙이다, "'", ""), '"', '')  칭호를 붙이다 = mw.우스트링.gsub(칭호를 붙이다, "%b<", "")  돌아오다 mw.칭호를 붙이다.새로운(칭호를 붙이다).접두사의텍스트 끝,  국부적 기능을 하다 makeLHS(페이지를 매기다, 옵션들, 칭호를 붙이다, 중간의)  국부적 lhs = 중간의  만일 아닌 옵션들.노피지 , 그러면.   페이지를 매기다 = 페이지를 매기다 또는 칭호를 붙이다.접두사의텍스트   만일 옵션들.전시하다 그리고 옵션들.전시하다 ~= '' , 그러면.    만일 정상화하다제목(옵션들.전시하다) == 정상화하다제목(페이지를 매기다) , 그러면.     lhs = 옵션들.전시하다 .. ' ' .. lhs    다른     착오(문자열.format(      '%s 표시 제목이 '%s'이므로 무시됨 ..      "페이지의 실제 제목과 같지 않음",      옵션들.전시하다     ), 0)    끝,   다른    lhs = 페이지를 매기다 .. ' ' .. lhs   끝,  끝,  돌아오다 lhs 끝,  기능을 하다 p._주요(페이지를 매기다, 단면, 옵션들, 칭호를 붙이다)  -- 입력 유효성 확인.  체크타입('_main', 1, 페이지를 매기다, '끈', 진실의)  체크타입('_main', 3, 옵션들, '테이블', 진실의)  만일 단면 == 못을 박다 , 그러면.   단면 = {}  그렇지 않으면 타자를 치다(단면) == '끈' , 그러면.   단면 = {단면}  그렇지 않으면 타자를 치다(단면) ~= '테이블' , 그러면.   착오(문자열.format(    " #2 ~ '_main' 인수의 유형 오류 " ..    "(현, 테이블 또는 nil 예상, %s",    타자를 치다(단면)   ), 2)  끝,  옵션들 = 옵션들 또는 {}  칭호를 붙이다 = 칭호를 붙이다 또는 mw.칭호를 붙이다.getCurrentTitle()   -- 빈 페이지 이름을 우아하게 처리  만일 페이지를 매기다 그리고 아닌 페이지를 매기다:찾아내다('%S') , 그러면.   페이지를 매기다 = 못을 박다   옵션들.노피지 = 진실의  끝,   -- 링크를 만드십시오.  만일 #단면 <= 1 , 그러면.   국부적 링크페이지 = 페이지를 매기다 또는 ''   국부적 단면 = 단면[1] 또는 'Notes'   국부적 전시하다 = makeLHS(페이지를 매기다, 옵션들, 칭호를 붙이다, '§&nbsp;') .. 단면   돌아오다 makeSectionLink(링크페이지, 단면, 전시하다)  다른   - 다중 섹션.먼저 표시할 링크 목록을 만드십시오.   국부적 되받아치다 = {}   을 위해 i, 단면  아이페어(단면) 하다    되받아치다[i] = makeSectionLink(페이지를 매기다, 단면)   끝,    -- 링크 목록을 mw.text.listToText를 사용하여 문자열로 결합하십시오.   -- mw.text.listToText에 기본 구분 기호를 사용하지만, 사용자 정의   -- 접속사.또한 특별한 케이스 접속사(case consider)가 있다.   -- 두 개의 연결고리를 가지고 있다.   국부적 접속사   만일 #단면 == 2 , 그러면.    접속사 = '&#8203; 그리고 '   다른    접속사 = ', 그리고 '   끝,   되받아치다 = mw.문자 메시지를 보내다.listToText(되받아치다, 못을 박다, 접속사)    -- 소개 텍스트를 추가하십시오.   되받아치다 = makeLHS(페이지를 매기다, 옵션들, 칭호를 붙이다, '조선소&nbsp;') .. 되받아치다    돌아오다 되받아치다  끝, 끝,  기능을 하다 p.본래의(액자에 넣다)  국부적 예스노 = 요구하다('모듈:예스노')  국부적 아그 = 요구하다('모듈:주장').게타르크스(액자에 넣다, {   포장지 = '템플릿:섹션 링크',   valueFunc = 기능을 하다 (핵심을, 가치를 매기다)    가치를 매기다 = 가치를 매기다:짝을 맞추다('^%s*(^%)%s*
                
) -- 공백 잘라내기 -- wikitext 템플릿이 이렇게 하는 것처럼 빈 첫 번째 매개 변수 허용. 만일 가치를 매기다 ~= '' 또는 핵심을 == 1 , 그러면. 돌아오다 가치를 매기다 끝, 끝, }) 을 위해 k, v 쌍들(아그) 하다 -- 위치 모수 값에서 밑줄 바꾸기 만일 '숫자' == 타자를 치다(k) , 그러면. 만일 아닌 예스노 (아그['keep-cores']) , 그러면. - 계속하지 않는 한=그렇다. 아그[k] = mw.우리당.암호를 해독하다 (v, 'WIKI'); -- 백분율-수치; 밑줄을 공백 문자로 대체 다른 아그[k] = mw.우리당.암호를 해독하다 (v, 'PATH'); -- 백분율-배율; 밑줄을 유지함 끝, 끝, 끝, -- 인수를 정렬하십시오. 국부적 페이지를 매기다 국부적 단면, 옵션들 = {}, {} 을 위해 k, v 쌍들(아그) 하다 만일 k == 1 , 그러면. -- [[모듈:]의 버그 때문에 루프에서 이렇게 하는 것.인수]]] -- 삭제된 인수와 함께 쌍을 사용할 때. 페이지를 매기다 = mw.문자 메시지를 보내다.암호를 해독하다(v, 진실의) 그렇지 않으면 타자를 치다(k) == '숫자' , 그러면. 단면[k] = v 다른 옵션들[k] = v 끝, 끝, 옵션들.노피지 = 예스노 (옵션들.노피지); -- 부울 만들기 -- 있는 경우 페이지에서 섹션 추출 만일 페이지를 매기다 , 그러면. 국부적 p, s = 페이지를 매기다:짝을 맞추다('^(.-)#(.*)
$$SIDE_BOTTOM$$
    $$BOTTOM$$