모듈:카테고리 핸들러/문서
Module| 이 Lua 모듈은 시스템메시지에 사용되며 약 4,380,000페이지(전체 페이지의 약 8%)에 사용됩니다. 이를 변경하면 Wikipedia 사용자 인터페이스가 즉시 변경될 수 있습니다. 중대한 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 서브페이지 또는 자체 모듈 샌드박스에서 변경을 테스트해야 합니다.테스트한 변경은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.토크 페이지에서 변경 사항을 논의한 후 구현하십시오. |
이 모듈에서는 {{category handler}} 템플릿을 구현합니다.카테고리 핸들러 템플릿을 사용하면 다른 템플릿이 카테고리 분류와 카테고리 억제를 모두 자동화할 수 있습니다.다른 템플릿에서 카테고리 핸들러 템플릿을 사용하는 방법에 대한 자세한 내용은 템플릿 설명서를 참조하십시오.다른 Lua 모듈에서 카테고리 핸들러 모듈을 사용하는 방법 또는 이 모듈을 다른 Wiki로 내보내는 방법에 대해서는 계속 읽어보십시오.
다른 Lua 모듈에서 사용
이 모듈을 사용하지 않는 경우
모듈이 네임스페이스 메인(기사), 파일(이미지) 또는 카테고리 중 하나로만 분류할 필요가 있는 경우 이 모듈을 사용하는 것은 오버킬입니다.대신 mw.title.getCurrentTitle을 사용하여 제목 객체를 가져와nsText필드. 예:
현지의 직함 = 음.직함.get Current Title(전류 제목)() 한다면 직함.nsText == '파일' 그리고나서 --무엇인가를 하다 끝. 단, 모듈이 다른 네임스페이스에서 분류할 필요가 있는 경우 이 모듈을 사용하는 것이 좋습니다.이 모듈을 사용하면 적절한 카테고리 억제를 할 수 있고 다른 네임스페이스에서 분류 방법을 쉽게 선택할 수 있기 때문입니다.
네임스페이스
이 모듈에서는 Wikipedia에서 사용되는 모든 다른 네임스페이스를 검출하여 여러 유형으로 그룹화합니다.이러한 유형은 이 모듈에서 파라미터 이름으로 사용됩니다.
- = 메인/기사 공간(일반 위키피디아 문서와 동일).
- talk = "Talk:", "User talk:", "File talk:" 등으로 시작하는 페이지 이름 등 임의의 토크 공간.
- 사용자, 위키백과, 파일...= 토크 페이지 이외의 네임스페이스.네임스페이스 에일리어스도 사용할 수 있습니다.전체 목록은 아래 표를 참조하십시오.
- 기타 = 템플릿의 매개 변수로 지정되지 않은 모든 네임스페이스.아래의 예를 참조해 주세요.
- 사용 가능한 네임스페이스 매개 변수 목록
(제외)talk그리고.other)
| 네임스페이스 | 에일리어스 |
|---|---|
main | |
user | |
wikipedia | project,wp |
file | image |
mediawiki | |
template | |
help | |
category | |
portal | |
draft | |
timedtext | |
module | |
gadget | |
gadget definition |
기본 사용법
이 모듈에는 2개 이상의 파라미터가 있습니다.다음은 hello world 프로그램을 사용하는 예입니다.
p = {} 현지의 카테고리 핸들러 = 요구하다( '모듈:카테고리 핸들러' ).주된 기능. p.주된( 틀 ) 현지의 결과 = '헬로우 월드!' 현지의 카테고리 = 카테고리 핸들러{ '[카테고리:썸캣] ]', 고양이 = 틀.args.고양이 -- "nocat=true/false"는 동작합니다. } 카테고리 = 카테고리 또는 '' -- 카테고리 변수의 값이 0이 아닌지 확인합니다. 돌아가다 결과 .. 카테고리 끝. 돌아가다 p 위의 예에서는 카테고리 핸들러 모듈의 기본 설정을 사용합니다.즉, 예제 모듈은 다음 네임스페이스 페이지에서 분류됩니다.
- 메인, 파일, 도움말, 카테고리, 포털 및 북
그러나 다음과 같은 다른 네임스페이스에서는 분류되지 않습니다.
- talk, 사용자, 위키백과, 미디어위키, 템플릿...
블랙리스트에 있는 페이지에는 분류되지 않습니다.(아래 섹션 블랙리스트를 참조하십시오).
카테고리 핸들러 모듈이 일부 네임스페이스에서 분류되지 않는 이유는 이러한 네임스페이스에서 대부분의 모듈과 템플릿은 단지 표시 또는 나열되었을 뿐 사용되지 않기 때문입니다.따라서 대부분의 모듈과 템플릿은 이러한 네임스페이스로 분류되지 않습니다.
이 모듈이 분류하는1개 또는 여러 네임스페이스용 모듈 또는 템플릿은 위와 같이 기본 구문을 사용할 수 있습니다.
고도의 사용법
이 모듈에서는 위의 섹션 네임스페이스에 기재되어 있는 다른 페이지유형의 이름을 딴 파라미터를 1개 이상 사용합니다.이러한 매개변수를 사용하면 템플릿이 분류할 네임스페이스를 정확하게 지정할 수 있습니다.다음과 같이 합니다.
p = {} 현지의 카테고리 핸들러 = 요구하다( '모듈:카테고리 핸들러' ).주된 기능. p.주된( 틀 ) 현지의 결과 = 기사 및 토크 페이지를 위한 모듈입니다. 현지의 카테고리 = 카테고리 핸들러{ 주된 = '[카테고리:Somecat1 ] ]', -- 메인(기사) 공간에서 분류합니다. 말해라. = '[카테고리:Somecat2 ] ]', --토크 공간에서 분류합니다. 고양이 = 틀.args.고양이 -- "nocat=true/false"는 동작합니다. } 카테고리 = 카테고리 또는 '' -- 카테고리 변수의 값이 0이 아닌지 확인합니다. 돌아가다 결과 .. 카테고리 끝. 돌아가다 p 위의 모듈에서는 메인 및 토크 공간만 분류합니다.그러나 /archive 페이지는 블랙리스트에 있으므로 분류되지 않습니다.(아래 섹션 블랙리스트를 참조하십시오).토크 페이지에서 모듈을 시연(논의)할 필요가 있는 경우는, 「」를 입력할 수 있습니다.nocat='true'템플릿이 분류되지 않도록 합니다.(아래 섹션 nocat 참조).다음과 같이 합니다.
==나의 새로운 모듈==여러분, 나의 새로운 모듈을 보셨나요?{{#mymodule main nocat=true} 멋있죠? --~~~~ 여러 네임스페이스에서 동일한 카테고리를 사용하여 다음과 같은 작업을 수행할 수 있습니다.
p = {} 현지의 카테고리 핸들러 = 요구하다( '모듈:카테고리 핸들러' ).주된 기능. p.주된( 틀 ) 현지의 결과 = '여러 네임스페이스에 사용되는 모듈입니다.' 현지의 카테고리 = 카테고리 핸들러{ 주된 = '[카테고리:Somecat1 ] ]', [ 1 ] = '[카테고리:Somecat2 ] ]', -- 도움말 및 사용자 공간 필요 도와 주세요. = 1, 유저 = 1, 말해라. = '', -- 토크 페이지에 카테고리가 없습니다. 다른. = '[카테고리:Somecat3 ] ]', -- 기타 모든 네임스페이스의 경우 고양이 = 틀.args.고양이 -- "nocat=true/false"는 동작합니다. } 카테고리 = 카테고리 또는 '' -- 카테고리 변수의 값이 0이 아닌지 확인합니다. 돌아가다 결과 .. 카테고리 끝. 돌아가다 p 위의 예에서는 numbered 파라미터를 사용하여 카테고리 중 하나를 공급하고 이 모듈에서 도움말과 사용자 공간 모두에 해당 numbered 파라미터를 사용하도록 지시합니다.
카테고리 핸들러 모듈은 번호가 매겨진 파라미터의 수를 무제한으로 인식합니다.
다른 파라미터는 명시적으로 데이터를 공급받지 않은 나머지 네임스페이스에서 사용해야 할 것을 정의합니다.
비어 있지만 정의된 talk 파라미터에 주의해 주십시오.이로 인해 토크 공간에 있을 때 이 모듈은 다른 파라미터에 공급된 정보를 표시할 수 없게 됩니다.
카테고리 핸들러 모듈에는 all이라는 파라미터도 있습니다.다음과 같이 동작합니다.
p = {} 현지의 카테고리 핸들러 = 요구하다( '모듈:카테고리 핸들러' ).주된 기능. p.주된( 틀 ) 현지의 결과 = 모든 네임스페이스에 사용되는 모듈입니다. 현지의 카테고리 = 카테고리 핸들러{ 모든. = '[카테고리:Somecat1 ] ]', -- 모든 네임스페이스로 분류합니다. 고양이 = 틀.args.고양이 -- "nocat=true/false"는 동작합니다. } 카테고리 = 카테고리 또는 '' -- 카테고리 변수의 값이 0이 아닌지 확인합니다. 돌아가다 결과 .. 카테고리 끝. 돌아가다 p 위의 예에서는 모든 네임스페이스에 분류되지만 블랙리스트 페이지에는 분류되지 않습니다.페이지에서 모듈을 시연하려면 "를 사용하십시오.nocat=true템플릿 분류를 금지합니다.
모듈 및 템플릿은 필요한 네임스페이스 내에서만 분류하는 것이 좋기 때문에 모든 파라미터를 피하는 것이 좋습니다.
all 파라미터는 나머지 파라미터와 조합할 수도 있습니다.다음과 같이 합니다.
p = {} 현지의 카테고리 핸들러 = 요구하다( '모듈:카테고리 핸들러' ).주된 기능. p.주된( 틀 ) 현지의 결과 = 모든 네임스페이스에 사용되는 모듈입니다. 현지의 카테고리 = 카테고리 핸들러{ 모든. = '[카테고리:Somecat1 ] ]', -- 모든 네임스페이스로 분류합니다. 주된 = '[카테고리:Somecat2 ] ]', -- 그리고 이것을 메인 공간에 추가합니다. 다른. = '[카테고리:Somecat3 ] ]', -- 그리고 이것을 다른 모든 네임스페이스에 추가합니다. 고양이 = 틀.args.고양이 -- "nocat=true/false"는 동작합니다. } 카테고리 = 카테고리 또는 '' -- 카테고리 변수의 값이 0이 아닌지 확인합니다. 돌아가다 결과 .. 카테고리 끝. 돌아가다 p 위 모듈을 문서에 배치하면 "Somecat1" 및 "Somecat2" 카테고리가 추가됩니다.그러나 다른 모든 유형의 페이지에서는 대신 "Somecat1"과 "Somecat3"가 추가됩니다.예시와 같이 all 파라미터는 나머지 파라미터와 독립적으로 동작합니다.
서브페이지
카테고리 핸들러 모듈은 서브페이지 파라미터를 인식합니다.다음과 같이 합니다.
p = {} 현지의 카테고리 핸들러 = 요구하다( '모듈:카테고리 핸들러' ).주된 기능. p.주된( 틀 ) 현지의 결과 = 모든 네임스페이스에 사용되는 모듈입니다. 현지의 카테고리 = 카테고리 핸들러{ 서브 페이지 = '아니요' -- 서브페이지에 분류하지 않음 위키백과 = '[카테고리:썸캣] ]', 고양이 = 틀.args.고양이 -- "nocat=true/false"는 동작합니다. } 카테고리 = 카테고리 또는 '' -- 카테고리 변수의 값이 0이 아닌지 확인합니다. 돌아가다 결과 .. 카테고리 끝. 돌아가다 p 만약 "subpage='no'이 템플릿은 서브페이지에서 분류되지 않습니다.드물게 서브페이지에서만 분류하고 싶은 경우는, 「」를 사용해 주세요.subpage='only'". 서브페이지가 비어 있거나 정의되어 있지 않은 경우 이 템플릿은 베이스페이지와 서브페이지 양쪽을 분류합니다.
블랙리스트
이 모듈에는 템플릿이 자동으로 분류되지 않는 페이지 및 페이지 유형의 블랙리스트가 있습니다.따라서 이 메타템플릿을 사용하는 모듈은 예를 들어 /archive 페이지와 Wikipedia 서브페이지에서 분류하지 않습니다.템플릿 메시지
블랙리스트 페이지에서 템플릿을 분류하려면 " "를 입력합니다.nocat = false모듈을 페이지에 배치하면 블랙리스트 체크가 생략됩니다.이 모듈은 네임스페이스에 대한 데이터가 있는 경우에만 분류합니다.예를 들어 기본 구문을 사용하는 경우(위의 기본 사용법을 참조), " 를 설정해도 됩니다.nocat = false템플릿은 토크 페이지에 데이터가 없기 때문에 토크 페이지에 분류되지 않습니다.그러나 도움말 공간에 대한 데이터가 있으므로 블랙리스트에 있는 도움말 페이지에서 분류됩니다.
블랙리스트는 구성 테이블에 있습니다.cfg.blacklist모듈 코드의 맨 위 근처에 있습니다.
nocat 파라미터
이 모듈에서는 nocat 파라미터에 대해 설명합니다.
- 만약 "
nocat = true이 템플릿은 분류되지 않습니다. - 노캣이
nil그러면 이 템플릿은 평소대로 분류됩니다. - 만약 "
nocat = false" 이 템플릿은 블랙리스트에 있는 페이지에서도 분류됩니다.(상기 블랙리스트를 참조해 주세요). - nocat 파라미터에는 다음 에일리어스도 사용할 수 있습니다.
true그리고.false모듈 정의:예(예: "yes", "y", "true", "1" 등)true, "no", "n", "false" 및 "0"의 경우false.
{{category handler}}을(를) 사용하는 모듈 및 템플릿은 nocat을 전송해야 하므로 nocat도 이해할 수 있습니다.코드 "nocat = frame.args.nocat이 페이지의 예에 나타나 있는 「」는, 이것을 실시합니다.
"categories" 파라미터
하위 호환성을 위해 이 모듈에서는 범주 매개 변수도 이해합니다.노캣과 같은 기능을 합니다.다음과 같이 합니다.
- 만약 "
categories = false이 템플릿은 분류되지 않습니다. - 범주가 비어 있거나 정의되지 않은 경우 이 템플릿은 평상시와 같이 분류됩니다.
- 만약 "
categories = true" 이 템플릿은 블랙리스트에 있는 페이지에서도 분류됩니다. - 카테고리 파라미터에는 다음 에일리어스도 사용할 수 있습니다.
true그리고.false모듈 정의:예(예: "yes", "y", "true", "1" 등)true, "no", "n", "false" 및 "0"의 경우false.
category2 파라미터
이전 버전과의 호환성을 위해 이 템플릿은 이전 "category =" 매개 변수를 지원합니다.그러나 이 모듈에서는 카테고리 공간에 있을 때 카테고리 데이터를 공급하기 위해 파라미터 이름 "category"가 이미 사용되고 있습니다.대신 이 템플릿은 nocat과 유사한 용도로 카테고리2 를 사용합니다.다음과 같이 합니다.
- 만약 "
category2 = "(공백하지만 정의됨) 또는category2 = 'no'" 또는 카테고리 2에 다른 데이터가 공급되는 경우(다음 2개의 포인트에서 설명되는 경우 제외), 이 템플릿은 분류되지 않습니다. - category2가 정의되지 않은 경우 또는 "
category2 = '¬'" 그러면 이 템플릿은 평상시와 같이 분류됩니다. - 만약 "
category2 = 'yes'" 이 템플릿은 블랙리스트에 있는 페이지에서도 분류됩니다.
카테고리 및 텍스트
카테고리 외에 텍스트 등 다른 모든 것을 이 모듈에 입력할 수 있습니다.다음과 같이 합니다.
p = {} 현지의 카테고리 핸들러 = 요구하다( '모듈:카테고리 핸들러' ).주된 기능. p.주된( 틀 ) 현지의 결과 = '이것은 토크 페이지에 사용되는 모듈입니다.' 현지의 카테고리 = 카테고리 핸들러{ 말해라. = '[카테고리:썸캣] ]', 다른. = '<p class="에러"이 모듈은 토크 페이지에서만 사용해야 합니다.</p>', 고양이 = 틀.args.고양이 -- "nocat=true/false"는 동작합니다. } 카테고리 = 카테고리 또는 '' -- 카테고리 변수의 값이 0이 아닌지 확인합니다. 돌아가다 결과 .. 카테고리 끝. 돌아가다 p 위의 모듈코드를 Talk 페이지 이외의 다른 페이지에서 사용하면 다음과 같이 표시됩니다.
- 토크 페이지에서 사용하는 모듈입니다.
이 모듈은 토크 페이지에서만 사용해야 합니다.
이 텍스트는 블랙리스트 페이지에 표시되지 않으므로 이 방법을 사용하여 중요한 정보를 표시하지 마십시오.공급 "nocat = 'true'" 는 모든 카테고리를 억제하는 것과 마찬가지로 텍스트를 숨깁니다.
"page" 파라미터
테스트 및 데모를 위해 이 모듈은 page라는 이름의 매개 변수를 사용할 수 있습니다.다음과 같이 합니다.
p = {} 현지의 카테고리 핸들러 = 요구하다( '모듈:카테고리 핸들러' ).주된 기능. p.주된( 틀 ) 현지의 카테고리 = 카테고리 핸들러{ 주된 = '카테고리:어떤 고양이', 말해라. = '카테고리:고양이에게 말하다, 고양이 = 틀.args.고양이, -- "nocat=true/false"는 동작합니다. 페이지입니다. = '사용자 토크:예' } 돌아가다 카테고리 끝. 돌아가다 p 위 코드에서는, 일부러 카테고리명의 주위에 괄호를 붙여, 페이지의 출력을 확인할 수 있습니다.위의 코드가 사용되는 페이지의 종류에 관계없이, 다음과 같이 반환됩니다.
- 카테고리:수다쟁이 고양이
page 파라미터는 이 모듈을 해당 페이지와 동일하게 동작시킵니다.블랙리스트도 통한다.pagename이 기존 페이지일 필요는 없습니다.
페이지 매개 변수가 비어 있거나 정의되지 않은 경우 현재 페이지의 이름에 따라 결과가 결정됩니다.
모듈이 페이지 파라미터도 이해할 수 있도록 할 수 있습니다.즉, 실제로 페이지를 편집할 필요 없이 템플릿이 다른 페이지에서 어떻게 분류되는지 테스트할 수 있습니다.그럼 이렇게 해 주세요.
p = {} 현지의 카테고리 핸들러 = 요구하다( '모듈:카테고리 핸들러' ).주된 기능. p.주된( 틀 ) 현지의 카테고리 = 카테고리 핸들러{ 주된 = '카테고리:어떤 고양이', 말해라. = '카테고리:고양이에게 말하다, 고양이 = 틀.args.고양이, -- "nocat=true/false"는 동작합니다. 페이지입니다. = 틀.args.페이지입니다. -- 테스트용 } 돌아가다 카테고리 끝. 돌아가다 p 파라미터
모든 파라미터 목록:
- 첫 번째 위치 매개변수 - 기본 설정용
- 하위 페이지 = '아니요' / '전용'
- 1, 2, 3 ...
- all = '[카테고리:Somecat]' / '텍스트'
- 주 = 1, 2, 3 ... / '[범주:Somecat]' / '텍스트'
- ...
- 기타 = 1, 2, 3 ... / '[카테고리:Somecat]' / '텍스트'
- nocat = frame.sys.nocat / true / false / 'yes' / 'no' / 'n' / 'true' / 'false' / 1 / 0
- 범주 = frame.bracks. 범주 / false / true / 'no' / 'yes' / 'y' / 'false' / 'true' / 0 / 1
- category2 = frame.frames.category 또는 'category' / 'no' / 'defined' / 'defined' / 'yes'
- 페이지 = frame.flashs.page / '사용자:예'
"main"에 대한 빈 값은..."기타" 파라미터에는 특별한 의미가 있습니다(위의 예 참조)."all" 파라미터는 번호가 매겨진 파라미터를 이해할 수 없습니다.이는 번호가 매겨진 파라미터가 필요 없기 때문입니다.
다른 Wiki로 내보내기
이 모듈은 다른 Wiki로 내보낼 수 있습니다.cfg표. 모든 변수 값은 설정 가능하므로 설정 값을 설정한 후에는 메인 모듈 코드를 변경할 필요가 없습니다.각 설정 값의 자세한 내용은 모듈코드 코멘트에 기재되어 있습니다.또한 이 모듈에는 모듈이 필요합니다.로컬 Wiki에서 사용할 수 있는 네임스페이스 탐지.
