Module:Citation

From ProleWiki, the proletarian encyclopedia
Revision as of 13:50, 26 October 2021 by Forte (talk | contribs)
local p = {};
p.cite = function(frame)								-- creates citation function
	local pframe = frame:getParent()						-- creating a way to access parameters from a template
	local styles;
	local args = {};										-- creating a table to store all arguments from the template
	local config = {};										-- creating a table to store parameters from the module {{#invoke:}}
	for k, v in pairs( frame.args ) do						-- getting parameters from the module frame
		config[k] = v;
	end
	for k, v in pairs( pframe.args ) do						-- processing every key-value pair from the template arguments
		v = mw.ustring.gsub (v, '^%s*(.-)%s*$', '%1');		-- trim leading/trailing whitespace; when v is only whitespace, becomes empty string
		args[k] = v;
	end
	local author = frame.args.author
	local title = frame.args.title
return table.concat ({
		p.cite(config, args)
	});
end
return p