Module:Ds/aware

local p = {} local getArgs = require('Module:Arguments').getArgs

function p.detect(frame) local title local args = getArgs(frame) if args.testTitle then title = mw.title.new(args.testTitle) else title = mw.title.getCurrentTitle end local content = title:getContent or '' local codes = string.match(content, "{{%s-D[sS]/[aA]ware%s-|([^}]-)}}") if not codes then return end local text = p._listToText(frame, mw.text.split(codes, "|")) return frame:preprocess(		"&#x3c;div style = 'font-weight: bold'&#x3e;It is not necessary to notify this user of sanctions for the following topic area(s):"		..text..		"\n The user has indicated that they are already aware of these sanctions using the template &#x3c;nowiki&#x3e;&#x3c;/nowiki&#x3e; on their talk page.&#x3c;/div&#x3e;"	) end

function p.listToText(frame) return p._listToText(frame, getArgs(frame)) end

function p._listToText(frame, t)	local new = {} local t = require('Module:TableTools').compressSparseArray(t) for i,v in ipairs(t) do		table.insert(new, frame:expandTemplate{title = 'Ds/topics', args = {["sanctions scope"] = v}}) end return '\n*'..table.concat(new, '\n*') end

return p