Module:Non-WLH link: Difference between revisions

From Tardis Wiki, the free Doctor Who reference
No edit summary
No edit summary
Line 15: Line 15:
ret = "[[" .. linkUtil.getLinkText(link) .. "|" .. display .. "]]"
ret = "[[" .. linkUtil.getLinkText(link) .. "|" .. display .. "]]"
elseif link == "User:Bongolium500/Sandbox 6" then
elseif link == "User:Bongolium500/Sandbox 6" then
ret = mw.getCurrentFrame():preprocess( "{{PAGENAME}}" )
ret = mw.getCurrentFrame():preprocess( "{{PAGENAME}}" ) .. "{{PAGENAME}}" .. mw.getCurrentFrame():expandTemplate{title = "PAGENAME"}
else
else
ret = "<span class=\"NWLH\" title=\"" .. linkUtil.getLinkText(link) .. "\">[//tardis.wiki/wiki/" .. linkText:gsub(' ', '_') .. " " .. display .. "]</span>"
ret = "<span class=\"NWLH\" title=\"" .. linkUtil.getLinkText(link) .. "\">[//tardis.wiki/wiki/" .. linkText:gsub(' ', '_') .. " " .. display .. "]</span>"

Revision as of 18:35, 22 June 2024

Documentation for this module may be created at Module:Non-WLH link/doc

local linkUtil = require("Module:LinkUtil")
local textUtil = require('Module:TextUtil')
local p = {}

function p.nonWLHLink(link)
	local linkText = mw.getCurrentFrame():preprocess("{{urlencode:" .. linkUtil.getLinkText(link) .. "|PATH}}")
	local display = linkUtil.getLinkText(link)
	if linkUtil.getDisplayText(link) and linkUtil.getDisplayText(link) ~= "" then
		display = linkUtil.getDisplayText(link)
	end
	local ret = ""
	if "{{PAGENAME}}" == linkUtil.getLinkText(link) then
		ret = "'''" .. display .. "'''"
	elseif mw.getCurrentFrame():expandTemplate{title = "Linkless exists", args = {linkUtil.getLinkText(link)}} == "" then
		ret = "[[" .. linkUtil.getLinkText(link) .. "|" .. display .. "]]"
	elseif link == "User:Bongolium500/Sandbox 6" then
		ret = mw.getCurrentFrame():preprocess( "{{PAGENAME}}" ) .. "{{PAGENAME}}" .. mw.getCurrentFrame():expandTemplate{title = "PAGENAME"}
	else
		ret = "<span class=\"NWLH\" title=\"" .. linkUtil.getLinkText(link) .. "\">[//tardis.wiki/wiki/" .. linkText:gsub(' ', '_') .. " " .. display .. "]</span>"
	end
	return ret
end

function p.nonWLHText(text)
	for link in string.gmatch(text, "%[%[.-%]%]") do
		text = text:gsub(textUtil.escape(link), textUtil.escape(p.nonWLHLink(link)))
	end
	return text
end

function p.nonWLHLinkWrapper(frame)
	local link = frame:getParent().args[1]
	return p.nonWLHLink(link)
end

function p.nonWLHTextWrapper(frame)
	local text = frame:getParent().args[1]
	return p.nonWLHText(text)
end

return p