Module:gloss: Difference between revisions
Jump to navigation
Jump to search
TheNightAvl (talk | contribs) No edit summary |
TheNightAvl (talk | contribs) No edit summary |
||
Line 17: | Line 17: | ||
local l = m_data.labels[m_data.aliases[gloss_code]] | local l = m_data.labels[m_data.aliases[gloss_code]] | ||
local l_gloss = m_data.aliases[gloss_code] | local l_gloss = m_data.aliases[gloss_code] | ||
if l then l_gloss = type(l.glossary) == "string" and l.glossary or l.label end | if l then | ||
glosslet_format = frame:expandTemplate{title = "hover", args = {glosslet_format, l_gloss, noline = args.style == nil, style = args.style | l_gloss = type(l.glossary) == "string" and l.glossary or l.label | ||
if args.nolink == nil then glosslet_format = "[[Appendix:Glossary#" .. l_gloss .. "|" .. glosslet_format .. "]]" end | |||
end | |||
glosslet_format = frame:expandTemplate{title = "hover", args = {glosslet_format, l_gloss, noline = args.noline or (args.style == nil and l and args.nolink == nil), style = args.style, nolink = args.nolink}} | |||
end | end | ||
gloss_keys[glosslet] = '<span style="font-variant: small-caps">' .. glosslet_format .. '</span>' | gloss_keys[glosslet] = '<span style="font-variant: small-caps">' .. glosslet_format .. '</span>' |
Revision as of 19:58, 17 April 2025
Underlies {{gloss}}
, as well as Module:gloss grid. Uses Module:form of/data.
local export = {}
local getArgs = require('Module:Arguments').getArgs
local m_data = mw.loadData("Module:form of/data")
local delimiters = "%s%p"
function export.show(frame)
local args = getArgs(frame)
local gloss = args[1]
local gloss_keys = {}
for glosslet in gloss:gmatch("[^" .. delimiters .. "]+") do
if glosslet:match("^[%d%u]+$") then
local gloss_code = glosslet:lower()
local glosslet_format = gloss_code:gsub("(%d+)", "<small>%1</small>")
if m_data.aliases[gloss_code] then
local l = m_data.labels[m_data.aliases[gloss_code]]
local l_gloss = m_data.aliases[gloss_code]
if l then
l_gloss = type(l.glossary) == "string" and l.glossary or l.label
if args.nolink == nil then glosslet_format = "[[Appendix:Glossary#" .. l_gloss .. "|" .. glosslet_format .. "]]" end
end
glosslet_format = frame:expandTemplate{title = "hover", args = {glosslet_format, l_gloss, noline = args.noline or (args.style == nil and l and args.nolink == nil), style = args.style, nolink = args.nolink}}
end
gloss_keys[glosslet] = '<span style="font-variant: small-caps">' .. glosslet_format .. '</span>'
end
end
for search, replace in pairs(gloss_keys) do gloss = gloss:gsub(search, replace) end
return gloss
end
return export
--[[
=p.show(mw.getCurrentFrame():newChild{title="whatever",args={"sheep-NOM.SG 3S.ANIM-DAT;SG wool-GEN.SG NEG.PST-DISJ=SG Radestria.DAT | "}})
]]--