Module:R:Mindat

local export = {}

local function initial_capital(x) return x:gsub("^%l", string.upper) end

local function space_to_underscore(x) return x:gsub(" ", "_") end

function export.index(frame) -- Data module causes a Lua memory error just for this template. local title = mw.title.getCurrentTitle.text if title == "gold" then return nil end local args, mensa = frame:getParent.args, mw.loadData("Module:R:Mindat/data") local w = args[1] or title local wU = args[1] or initial_capital(title) local glossary = args['glossary'] local function link_main(w, wU) return mensa[wU] and "[https://www.mindat.org/min-".. (mensa[wU] or "") .. ".html " .. w .."]" or "" end local function link_glossary(w,wU) return "[https://www.mindat.org/glossary/" .. space_to_underscore(wU) .. " " .. w.."]" end return glossary and link_glossary(w,wU) or link_main(w,wU) end return export