Module:EFloras/documentation functions

Documentation for this module may be created at Module:EFloras/documentation functions/doc

local p = {}

local output_mt = {}
function output_mt:insert(str)
	self.n = self.n + 1
	self[self.n] = str
end

-- also in [[Module:Unicode data/documentation functions]]
function output_mt:insert_format(...)
	self:insert(string.format(...))
end

output_mt.join = table.concat

output_mt.__index = output_mt

local function Output()
	return setmetatable({ n = 0 }, output_mt)
end

function p.show_resources(frame)
	local output = Output()
	
	output:insert [[
{| id="eFloras-resources" class="wikitable" style="float: right;"
! code !! style="width: 22em;" | title]]
	
	for str_number, resource_name in require "Module:TableTools".sortedPairs(
			require "Module:eFloras/data".resources,
			function (str_number1, str_number2)
				return tonumber(str_number1) < tonumber (str_number2)
			end) do
		output:insert_format("|-\n| <code>%s</code> || %s", str_number, resource_name)
	end
	
	output:insert("|}")
	
	return output:join("\n")
end

return p