<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.believethesign.com/index.php?action=history&amp;feed=atom&amp;title=Template%3ANamespace_detect%2Fdoc</id>
	<title>Template:Namespace detect/doc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.believethesign.com/index.php?action=history&amp;feed=atom&amp;title=Template%3ANamespace_detect%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://en.believethesign.com/index.php?title=Template:Namespace_detect/doc&amp;action=history"/>
	<updated>2026-04-13T15:46:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://en.believethesign.com/index.php?title=Template:Namespace_detect/doc&amp;diff=25723&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;{{Documentation subpage}} &lt;!-- {{high-use| 65,000+ }} --&gt; &lt;!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --&gt;  This is the {{tl|namespace detect}} meta-te...&quot;</title>
		<link rel="alternate" type="text/html" href="https://en.believethesign.com/index.php?title=Template:Namespace_detect/doc&amp;diff=25723&amp;oldid=prev"/>
		<updated>2021-12-27T20:10:49Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Documentation subpage}} &amp;lt;!-- {{high-use| 65,000+ }} --&amp;gt; &amp;lt;!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --&amp;gt;  This is the {{tl|namespace detect}} meta-te...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
&amp;lt;!-- {{high-use| 65,000+ }} --&amp;gt;&lt;br /&gt;
&amp;lt;!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the {{tl|namespace detect}} meta-template.&lt;br /&gt;
&lt;br /&gt;
It helps other templates detect what type of page they are on.&lt;br /&gt;
&lt;br /&gt;
It detects and groups all the different [[OpenStreetMap:Namespace#Enumeration|namespaces]] used on OpenStreetMap into several types:&lt;br /&gt;
&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;main&amp;#039;&amp;#039;&amp;#039; = Main/article space, as in normal OpenStreetMap articles.&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;talk&amp;#039;&amp;#039;&amp;#039; = Any talk space, such as page names that start with &amp;quot;Talk:&amp;quot;, &amp;quot;User talk:&amp;quot;, &amp;quot;File talk:&amp;quot; and so on.&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;user, OpenStreetMap, file, mediawiki, template, help, category&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;portal&amp;#039;&amp;#039;&amp;#039; = The other namespaces except the talk pages.&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;other&amp;#039;&amp;#039;&amp;#039; = Any namespaces that were not specified as a parameter to the template. See explanation below.&lt;br /&gt;
&lt;br /&gt;
For backwards compatibility this template also understands the old name &amp;#039;&amp;#039;&amp;#039;image&amp;#039;&amp;#039;&amp;#039; for &amp;#039;&amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;#039;. But using &amp;#039;&amp;#039;&amp;#039;image&amp;#039;&amp;#039;&amp;#039; is now deprecated.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note!&amp;#039;&amp;#039;&amp;#039; For most usage cases it might be better to use the simpler namespace detection templates. (See the [[#See also|see also]] section below.) Since this template is more prone to human errors such as misspelling the parameter names. &lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
This template takes one or more parameters named after the different page types as listed above. Like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{namespace detect&lt;br /&gt;
| main  = Article text&lt;br /&gt;
| talk  = Talk page text&lt;br /&gt;
| other = Other pages text&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the template is on a main (article) page, it will return this:&lt;br /&gt;
&lt;br /&gt;
:{{namespace detect| demospace=main&lt;br /&gt;
| main  = Article text&lt;br /&gt;
| talk  = Talk page text&lt;br /&gt;
| other = Other pages text&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If the template is on any other page than an article or a talk page it will return this:&lt;br /&gt;
&lt;br /&gt;
:{{namespace detect&lt;br /&gt;
| main  = Article text&lt;br /&gt;
| talk  = Talk page text&lt;br /&gt;
| other = Other pages text&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The example above made the template return something for all page types. But if we don&amp;#039;t use the &amp;#039;&amp;#039;&amp;#039;other&amp;#039;&amp;#039;&amp;#039; parameter or leave it empty then it will not return anything for the other page types. Like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{namespace detect&lt;br /&gt;
| file     = File page text&lt;br /&gt;
| category = Category page text&lt;br /&gt;
| other    =&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On any pages other than file and category pages the code above will render nothing.&lt;br /&gt;
&amp;lt;!-- Do not remove this one. It is supposed to render nothing, but we have it here for testing purposes. --&amp;gt;&lt;br /&gt;
:{{namespace detect&lt;br /&gt;
| file     = File page text&lt;br /&gt;
| category = Category page text&lt;br /&gt;
| other    =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
By using an empty parameter you can make it so the template doesn&amp;#039;t render anything for some specific page type. Like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{namespace detect&lt;br /&gt;
| main  = &lt;br /&gt;
| other = Other pages text&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code above will render nothing when on mainspace (article) pages, but will return this when on other pages:&lt;br /&gt;
&lt;br /&gt;
:{{namespace detect&lt;br /&gt;
| main  = &lt;br /&gt;
| other = Other pages text&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Demospace ===&lt;br /&gt;
&lt;br /&gt;
For testing and demonstration purposes this template can take a parameter named &amp;#039;&amp;#039;&amp;#039;demospace&amp;#039;&amp;#039;&amp;#039;. Demospace understands any of the page type names used by this template, including the &amp;#039;&amp;#039;&amp;#039;other&amp;#039;&amp;#039;&amp;#039; type. It tells the template to behave like it is on some specific type of page. Like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{namespace detect &lt;br /&gt;
| demospace = main&lt;br /&gt;
| main  = Article text&lt;br /&gt;
| other = Other pages text&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No matter on what kind of page the code above is used it will return this:&lt;br /&gt;
&lt;br /&gt;
:{{namespace detect &lt;br /&gt;
| demospace = main&lt;br /&gt;
| main  = Article text&lt;br /&gt;
| other = Other pages text&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
It can be convenient to let your template understand the demospace parameter and send it on to the {{tl|namespace detect}} template. Then do like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{namespace detect &lt;br /&gt;
| demospace = {{{demospace|}}}&lt;br /&gt;
| main      = Article text&lt;br /&gt;
| other     = Other pages text&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the &amp;#039;&amp;#039;&amp;#039;demospace&amp;#039;&amp;#039;&amp;#039; parameter is empty or undefined then the template will detect page types as usual.&lt;br /&gt;
&lt;br /&gt;
=== Technical details ===&lt;br /&gt;
&lt;br /&gt;
Namespace &amp;quot;Image&amp;quot; was renamed to &amp;quot;File&amp;quot; on 11 December 2008. This template was updated to understand both names well before that, thus it still works fine. For backwards compatibility it still understands &amp;quot;image&amp;quot; both as a parameter name, such as &amp;quot;image = File page text&amp;quot;, and as a value &amp;quot;demospace = image&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you intend to feed tables as content to the numbered parameters of this template, then you need to know this:&lt;br /&gt;
&lt;br /&gt;
[[Help:Template|Templates]] do have a problem to handle parameter data that contains pipes &amp;quot;&amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt;&amp;quot;, unless the pipe is inside another template &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{name|param1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; or inside a piped link &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Help:Template|help]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Thus templates can not handle [[Help:Table|wikitables]] as input unless you escape them by using the {{tn|!}} template. This makes it hard to use wikitables as parameters to templates. Instead the usual solution is to use &amp;quot;[[Help:HTML in wikitext|HTML wikimarkup]]&amp;quot; for the table code, which is more robust.&lt;br /&gt;
&lt;br /&gt;
For more technical details such as about &amp;quot;copying to other projects&amp;quot; and &amp;quot;CSS based namespace detection&amp;quot; see {{tl|main talk other}} and its talk page.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>