모듈:라벨 부착 리스트 해트노트/샌드박스
Module| 모듈 샌드박스 페이지는 다음과 같습니다.라벨이 붙은 리스트해트노트(diff). 테스트 케이스에 대해서는, 부속의 서브 페이지도 참조해 주세요. |
| 이 모듈은 페이지 보호 대상입니다.이 모듈은 매우 많은 페이지에서 사용 중이거나 매우 자주 교체됩니다.파손이나 실수는 많은 페이지에 영향을 미치고 사소한 편집이라도 서버에 큰 부하가 걸릴 수 있으므로 편집으로부터 보호됩니다. |
| 이 Lua 모듈은 MediaWiki에서 사용됩니다.수배 페이지 요약 이를 변경하면 Wikipedia 사용자 인터페이스가 즉시 변경될 수 있습니다. 중대한 중단을 방지하려면 모듈의 /sandbox 또는 /testcase 서브페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트한 변경은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.토크 페이지에서 변경 사항을 논의한 후 구현하십시오. |
| 이 모듈은 다음 다른 모듈에 의존합니다. |
사용.
labeled List(라벨 리스트)
를 호출하다labelledList()다음과 같은 대부분의 템플릿을 구현하기에 충분한 함수입니다.
{{#invoke:Labelled list hatnote labelledList Universal label}}
또는
{{#invoke:Labelled list hatnote labelledList Singular label Plural label}}
예를 들어 "Universal label" 대신 "See also"를 지정하면 {{see also}}의 기능이 중복되고 "Singlear label" 및 "Polical label" 대신 "Main article"과 "Main article"이 중복됩니다.
세 번째 및 네 번째 라벨이 제공되는 경우 대상 페이지 중 하나가 기사 이름 공간 외부에 있는 경우에 사용되므로 다음과 같이 {{main}}을(를) 구현할 수 있습니다.
{{#invoke:Labelled list hatnote labelledList Main article Main articles Main page Main pages}}
전처리 화면
그preprocessDisplays()function은 인수의 원시 목록을 가져와 임의의 표시 인수로 결합합니다.예를들면,{{see also 1 l1=One}}처음에 인수 테이블을 가지고 있습니다.{'1', ['l1'] = 'One'}; 이 테이블은 그것들을 테이블로 조합합니다.{'1 One'}. 수동 배관보다 우선됩니다(예:{{see also 1{{!}}2 l1=One}}→{'1 One'}파라미터를 건너뛰거나 비워두면 스파스 배열이 압축됩니다.
현지의 mLabelled 리스트 = 요구하다('모듈:라벨 목록 해트노트') 현지의 페이지 = mLabelled 리스트.전처리 화면(args) _라벨 부착 리스트
사용 중 기능을 약간 변경해야 하는 모듈의 경우,_labelledList()는 유연성을 제공합니다.여기에는 다음 3가지 파라미터가 있습니다.
- 페이지 목록(가능하면 사전 처리 및 압축)
preprocessDisplays - 라벨 테이블. 여기서 제1항목이 단수 또는 범용 라벨이고, 제2항목이 제1의 복수의 라벨 또는 복사본 중 하나이다.
- 다음을 포함하는 옵션 테이블입니다.
현지의 mLabelled 리스트 = 요구하다('모듈:라벨 목록 해트노트') 돌아가다 mLabelled 리스트._라벨 부착 리스트(페이지, 라벨, 옵션들) 에러
이 모듈이 없는 경우 페이지에는 이름 템플릿 매개 변수로 제공될 경우 템플릿을 이것을 토대로 오류 메시지를 생산하는 원인이 된다.보통, 이 다시"오류"섹션으로 그 템플릿은 문서에서 이끌어야 한다.하지만 그 템플릿을 갖춘 모듈을 사용한다._labelledList()그리고 제공하지 않template여기에 대한 항목 그들의 선택의 테이블에서 해당 오류 기본 값.그 오류가 템플릿에 질문에 적어도 하나의 유효한 page-name 매개 변수를 제공함으로써, 템플릿에 문제는에게 어떤 가치를 제공하면 해결할 수 있다고 해결될 수 있다.template의 항목_labelledList() options테이블.
-------------------------------------------------------------------------------- -- 라벨이 붙은 리스트 -- -- -- -- 이 모듈은 목록으로 구성된 해트노트를 작성하는 핵심 작업을 수행합니다. -- "LABEL: [and List of pages]"와 같이 콜론으로 끝나는 라벨이 앞에 붙습니다. -- {{see also}} 및 이와 유사한 템플릿에 대해 설명합니다. -------------------------------------------------------------------------------- 현지의 mHatnote = 요구하다('모듈:해트노트') 현지의 mHatlist(해트리스트) = 요구하다('모듈:Hatnote 목록') 현지의 mArguments(인수) --게으른 초기화 현지의 네, 아니요 --게으른 초기화 현지의 p = {} -- 이 모듈의 디폴트 글로벌 현지의 디폴트 = { 라벨. = '참조 항목', --label 인수의 최종 폴백 라벨 폼 = '%s: %s', 프리픽스 = {'라벨', '라벨', 'l'}, 템플릿 = '모듈:라벨 목록 해트노트' } -- 현지화 가능한 메시지 문자열 현지의 메시지 = { 에러 Suffix = '#오류', 입력 경고 없음 = '지정된 페이지 이름 없음', 출력 경고 없음 = "''[%s] - 출력 없음: 대상 페이지가 없습니다." } -- 표시 파라미터를 페이지 인수에 미리 결합하는 도우미 함수. -- 또, 바람직한 부작용으로서 스파스 어레이를 압축합니다. 기능. p.전처리 화면 (args, 프리픽스) -- 프리픽스는 표시 옵션을 체크할 파라미터를 순서대로 지정합니다. -- 각각 'label1', 'label1', 'label1' 등 번호가 자동으로 부가됩니다. 프리픽스 = 프리픽스 또는 디폴트.프리픽스 현지의 인덱스 = {} 현지의 스파스 페이지 = {} 위해서 k, v 에 쌍들(args) 하다 한다면 유형(k) == '숫자' 그리고나서 인덱스[#인덱스 + 1] = k 현지의 표시 위해서 i = 1, #프리픽스 하다 표시 = args[프리픽스[i] .. k] 한다면 표시 그리고나서 브레이크. 끝. 끝. 스파스 페이지[k] = 표시 그리고. string.format(%s %s', string.gsub(v, ' .*