모듈:해트노트
Module| 이 Lua 모듈은 MediaWiki에서 사용됩니다.전체 페이지의 약 3%에 해당하는 약 1,820,000 페이지의 요약 페이지를 원합니다. 변경하면 Wikipedia 사용자 인터페이스가 즉시 변경될 수 있습니다. 큰 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트된 변경 사항은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경 사항을 구현하기 전에 대화 페이지에서 변경 사항에 대해 논의하십시오. |
| 이 모듈은 페이지 보호 대상입니다.매우 많은 페이지에서 사용 중이거나 매우 자주 교체되는 가시성이 높은 모듈입니다.파괴 행위나 실수는 많은 페이지에 영향을 미치고 사소한 편집도 서버에 상당한 부하를 줄 수 있으므로 편집으로부터 보호됩니다. |
| 이 모듈은 다음과 같은 다른 모듈에 따라 달라집니다. |
| 이 모듈은 TemplateStyle을 사용합니다. |
이것은 해트노트 작성을 위한 다양한 기능을 제공하는 메타 모듈입니다.페이지 맨 위에 있는 모자 노트에 사용할 {hatnote} 템플릿을 구현합니다.또한 다른 Lua 해트노트 모듈에서 사용할 수 있는 다양한 도우미 기능도 포함되어 있습니다.
위키텍스트에서 사용
이 모듈의 기능은 #invoke에서 직접 사용할 수 없으며 템플릿을 통해 사용해야 합니다.템플릿을 참조하십시오.모자 노트 및 템플릿:문서 링크 형식을 지정합니다.
다른 Lua 모듈에서 사용
다른 Lua 모듈에서 이 모듈을 로드하려면 다음 코드를 사용합니다.
현지의 mHatnote = 요구하다('모듈:'햇노트') 그런 다음 아래에 설명된 대로 기능을 사용할 수 있습니다.
해트노트
mHatnote._hatnote(s, 옵션들) 문자열 형식 지정s모자장수표로이것은 동봉합니다.s꼬리표를 달고<div class="hatnote">...</div>옵션은 에서 제공됩니다.options표. 옵션은 다음과 같습니다.
- options.extraclasses제공할 일련의 추가 수업
- options.selfref이것이 0이 아니거나 거짓이 아니라면, 위키백과에 대한 자기 참조를 나타내는 데 사용되는 클래스 "selfref"를 추가합니다(템플릿:Selfref)
hatnote 클래스의 CSS는 Module:에 정의되어 있습니다.Hatnote/style.css.
- 예 1
mHatnote._hatnote('이것은 모자 노트입니다.') 생성물:<div class="hatnote">This is a hatnote.</div>
다음과 같이 표시됩니다.
- 예 2
mHatnote._hatnote('이것은 모자 노트입니다.', {과외 수업 = '문판도 참조', 셀프레프 = 진실의}) 생성물:<div class="hatnote boilerplate seealso selfref">This is a hatnote.</div>
다음과 같이 표시됨:
네임스페이스 ID 찾기
mHatnote.NamespaceId 찾기(링크, 콜론 제거) 문자열의 네임스페이스 ID를 찾습니다.link섹션 이름을 포함하거나 포함하지 않는 유효한 페이지 이름이어야 합니다.페이지 이름이 대괄호로 묶이면 이 기능이 작동하지 않습니다.네임스페이스 이름을 구문 분석할 때 콜론은 기본적으로 링크의 시작 부분에서 제거됩니다.이것은 사용자가 엄격하게 필요하지 않을 때 콜론을 지정한 경우 유용합니다.초기 콜론을 확인할 필요가 없는 경우 설정removeColon거짓으로
- 예
mHatnote.findNamespaceId('Lion')→ 0mHatnote.findNamespaceId('Category:Lions')→ 14mHatnote.findNamespaceId(':Category:Lions')→ 14mHatnote.findNamespaceId(':Category:Lions', false)0(이름 공간이 "카테고리"가 아닌 ":카테고리"로 검색됨)
위키 텍스트 오류 만들기
mHatnote.MakeWiktextError(메시지, 도움말 링크, 추적 카테고리 추가) 문자열 형식 지정msg빨간색 Wikitext 오류 메시지로, 도움말 페이지에 대한 선택적 링크 포함helpLink일반적으로 이 기능은 카테고리도 추가합니다.오류가 있는 해트노트 템플릿(1).범주화를 억제하려면 통과false함수의 세 번째 매개변수로서(addTrackingCategory).
예:
mHatnote.makeWikitextError('an error has occurred')오류: 오류가 발생했습니다.mHatnote.makeWikitextError('an error has occurred', 'Template:Example#Errors')오류: 오류가 발생했습니다(도움말).
예
다른 Lua 모듈에서 이 모듈을 사용하는 방법에 대한 예는 모듈:라벨링된 목록 해트노트
-------------------------------------------------------------------------------- 모듈:모자 노트 -- -- -- 이 모듈은 모자 노트 링크와 관련 기사 링크를 생성합니다.그것은 -- {{hatnote}} 및 {{formatlink} 메타데이터를 구현하며 다음을 포함합니다. 다른 Lua hatnote 모듈을 위한 도우미 기능. -- -------------------------------------------------------------------------------- 현지의 라이브러리유틸 = 요구하다('라이브러리유틸') 현지의 checkType = 라이브러리유틸.checkType 현지의 명명된 인수의 유형 확인 = 라이브러리유틸.명명된 인수의 유형 확인 현지의 m인수 [모듈]을 게으르게 초기화합니다.인수]] 현지의 예 아니오 [모듈]을 게으르게 초기화합니다.예 아니오] 현지의 formatLink [모듈]을 게으르게 초기화합니다.링크 형식 지정] ._formatLink 현지의 p = {} -------------------------------------------------------------------------------- 도우미 기능 -------------------------------------------------------------------------------- 현지의 기능. args를 얻다(틀) 부모 프레임에서 인수를 가져옵니다.공백이 잘리고 있습니다. 공백이 제거되었습니다. m인수 = 요구하다('모듈:인수') 돌아가다 m인수.args를 얻다(틀, {상위 항목만 = 진실의}) 끝. 현지의 기능. 초기 콜론 제거(s) 문자열(있는 경우)에서 초기 콜론을 제거합니다. 돌아가다 s:경기('^:?(.*)') 끝. 기능. p.기본 클래스(인라인의) 기본 해트노트 클래스를 공백으로 구분된 문자열로 제공합니다. 유용합니다. 모듈과 같은 모자 노트 조작 모듈의 경우:Hatnote group]]. 돌아가다 (인라인의 == 1 그리고. 'hat note-message' 또는 'hatnote') .. ' ' .. '검색할 수 없음' 끝. 기능. p.애매모호한(페이지입니다., 확증이 없는 사람) 명확한 괄호가 있는 페이지 제목 형식을 지정합니다. 예: "예" → "예(명확하지 않음)" checkType('명확하게', 1, 페이지입니다., '끈') checkType('명확하게', 2, 확증이 없는 사람, '끈', 진실의) 확증이 없는 사람 = 확증이 없는 사람 또는 '명확한 설명' 돌아가다 mw.ustring.서식을('%s(%s)', 페이지입니다., 확증이 없는 사람) 끝. 기능. p.NamespaceId 찾기(링크, 콜론 제거) 링크 또는 페이지 이름의 네임스페이스 ID(이름 공간 번호)를 찾습니다. 이것은 링크가 이중 괄호로 묶이면 기능이 작동하지 않습니다.콜론 기본적으로 링크의 시작 부분부터 자릅니다.콜론 건너뛰기 트리밍, removeColon 매개 변수를 false로 설정합니다. checkType('Find NamespaceId', 1, 링크, '끈') checkType('Find NamespaceId', 2, 콜론 제거, '''비공식''', 진실의) 한다면 콜론 제거 ~= 거짓의 그리고나서 링크 = 초기 콜론 제거(링크) 끝. 현지의 네임스페이스 = 링크:경기('^(.-):') 한다면 네임스페이스 그리고나서 현지의 ns테이블 = mw.위치.네임스페이스[네임스페이스] 한다면 ns테이블 그리고나서 돌아가다 ns테이블.이드 끝. 끝. 돌아가다 0 끝. 기능. p.MakeWiktextError(메시지, 도움말 링크, 추적 카테고리 추가, 제목) Wikitext에 반환할 오류 메시지를 포맷합니다. addTrackingCategory는 다음에서 반환된 후 거짓이 아닙니다. [[모듈:Yes no]]], 대화 페이지에 없는 경우 추적 범주 가 추가되었습니다. checkType('makeWiktextError', 1, 메시지, '끈') checkType('makeWiktextError', 2, 도움말 링크, '끈', 진실의) 예 아니오 = 요구하다('모듈:'예스노') 제목 = 제목 또는 mw.제목.현재 제목 가져오기() 도움말 링크 텍스트를 만듭니다. 현지의 도움말 텍스트 한다면 도움말 링크 그리고나서 도움말 텍스트 = ' ([[' .. 도움말 링크 .. [도움말])". 또 다른 도움말 텍스트 = '' 끝. 범주 텍스트를 만듭니다. 현지의 카테고리 한다면 것은 아니다. 제목.isTalk페이지 대화 페이지 분류 안 함 그리고. 제목.네임스페이스 ~= 2 사용자 공간 분류 안 함 그리고. 예 아니오(추적 카테고리 추가) ~= 거짓의 옵트아웃 허용 그리고나서 카테고리 = '오류가 있는 해트노트 템플릿' 카테고리 = mw.ustring.서식을( '[%s:%s]', mw.위치.네임스페이스[14].이름., 카테고리 ) 또 다른 카테고리 = '' 끝. 돌아가다 mw.ustring.서식을( '<strong class="error"> 오류: %s%s.</strong>%s', 메시지, 도움말 텍스트, 카테고리 ) 끝. 현지의 카렌 = mw.제목.현재 제목 가져오기().네임스페이스 p.대상 고양이 누락 = --기본적으로 누락된 대상 범주로, 관련 모듈에서 사용하기 위해 내보냅니다. ((카렌 == 0) 또는 (카렌 == 14)) 그리고. '존재하지 않는 페이지를 대상으로 하는 해트노트 템플릿이 있는 기사' 또는 영의 기능. p.인용문(제목) --제목을 따옴표로 묶습니다.제목이 따옴표로 시작하거나 끝나는 경우 --mark, 그 쪽을 {{-'}}와 같이 커닝합니다. 현지의 따옴표 = { ["'"]=진실의, ['"']=진실의, ['“']=진실의, ["‘"]=진실의, ['”']=진실의, ["’"]=진실의 } 현지의 왼쪽 따옴표, 인용권 = 시작/끝이 따옴표인지 테스트 따옴표[string.sub(제목, 1, 1)], 따옴표[string.sub(제목, -1, -1)] 한다면 왼쪽 따옴표 또는 인용권 그리고나서 제목 = mw.html.만들다("스판"):위키텍스트(제목) 끝. 한다면 왼쪽 따옴표 그리고나서 제목:CSS("좌우로 이동", "0.15em") 끝. 한다면 인용권 그리고나서 제목:CSS("자유-우파", "0.15em") 끝. 돌아가다 '"' .. 끈으로 묶는(제목) .. '"' 끝. -------------------------------------------------------------------------------- 해트노트 -- 표준 해트노트 텍스트를 생성합니다.{hatnote} 템플릿을 구현합니다. -------------------------------------------------------------------------------- 기능. p.모자 노트(틀) 현지의 논병아리 = args를 얻다(틀) 현지의 s = 논병아리[1] 한다면 것은 아니다. s 그리고나서 돌아가다 p.MakeWiktextError( '텍스트가 지정되지 않음', '템플릿:Hatnote #Errors', 논병아리.카테고리 ) 끝. 돌아가다 p._hatnote(s, { 과외 수업 = 논병아리.과외 수업, 셀프레프 = 논병아리.셀프레프 }) 끝. 기능. p._hatnote(s, 옵션들) checkType('_hatnote', 1, s, '끈') checkType('_hatnote', 2, 옵션들, '탁자', 진실의) 옵션들 = 옵션들 또는 {} 현지의 인라인의 = 옵션들.인라인의 현지의 모자 노트 = mw.html.만들다(인라인의 == 1 그리고. '스판' 또는 'div') 현지의 과외 수업 한다면 유형(옵션들.과외 수업) == '끈' 그리고나서 과외 수업 = 옵션들.과외 수업 끝. 모자 노트 :매력적인('역할', '주') :addClass(p.기본 클래스(인라인의)) :addClass(과외 수업) :addClass(옵션들.셀프레프 그리고. 'selfref' 또는 영의) :위키텍스트(s) 돌아가다 mw.현재 프레임 가져오기():확장 태그{ 이름. = '비공식적인 스타일, 논병아리 = { src = '모듈:모자 노트/스타일.css' } } .. 끈으로 묶는(모자 노트) 끝. 돌아가다 p