If you find this page useful and would like to be notified of changes made to this page, start by inputting your email below.
powered by ChangeDetection
Documentation for this module may be created at Module:See also/doc
--[[ -- This module produces a "See also: a, b and c" link. It implements the -- template {{see also}}. --]] local mHatnote = require('Module:Hatnote') local mTableTools -- lazily initialise local mArguments -- lazily initialise local p = {} function p.seealso(frame) mTableTools = require('Module:TableTools') mArguments = require('Module:Arguments') local args = mArguments.getArgs(frame, {parentOnly = true}) local pages = {} for k, v in pairs(args) do if type(k) == 'number' then local numstring = tostring(k) local display = args['label ' .. numstring] or args['l' .. numstring] local page = {v, display} pages[k] = page end end pages = mTableTools.compressSparseArray(pages) if not pages[1] then return mHatnote.makeWikitextError( 'no page names specified', 'Template:See also#Errors', args.category ) end local options = { altphrase = args.altphrase, selfref = args.selfref } return p._seealso(options, unpack(pages)) end function p._seealso(options, ...) local altphrase = options and options.altphrase or 'See also' local links = mHatnote.formatPageTables(...) links = mw.text.listToText(links) local text = altphrase .. ': ' .. links -- Pass options through. local hnOptions = {} hnOptions.selfref = options.selfref hnOptions.extraclasses = 'boilerplate seealso' return mHatnote._hatnote(text, hnOptions) end return p