Modul:Vorlage:Taxobox

aus Wikipedia, der freien Enzyklopädie
--[[  
Modul mit Hilfsfunktionen für Vorlage:Taxobox.
]]
local p = { }

function p.createItalicDisplayTitle(frame)
--[[  
	Passenden Wert für Funktion DISPLAYTITLE erzeugen.
	Parameter: 
	*	wissenschaftlicher Name des Artikeltaxons (Taxon_WissName) 
	*	Lemma (PAGENAME)
	Voraussetzungen: 
	*	Lemma entspr. WissName (Paramater Taxon_Name ist leer)
	*	Lemma und WissName korrespondieren (ggf. bis auf Formatierungs-Tags
		beim WissName oder Klammerzusatz beim Lemma)
	Falls Lemma nicht zum WissName passt, wird schlicht das Lemma als
	Inhalt für DISPLAYTITLE zurückgegeben.
]]
	local scientific_name = frame.args[1]
	local scientific_name_pure = mw.ustring.gsub(scientific_name, "''", "")	
	local lemma = frame.args[2]
	local lemma_pure = lemma
	local display_title = lemma
	local pos_openbrace = mw.ustring.find(lemma, " (", 1, true)	
	if pos_openbrace ~= nil then	
		lemma_pure = mw.ustring.sub(lemma_pure, 1, pos_openbrace-1)
	end
	if lemma_pure == scientific_name_pure then
		display_title = "''" .. scientific_name .. "''"
		if pos_openbrace ~= nil then
			local suffix = mw.ustring.sub(lemma, pos_openbrace)
			display_title = display_title .. " " .. suffix
		end
	end
	return display_title
end

return p