Module:History: Difference between revisions

From Vintage Story Wiki
mNo edit summary
mNo edit summary
Line 30: Line 30:
local body = table.concat(header, '\n')
local body = table.concat(header, '\n')
for ver in versions do
for ver in pairs(versions) do
body = body .. '|[[' .. tostring(ver) .. ']]'
body = body .. '|[[' .. tostring(ver) .. ']]'
for child in ver do
for child in ver do

Revision as of 17:25, 27 August 2022

Documentation for this module may be created at Module:History/doc

local p = {}

function p.create(f)
	local args = require( 'Module:ProcessArgs' ).merge( true )
		
	local header = {
		'{|class="wikitable"',
		'!colspan="3"|History',
		'|-'
	}
	local footer = '|}'
	
	local mt_2D = {
    __index =
      function(t, k)
         local inner = {}
         rawset(t, k, inner)
         return inner
      end
	}
	local versions = setmetatable({}, mt_2D)
	
	for i,v in pairs(args) do
		local version = string.match(v, '(.*);')
		local parent = string.match(version, '(.*)-')
		local child = string.match(version, '-(.*)')
		local note = string.match(v , ';(.*)')
		versions[parent][child] = note
	end
	
	local body = table.concat(header, '\n')
	for ver in pairs(versions) do
		body = body .. '|[[' .. tostring(ver) .. ']]'
		for child in ver do
			body = body .. '||[[' .. tostring(child) .. ']]'
			for note in child do 
				body = body .. '||' .. note	
			end
		end
	end
	return body .. '\n' .. footer
end
return p