Revision as of 09:06, 9 January 2019 by Matt Pijoan (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

local mArguments --initialize lazily
local mHatlist = require('Module:Hatnote list')
local mHatnote = require('Module:Hatnote')
local yesNo = require('Module:Yesno')
local p = {}

--Implements {{For}} from the frame
--uses capitalized "For" to avoid collision with Lua reserved word "for"
function p.For (frame)
	mArguments = require('Module:Arguments')
	return p._For(mArguments.getArgs(frame))

--Implements {{For}} but takes a manual arguments table
function p._For (args)
	local use = args[1]
	if (not use) then
		return mHatnote.makeWikitextError(
			'no context parameter provided. Use {{other uses}} for "other uses" hatnotes.',
	local pages = {}
	function two (a, b) return a, b, 1 end --lets us run ipairs from 2
	for k, v in two(ipairs(args)) do table.insert(pages, v) end
	return mHatnote._hatnote(
		mHatlist.forSeeTableToString({{use = use, pages = pages}}),
		{selfref = args.selfref}
	) .. (
			(use == 'other uses') and yesNo(args.category) and
			'[[Category:Hatnote templates using unusual parameters]]' or ''

return p