Permanently protected module

모듈:해트노트

Module

-------------------------------------------------------------------------------- 모듈:모자 노트 -- --                                                                            -- 이 모듈은 모자 노트 링크와 관련 기사 링크를 생성합니다.그것은 -- {{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