Module:Non-WLH link: Difference between revisions
From Tardis Wiki, the free Doctor Who reference
Bongolium500 (talk | contribs) No edit summary |
Bongolium500 (talk | contribs) No edit summary |
||
(31 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local linkUtil = require("Module:LinkUtil") | local linkUtil = require("Module:LinkUtil") | ||
local textUtil = require('Module:TextUtil') | local textUtil = require('Module:TextUtil') | ||
local varsUtil = require('Module:VarsUtil') | |||
local p = {} | local p = {} | ||
function p.nonWLHLink(link) | function p.nonWLHLink(link) | ||
local linkText = linkUtil.getLinkText(link) | local linkText = mw.getCurrentFrame():preprocess("{{urlencode:" .. linkUtil.getLinkText(link) .. "|PATH}}") | ||
local display = | local display = linkUtil.getLinkText(link) | ||
if linkUtil.getDisplayText(link) and linkUtil.getDisplayText(link) ~= "" then | if linkUtil.getDisplayText(link) and linkUtil.getDisplayText(link) ~= "" then | ||
display = linkUtil.getDisplayText(link) | display = linkUtil.getDisplayText(link) | ||
end | end | ||
local ret = "<span class=\" | local ret = "" | ||
if mw.getCurrentFrame():preprocess( "{{FULLPAGENAME}}" ) == linkUtil.getLinkText(link) then | |||
ret = "'''" .. display .. "'''" | |||
elseif not varsUtil.getVar("NWLH no red link check") or varsUtil.getVar("NWLH no red link check") == "" then | |||
if mw.getCurrentFrame():expandTemplate{title = "Linkless exists", args = {linkUtil.getLinkText(link)}} == "" then | |||
ret = "[[" .. linkUtil.getLinkText(link) .. "|" .. display .. "]]" | |||
else | |||
ret = "<span class=\"NWLH\" title=\"" .. linkUtil.getLinkText(link) .. "\">[//tardis.wiki/wiki/" .. linkText:gsub(' ', '_') .. " " .. display .. "]</span>" | |||
end | |||
else | |||
ret = "<span class=\"NWLH\" title=\"" .. linkUtil.getLinkText(link) .. "\">[//tardis.wiki/wiki/" .. linkText:gsub(' ', '_') .. " " .. display .. "]</span>" | |||
end | |||
return ret | return ret | ||
end | end | ||
Line 15: | Line 27: | ||
function p.nonWLHText(text) | function p.nonWLHText(text) | ||
for link in string.gmatch(text, "%[%[.-%]%]") do | for link in string.gmatch(text, "%[%[.-%]%]") do | ||
text = text:gsub(textUtil.escape(link), p.nonWLHLink(link)) | text = text:gsub(textUtil.escape(link), textUtil.escape(p.nonWLHLink(link))) | ||
end | end | ||
return text | return text | ||
Line 23: | Line 35: | ||
local link = frame:getParent().args[1] | local link = frame:getParent().args[1] | ||
return p.nonWLHLink(link) | return p.nonWLHLink(link) | ||
end | |||
function p.nonWLHTextWrapper(frame) | |||
local text = frame:getParent().args[1] | |||
return p.nonWLHText(text) | |||
end | end | ||
return p | return p |
Latest revision as of 16:41, 23 September 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 varsUtil = require('Module:VarsUtil')
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 mw.getCurrentFrame():preprocess( "{{FULLPAGENAME}}" ) == linkUtil.getLinkText(link) then
ret = "'''" .. display .. "'''"
elseif not varsUtil.getVar("NWLH no red link check") or varsUtil.getVar("NWLH no red link check") == "" then
if mw.getCurrentFrame():expandTemplate{title = "Linkless exists", args = {linkUtil.getLinkText(link)}} == "" then
ret = "[[" .. linkUtil.getLinkText(link) .. "|" .. display .. "]]"
else
ret = "<span class=\"NWLH\" title=\"" .. linkUtil.getLinkText(link) .. "\">[//tardis.wiki/wiki/" .. linkText:gsub(' ', '_') .. " " .. display .. "]</span>"
end
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