Modul:references

Üdvözlöm, Ön a Modul:references szó jelentését keresi. A DICTIOUS-ban nem csak a Modul:references szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a Modul:references szót egyes és többes számban mondani. Minden, amit a Modul:references szóról tudni kell, itt található. A Modul:references szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. AModul:references és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

A modult a Modul:references/doc lapon tudod dokumentálni

local export = {}

local rsplit = mw.text.split

-- Parse a references spec as used in the |ref= param to {{IPA}} and {{IPAchar}} and soon the |fNref= param to {{head}}.
--
-- Multiple references are separated by !!! (optionally with spaces around it), and the equivalent of
-- <ref name="bendo">{{R:it:DiPI|bendo}}</ref><ref>{{R:it:Olivetti}}</ref> can be specified using a syntax like the following:
-- {{IPA|it|ˈben.do|ˈbɛn.do|ref2={{R:it:DiPI|bendo}}<<name:bendo>> !!! {{R:it:Olivetti}}}}
-- To include a group as in <ref name="bendo" group="pron">...</ref>, use:
-- {{IPA|it|ˈben.do|ˈbɛn.do|ref2={{R:it:DiPI|bendo}}<<name:bendo>><<group:pron>>}}
-- To reference a prior name, as in <ref name="bendo"/>, leave the reference text blank:
-- {{IPA|it|ˈben.do|ˈbɛn.do|ref2=<<name:bendo>>}}
-- Similarly, to reference a prior name in a particular group, as in <ref name="bendo" group="pron"/>, use:
-- {{IPA|it|ˈben.do|ˈbɛn.do|ref2=<<name:bendo>><<group:pron>>}}
--
-- The return value consists of a list of objects of the form {text = TEXT, name = NAME, group = GROUP}.
-- This is the same format as is expected in the part.refs in ] and item.refs in
-- ].
function export.parse_references(text)
	local refs = {}
	local raw_notes = rsplit(text, "%s*!!!%s*")
	for _, raw_note in ipairs(raw_notes) do
		local note
		if raw_note:find("<<") then
			local splitvals = require("Module:string utilities").capturing_split(raw_note, "(<<+:.->>)")
			note = {text = splitvals}
			for i = 2, #splitvals, 2 do
				local key, value = splitvals:match("^<<(+):(.*)>>$")
				if not key then
					error("Internal error: Can't parse " .. splitvals)
				end
				if key == "name" or key == "group" then
					note = value
				else
					error("Unrecognized key '" .. key .. "' in " .. splitvals)
				end
				if splitvals ~= "" then
					error("Extraneous text '" .. splitvals .. "' after " .. splitvals)
				end
			end
		else
			note = raw_note
		end
		table.insert(refs, note)
	end
	
	return refs
end

return export