Jump to content

Template:Search link: Difference between revisions

From Fifth Empire Wiki
Indenting the code. Adding to fist comment ". do work", and last comment ", show syntax". No change in code logic, all looks fine.
m 46 revisions imported from wikipedia:Template:Search_link
 
(33 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{#if:{{{1|}}}
<span class="plainlinks">[{{fullurl:Special:Search|search=<!--
| <!-- if the first parameter exists, do work -->
    -->{{urlencode:{{{query|{{{text|{{{1|}}}}}}}}}}}<!-- Given query
  <span class="plainlinks">[{{fullurl:Special:Search|search={{
    -->{{#if:{{{limit|}}}|&limit={{{limit|}}}}}<!--
     urlencode:{{{1|}}}}}{{
     -->{{#if:{{{ns|}}} {{{3|}}} {{{4|}}} {{{5|}}} {{{6|}}} {{{7|}}} {{{8|}}} {{{9|}}}{{{10|}}} {{{11|}}} {{{12|}}} {{{13|}}} {{{14|}}} {{{15|}}} {{{16|}}} {{{17|}}} {{{18|}}} {{{19|}}} {{{20|}}}
    #if:{{{ns|}}}  <!-- ns = all / ns0=1&ns5=1 -->
      |  <!-- either ns or 3-20 has a value set-->
    | {{#ifeq: {{{ns|}}} | all
        {{#if:{{{ns|}}}  <!-- is ns set? -->
      | &ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1<!--
        | {{#ifeq: {{{ns}}} | all   <!-- ns is set. Is the value "all"?
        -->&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1
          -->| <!-- True, the value of ns is "all" -->
      | &{{lc:{{{ns|}}}}}  <!-- Use {{lc:}} also to strip away whitespace -->
          &ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1<!--
      }}
          -->&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns100=1&ns101=1<!--
    }}{{
          -->&ns118=1&ns119=1&ns710=1&ns711=1&ns828=1&ns829=1
    #if:{{{3|}}}  <!-- 3 = ns0 (or any other nsX) -->
          | <!-- ns is set, but the value is not "all" -->
    | &{{lc:{{{3|}}}}}=1  
          &{{lc:{{{ns}}}}}  <!-- You saw the & added, and ns argument:
    }}{{
                                ns=ns5 gives &ns5=1
    #if:{{{4|}}}| &{{lc:{{{4|}}}}}=1  
                                Use {{lc:}} not only to lower case,
    }}{{
                                but also to strip away whitespace -->
    #if:{{{5|}}}| &{{lc:{{{5|}}}}}=1  
        }}
    }}{{
        }}{{
    #if:{{{6|}}}| &{{lc:{{{6|}}}}}=1  
        #if:{{{3|}}}  <!-- positional parameter 3 = "ns0" or other nsX -->
    }}{{
        | &{{lc:{{{3|}}}}}=1  
    #if:{{{7|}}}| &{{lc:{{{7|}}}}}=1  
        }}{{
    }}{{
        #if:{{{4|}}}| &{{lc:{{{4|}}}}}=1  
    #if:{{{8|}}}| &{{lc:{{{8|}}}}}=1  
        }}{{
    }}{{
        #if:{{{5|}}}| &{{lc:{{{5|}}}}}=1  
    #if:{{{9|}}}| &{{lc:{{{9|}}}}}=1  
        }}{{
    }}{{
        #if:{{{6|}}}| &{{lc:{{{6|}}}}}=1  
    #if:{{{10|}}}| &{{lc:{{{10|}}}}}=1  
        }}{{
    }}{{
        #if:{{{7|}}}| &{{lc:{{{7|}}}}}=1  
    #if:{{{11|}}}| &{{lc:{{{11|}}}}}=1  
        }}{{
    }}{{
        #if:{{{8|}}}| &{{lc:{{{8|}}}}}=1  
    #if:{{{12|}}}| &{{lc:{{{12|}}}}}=1  
        }}{{
    }}{{
        #if:{{{9|}}}| &{{lc:{{{9|}}}}}=1  
    #if:{{{13|}}}| &{{lc:{{{13|}}}}}=1  
        }}{{
    }}{{
        #if:{{{10|}}}| &{{lc:{{{10|}}}}}=1  
    #if:{{{14|}}}| &{{lc:{{{14|}}}}}=1  
        }}{{
    }}{{
        #if:{{{11|}}}| &{{lc:{{{11|}}}}}=1  
    #if:{{{15|}}}| &{{lc:{{{15|}}}}}=1  
        }}{{
    }}{{
        #if:{{{12|}}}| &{{lc:{{{12|}}}}}=1  
    #if:{{{16|}}}| &{{lc:{{{16|}}}}}=1  
        }}{{
    }}{{
        #if:{{{13|}}}| &{{lc:{{{13|}}}}}=1  
    #if:{{{17|}}}| &{{lc:{{{17|}}}}}=1  
        }}{{
    }}{{
        #if:{{{14|}}}| &{{lc:{{{14|}}}}}=1  
    #if:{{{18|}}}| &{{lc:{{{18|}}}}}=1  
        }}{{
    }}{{
        #if:{{{15|}}}| &{{lc:{{{15|}}}}}=1  
    #if:{{{19|}}}| &{{lc:{{{19|}}}}}=1  
        }}{{
    }}{{
        #if:{{{16|}}}| &{{lc:{{{16|}}}}}=1  
    #if:{{{20|}}}| &{{lc:{{{20|}}}}}=1  
        }}{{
     }}&fulltext=Search
        #if:{{{17|}}}| &{{lc:{{{17|}}}}}=1  
   }} {{{2|search}}}]</span>
        }}{{
| <!-- if the first parameter does not exist, show syntax -->
        #if:{{{18|}}}| &{{lc:{{{18|}}}}}=1  
  <code><nowiki>{{search link|search string|link text}}</nowiki></code>
        }}{{
        #if:{{{19|}}}| &{{lc:{{{19|}}}}}=1  
        }}{{
        #if:{{{20|}}}| &{{lc:{{{20|}}}}}=1  
        }}
      |&ns0=1<!-- Neither ns nor 3-20 were set.
        So made Template Search link's default search domain
        equal to article space;
        otherwise user account can set it to "all" by default
        at their own [[Special:Search]] Advanced
     -->}}&fulltext=Search<!--  does what "~" does when first character of query
   
    Done with [URL part. 
    Now for the name] part of [URL name].
    (The URL part already escapes square brackets [ ], in urlencode %5B %5D.)
   -->}}<!--
 
  You'll see the space.  The "replace" wrappers escape square brackets in name.
  --> {{#invoke:String|replace<!--
    -->|{{#invoke:String|replace
        |{{#if:
        {{{label|{{{link|{{{2|}}}}}}}}}<!-- If a label is given, -->
          |<nowiki />{{{label|{{{link|{{{2|}}}}}}}}}<!-- protect it from a leading * or # -->
          |<nowiki />{{{query|{{{text|{{{1|}}}}}}}}}<!-- by using <nowiki /> (Help:wikitext)
      -->}}<!--
    -->|[|&#91;}}<!-- ] with its html symbol
  -->|]|&#93;}}<!-- ] with its html symbol
 
  -->]</span><!--
Output a hidden category: -->{{#if: {{{ns|}}}{{{3|}}}{{{4|}}}{{{5|}}}{{{6|}}}{{{7|}}}{{{8|}}}{{{9|}}}{{{10|}}}{{{11|}}}{{{12|}}}{{{13|}}}{{{14|}}}{{{15|}}}{{{16|}}}{{{17|}}}{{{18|}}}{{{19|}}}{{{20|}}}
| [[Category:Search link templates with namespace parameters]]
}}<noinclude>
}}<noinclude>
{{documentation}}
{{documentation}}
<!-- Add categories and interwikis to the /doc subpage, not here! -->
<!-- Add categories to the /doc subpage, not here! -->
</noinclude>
</noinclude>

Latest revision as of 20:49, 24 January 2026