모듈:카테고리 핸들러/문서

Module


모듈에서는 {{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에서 사용할 수 있는 네임스페이스 탐지.

「 」를 참조해 주세요.