Module:Repeat contains several utilities to avoid having to repeat code in multiple templates, these are:
big
This utility adds one or several <big> tags around an element to increase its size. Its syntax only takes 2 arguments, the first is the text you want to increase the size of and the 2nd is the number of big tags to add.
Example usage:
This text is going to be big
{{#invoke:Repeat|big|This text is going to be big|5}}
This text not so much
{{#invoke:Repeat|big|This text not so much|1}}
same
This utility simply repeats a given segment of wikitext the provided times, it takes 2 arguments, the first is the text to repeat and the second is the number of times to do so
Example usage:
Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello
{{#invoke:Repeat|same|Hello |5}}
Lua error: not enough memory.
{{#invoke:Repeat|same|Goodbye |20}}
gradient
This utility creates a linear gradient with hard cutoffs, it takes 3 or more arguments, the first is the direction towards which the gradient should be and the following arguments are the colors of the gradient.
Example usage:
<div style="background: Script error: The function "gradient" does not exist.;
width:500px;height:50px;"><div style="background: {{#invoke:Repeat|gradient|right|#E50000|#FF8D00|#FFEE00|#008121|#004CFF|#760188}}; width:500px;height:50px;"></div>
<div style="background: Script error: The function "gradient" does not exist.;
width:500px;height:50px;"><div style="background: {{#invoke:Repeat|gradient|bottom left|#018E71|#21CFAB|#9AE9C3|#FFFFFF|#7CAFE4|#4F47CC|#3C1379}}; width:500px;height:50px;"></div>
parentGradient
Similar functionality to Gradient but always grabs arguments from the parent template, ("direction" and unlabled elements are grabbed)
Example usage:
<!-- Some template --> <span style="background: {{#invoke:Repeat|parentGradient}}>{{{Text}}}</span> <!-- Template usage --> {{Some Template | text = sample text | direction = right | #0ff | #f00 }}
shadow
This utility creates a text shadow of a specific color all around the text, it takes a single argument, the color of the shadow
Example usage:
<div style="text-shadow:{{#invoke:Repeat|shadow|#F00}}">Hello, Red World!</div>
<div style="text-shadow:Script error: The function "shadow" does not exist.">Hello, Royal Purple!
<div style="text-shadow:{{#invoke:Repeat|shadow|#7851a9}}">Hello, Royal Purple!</div>
local utils = {}
function utils.big(frame)
local elm = frame.args[1] or frame:getParent().args[1]
local arg2 = frame.args[2] or frame:getParent().args[2]
local x = tonumber(arg2)
for i=1,x do
elm = "<big>" .. elm .. "</big>"
end
return elm
end
function utils.same(frame)
local elm = frame.args[1] or frame:getParent().args[1]
local arg2 = frame.args[2] or frame:getParent().args[2]
local x = tonumber(arg2)
for i=1,x do
elm = elm .. elm
end
return elm
end
return utils