<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.terramonmod.com/index.php?action=history&amp;feed=atom&amp;title=Template%3AImage</id>
	<title>Template:Image - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.terramonmod.com/index.php?action=history&amp;feed=atom&amp;title=Template%3AImage"/>
	<link rel="alternate" type="text/html" href="https://wiki.terramonmod.com/index.php?title=Template:Image&amp;action=history"/>
	<updated>2026-07-13T07:13:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.terramonmod.com/index.php?title=Template:Image&amp;diff=31&amp;oldid=prev</id>
		<title>JamzOJamz: Created page with &quot;&lt;includeonly&gt;&lt;!--  //prepare image file info --&gt;{{#if:{{#pos:{{{1|}}}|.}}|&lt;!-- 	--&gt;{{image/info|{{{1|}}}|{{{force|}}}}}&lt;!-- for &quot;filename.ext&quot; will do exist check. directly.(expensive) --&gt;|&lt;!--  	// for &quot;filename&quot; will check &quot;filename.gif&quot; and &quot;filename.png&quot; (expensive*2) 	--&gt;{{image/info|{{{1|}}}.gif|{{{force|}}}}}&lt;!--  	--&gt;{{#if:{{#dplvar:_image_exist}}||&lt;!-- 		--&gt;{{image/info|{{{1|}}}.png|{{{force|}}}}}&lt;!--  	--&gt;}}&lt;!-- --&gt;}}&lt;!--  --&gt;{{#if:{{#dplvar:_image_exist}}|&lt;!--...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.terramonmod.com/index.php?title=Template:Image&amp;diff=31&amp;oldid=prev"/>
		<updated>2025-11-23T20:12:13Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;includeonly&amp;gt;&amp;lt;!--  //prepare image file info --&amp;gt;{{#if:{{#pos:{{{1|}}}|.}}|&amp;lt;!-- 	--&amp;gt;{{image/info|{{{1|}}}|{{{force|}}}}}&amp;lt;!-- for &amp;quot;filename.ext&amp;quot; will do exist check. directly.(expensive) --&amp;gt;|&amp;lt;!--  	// for &amp;quot;filename&amp;quot; will check &amp;quot;filename.gif&amp;quot; and &amp;quot;filename.png&amp;quot; (expensive*2) 	--&amp;gt;{{image/info|{{{1|}}}.gif|{{{force|}}}}}&amp;lt;!--  	--&amp;gt;{{#if:{{#dplvar:_image_exist}}||&amp;lt;!-- 		--&amp;gt;{{image/info|{{{1|}}}.png|{{{force|}}}}}&amp;lt;!--  	--&amp;gt;}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--  --&amp;gt;{{#if:{{#dplvar:_image_exist}}|&amp;lt;!--...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
