| Line 1: |
Line 1: |
| | {{Commons | | {{Commons |
| | | position = {{{position|}}} | | | position = {{{position|}}} |
| − | <!-- {{#if:x|}} strips whitespace from parameter 1,
| + | <!-- Link --> |
| − | in case it is fed like this: {{Commons category| Some cat }}. -->
| + | | 1 = <!-- |
| − | |1=Category:{{#if:{{{1|}}} | + | Check for a locally-specified category |
| − | |{{{1|}}}
| + | -->{{#if:{{{1|}}} | Category:{{{1|}}} <!-- |
| − | |{{#if:{{#property:P373}}
| + | ... or use Wikidata |
| − | |{{#property:P373}} | + | -->|{{if then show|{{#invoke:WikidataIB |getCommonsLink|qid={{{qid|}}}|onlycat=True}}<!-- |
| − | |{{PAGENAME}}
| + | ... or fall back to the page name |
| − | }} | + | --> |Category:{{PAGENAME}} }} }} |
| − | }} | + | <!-- Display title --> |
| − | |2={{{2|{{{1|{{PAGENAME}}}}}}}}<!-- | + | | 2 = {{{2|{{#if:{{{1|}}} | {{{1|}}} <!-- |
| − | -->}}<noinclude> | + | -->|{{if then show|{{#invoke:String|replace|{{#invoke:WikidataIB |getCommonsLink|qid={{{qid|}}}|onlycat=True}}|Category:|}}<!-- |
| | + | --> |{{PAGENAME}} }} }} }}} |
| | + | }}<!-- |
| | + | End of the template code, now add relevant tracking categories |
| | + | |
| | + | --><includeonly>{{#switch:{{NAMESPACE}}||{{ns:14}}=<!-- |
| | + | Only add tracking categories to articles and categories. |
| | + | -->{{#if:{{{1|}}}|{{#ifeq:Category:{{{1|}}}|{{#invoke:WikidataIB |getCommonsLink|qid={{{qid|}}}|onlycat=True}}|<!-- |
| | + | -->[[Category:Commons category link is on Wikidata]]<!-- |
| | + | |
| | + | -->|{{#ifeq:{{{1|}}}|{{PAGENAME}}|<!-- |
| | + | ... the local parameter is the same as the local pagename, but not the same as on Wikidata |
| | + | -->[[Category:Commons category link is defined as the pagename]]<!-- |
| | + | |
| | + | ... the local parameter does not match either of these |
| | + | -->|[[Category:Commons category link is locally defined]]}} }}<!-- |
| | + | |
| | + | We don't have a locally-defined link |
| | + | -->|{{#if:{{#invoke:WikidataIB |getCommonsLink|qid={{{qid|}}}|onlycat=True}}|<!-- |
| | + | |
| | + | ... so we're using Wikidata |
| | + | -->[[Category:Commons category link from Wikidata]]<!-- |
| | + | |
| | + | ... or we've fallen back to the pagename |
| | + | -->|[[Category:Commons category link is the pagename]]}} |
| | + | }}<!-- Check for P373 use |
| | + | -->{{#ifeq:{{#invoke:WikidataIB |getCommonsLink |qid={{{qid|}}}|onlycat=True|fallback=True}}|{{#invoke:WikidataIB |getCommonsLink |qid={{{qid|}}}|onlycat=True|fallback=False}}||[[Category:Commons category link is on Wikidata using P373]]}} }}</includeonly><noinclude> |
| | {{Documentation}} | | {{Documentation}} |
| | <!-- Add categories to the /doc subpage, not here! --> | | <!-- Add categories to the /doc subpage, not here! --> |
| − | </noinclude><includeonly>{{#if:{{{1|}}}||{{#if:{{#property:P373}}||[[Category:Commons category template with no category set|{{#ifeq:{{NAMESPACE}}|||{{Namespace Greek}}}}{{BASEPAGENAME}}]]}}}}<!-- Some tracking categories to see if we're ready to switch to Wikidata --> | + | </noinclude> |
| − | {{#switch:{{NAMESPACE}}||{{ns:14}}=<!-- Only articles and categories. -->
| |
| − | {{#if:{{#property:P373}}
| |
| − | | {{#if:{{{1|}}}
| |
| − | | {{#ifeq:{{#property:P373}}|{{#invoke:StringReplace|encode wiki page name|{{{1|}}}}}
| |
| − | | [[Category:Commons category with local link same as on Wikidata]] <!-- We want to end up here -->
| |
| − | | [[Category:Commons category with local link different than on Wikidata]] <!-- Figure out the best link -->
| |
| − | }}
| |
| − | | {{#ifeq:{{#property:P373}}|{{PAGENAME}}
| |
| − | | [[Category:Commons category with page title same as on Wikidata]] <!-- Ending up here is just fine -->
| |
| − | | [[Category:Commons category with page title different than on Wikidata]] <!-- Figure out the best link here too -->
| |
| − | }}
| |
| − | }}
| |
| − | | [[Category:Commons category without a link on Wikidata]] <!-- These we still need to import -->
| |
| − | }}
| |
| − | }}</includeonly>
| |