Notice: Firmware Links Under Maintenance We are currently undergoing maintenance on all firmware links. If any links are inaccessible, please email or contact Tech Support for the firmware. We appreciate your patience during the maintenance, thank you for your understanding.
Difference between revisions of "Module:For"
(Added selfref functionality) |
m (1 revision imported) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
local mHatlist = require('Module:Hatnote list') | local mHatlist = require('Module:Hatnote list') | ||
local mHatnote = require('Module:Hatnote') | local mHatnote = require('Module:Hatnote') | ||
+ | local yesNo = require('Module:Yesno') | ||
local p = {} | local p = {} | ||
Line 13: | Line 14: | ||
--Implements {{For}} but takes a manual arguments table | --Implements {{For}} but takes a manual arguments table | ||
function p._For (args) | function p._For (args) | ||
− | local use = args[1] | + | local use = args[1] |
− | if use | + | if (not use) then |
− | + | return mHatnote.makeWikitextError( | |
+ | 'no context parameter provided. Use {{other uses}} for "other uses" hatnotes.', | ||
+ | 'Template:For#Errors', | ||
+ | args.category | ||
+ | ) | ||
end | end | ||
local pages = {} | local pages = {} | ||
− | function two (a, b | + | 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 | for k, v in two(ipairs(args)) do table.insert(pages, v) end | ||
return mHatnote._hatnote( | return mHatnote._hatnote( | ||
mHatlist.forSeeTableToString({{use = use, pages = pages}}), | mHatlist.forSeeTableToString({{use = use, pages = pages}}), | ||
{selfref = args.selfref} | {selfref = args.selfref} | ||
− | ) | + | ) .. ( |
+ | (use == 'other uses') and yesNo(args.category) and | ||
+ | '[[Category:Hatnote templates using unusual parameters]]' or '' | ||
+ | ) | ||
end | end | ||
return p | return p |
Latest revision as of 17:45, 21 March 2019
Documentation for this module may be created at Module:For/doc
Script error: Lua error: Internal error: The interpreter exited with status 127.
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)) end --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.', 'Template:For#Errors', args.category ) end 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 '' ) end return p