//prepare image file info&lt;br /&gt;
--&amp;gt;{{#if:{{#pos:{{{1|}}}|.}}|&amp;lt;!--&lt;br /&gt;
	--&amp;gt;{{image/info|{{{1|}}}|{{{force|}}}}}&amp;lt;!-- for &amp;quot;filename.ext&amp;quot; will do exist check. directly.(expensive)&lt;br /&gt;
--&amp;gt;|&amp;lt;!-- &lt;br /&gt;
	// for &amp;quot;filename&amp;quot; will check &amp;quot;filename.gif&amp;quot; and &amp;quot;filename.png&amp;quot; (expensive*2)&lt;br /&gt;
	--&amp;gt;{{image/info|{{{1|}}}.gif|{{{force|}}}}}&amp;lt;!-- &lt;br /&gt;
	--&amp;gt;{{#if:{{#dplvar:_image_exist}}||&amp;lt;!--&lt;br /&gt;
		--&amp;gt;{{image/info|{{{1|}}}.png|{{{force|}}}}}&amp;lt;!-- &lt;br /&gt;
	--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#dplvar:_image_exist}}|&amp;lt;!--&lt;br /&gt;
	--&amp;gt;{{#vardefine:_size_argument|}}&amp;lt;!-- cache&lt;br /&gt;
	//process all input argument&lt;br /&gt;
	--&amp;gt;{{#vardefine:_outputstr|&amp;lt;!-- string with all parameters of the &amp;quot;[[File:]]&amp;quot; call. fill it in the following loop&lt;br /&gt;
		--&amp;gt;{{#forargs:|_k|_v|&amp;lt;!-- loop through all parameters&lt;br /&gt;
			--&amp;gt;{{#iferror:{{#expr:1+{{#var:_k}}}}|&amp;lt;!-- check: is the parameter a named parameter?&lt;br /&gt;
				//parameter is a named parameter&lt;br /&gt;
				--&amp;gt;{{#switch:{{#var:_k}}&amp;lt;!-- check for certain parameters&lt;br /&gt;
					--&amp;gt;|maxsize|scale|size|redlink=&amp;lt;!-- options of this template. skip, will process later.&lt;br /&gt;
					--&amp;gt;|#default={{!}}{{#var:_k}}={{#var:_v}}&amp;lt;!-- other custom parameter for [[File:]]. add &amp;quot;|&amp;lt;name of the parameter&amp;gt;=&amp;lt;value of the parameter&amp;gt;&amp;quot; to outputstring&lt;br /&gt;
				--&amp;gt;}}&amp;lt;!-- &lt;br /&gt;
			--&amp;gt;|&amp;lt;!-- &lt;br /&gt;
				//parameter is an unnamed parameter&lt;br /&gt;
				--&amp;gt;{{#switch:{{#var:_k}}&amp;lt;!--&lt;br /&gt;
					--&amp;gt;|1=&amp;lt;!-- if parameter is the first unnamed parameter, then skip (is the image name info; already taken care of)&lt;br /&gt;
					--&amp;gt;|#default=&amp;lt;!-- other unnamed parameters&lt;br /&gt;
						--&amp;gt;{{#ifeq:{{#sub:{{#var:_v}}|-2}}|px|&amp;lt;!-- is the parameter the size option?&lt;br /&gt;
							--&amp;gt;{{#vardefine:_size_argument|{{#var:_v}}}}&amp;lt;!-- &lt;br /&gt;
						--&amp;gt;|&amp;lt;!-- parameter is not the size option, but another (e.g. alt text or &amp;quot;thumb/frame/etc.&amp;quot;)&lt;br /&gt;
							--&amp;gt;{{!}}{{#var:_v}}&amp;lt;!-- add &amp;quot;|&amp;lt;value of the parameter&amp;gt;&amp;quot; to outputstring&lt;br /&gt;
						--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
				--&amp;gt;}}&amp;lt;!-- &lt;br /&gt;
			--&amp;gt;}}&amp;lt;!-- &lt;br /&gt;
		--&amp;gt;}}&amp;lt;!-- &lt;br /&gt;
	--&amp;gt;}}&amp;lt;!-- &lt;br /&gt;
	//size:&lt;br /&gt;
	--&amp;gt;{{#if:{{{maxsize|}}}{{{scale|}}}{{{size|}}}{{#var:_size_argument|}}|&amp;lt;!--&lt;br /&gt;
		--&amp;gt;{{#vardefine:_outputstr|&amp;lt;!-- &lt;br /&gt;
			--&amp;gt;{{!}}&amp;lt;!-- &lt;br /&gt;
			--&amp;gt;{{image/size|{{{size|{{#var:_size_argument|}}}}}|{{{scale|1}}}|{{{maxsize|}}}}}&amp;lt;!-- &lt;br /&gt;
			--&amp;gt;{{#var:_outputstr}}&amp;lt;!-- concatenate size parameters with other parameters&lt;br /&gt;
		--&amp;gt;}}&amp;lt;!-- &lt;br /&gt;
	--&amp;gt;}}&amp;lt;!-- &lt;br /&gt;
&lt;br /&gt;
	//final output:&lt;br /&gt;
	--&amp;gt;[[File:{{#dplvar:_image_name}}{{#var:_outputstr}}]]&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--ELSE, not exist&lt;br /&gt;
	--&amp;gt;{{#if:{{{redlink|}}}|[[File:{{#if:{{#pos:{{{1|}}}|.}}|{{{1|}}}|{{{1|}}}.png}}]]}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!-- &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#cargo_declare:_table=Imageinfo&lt;br /&gt;
|image=String (size=200;mandatory)&lt;br /&gt;
|md5name=String(size=40)&amp;lt;!-- If we use &amp;quot;WHERE image=&amp;#039;xxx&amp;#039;&amp;quot; in query, it is case-insensitive. &amp;quot;WHERE BINARY image=&amp;#039;xxx&amp;#039;&amp;quot; is case-sensitive but it prevents using index.So we use a md5(imagename) field as a workaround.  --&amp;gt;&lt;br /&gt;
|width=Integer&lt;br /&gt;
|height=Integer&lt;br /&gt;
|cached=Integer&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{doc}}&lt;br /&gt;
{{category|Templates}}&lt;br /&gt;
{{language info|en=Template:Image}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JamzOJamz</name></author>
	</entry>
</feed>