모듈:리디렉션
Module| 이 Lua 모듈은 시스템 메시지 및 약 5,970,000 페이지, 즉 전체 페이지의 약 10%에 사용됩니다. 변경하면 Wikipedia 사용자 인터페이스가 즉시 변경될 수 있습니다. 큰 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트된 변경 사항은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경 사항을 구현하기 전에 대화 페이지에서 변경 사항에 대해 논의하십시오. |
| 이 모듈은 베타 등급으로 널리 사용될 준비가 되었습니다.아직 새 제품이므로 결과가 예상대로 나오도록 주의하여 사용해야 합니다. |
| 이 모듈은 페이지 보호 대상입니다.매우 많은 페이지에서 사용 중이거나 매우 자주 교체되는 가시성이 높은 모듈입니다.파괴 행위나 실수는 많은 페이지에 영향을 미치고 사소한 편집도 서버에 상당한 부하를 줄 수 있으므로 편집으로부터 보호됩니다. |
| 이 모듈은 다음과 같은 다른 모듈에 따라 달라집니다. |
이 모듈에는 리디렉션 페이지의 대상을 찾는 기능이 포함되어 있습니다.
주된
기본 기능은 단일 페이지의 이름을 허용합니다.페이지가 리디렉션인지 여부를 결정합니다. 리디렉션인 경우 페이지를 조회하고 대상을 추출한 다음 대상 이름을 텍스트로 반환합니다.그 용법은{{#invoke:redirect main page-name}}.한다면page-name존재하지 않거나 리디렉션이 아닙니다.page-name반환됩니다. 만약page-name공백이면 공백이 반환됩니다.
이 함수는 일반적으로 대괄호를 사용하지 않으며 대괄호를 제공하지 않으므로 결과를 링크 용도로 표시합니다.[[{{#invoke:redirect main page-name}}]].
매개 변수 브래킷에 공백이 아닌 값이 지정되면 브래킷이 전달됩니다.
예
{{#invoke:redirect main WP:AFC}}위키백과:창작물{{#invoke:redirect main [[WP:AFD]] bracket=yes}}위키백과:삭제할 아티클{{#invoke:redirect main Wikipedia:Articles for deletion}}위키백과:삭제할 아티클{{#invoke:redirect main Wikipedia:Articles for rumination}}위키백과:재고품.
참고: WP:AFC 및 WP:AFD는 둘 다 리디렉션이지만 위키백과는 다음과 같습니다.삭제할 문서는 없으며, 위키백과:재고품이 존재하지 않습니다.
루아마인
다른 Lua 모듈의 주 기능을 사용하려면 luaMain 기능을 사용할 수 있습니다.기본 기능과 동일한 기능을 제공하지만 프레임 개체를 사용할 필요는 없습니다.
이를 사용하려면 먼저 모듈을 로드합니다.
현지의 mRedirect = 요구하다('모듈:리디렉션') 그런 다음 다음 구문을 사용하여 함수를 사용합니다.
mRedirect.루아 메인(r이름, 대괄호) rname리디렉션 페이지의 이름이며, 다음과 같은 경우bracketfalse 또는 none이 아닌 경우 모듈은 페이지 이름이 아닌 링크를 생성합니다.
리디렉션 여부
isRedirect 함수는 Wiki 페이지에서 지정된 페이지가 리디렉션인지 여부를 확인하는 데 사용됩니다.페이지가 리디렉션이면 함수가 "예"를 반환하고 그렇지 않으면 출력이 비어 있습니다.그 용법은{{#invoke:redirect isRedirect page-name}}.
예
{{#invoke:redirect isRedirect WP:AFC}}네{{#invoke:redirect isRedirect Wikipedia:Articles for deletion}}→{{#invoke:redirect isRedirect Wikipedia:Articles for rumination}}→
루아이즈 리다이렉트
isRedirect는 메인 기능과 동일한 방법으로 다른 Lua 모듈에서 액세스할 수 있습니다.
현지의 mRedirect = 요구하다('모듈:리디렉션') mRedirect.luaIs 리디렉션(r이름) 대상 가져오기
getTarget 함수는 리디렉션 페이지의 대상 페이지 이름을 가져오며 Lua에서만 사용할 수 있습니다.지정한 페이지가 리디렉션이면 대상이 반환되고, 그렇지 않으면 함수가 0을 반환합니다.
사용하려면 먼저 모듈을 로드합니다.
현지의 mRedirect = 요구하다('모듈:리디렉션') 그런 다음 다음 구문을 사용하여 함수를 사용합니다.
mRedirect.대상 가져오기(페이지입니다.) page리디렉션 페이지의 이름을 문자열로 지정하거나 mw.dll 개체로 지정할 수 있습니다.
참고 항목
이 모듈은 리디렉션 페이지의 대상을 가져오는 기능을 제공합니다. 현지의 p = {} pcall을 사용하여 스크립트 오류가 발생하지 않도록 mw.title 개체를 가져옵니다. 값비싼 함수 카운트 한계를 초과합니다(다른 가능한 원인 중 하나). 현지의 기능. 제목 가져오기(...) 현지의 성공., 제목 Obj = pcall(mw.제목.신규, ...) 한다면 성공. 그리고나서 돌아가다 제목 Obj 또 다른 돌아가다 영의 끝. 끝. 리디렉션이 연결되는 페이지의 이름을 가져오거나 페이지가 아닌 경우 0을(를) 가져옵니다. 리다이렉트 기능. p.텍스트에서 대상 가져오기(본문) 현지의 표적의 = string.match( 본문, "^%s*#[Rr][Ee][Dd][II][rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]]-)%]%]" ) 또는 string.match( 본문, "^%s*#[Rr][Ee][Dd][II][rr][Ee][Cc][Tt]%s*:?%s*%[%[(^%[%])]-[^%[%]-%]%]" ) 돌아가다 표적의 그리고. mw.uri.암호를 해독하다(표적의, 'PATH') 끝. 리디렉션 대상을 가져옵니다.지정된 페이지가 리디렉션이 아닌 경우 0을 반환합니다. 기능. p.대상 가져오기(페이지입니다., 전문) 제목 개체를 가져옵니다.페이지 이름과 제목 개체가 모두 허용됩니다. 입력으로서 현지의 제목 Obj 한다면 유형(페이지입니다.) == '끈' 또는 유형(페이지입니다.) == '숫자' 그리고나서 제목 Obj = 제목 가져오기(페이지입니다.) 그렇지 않으면 유형(페이지입니다.) == '탁자' 그리고. 유형(페이지입니다..콘텐츠 가져오기) == '함수' 그리고나서 제목 Obj = 페이지입니다. 또 다른 오류(string.형식( "'대상'을 얻기 위한 잘못된 주장 #1" .. (문자열, 숫자 또는 제목 개체가 필요하며 %s을(를) 받았습니다.)", 유형(페이지입니다.) ), 2) 끝. 한다면 것은 아니다. 제목 Obj 그리고나서 돌아가다 영의 끝. 현지의 대상 제목 = 제목 Obj.대상 리디렉션 한다면 대상 제목 그리고나서 한다면 전문 그리고나서 돌아가다 대상 제목.전체 텍스트 또 다른 돌아가다 대상 제목.접두사 텍스트 끝. 또 다른 돌아가다 영의 끝. 끝. --[[ 단일 페이지 이름을 지정하면 리디렉션할 페이지를 결정하고 다음 페이지를 반환합니다. 대상 페이지 이름 또는 리디렉션이 아닌 경우 전달된 페이지 이름입니다.합격자 페이지 이름은 일반 텍스트 또는 페이지 링크로 지정할 수 있습니다. -- 페이지 이름을 일반 텍스트로 반환하거나 괄호 매개변수가 지정된 경우 페이지 링크페이지가 없거나 리디렉션이 없는 경우 오류 메시지를 반환합니다. 어떤 이유로 대상을 결정할 수 없습니다. --]] 기능. p.루아 메인(r이름, 대괄호, 전문) 한다면 유형(r이름) ~= "문자열" 또는 것은 아니다. r이름:찾아내다("%S") 그리고나서 돌아가다 영의 끝. 대괄호 = 대괄호 그리고. "[%s]" 또는 "%s" r이름 = r이름:경기("%[%[(.+)%]%]") 또는 r이름 현지의 표적의 = p.대상 가져오기(r이름, 전문) 현지의 리트 = 표적의 또는 r이름 리트 = 제목 가져오기(리트) 한다면 리트 그리고나서 한다면 전문 그리고나서 리트 = 리트.전체 텍스트 또 다른 리트 = 리트.접두사 텍스트 끝. 돌아가다 대괄호:서식을(리트) 또 다른 돌아가다 영의 끝. 끝. wikitext에서 luaMain 함수에 액세스할 수 있습니다. 기능. p.주된(틀) 현지의 논병아리 = 요구하다('모듈:인수').args를 얻다(틀, {프레임 전용 = 진실의}) 돌아가다 p.루아 메인(논병아리[1], 논병아리.대괄호, 논병아리.전문) 또는 '' 끝. 지정한 페이지가 리디렉션이면 true를 반환하고, 리디렉션되지 않으면 false를 반환합니다. 기능. p.luaIs 리디렉션(페이지입니다.) 현지의 제목 Obj = 제목 가져오기(페이지입니다.) 한다면 것은 아니다. 제목 Obj 그리고나서 돌아가다 거짓의 끝. 한다면 제목 Obj.isRedirect 그리고나서 돌아가다 진실의 또 다른 돌아가다 거짓의 끝. 끝. wikitext에서 luaIsRedirect 함수에 대한 액세스를 제공하고 '예'를 반환합니다. 지정한 페이지가 리디렉션인 경우에는 공백 문자열을 선택합니다. 기능. p.isRedirect(틀) 현지의 논병아리 = 요구하다('모듈:인수').args를 얻다(틀, {프레임 전용 = 진실의}) 한다면 p.luaIs 리디렉션(논병아리[1]) 그리고나서 돌아가다 '예' 또 다른 돌아가다 '' 끝. 끝. 돌아가다 p