모듈:레이블 목록 해트노트
Module:Labelled list hatnote| 이 모듈은 페이지 보호의 대상이 된다.그것은 매우 많은 페이지들이 사용하고 있거나 매우 자주 교체되는 매우 눈에 잘 띄는 모듈이다.공공 기물 파손이나 실수가 많은 페이지에 영향을 미치고 사소한 편집이라도 서버에 상당한 부하를 줄 수 있기 때문에 편집으로부터 보호된다. |
| 이 Lua 모듈은 MediaWiki에서 사용된다.수배 페이지 - 요약 및 전체 페이지의 약 1%인 약 499,000페이지. 그것에 대한 변경은 위키백과 사용자 인터페이스에 즉각적인 변화를 일으킬 수 있다. 큰 중단과 서버 로드를 방지하려면 모듈의 /샌드박스 또는 /테스트케이스 하위 페이지 또는 사용자 고유의 모듈 샌드박스에서 변경 사항을 테스트해야 한다.테스트한 변경사항은 한 번의 편집으로 이 페이지에 추가될 수 있다.변경 사항을 적용하기 전에 토크 페이지에서 논의하십시오. |
| 이 모듈은 다음과 같은 다른 모듈에 의존한다. |
사용법
라벨 목록
호출하는 중labelledList()함수는 그러한 템플릿을 대부분 구현하기에 충분하다.
{{#invoke:Labelled list hatnote labelledList Universal label}}
또는
{{#invoke:Labelled list hatnote labelledList Singular label Plural label}}
예를 들어 "유니버설 라벨" 대신 "See alone"을 제공하면 {{n1}의 기능이 중복되는 반면, "Singular label"과 "Pural label" 대신 "Main writer"와 "Main writer"를 제공하면 {{main}의 (문서 네임스페이스) 기능이 중복된다.
세 번째 및 네 번째 라벨이 제공될 경우, 대상 페이지 중 하나가 기사 네임스페이스 외부에 있는 경우에 사용할 수 있으므로, 다음과 같이 {{main}을(를) 구현할 수 있다.
{{#invoke:Labelled list hatnote labelledList Main article Main articles Main page Main pages}}
사전 처리디스플레이
그preprocessDisplays()함수는 인수의 원시 리스트를 취하며 모든 표시 인수에 결합한다.예를 들어,{{see also 1 l1=One}}처음에 인수 테이블이 있음{'1', ['l1'] = 'One'}; 이 테이블은 그것들을 테이블로 결합할 것이다.{'1 One'}. 수동 배관보다 우선한다(예:{{see also 1{{!}}2 l1=One}}→{'1 One'}파라미터를 건너뛰거나 비워 두면 스파스 배열을 압축한다.
국부적 mLabelatedList = 요구하다('모듈:라벨 목록 해트노트') 국부적 페이지, = mLabelatedList.사전 처리디스플레이(아그) _labeldList
계속 사용하는 동안 기능을 약간 수정해야 하는 모듈의 경우,_labelledList()약간의 융통성을 제공한다.세 가지 매개 변수가 필요함:
- 페이지 목록(가급적으로 사전 처리 및 압축됨)
preprocessDisplays - 레이블 표, 여기서 첫 번째 항목은 단수 또는 범용 레이블이고 두 번째 항목은 복수 레이블 또는 첫 번째 레이블의 복사본이다.
- 옵션 표(가능한 경우 다음을 포함):
국부적 mLabelatedList = 요구하다('모듈:라벨 목록 해트노트') 돌아오다 mLabelatedList._labeldList(페이지,, 꼬리표, 옵션들) 오류
이 모듈은 페이지 이름이 템플릿 매개 변수로 제공되지 않을 경우 그에 기반한 템플릿을 생성하여 오류 메시지를 생성한다.일반적으로 이러한 경우 템플릿 설명서의 "오류" 섹션으로 돌아가야 한다.그러나 이러한 템플릿이 다음이 포함된 모듈을 사용하는 경우_labelledList()그리고 a를 제공하지 않는다.template옵션 표에 있는 항목, 이 오류는 기본적으로 다시 여기로 이동하게 된다.오류는 해당 템플릿에 유효한 페이지 이름 매개 변수를 하나 이상 제공하여 해결할 수 있으며, 템플릿의 문제는 해당 템플릿에 값을 제공하여 해결할 수 있다.template의 항목_labelledList() options테이블
-------------------------------------------------------------------------------- -- 라벨이 표시된 목록 -- -- -- -- 이 모듈은 목록으로 구성된 해트노트를 만드는 핵심 작업을 한다. -- 콜론 종단 레이블(예: "LABel: [andlist of pages]), -- - {{}}}과(와) 유사한 템플릿의 경우 - -------------------------------------------------------------------------------- 국부적 mHatnote = 요구하다('모듈:해트노트') 국부적 mHatlist = 요구하다('모듈:해트노트 목록') 국부적 무어먼트 -- 게으름 피우다. 국부적 p = {} -- 이 모듈의 전역 기본값 국부적 채무 불이행 = { 라벨을 붙이다 = '역시 참조.', --라벨 인수에 대한 최종 폴백 레이블 양식 = '%s: %s', 접두사 = {'label', 'label', 'l'}, 템플릿 = '모듈:라벨 목록 해트노트' } -- 화면표시 매개변수를 페이지 인수에 미리 결합하는 도우미 기능. -- 또한 바람직한 부작용으로서 희박한 배열을 압축한다. 기능을 하다 p.사전 처리디스플레이 (아그, 접두사) -- 표시 옵션을 확인할 매개변수를 순서대로 지정하는 접두사 -- 'label1', 'label1', 'label 1' 및 'l1'과 같은 번호로 자동 적용됨 접두사 = 접두사 또는 채무 불이행.접두사 국부적 페이지, = {} 을 위해 k, v 에 쌍들(아그) 하다 만일 타자를 치다(k) == '숫자' 그때 국부적 전시하다 을 위해 i = 1, #접두사 하다 전시하다 = 아그[접두사[i] .. k] 만일 전시하다 그때 부숴뜨리다 종지부를 찍다 종지부를 찍다 국부적 페이지를 매기다 = 전시하다 그리고 문자열.format('%s %s', 끈.gsub(v, ' .*
