| Line 1: |
Line 1: |
| | local mArguments --initialize lazily | | local mArguments --initialize lazily |
| | + | local yesno = require('Module:Yesno') |
| | local mHatlist = require('Module:Hatnote list') | | local mHatlist = require('Module:Hatnote list') |
| | local mHatnote = require('Module:Hatnote') | | local mHatnote = require('Module:Hatnote') |
| 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] --cases with parameter 1 unspecified should probably be flagged | + | local use = args[1] |
| − | if use == 'other uses' then | + | local category = '' |
| − | use = use .. '[[Category:Hatnote templates using unusual parameters]]' | + | if (not use or use == 'other uses') and |
| | + | (not args.category or yesno(args.category)) then |
| | + | category = '[[Category:Hatnote templates using unusual parameters]]' |
| | end | | end |
| | local pages = {} | | local pages = {} |
| − | function two (a, b, c) return a, b, 1 end --lets us run ipairs from 2 | + | 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} |
| − | ) | + | ) .. category |
| | end | | end |
| | | | |
| | return p | | return p |