Die Dokumentation für dieses Modul kann unter Modul:Benutzer:Kpfiwa/test/Doku erstellt werden

local function unique7(txt) -- muss mit einzelnen Umlauten sein, da es sonst knirscht wg. UTF-8!!
    txt = txt:gsub("%s", "") -- alle Leerzeichen weg, somit auch keine doppelten
    txt = txt:gsub("ö", "OE")
    txt = txt:gsub("Ö", "OE") -- Umlaute einzeln umbauen, da UTF-8 mitunter Ärger macht
    txt = txt:gsub("ü", "UE")
    txt = txt:gsub("Ü", "UE")
    txt = txt:gsub("ä", "AE")
    txt = txt:gsub("Ä", "AE")
    txt = txt:gsub("ß", "SS")
    txt = txt:gsub("[%_%-%‐%‑%–%—]+", "") -- alle Striche weg, dann gibt es keine Verwechslungen
    txt = txt:gsub("%++", "1") -- Alle + werden 1, dann kann es nie mit Additions-+ versechselt werden
    return string.upper(txt) -- Alles auf Versalien, damit ist das ewige Leid bei den Vorlagen behoben.
end -- function unique7
local txt= "AÖÜeszeettäöü ++_-‐‑–—"
--  string.ugsub = ustring.gsub
local function unique(txt) -- muss mit einzelnen Umlauten sein, da es sonst knirscht wg. UTF-8!!
    txt = mw.ustring.gsub(txt, "%s", "") -- alle Leerzeichen weg, somit auch keine doppelten
    txt = mw.ugsub(txt, "ö", "OE")
    txt = mw.ustring.gsub(txt, "Ö", "OE") -- Umlaute einzeln umbauen, da UTF-8 mitunter Ärger macht
    txt = mw.ustring.gsub(txt, "ü", "UE")
    txt = mw.ustring.gsub(txt, "Ü", "UE")
    txt = mw.ustring.gsub(txt, "ä", "AE")
    txt = mw.ustring.gsub(txt, "Ä", "AE")
    txt = mw.ustring.gsub(txt, "ß", "SS")
    txt = mw.ustring.gsub(txt, "[%_%-%‐%‑%–%—]+", "") -- alle Striche weg, dann gibt es keine Verwechslungen
    txt = mw.ustring.gsub(txt, "%++", "1") -- Alle + werden 1, dann kann es nie mit Additions-+ versechselt werden
    return string.upper(txt) -- Alles auf Versalien, damit ist das ewige Leid bei den Vorlagen behoben.
end -- function unique
-- mw.ustring.gsub( s, pattern, repl, n )
---------- Module:Wikibase ----------------
--require('Module:No globals')
local p = {}

-- Return the entity ID of the item linked to the current page.
function p.id(frame)
	if not mw.wikibase then
		return "no mw.wikibase"
	end
	return mw.wikibase.getEntityIdForCurrentPage() or "no entity"
end

-- Return the URL of an entity given its entity ID
-- or the item linked to the current page if no argument is provided.
function p.wdurl(frame)
	return mw.wikibase.getEntityUrl(frame.args[1] and mw.text.trim(frame.args[1])) -- defaults to entity URL of the item linked to the current page
end

-- Return the label of an entity given its entity ID
-- or the item linked to the current page if no argument is provided.
function p.label(frame)
	return mw.wikibase.getLabel(frame.args[1] and mw.text.trim(frame.args[1])) -- defaults to label of the item linked to the current page
end

-- Return the description of an entity given its entity ID
-- or the item linked to the current page if no argument is provided.
function p.description(frame)
	return mw.wikibase.getDescription(frame.args[1] and mw.text.trim(frame.args[1])) -- defaults to description of the item linked to the current page
end

-- Return the local title of an item given its entity ID
-- or the item linked to the current page if no argument is provided.
function p.page(frame)
	local qid = frame.args[1] and mw.text.trim(frame.args[1])
	if not qid or qid == '' then
		qid = mw.wikibase.getEntityIdForCurrentPage() -- default the item connected to the current page
	end
	return mw.wikibase.getSitelink(qid or '') -- requires one string arg
end

-- Return the data type of a property given its entity ID.
function p.datatype(frame)
	local prop = mw.wikibase.getEntity(frame.args[1] and mw.text.trim(frame.args[1]):upper():gsub('PROPERTY:P', 'P')) -- trim and remove any "Property:" prefix
	return prop and prop.datatype
end

return p