Open main menu

Yugipedia β

Changes

Module:Autolink

289 bytes removed, 8 years ago
slightly simpler from sandbox; don't overwrite "links" quite so much (still would like to figure out how to make it never happen)
-- marker used for {{nolink}} support (doesn't have to be a zero-width non-joiner, that's just what was used in the template version)
local zwnj = '‌'
local linkarr, links, listmarkup, el, link, txt, formatl, formatr
-- set default to stop errors
args[1] links = args[1] and text.trim( args[1] ) or ''
if ustring.find( args[1]links, zwnj ) =~= 1 then links = ustring.gsub( args[1], '%[%[[Cc]ategory:', '[[:Category:' ) links = ustring.gsub( links, '%[%[[Ff]ile:', '[[:File:' ) links = ustring.gsub( links, '%[%[[Ii]mage:', '[[:File:' ) links = ustring.gsub( links, zwnj, '' ) return links else links linkarr = text.split( args[1]links, '\n' )
args[2] = #links linkarr == 1 and args[2]
listmarkup = #links linkarr == 1 and ''
for i=1, #links linkarr do el = text.trim( linkslinkarr[i] )
-- catch empty string at the start of lists
if ustring.find( el, zwnj ) or ustring.find( el, '%[%[' ) then
linkslinkarr[i] = table.concat( { listmarkup, el }, '' )
else
link = el
if link == txt then
linkslinkarr[i] = table.concat( { listmarkup, formatl, '[[', link, ']]', formatr }, '' )
else
linkslinkarr[i] = table.concat( { listmarkup, formatl, '[[', link, '|', txt, ']]', formatr }, '' )
end
end
end
links = table.concat( linkslinkarr, '\n' ) links = ustring.gsub( links, zwnj, '' ) links = ustring.gsub( links, '%[%[[Cc]ategory:', '[[:Category:' ) links = ustring.gsub( links, '%[%[[Ff]ile:', '[[:File:' ) links = ustring.gsub( links, '%[%[[Ii]mage:', '[[:File:' ) links = text.trim( links ) return links
end
 
links = ustring.gsub( links, zwnj, '' )
links = ustring.gsub( links, '%[%[[Cc]ategory:', '[[:Category:' )
links = ustring.gsub( links, '%[%[[Ff]ile:', '[[:File:' )
links = ustring.gsub( links, '%[%[[Ii]mage:', '[[:File:' )
links = text.trim( links )
return links
end