Permanently protected module

모듈:카테고리 처리기

Module:Category handler

-------------------------------------------------------------------------------- --                                                                            -- - 카테고리 핸들러 - --                                                                            -- -- 이 모듈은 루아에 {{category 핸들러} 템플릿을 구현하며, -- -- 몇 가지 향상된 기능: 모든 네임스페이스와 네임스페이스 별칭 -- --이 지원되며 --에 대해 네임스페이스 이름이 자동으로 검색됨 -- 지역 위키.이 모듈에는 [[모듈:네임스페이스 탐지]] - - 및 [[모듈:예스노]] 로컬 위키에서 사용 가능.그것은--일 수 있다. -- 값을 변경하여 다른 위키에 맞게 구성 -- - [모듈:카테고리 핸들러/config]]] 및 페이지를 블랙리스트에 추가할 수 있음 -- - [[모듈:]을 사용한 범주화범주 핸들러/블랙리스트]]]-- --                                                                            -- --------------------------------------------------------------------------------  -- 필요한 모듈 로드 국부적 예스노 = 요구하다('모듈:예스노')  ­ 항상 필요하지 않은 것들을 느리게 적재 국부적 mShared, 매핑  국부적 p = {}  -------------------------------------------------------------------------------- -- 도우미 기능 --------------------------------------------------------------------------------  국부적 기능을 하다 trimWhitespace(s, learblanks)  만일 타자를 치다(s) ~= '끈' 그때   돌아오다 s  종지부를 찍다  s = s:짝을 맞추다('^%s*(^%)%s*
                
) 만일 learblanks 그때 만일 s ~= '' 그때 돌아오다 s 다른 돌아오다 못을 박다 종지부를 찍다 다른 돌아오다 s 종지부를 찍다 종지부를 찍다 -------------------------------------------------------------------------------- -- CategoryHandler 클래스 -------------------------------------------------------------------------------- 국부적 카테고리핸들러 = {} 카테고리핸들러.__index = 카테고리핸들러 기능을 하다 카테고리핸들러.새로운(자료, 아그) 국부적 오비지 = 설정 가능한({ _데이터 = 자료, _아그스 = 아그 }, 카테고리핸들러) -- 제목 객체 설정 하다 국부적 페이지 이름 = 오비지:매개 변수('데모파지') 국부적 성공, 제목오브지 만일 페이지 이름 그때 성공, 제목오브지 = 피콜(mw.칭호를 붙이다.새로운, 페이지 이름) 종지부를 찍다 만일 성공 그리고 제목오브지 그때 오비지.칭호를 붙이다 = 제목오브지 만일 제목오브지 == mw.칭호를 붙이다.getCurrentTitle() 그때 오비지.usesCurrentTitle = 진실의 종지부를 찍다 다른 오비지.칭호를 붙이다 = mw.칭호를 붙이다.getCurrentTitle() 오비지.usesCurrentTitle = 진실의 종지부를 찍다 종지부를 찍다 -- 억제 파라미터 값 설정 을 위해 _, 핵심을 아이페어{'노캣', 'categories'} 하다 국부적 가치를 매기다 = 오비지:매개 변수(핵심을) 가치를 매기다 = trimWhitespace(가치를 매기다, 진실의) 오비지['_' .. 핵심을] = 예스노(가치를 매기다) 종지부를 찍다 하다 국부적 하위 페이지 = 오비지:매개 변수('하위 페이지') 국부적 카테고리2 = 오비지:매개 변수('category2') 만일 타자를 치다(하위 페이지) == '끈' 그때 하위 페이지 = mw.우스트링.더 낮게(하위 페이지) 종지부를 찍다 만일 타자를 치다(카테고리2) == '끈' 그때 하위 페이지 = mw.우스트링.더 낮게(카테고리2) 종지부를 찍다 오비지._하위 페이지 = trimWhitespace(하위 페이지, 진실의) 오비지._bas2 = trimWhitespace(카테고리2) -- 빈 값을 제거하지 않음 종지부를 찍다 돌아오다 오비지 종지부를 찍다 기능을 하다 카테고리핸들러:매개 변수(핵심을) 국부적 매개 변수 이름 = 자아의._데이터.매개변수.[핵심을] 국부적 pntype = 타자를 치다(매개 변수 이름) 만일 pntype == '끈' 또는 pntype == '숫자' 그때 돌아오다 자아의._아그스[매개 변수 이름] 그렇지 않으면 pntype == '테이블' 그때 을 위해 _, 이름을 붙이다 아이페어(매개 변수 이름) 하다 국부적 가치를 매기다 = 자아의._아그스[이름을 붙이다] 만일 가치를 매기다 ~= 못을 박다 그때 돌아오다 가치를 매기다 종지부를 찍다 종지부를 찍다 돌아오다 못을 박다 다른 착오(문자열.format( '%svalu config 키 "%s"', 토스트링(핵심을) ), 2) 종지부를 찍다 종지부를 찍다 기능을 하다 카테고리핸들러:isSuppressedByArguments() 돌아오다 -- 카테고리 억제 인수가 설정되었는지 확인하십시오. 자아의._nocat == 진실의 또는 자아의._beakes == 거짓의 또는 ( 자아의._bas2 그리고 자아의._bas2 ~= 자아의._데이터.카테고리2 그리고 자아의._bas2 ~= 자아의._데이터.범주2 음수 ) -- 하위 페이지에 있는지 확인하고 카테고리가 있는지 확인하십시오. - 우리의 하위 페이지 상태에 근거하여 억압된 것. 또는 자아의._하위 페이지 == 자아의._데이터.하위 페이지No 그리고 자아의.칭호를 붙이다.isSub 페이지 또는 자아의._하위 페이지 == 자아의._데이터.하위 페이지만 그리고 아닌 자아의.칭호를 붙이다.isSub 페이지 종지부를 찍다 기능을 하다 카테고리핸들러:shouldSkip BlocketCheck() -- 카테고리 억제 인수가 다음을 나타내는지 확인 - 블랙리스트 확인은 건너뛰어야 함. 돌아오다 자아의._nocat == 거짓의 또는 자아의._beakes == 진실의 또는 자아의._bas2 == 자아의._데이터.카테고리2 종지부를 찍다 기능을 하다 카테고리핸들러:블랙리스트와 일치() 만일 자아의.usesCurrentTitle 그때 돌아오다 자아의._데이터.currentTitleMatches 블랙리스트 다른 mShared = mShared 또는 요구하다('모듈:범주 핸들러/공유') 돌아오다 mShared.블랙리스트와 일치( 자아의.칭호를 붙이다.접두사의텍스트, mw.로드데이터('모듈:범주 핸들러/블랙리스트') ) 종지부를 찍다 종지부를 찍다 기능을 하다 카테고리핸들러:IsSuppressed() -- 범주가 인수에 의해 또는 인수에 의해 억제되는지 확인 - 블랙리스트와 일치한다. 돌아오다 자아의:isSuppressedByArguments() 또는 아닌 자아의:shouldSkip BlocketCheck() 그리고 자아의:블랙리스트와 일치() 종지부를 찍다 기능을 하다 카테고리핸들러:getNamespaceParameter() 만일 자아의.usesCurrentTitle 그때 돌아오다 자아의._데이터.currentTitleNamespaceParameter 다른 만일 아닌 매핑 그때 mShared = mShared 또는 요구하다('모듈:범주 핸들러/공유') 매핑 = mShared.getParamMappings(진실의) -- mw.loadData를 사용한 매핑 가져오기 종지부를 찍다 돌아오다 mShared.getNamespaceParameter( 자아의.칭호를 붙이다, 매핑 ) 종지부를 찍다 종지부를 찍다 기능을 하다 카테고리핸들러:네임스페이스모수존재하다() -- 네임스페이스 매개변수가 지정되었는지 여부를 확인하십시오. -- 우리는 "all" --> 네임스페이스 매개 변수 --> 이렇게 "other"라는 순서를 사용한다. - 예전 템플릿이 그랬어. 만일 자아의:매개 변수('모두') 그때 돌아오다 진실의 종지부를 찍다 만일 아닌 매핑 그때 mShared = mShared 또는 요구하다('모듈:범주 핸들러/공유') 매핑 = mShared.getParamMappings(진실의) -- mw.loadData를 사용한 매핑 가져오기 종지부를 찍다 을 위해 ns, 모조품 쌍들(매핑) 하다 을 위해 i, PARAM. 아이페어(모조품) 하다 만일 자아의._아그스[PARAM.] 그때 돌아오다 진실의 종지부를 찍다 종지부를 찍다 종지부를 찍다 만일 자아의:매개 변수('기타') 그때 돌아오다 진실의 종지부를 찍다 돌아오다 거짓의 종지부를 찍다 기능을 하다 카테고리핸들러:getCategories() 국부적 모조품 = 자아의:getNamespaceParameter() 국부적 ns카테고리 을 위해 i, PARAM. 아이페어(모조품) 하다 국부적 가치를 매기다 = 자아의._아그스[PARAM.] 만일 가치를 매기다 ~= 못을 박다 그때 ns카테고리 = 가치를 매기다 부숴뜨리다 종지부를 찍다 종지부를 찍다 만일 ns카테고리 ~= 못을 박다 또는 자아의:네임스페이스모수존재하다() 그때 -- 네임스페이스 매개변수가 있음 - 고급 사용. 만일 ns카테고리 == 못을 박다 그때 ns카테고리 = 자아의:매개 변수('기타') 종지부를 찍다 국부적 되받아치다 = {자아의:매개 변수('모두')} 국부적 numParam = 톤넘버(ns카테고리) 만일 numParam 그리고 numParam >= 1 그리고 수학을 하다.(numParam) == numParam 그때 -- nsCategory는 정수임 되받아치다[#되받아치다 + 1] = 자아의._아그스[numParam] 다른 되받아치다[#되받아치다 + 1] = ns카테고리 종지부를 찍다 만일 #되받아치다 < 1 그때 돌아오다 못을 박다 다른 돌아오다 table.classat(되받아치다) 종지부를 찍다 그렇지 않으면 자아의._데이터.defaultNamespaces[자아의.칭호를 붙이다.네임스페이스] 그때 -- 네임스페이스 매개변수가 존재하지 않으며, 간단한 사용. 돌아오다 자아의._아그스[1] 종지부를 찍다 돌아오다 못을 박다 종지부를 찍다 -------------------------------------------------------------------------------- -- 수출 -------------------------------------------------------------------------------- 국부적 p = {} 기능을 하다 p._exportClasses() -- 테스트 목적으로 사용됨. 돌아오다 { 카테고리핸들러 = 카테고리핸들러 } 종지부를 찍다 기능을 하다 p._주요(아그, 자료) 자료 = 자료 또는 mw.로드데이터('모듈:범주 핸들러/데이터') 국부적 핸들러 = 카테고리핸들러.새로운(자료, 아그) 만일 핸들러:IsSuppressed() 그때 돌아오다 못을 박다 종지부를 찍다 돌아오다 핸들러:getCategories() 종지부를 찍다 기능을 하다 p.본래의(액자에 넣다, 자료) 자료 = 자료 또는 mw.로드데이터('모듈:범주 핸들러/데이터') 국부적 아그 = 요구하다('모듈:주장').게타르크스(액자에 넣다, { 포장지 = 자료.포장지, valueFunc = 기능을 하다 (k, v) v = trimWhitespace(v) 만일 타자를 치다(k) == '숫자' 그때 만일 v ~= '' 그때 돌아오다 v 다른 돌아오다 못을 박다 종지부를 찍다 다른 돌아오다 v 종지부를 찍다 종지부를 찍다 }) 돌아오다 p._주요(아그, 자료) 종지부를 찍다 돌아오다 p