Module:WikiLink
Jump to navigation
Jump to search
Documentation for this module may be created at Module:WikiLink/doc
require('Module:StrSplit')
local p = {}
function p.wikilink(strArg)
local str = mw.getCurrentFrame().args[1]
--local str = "eternity,, sword series [wikiterm]{custom link}"
--local str = "Hy­perdi​mensio­n Nept­unia <bla>asf</blaa>"
--if (strArg ~= nil) then
-- str = strArg
--end
mw.logObject(str)
str = str:gsub(",,", ",")
:gsub("\\,", ",")
local table = strSplit(str,",\n")
mw.logObject(table)
local res = ""
for i,ind in ipairs(table) do
local customLink = ind:match("%{.*%}")
local wikiTerm = ind:match("%[.*%]")
local indSub = ind:gsub("​", "")
:gsub("­", "")
:gsub("⁠", "")
:gsub("","")
:gsub(" -<.-> -","")
:gsub(" -</.-> -","")
:gsub(" -%(.*%) -","")
local wikiString = "[[wikipedia:".. indSub .."|<span style='color:#000'>".. ind .."</span>]]"
if (wikiTerm ~= nil) then
mw.logObject("wikiterm: " .. wikiTerm)
--indTemp = wikiTerm:gsub("[%[%]]","")
--ind = ind:gsub(" ?%[.*%] ?","")
wikiString = "[[wikipedia:".. wikiTerm:gsub("[%[%]]","") .."|<span style='color:#000'>".. ind:gsub(" ?%[.*%] ?","") .."</span>]]"
elseif (customLink ~= nil) then
mw.logObject("customLink: " .. customLink)
ind = ind:gsub(" ?%{.*%} ?",""):gsub(" ?%[.*%] ?","")
wikiString = "<span class='plainlinks'>[".. customLink:gsub("[%{%}]","") .." <span style='color:#000'>".. ind:gsub("[%[%]]","") .."</span>]</span>"
end
mw.logObject("wikistring: "..wikiString)
if (i > 1) then
res = res .. ", "
end
res = res .. wikiString
end
mw.logObject("res: "..res)
return res
end
return p