Module:gem-common

Definition from Wiktionary, the free dictionary
Jump to: navigation, search
The following documentation is located at Module:gem-common/documentation. [edit]

This module contains common helper functions for Proto-Germanic, that are needed by other modules.


local export = {}
 
function export.tag_form(form, tag)
    if form ~= "" then
        return "<" .. (tag or "span") .. " lang=\"gem-pro\" class=\"Unicode\">*" .. form .. "</" .. (tag or "span") .. ">"
    else
        return "&mdash;"
    end
end
 
-- Make a link out of a form, or show a dash if empty.
function export.link_form(form, tag)
    if not SUBPAGENAME then
        SUBPAGENAME = mw.title.getCurrentTitle().subpageText
    end
 
    if type(form) == "table" then
        for n, subform in pairs(form) do
            form[n] = export.link_form(subform, tag)
        end
        return table.concat(form, ", ")
    else
        if form ~= "" then
            return "<" .. (tag or "span") .. " lang=\"gem-pro\" class=\"Unicode\">[[Appendix:Proto-Germanic/" .. form .. "|*" .. form .. "]]</" .. (tag or "span") .. ">"
        else
            return "&mdash;"
        end
    end
end
 
-- Add a -t- to a word, which alters the final consonant.
function export.add_t(word)
    word = word .. "t"
 
    word = mw.ustring.gsub(word, "gdt$", "hst")
    word = mw.ustring.gsub(word, "skt$", "st")
    word = mw.ustring.gsub(word, "stt$", "st")
 
    word = mw.ustring.gsub(word, "[bp]t$", "ft")
    word = mw.ustring.gsub(word, "[dtþ]t$", "st")
    word = mw.ustring.gsub(word, "[gk]t$", "ht")
    word = mw.ustring.gsub(word, "[gkh]wt$", "ht")
 
    return word
end
 
-- Change all e to i
function export.i_mutation(word)
    return word:gsub("e", "i")
end
 
return export