Changes
Simpler approach
{{#switch: {{NAMESPACE: {{{1}}} }}
|#default = {{FULLPAGENAME: {{{1}}} }} <!-- the namespace was specified eg "User:Foo" "Template:Foo", "Category:Foo" -->
|{{ns:0}} = <!-- we have either ":Foo" (mainspace) or "Foo" (a template) -->
{{#ifeq: {{First character|{{{1|}}}}}|:
|{{PAGENAME: {{{1}}} }} <!-- leading colon, eg ":Foo", so we want the article -->
|Template:{{{1}}} <!-- no leading colon, eg "Foo", so we want the template -->
}}
}}<noinclude>
{{documentation}}
</noinclude>
|#default = {{FULLPAGENAME: {{{1}}} }} <!-- the namespace was specified eg "User:Foo" "Template:Foo", "Category:Foo" -->
|{{ns:0}} = <!-- we have either ":Foo" (mainspace) or "Foo" (a template) -->
{{#ifeq: {{First character|{{{1|}}}}}|:
|{{PAGENAME: {{{1}}} }} <!-- leading colon, eg ":Foo", so we want the article -->
|Template:{{{1}}} <!-- no leading colon, eg "Foo", so we want the template -->
}}
}}<noinclude>
{{documentation}}
</noinclude>