Minecraft Wiki
Register
mNo edit summary
(consistency)
 
(3 intermediate revisions by 3 users not shown)
Line 13: Line 13:
 
local listLevel = args['list-level'] or '**'
 
local listLevel = args['list-level'] or '**'
   
local output = tag(args[1])
+
local output = tag(assert(args[1], 'No tag text provided.?'))
 
 
 
local finalDelimiterValues = {
 
local finalDelimiterValues = {
 
['none'] = '<nowiki/>',
 
['none'] = '<nowiki/>',
['comma'] = ',&#32;',
+
['comma'] = ', ',
[','] = ',&#32;',
+
[','] = ', ',
['and'] = ' and&#32;',
+
['and'] = ', and ',
 
['&'] = ' &amp;&nbsp;',
 
['&'] = ' &amp;&nbsp;',
 
['or'] = ' or&nbsp;',
 
['or'] = ' or&nbsp;',
 
['to'] = ' to&nbsp;',
 
['to'] = ' to&nbsp;',
 
['br'] = '<br/>',
 
['br'] = '<br/>',
['newline'] = '<br>',
+
['newline'] = '<br/>',
 
['list'] = '\n' .. listLevel,
 
['list'] = '\n' .. listLevel,
 
['bullet'] = '\n' .. listLevel,
 
['bullet'] = '\n' .. listLevel,
Line 39: Line 39:
 
['&'] = ', ',
 
['&'] = ', ',
 
['or'] = ', ',
 
['or'] = ', ',
['and-list'] = ',<br>\n' .. listLevel,
+
['and-list'] = ',<br/>\n' .. listLevel,
['&-list'] = ',<br>\n' .. listLevel,
+
['&-list'] = ',<br/>\n' .. listLevel,
['or-list'] = ',<br>\n' .. listLevel,
+
['or-list'] = ',<br/>\n' .. listLevel,
 
}
 
}
 
 
 
local delimiter = args['delimiter'] or args['delim'] or args['d'] or '&nbsp;'
 
local delimiter = args['delimiter'] or args['delim'] or args['d'] or '&nbsp;'
 
local finalDelimiter = finalDelimiterValues[delimiter] or delimiter
 
local finalDelimiter = finalDelimiterValues[delimiter] or delimiter
local midDelimiter = midDelimiterValues[delimiter] or delimiter
+
local midDelimiter = midDelimiterValues[delimiter] or finalDelimiter
 
 
 
for i,val in ipairs(args) do
 
for i,val in ipairs(args) do

Latest revision as of 02:55, 7 October 2022

[create | history | purge]Documentation
This module has no documentation. If you know how to use this module, please create it.
local p = {}

function p.output(f)

	local args = f
	if f == mw.getCurrentFrame() then 
		args = require('Module:ProcessArgs').merge(true)
	end

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

	local output = tag(assert(args[1], 'No tag text provided.?'))
	
	local finalDelimiterValues = {
		['none'] = '<nowiki/>',
		['comma'] = ', ',
		 [','] = ', ',
		['and'] = ', and ',
		['&'] = ' &amp;&nbsp;',
		['or'] = ' or&nbsp;',
		['to'] = ' to&nbsp;',
		['br'] = '<br/>',
		 ['newline'] = '<br/>',
		['list'] = '\n' .. listLevel,
		 ['bullet'] = '\n' .. listLevel,
		 ['*'] = '\n' .. listLevel,
		['and-list'] = ', and\n' .. listLevel,
		['or-list'] = ', or\n' .. listLevel,
		['&-list'] = ' &\n' .. listLevel,
		['comma-list'] = ',\n' .. listLevel,
		 [',-list'] = ',\n' .. listLevel,
	}
	
	local midDelimiterValues = {
		['and'] = ', ',
		 ['&'] = ', ',
		 ['or'] = ', ',
		['and-list'] = ',<br/>\n' .. listLevel,
		 ['&-list'] = ',<br/>\n' .. listLevel,
		 ['or-list'] = ',<br/>\n' .. 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