Permanently protected module

모듈:해당 노트 리디렉션

Module

--[[ 이 모듈은 "리다이렉트" 해트노트를 생성합니다.다음과 같이 표시됩니다. 'X'가 여기로 리디렉션됩니다.기타 용도는 Y를 참조하십시오.' {{redirect}} 템플릿을 구현합니다. --]]  현지의 mHatnote = 요구하다('모듈:'햇노트') 현지의 mHat 목록 = 요구하다('모듈:모자 노트 목록') 현지의 m인수 --반드시 초기화합니다. 현지의 라이브러리유틸 = 요구하다('라이브러리유틸') 현지의 checkType = 라이브러리유틸.checkType 현지의 검사 유형 다중 = 라이브러리유틸.검사 유형 다중  현지의 p = {}  -------------------------------------------------------------------------------- 도우미 기능 --------------------------------------------------------------------------------  현지의 기능. 제목 가져오기(...)  --smw.title.new를 호출하고 제목 개체를 반환하거나 오류가 발생하면 none을 반환합니다.  현지의 성공., 제목 Obj = pcall(mw.제목.신규, ...)  돌아가다 성공. 그리고. 제목 Obj 또는 영의 끝.  -------------------------------------------------------------------------------- 주요 기능 --------------------------------------------------------------------------------  기능. p.리다이렉트()  m인수 = 요구하다('모듈:인수')  현지의 논병아리 = m인수.args를 얻다(, {상위 항목만=진실의})  --방향 수정 횟수 가져오기  현지의 numRedirects = 수에 달하여(.논병아리[1]) 또는 1  옵션 테이블을 생성합니다.  현지의 옵션들 = {}  옵션들.셀프레프 = 논병아리.셀프레프  돌아가다 p._지루한(논병아리, numRedirects, 옵션들) 끝.  기능. p._지루한(논병아리, numRedirects, 옵션들, 현재 제목, 제목 리디렉션, 대상 제목)  입력의 유효성을 확인합니다.currentTitle을 확인할 필요 없이 redirectTitle 또는  표적의제목, 테스트에만 사용되므로.  checkType('_filen', 1, 논병아리, '탁자')  checkType('_filen', 2, numRedirects, '숫자', 진실의)  numRedirects = numRedirects 또는 1  checkType('_filen', 3, 옵션들, '탁자', 진실의)  옵션들 = 옵션들 또는 {}  현재 제목 = 현재 제목 또는 mw.제목.현재 제목 가져오기()  리디렉션 테이블 가져오기  현지의 리다이렉트 = {}  위해서 i = 1, numRedirects 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   리디렉션 매개 변수가 없는 경우 오류를 반환합니다.   한다면 것은 아니다. 논병아리[i] 그리고나서    돌아가다 mHatnote.MakeWiktextError(     '연결된 리디렉션 매개 변수',     '템플릿:리디렉션 #오류',     논병아리.카테고리    )   끝.   리다이렉트[i] = 논병아리[i]  끝.  텍스트를 생성합니다.  현지의 formedRedirect = {}  위해서 k,v  쌍들(리다이렉트) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   formedRedirect[k] = mHatnote.인용문(v)  끝.  현지의 본문 = {   mHat 목록.및 목록(formedRedirect) .. ' ' .. (#리다이렉트 == 1 그리고. '스캐너' 또는 '''비공식''') .. 여기.',   mHat 목록._참고용(논병아리, #리다이렉트 + 1, {제목 = 리다이렉트[1], 엑스트라 텍스트 = 논병아리.본문})  }  본문 = 테이블.콘캣(본문, ' ')  카테고리 추가 기능  현지의 카테고리 표 = {}  현지의 기능. 카테고리 추가(고양이)   한다면 고양이 그리고. 고양이 ~= '' 그리고나서    중복을 방지하기 위해 인덱스별로 추가    카테고리 표[string.형식('[범주:%s]', 고양이)] = 진실의   끝.  끝.  --추적 카테고리 생성  현지의 mh 옵션 = {}  현지의 redirTitle  위해서 k,v  쌍들(리다이렉트) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   템플릿 호출이 실행된 경우 추적 범주가 필요하지 않습니다.   문서에서 직접 복사하거나 기본 또는 범주 공간에 있지 않은 경우.   한다면 것은 아니다. v:찾아내다('^REDIRECT%d*
                
) 그리고. v ~= '기간' -- 그리고. 현재 제목.네임스페이스 == 0 또는 현재 제목.네임스페이스 == 14 그리고나서 redirTitle = 제목 리디렉션 또는 제목 가져오기(v) 한다면 것은 아니다. redirTitle 또는 것은 아니다. redirTitle.존재한다 그리고나서 카테고리 추가('방향 수정 없음') 그렇지 않으면 것은 아니다. redirTitle.isRedirect 그리고나서 한다면 줄을 대다(redirTitle:콘텐츠 가져오기(), '#dll:RfD') 그리고나서 카테고리 추가('RfD의 영향을 받는 리디렉션 해트노트가 있는 기사') 또 다른 카테고리 추가('리다이렉트 해트노트가 있는 기사는 검토가 필요합니다.') 끝. 또 다른 현지의 표적의 = 대상 제목 또는 redirTitle.대상 리디렉션 한다면 표적의 그리고. 표적의 ~= 현재 제목 그리고나서 카테고리 추가('리다이렉트 해트노트가 있는 기사는 검토가 필요합니다.') 끝. 끝. 끝. 모듈에 전달할 옵션을 생성합니다.[Hatnote]]]. 한다면 현재 제목.네임스페이스 == 0 그리고. 것은 아니다. mh 옵션.셀프레프 그리고. redirTitle 그리고. redirTitle.네임스페이스 ~= 0 그리고나서 우리는 메인 스페이스 페이지에 있고, 모자 노트는 무언가로 시작합니다. "위키피디아:Foo가 여기로 리디렉션합니다."라고 자동으로 레이블 지정 자기 소개 mh 옵션.셀프레프 = 진실의 또 다른 mh 옵션.셀프레프 = 옵션들.셀프레프 끝. 끝. --모든 카테고리를 연결 현지의 카테고리 = '' 위해서 k,v 쌍들(카테고리 표) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 카테고리 = 카테고리 .. k 끝. 돌아가다 mHatnote._hatnote(본문, mh 옵션) .. 카테고리 끝. 돌아가다 p