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
{{#invoke:Repeat|same|Hello |5}}
Goodbye
{{#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)
local elm2 = elm
for i=1,x do
elm2 = elm2 .. elm
end
return elm
end
return utils