Permanently protected module

모듈:사용자 상자

Module:Userbox

-- 이 모듈은 {{userbox}}을(를) 구현한다.  국부적 카테고리 핸들러 = 요구하다('모듈:카테고리 핸들러').본래의  국부적 p = {}  -------------------------------------------------------------------------------- -- 도우미 기능 --------------------------------------------------------------------------------  국부적 기능을 하다 checkNum(발랄하게 하다, 체납)  -- 값이 0보다 크거나 같은 숫자인지 확인그렇다면  - 숫자로 돌려준다.그렇지 않으면 기본값을 반환한다.  발랄하게 하다 = 톤넘버(발랄하게 하다)  만일 발랄하게 하다 그리고 발랄하게 하다 >= 0 그때   돌아오다 발랄하게 하다  다른   돌아오다 체납  종지부를 찍다 종지부를 찍다  국부적 기능을 하다 수픽스(숫자, 접미사)  -- 숫자를 문자열로 변환하고 접미사를 추가한다.  만일 숫자 그때   돌아오다 토스트링(숫자) .. 접미사  다른   돌아오다 못을 박다  종지부를 찍다 종지부를 찍다  국부적 기능을 하다 checkNumAddSuffix(숫자, 체납, 접미사)  -- checkNum로 값을 확인하고 접미사를 추가하십시오.  숫자 = checkNum(숫자, 체납)  돌아오다 수픽스(숫자, 접미사) 종지부를 찍다  국부적 기능을 하다 makeCat(고양이를, 분류하다)  -- 카테고리 링크를 만든다.  만일 분류하다 그때   돌아오다 mw.우스트링.형식을 갖추다('[범주:%s %s]', 고양이를, 분류하다)  다른   돌아오다 mw.우스트링.형식을 갖추다('[범주:%s]', 고양이를)  종지부를 찍다 종지부를 찍다  -------------------------------------------------------------------------------- -- 인수 처리 --------------------------------------------------------------------------------  국부적 기능을 하다 makeInvokeFunc(funcName)  돌아오다 기능을 하다 (액자에 넣다)   국부적 종이접기 = 요구하다('모듈:주장').게타르크스(액자에 넣다)   국부적 아그 = {}   을 위해 k, v  쌍들(종이접기) 하다    아그[k] = v   종지부를 찍다   돌아오다 p.본래의(funcName, 아그)  종지부를 찍다 종지부를 찍다  p.userbox = makeInvokeFunc('_userbox') p['userbox-2'] = makeInvokeFunc('_userbox-2') p['userbox-r'] = makeInvokeFunc('_userbox-r')  -------------------------------------------------------------------------------- -- 주요 기능 --------------------------------------------------------------------------------  기능을 하다 p.본래의(funcName, 아그)  국부적 userboxData = p[funcName](아그)  국부적 userbox = p.렌더링하다(userboxData)  국부적 고양이들 = p.분류(아그)  돌아오다 userbox .. (고양이들 또는 '') 종지부를 찍다  기능을 하다 p._userbox(아그)  --{userbox}에 대한 인수가 처리되는지 여부.  국부적 자료 = {}   -- div 태그 값 가져오기  자료.둥둥 뜨다 = 아그.둥둥 뜨다 또는 '왼쪽'  국부적 테두리폭Num = checkNum(아그['경계폭'] 또는 아그['경계'], 1) -- 너비를 계산할 때 사용한다.  자료.테두리폭 = 수픽스(테두리폭Num, 'px')  자료.보더 컬러 = 아그['국경색'] 또는 아그['경계 c'] 또는 아그[1] 또는 아그['id-c'] 또는 '#999'  자료.너비 = 수픽스(240 - 2 * 테두리폭Num, 'px') -- 테이블 태그에도 사용됨.  자료.보디클래스 = 아그.보디클래스   -- 테이블 태그 값 가져오기  자료.배경색 = 아그['info-background'] 또는 아그[2] 또는 아그['info-c'] 또는 '#ee'   -- 정보 값을 가져오십시오.  자료.정보 = 아그.정보 또는 아그[4] 또는 "{{{code}}}"  자료.InfoTextAlign = 아그['info-a'] 또는 '왼쪽'  자료.InfoFontSize = checkNumAddSuffix(아그['크기 사이즈'] 또는 아그['info-s'], 8, 'pt')  자료.Infoheight = checkNumAddSuffix(아그['logo-height'] 또는 아그['id-h'], 45, 'px')  자료.정보패딩 = 아그['info-padding'] 또는 아그['info-p'] 또는 '0 4px 0 4px'  자료.인포라인높이 = 아그['직통 전화'] 또는 아그['info-lh'] 또는 '1.25em'  자료.인포컬러 = 아그['색깔'] 또는 아그['fc-fc'] 또는 '검은색'  자료.InfoOtherParams = 아그['기타변수'] 또는 아그['info-op']  자료.infoClass = 아그['info급']   -- ID 값을 가져오십시오.  국부적 id = 아그.로고를 붙이다 또는 아그[3] 또는 아그.id  자료.id = id  자료.showId = id 그리고 진실의 또는 거짓의  자료.idWidth = checkNumAddSuffix(아그['logo폭'] 또는 아그['id-w'], 45, 'px')  자료.idHeight = checkNumAddSuffix(아그['logo-height'] 또는 아그['id-h'], 45, 'px')  자료.idBackground Color = 아그['logo-background'] 또는 아그[1] 또는 아그['id-c'] 또는 '#dddd'  자료.idTextAlign = 아그['id-a'] 또는 '중앙'  자료.idFontSize = checkNumAddSuffix(아그['크기 사이즈'] 또는 아그[5] 또는 아그['id-s'], 14, 'pt')  자료.아이디컬러 = 아그['색깔'] 또는 아그['id-fc'] 또는 자료.인포컬러  자료.idPadding = 아그['logo-padding'] 또는 아그['id-p'] 또는 '0 1인치 0'  자료.idLineHight = 아그['직통 전화'] 또는 아그['id-flash'] 또는 '1.25em'  자료.idOtherParams = 아그['기타변수'] 또는 아그['id-op']  자료.id클래스 = 아그['id-class']   돌아오다 자료 종지부를 찍다  p['_userbox-2'] = 기능을 하다 (아그)  -- {{userbox-2}에 대한 인수 처리 여부.  국부적 자료 = {}   -- div 태그 값 가져오기  자료.둥둥 뜨다 = 아그.둥둥 뜨다 또는 '왼쪽'  국부적 테두리폭Num = checkNum(아그['경계'] 또는 아그[9], 1) -- 너비를 계산할 때 사용한다.  자료.테두리폭 = 수픽스(테두리폭Num, 'px')  자료.보더 컬러 = 아그['경계 c'] 또는 아그[6] 또는 아그['id1-c'] 또는 아그[1] 또는 '#999999'  자료.너비 = 수픽스(240 - 2 * 테두리폭Num, 'px') -- 테이블 태그에도 사용됨.  자료.보디클래스 = 아그.보디클래스   -- 테이블 태그 값 가져오기  자료.배경색 = 아그['info-c'] 또는 아그[2] 또는 '#eeeee'   -- 정보 값을 가져오십시오.  자료.정보 = 아그.정보 또는 아그[4] 또는 "{{{code}}}"  자료.InfoTextAlign = 아그['info-a'] 또는 '왼쪽'  자료.InfoFontSize = checkNumAddSuffix(아그['info-s'], 8, 'pt')  자료.인포컬러 = 아그['fc-fc'] 또는 아그[8] 또는 '검은색'  자료.정보패딩 = 아그['info-p'] 또는 '0 4px 0 4px'  자료.인포라인높이 = 아그['info-lh'] 또는 '1.25em'  자료.InfoOtherParams = 아그['info-op']   -- ID 값을 가져오십시오.  자료.showId = 진실의  자료.id = 아그.로고를 붙이다 또는 아그[3] 또는 아그.id1 또는 'id1'  자료.idWidth = checkNumAddSuffix(아그['id1-w'], 45, 'px')  자료.idHeight = checkNumAddSuffix(아그['id-h'], 45, 'px')  자료.idBackground Color = 아그['id1-c'] 또는 아그[1] 또는 '#dddddddd'  자료.idTextAlign = '중앙'  자료.idFontSize = checkNumAddSuffix(아그['id1-s'], 14, 'pt')  자료.idLineHight = 아그['id1-message'] 또는 '1.25em'  자료.아이디컬러 = 아그['id1-fc'] 또는 자료.인포컬러  자료.idPadding = 아그['id1-p'] 또는 '0 1인치 0'  자료.idOtherParams = 아그['id1-op']   -- id2 값을 가져오십시오.  자료.showId2 = 진실의  자료.id2 = 아그.로고를 붙이다 또는 아그[5] 또는 아그.id2 또는 'id2'  자료.id2폭 = checkNumAddSuffix(아그['id2-w'], 45, 'px')  자료.id2높이 = 자료.idHeight  자료.id2백그라운드 컬러 = 아그['id2-c'] 또는 아그[7] 또는 아그[1] 또는 '#dddddddd'  자료.id2TextAlign = '중앙'  자료.id2FontSize = checkNumAddSuffix(아그['id2-s'], 14, 'pt')  자료.id2LineHight = 아그['id2-message'] 또는 '1.25em'  자료.id2컬러 = 아그['id2-fc'] 또는 자료.인포컬러  자료.id2패딩 = 아그['id2-p'] 또는 '0 0 0 1px'  자료.id2OtherParams = 아그['id2-op']   돌아오다 자료 종지부를 찍다  p['_userbox-r'] = 기능을 하다 (아그)  -- {{userbox-r}}에 대한 인수 처리 여부.  국부적 자료 = {}   -- div 태그 값 가져오기  자료.둥둥 뜨다 = 아그.둥둥 뜨다 또는 '왼쪽'  국부적 테두리폭Num = checkNum(아그['경계폭'] 또는 아그['경계'], 1) -- 너비를 계산할 때 사용한다.  자료.테두리폭 = 수픽스(테두리폭Num, 'px')  자료.보더 컬러 = 아그['국경색'] 또는 아그['경계 c'] 또는 아그[1] 또는 아그['id-c'] 또는 '#999'  자료.너비 = 수픽스(240 - 2 * 테두리폭Num, 'px') -- 테이블 태그에도 사용됨.  자료.보디클래스 = 아그.보디클래스    -- 테이블 태그 값 가져오기  자료.배경색 = 아그['info-background'] 또는 아그[2] 또는 아그['info-c'] 또는 '#ee'   -- ID 값을 가져오십시오.  자료.showId = 거짓의 -- userbox-r에는 id2만 표시된다.   -- 정보 값을 가져오십시오.  자료.정보 = 아그.정보 또는 아그[4] 또는 "{{{code}}}"  자료.InfoTextAlign = 아그['info-align'] 또는 아그['info-a'] 또는 '왼쪽'  자료.InfoFontSize = checkNumAddSuffix(아그['크기 사이즈'] 또는 아그['info-s'], 8, 'pt')  자료.정보패딩 = 아그['info-padding'] 또는 아그['info-p'] 또는 '0 4px 0 4px'  자료.인포라인높이 = 아그['직통 전화'] 또는 아그['info-lh'] 또는 '1.25em'  자료.인포컬러 = 아그['색깔'] 또는 아그['fc-fc'] 또는 '검은색'  자료.InfoOtherParams = 아그['기타변수'] 또는 아그['info-op']    -- id2 값을 가져오십시오.  자료.showId2 = 진실의  자료.id2 = 아그.로고를 붙이다 또는 아그[3] 또는 아그.id 또는 'id'  자료.id2폭 = checkNumAddSuffix(아그['logo폭'] 또는 아그['id-w'], 45, 'px')  자료.id2높이 = checkNumAddSuffix(아그['logo-height'] 또는 아그['id-h'], 45, 'px')  자료.id2백그라운드 컬러 = 아그['logo-background'] 또는 아그[1] 또는 아그['id-c'] 또는 '#dddd'  자료.id2TextAlign = 아그['id-a'] 또는 '중앙'  자료.id2FontSize = checkNumAddSuffix(아그['크기 사이즈'] 또는 아그[5] 또는 아그['id-s'], 14, 'pt')  자료.id2컬러 = 아그['색깔'] 또는 아그['id-fc'] 또는 자료.인포컬러  자료.id2패딩 = 아그['logo-padding'] 또는 아그['id-p'] 또는 '0 0 0 1px'  자료.id2LineHight = 아그['직통 전화'] 또는 아그['id-flash'] 또는 '1.25em'  자료.id2OtherParams = 아그['기타변수'] 또는 아그['id-op']   돌아오다 자료 종지부를 찍다  기능을 하다 p.렌더링하다(자료)  -- 데이터 테이블의 내용을 사용하여 userbox html 렌더링   -- div 태그 html 렌더링  국부적 뿌리를 내리다 = mw.html.만들다('div')  뿌리를 내리다   :css('float', 자료.둥둥 뜨다)   :css('경계', (자료.테두리폭 또는 '') .. '솔리드' .. (자료.보더 컬러 또는 ''))   :css('margin', '1px')   :css('폭', 자료.너비)   :addClass('wikipediauserbox')   :addClass(자료.보디클래스)   -- 테이블 태그 html 렌더링  국부적 태블루트 = 뿌리를 내리다:꼬리표를 달다('테이블')  태블루트   :동뜨다('role', 'presentation')   :css('경계', 'collapse')   :css('폭', 자료.너비)   :css('아래쪽', '0')   :css('상단', '0')   :css('background', 자료.배경색)    -- id html 렌더링  국부적 태블러로우 = 태블루트:꼬리표를 달다('tr')  만일 자료.showId 그때   태블러로우:꼬리표를 달다('td')    :css('경계', '0')    :css('폭', 자료.idWidth)    :css('height', 자료.idHeight)    :css('background', 자료.idBackground Color)    :css('텍스트-스크립트', 자료.idTextAlign)    :css('크기 사이즈', 자료.idFontSize)    :css('font-weight', 'bold')    :css('색깔', 자료.아이디컬러)    :css('padding', 자료.idPadding)    :css('라인스케이트', 자료.idLineHight)    :css('vertical-align', '중간')    :cssText(자료.idOtherParams)    :addClass(자료.id클래스)    :위키텍스트(자료.id)  종지부를 찍다   -- 정보를 html로 렌더링하십시오.  태블러로우:꼬리표를 달다('td')   :css('경계', '0')   :css('텍스트-스크립트', 자료.InfoTextAlign)   :css('크기 사이즈', 자료.InfoFontSize)   :css('padding', 자료.정보패딩)   :css('height', 자료.Infoheight)   :css('라인스케이트', 자료.인포라인높이)   :css('색깔', 자료.인포컬러)   :css('vertical-align', '중간')   :cssText(자료.InfoOtherParams)   :addClass(자료.infoClass)   :위키텍스트(자료.정보)    -- 두 번째 id html을 렌더링하십시오.  만일 자료.showId2 그때   태블러로우:꼬리표를 달다('td')    :css('경계', '0')    :css('폭', 자료.id2폭)    :css('height', 자료.id2높이)    :css('background', 자료.id2백그라운드 컬러)    :css('텍스트-스크립트', 자료.id2TextAlign)    :css('크기 사이즈', 자료.id2FontSize)    :css('font-weight', 'bold')    :css('색깔', 자료.id2컬러)    :css('padding', 자료.id2패딩)    :css('라인스케이트', 자료.id2LineHight)    :css('vertical-align', '중간')    :cssText(자료.id2OtherParams)    :위키텍스트(자료.id2)  종지부를 찍다   국부적 칭호를 붙이다 = mw.칭호를 붙이다.getCurrentTitle()  만일 (칭호를 붙이다.네임스페이스 == 2) 그리고 아닌 칭호를 붙이다.문자 메시지를 보내다:짝을 맞추다("/") 그때   돌아오다 토스트링(뿌리를 내리다) -- 일반 사용자 페이지  그렇지 않으면 칭호를 붙이다.네임스페이스 == 14 그때   돌아오다 토스트링(뿌리를 내리다) -- 카테고리  그렇지 않으면 칭호를 붙이다.isTalkPage 그때   돌아오다 토스트링(뿌리를 내리다) - 대화 페이지  종지부를 찍다   국부적 읽을 수 있는 = 진실의  국부적 대조를 이루다 = 요구하다('모듈:색상 대비')._beakes   국부적 기능을 하다 has_text(위키텍스트)   국부적 기능을 하다 get_alt(문자 메시지를 보내다)    돌아오다 문자 메시지를 보내다:짝을 맞추다("alt=([^ ]*)") 또는 ""   종지부를 찍다     위키텍스트 = 위키텍스트:gsub("]]", " ]]")   위키텍스트 = 위키텍스트:gsub("%[%[%s*][Mm][E][Dd][Ii][Aa]%s*:[^ ]-( .-)]", get_alt)   위키텍스트 = 위키텍스트:gsub("%[%[%s*][Ii][Mmm][Aa][Gg][Ee]%s*:[^ ]-( .-)]", get_alt)   위키텍스트 = 위키텍스트:gsub("%[%[%s*][FF][Ii][Lll][Ee]%s*:[^ ]-( .-)]", get_alt)   돌아오다 mw.문자 메시지를 보내다.다듬다(위키텍스트) ~= ""  종지부를 찍다   만일 대조를 이루다 { 자료.인포컬러, 자료.배경색, 착오 = 0 } < 4.5 그때   읽을 수 있는 = 거짓의  종지부를 찍다   만일 자료.showId 그리고 대조를 이루다 { 자료.아이디컬러, 자료.idBackground Color, 착오 = 0 } < 4.5 그때   만일 has_text(자료.id 또는 "") 그때    읽을 수 있는 = 거짓의   종지부를 찍다  종지부를 찍다   만일 자료.showId2 그리고 대조를 이루다 { 자료.id2컬러, 자료.id2백그라운드 컬러, 착오 = 0 } < 4.5 그때   만일 has_text(자료.id2 또는 "") 그때    읽을 수 있는 = 거짓의   종지부를 찍다  종지부를 찍다   만일 아닌 읽을 수 있는 그때   뿌리를 내리다:위키텍스트('[카테고리:색상 대비가 부족한 사용자 상자]')  종지부를 찍다   돌아오다 토스트링(뿌리를 내리다) 종지부를 찍다  기능을 하다 p.분류(아그, 페이지를 매기다)  -- [Module:범주 핸들러]]]]]  -- 페이지 매개변수는 해당 페이지에서 모듈을 호출한 것처럼 함수를 작동시킨다.  -- 테스트 목적으로 포함되어 있다.  국부적 고양이들 = {}  고양이들[#고양이들 + 1] = 아그.사용자 카테고리  고양이들[#고양이들 + 1] = 아그.usercategory2  고양이들[#고양이들 + 1] = 아그.usercategory3  고양이들[#고양이들 + 1] = 아그.usercategory4  고양이들[#고양이들 + 1] = 아그.usercategory5  -- 제목 오브젝트를 가져오십시오.  국부적 칭호를 붙이다  만일 페이지를 매기다 그때   칭호를 붙이다 = mw.칭호를 붙이다.새로운(페이지를 매기다)  다른   칭호를 붙이다 = mw.칭호를 붙이다.getCurrentTitle()  종지부를 찍다  -- 카테고리 핸들러 인수 작성.  국부적 마차를 끌다 = {}  마차를 끌다.페이지를 매기다 = 페이지를 매기다  마차를 끌다.nocat = 아그.nocat  마차를 끌다.본래의 = '[카테고리:잘못된 네임스페이스에 템플릿이 있는 페이지]'  만일 아그.노트카투브 페이지 그때   마차를 끌다.하위 페이지 = '아니오'  종지부를 찍다  -- 사용자 네임스페이스.  국부적 사용자 = ''  을 위해 i, 고양이를  아이페어(고양이들) 하다   사용자 = 사용자 .. makeCat(고양이를)  종지부를 찍다  마차를 끌다.사용자 = 사용자  -- 템플릿 네임스페이스.  국부적 기본 페이지 = 칭호를 붙이다.baseText  국부적 템플릿 = ''  을 위해 i, 고양이를  아이페어(고양이들) 하다   템플릿 = 템플릿 .. makeCat(고양이를, ' ' .. 기본 페이지)  종지부를 찍다  마차를 끌다.템플릿 = 템플릿  돌아오다 카테고리 핸들러(마차를 끌다) 종지부를 찍다  돌아오다 p