Jump to content

Please don't skip this 1-minute read. Festipedia is hosted by the FR Heritage Group, a registered charity (No. 1199296). Festipedia is, and always will be, free. But we need your support to keep Festipedia running and to help fund heritage projects. Any donation you can give will be much appreciated, whether it is £2 or £200.

To make a donation, please go to our website, click the Add to Cart button next to General Donation, change the quantity to the amount you want to donate and click the checkout button. Thank you for your support.

Module:Further

From Festipedia, hosted by the FR Heritage Group

--[[
-- This module produces a "Further information: a, b and c" link. It implements
-- the {{further}} template.
--]]

local mHatnote = require('Module:Hatnote')
local mHatlist = require('Module:Hatnote list')
local mTableTools -- lazily initialise
local mArguments -- lazily initialise
local p = {}

function p.further(frame)
	mTableTools = require('Module:TableTools')
	mArguments = require('Module:Arguments')
	local args = mArguments.getArgs(frame, {parentOnly = true})
	local pages = mTableTools.compressSparseArray(args)
	if #pages < 1 then
		return mHatnote.makeWikitextError(
			'no page names specified',
			'Template:Further#Errors',
			args.category
		)
	end
	local options = {
		selfref = args.selfref
	}
	return p._further(pages, options)
end

function p._further(pages, options)
	local text = 'Further information: ' .. mHatlist.andList(pages, true)
	return mHatnote._hatnote(text, options)
end

return p