Anonymous
    ×
    Create a new article
    Write your page title here:
    We currently have 187 articles on Edge of Twilight Wiki. Type your article name above or click on one of the titles below and start writing!



    Edge of Twilight Wiki
    Revision as of 22:29, 2 November 2020 by en>Andrybak (don't add talk pages and pages in the user namespace to Category:Hatnote templates with errors – this is similar to Module:Other uses of and Module:Hatnote)
    (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

    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))
    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
    	local title = mw.title.getCurrentTitle()
    	local skipCat = title.isTalkPage or title.namespace == 2 --don't categorise talk pages and userspace
    	local oddCat = skipCat and '' or '[[Category:Hatnote templates using unusual parameters]]'
    	local category = yesNo(args.category)
    	return mHatnote._hatnote(
    		mHatlist.forSeeTableToString({{use = use, pages = pages}}),
    		{selfref = args.selfref}
    	) .. (
    			(use == 'other uses') and ((category == true) or (category == nil)) and
    			oddCat or ''
    		)
    end
    
    return p