모듈:RedirectData

이삭위키
Wikipedia>The Earwig님의 2021년 3월 6일 (토) 06:25 판 (Protected "Module:RedirectData": Highly visible template ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)))
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 이동 검색으로 이동

이 모듈에 대한 설명문서는 모듈:RedirectData/설명문서에서 만들 수 있습니다

local p = {}

function p.getRedirectToNamespace(frame)
	titleObject = mw.title.getCurrentTitle() -- check if this is a redirect
	if titleObject.redirectTarget then
		targetNamespace = titleObject.redirectTarget.nsText
		return targetNamespace
	end
	return "Notaredirect"
end

function p.getTalkPage(frame) -- this is code written to check for the criteria to apply {{R to talk page}} - essentially, whether the redirect is outside of, and going into, a talk namespace
	titleObject = mw.title.getCurrentTitle() -- check if this is a redirect
	if titleObject.redirectTarget then
		if not titleObject.isTalkPage then -- the current page is NOT a talk page
			if titleObject.redirectTarget.isTalkPage then -- the target page IS a talk page
				return "Yes"
			end
		end
		return "No"
	end
	return "Notaredirect"
end

function p.getSubpageStatus(frame)
	titleObject = mw.title.getCurrentTitle()
	if titleObject.redirectTarget then -- check if this is a redirect
		pageIsSubpage = titleObject.isSubpage
		targetIsSubpage = titleObject.redirectTarget.isSubpage
		if (pageIsSubpage or targetIsSubpage) then
			if (pageIsSubpage and targetIsSubpage) then
				return "Both" -- both are subpages, return three
			elseif pageIsSubpage then
				return "Onlypage" -- just the page is a subpage, target isn't, return one
			else
				return "Onlytarget" -- just the target is a subpage, the page isn't, return two
			end
		else -- neither page nor target is a subpage, return zero
			return "Neither"
		end
	end
	return "Notaredirect"
end

function p.toDisambig(frame) -- this checks if the page title contains (disambiguation), as well as if it's a talkpage
	titleObject = mw.title.getCurrentTitle()
	if titleObject.redirectTarget then -- check if this is a redirect
		if string.match(titleObject.text, "(disambiguation)") then -- title contains (disambiguation)
			if titleObject.isTalkPage then -- this is a talk page ({{R from unnecessary disambiguation}})
				return "Talk"
			else -- this is not a talkpage ({{R to disambiguation page}})
				return "Article"
			end
		else -- title does not contain "(disambiguation)"
			return "No"
		end
	end
	return "Notaredirect"
end

return p