For any inquires on backlink exchange or partnerships please contact thecodex@gmail.com
The Wiki Forums are up! Check them here!
Codex Wiki Alliance Member.
There is an official chat room on the wiki! I'm always AFK here so pull by to say hi!
If you would like to join the discord, please read this page.
Module:Tags
--- Shared module that converts <tag>s in certain areas into
-- colored text or text with a specified font.
-- @module tags
-- @alias p
-- @author KockaAdmiralac
--
local p = {}
-- Module dependencies.
local data = mw.loadData('Module:Tags/data')
-- Private logic.
--- Replacer function for opening tags.
-- @function replacer_open
-- @param {string} tag Tag whose opening tag to replace
-- @returns {string} Replacement text for the tag
-- @local
local function replacer_open(tag)
if data.fonts[tag] then
return table.concat({'<span data-font="', tag, '">'})
elseif data.colors[tag] then
return table.concat({'<span data-color="', tag, '">'})
else
return table.concat({'<', tag, '>'})
end
end
--- Replacer function for closing tags.
-- @function replacer_close
-- @param {string} tag Tag whose closing tag to replace
-- @returns {string} Replacement text for the tag
-- @local
local function replacer_close(tag, text)
if data.fonts[tag] or data.colors[tag] then
return '</span>'
else
return table.concat({'</', tag, '>'})
end
end
--- Module's main function.
-- Given a string of text, replaces all tags with text with appropriate fonts
-- and colors.
-- @function p.replace
-- @param {string} text Text to replace
-- @returns {string} Replacement text
function p.replace(text)
text = mw.ustring.gsub(text, '<(%w+)>', replacer_open)
text = mw.ustring.gsub(text, '</(%w+)>', replacer_close)
return text
end
return p
--