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



NBITTRPG Wiki
Revision as of 02:01, 5 March 2025 by CStatic (talk | contribs) (Protected "Module:Delimited tag" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading])
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Delimited tag/doc

local i18n = require('Module:I18n').loadMessages('Delimited tag')

local p = {}

function p.output(f)

	local args = f
	if f == mw.getCurrentFrame() then 
		args = require('Module:Arguments').getArgs(f)
	end

	local tag = function(txt)
		return '<' .. args['tag'] .. '>' .. txt .. '</' .. args['tag'] .. '>'
	end
	local listLevel = args['list-level'] or '**'

	local output = tag(assert(args[1], i18n:msg('not-provided')))
	
	local finalDelimiterValues = {
		['none'] = '<nowiki/>',
		['comma']  = i18n:msg('delimiter-comma'),
		 [',']  = i18n:msg('delimiter-comma'),
		['and']  = i18n:msg('final-delimiter-and'),
		['&']  = i18n:msg('final-delimiter-&'),
		['or']  = i18n:msg('final-delimiter-or'),
		['to']  = i18n:msg('delimiter-to'),
		['delimiter-à'] = i18n:msg('delimiter-à'),
		['delimiter-de'] = i18n:msg('delimiter-de'),
		['br']  = i18n:msg('delimiter-br'),
		 ['newline']  = i18n:msg('delimiter-br'),
		['list']  = i18n:msg('delimiter-list') .. listLevel,
		 ['bullet']  = i18n:msg('conjunction'),
		 ['*']  = i18n:msg('conjunction'),
		['and-list']  = i18n:msg('final-delimiter-and-list') .. listLevel,
		['&-list']  = i18n:msg('final-delimiter-&-list') .. listLevel,
		['or-list']  = i18n:msg('final-delimiter-or-list') .. listLevel,
		['comma-list']  = i18n:msg('delimiter-comma-list') .. listLevel,
		 [',-list']  = i18n:msg('delimiter-comma-list') .. listLevel,
	}
	
	local midDelimiterValues = {
		['and']  = i18n:msg('mid-delimiter-and'),
		 ['&']  = i18n:msg('mid-delimiter-&'),
		 ['or']  = i18n:msg('mid-delimiter-or'),
		['and-list']  = i18n:msg('mid-delimiter-and-list') .. listLevel,
		 ['&-list']  = i18n:msg('mid-delimiter-&-list') .. listLevel,
		 ['or-list']  = i18n:msg('mid-delimiter-or-list') .. listLevel,
	}
	
	local delimiter = args['delimiter'] or args['delim'] or args['d'] or '&nbsp;'
	local finalDelimiter = finalDelimiterValues[delimiter] or delimiter
	local midDelimiter = midDelimiterValues[delimiter] or finalDelimiter
	
	for i,val in ipairs(args) do
		if (i > 1) then
			local currentDelimiter = args[i+1] and midDelimiter or finalDelimiter
			output = output .. currentDelimiter .. tag(val)
		end
	end
	
	return output
	
end

return p

Recent changes

  • Zaptrap • Friday at 22:20
  • Zaptrap • Friday at 22:18
  • Zaptrap • Friday at 22:15
  • Ember • Friday at 22:03
  • AndrewFBR • Friday at 00:24
  • AndrewFBR • Friday at 00:24
  • AndrewFBR • Friday at 00:24
  • AndrewFBR • Friday at 00:24