×
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

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