Template:Val: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>Cpiral
Remove recently added noinclude tags to restore readability.
meta>Cpiral
START UNITS: refactored String module calls, plus nbsp is added here instead of val/units
Line 81: Line 81:
   |
   |
   {{#if:{{{u|}}}
   {{#if:{{{u|}}}
     |
     | <!-- if u= has any multiplier or divider symbols -->
     {{#ifexpr:{{#invoke:String|find|source={{{u}}}|target=[./*]|plain=false}}
     &nbsp;{{#ifexpr:{{#invoke:String|find|source={{{u}}}|target=[./*]|plain=false}}
       |
       |
       {{#invoke:String|replace
       {{#invoke:String|replace
         |source =  
         |source =  
          {{#invoke:String|replace
        {{#invoke:String|replace
           <!--&nbsp;[[title|markup]]: & (or [) is 1st, [ is 7th (or 1st)-->
           |source =
            |source = {{Val/units|{{{u}}}}}
            {{#invoke:String|match
            |pattern = %[%[.+{{!}} <!--keeps &nbsp;, but compare others -->
              |s = {{Val/units|{{{u}}}}}
             |replace = (
              <!-- from "what is not [ or |" up to: where next char is ] -->
            |plain = false
              |pattern = [^%[{{!}}]+%f[%]]
          }}
              |ignore_errors = true
         |pattern = ]]
             }}
          |pattern = ^
          |replace = (
          |plain = false
        }}
         |pattern = $
         |replace = )  
         |replace = )  
        |plain = false
       }}
       }}
       | <!-- Same thing, but without replace with parentheses -->
       | <!-- Same thing, but without replace with parentheses -->
       {{#invoke:String|replace
       {{#invoke:String|match
         |source =
         |s = {{Val/units|{{{u}}}}}
          {{#invoke:String|replace
        |pattern = [^%[{{!}}]+%f[%]]
            |source = {{Val/units|{{{u}}}}}
         |ignore_errors = true
            |pattern = %[%[.+{{!}}
            |replace =
            |plain = false
          }}
        |pattern = ]]
         |replace =
       }}
       }}
     }}
     }}
Line 112: Line 112:
-->{{#if:{{{ul|}}}  <!-- With up/upl its possible to have neither u nor ul.-->
-->{{#if:{{{ul|}}}  <!-- With up/upl its possible to have neither u nor ul.-->
   |
   |
     {{#ifexpr:{{#invoke:String|find|source={{{ul}}}|target=[./*]|plain=false}}
     &nbsp;{{#ifexpr:{{#invoke:String|find|source={{{ul}}}|target=[./*]|plain=false}}
       | <!-- Grouping parentheses -->
       | <!-- Grouping parentheses -->
         {{#invoke:String|replace
         {{#invoke:String|replace
Line 118: Line 118:
           {{#invoke:String|replace
           {{#invoke:String|replace
             |source = {{Val/units|{{{ul}}}|ls={{{long scale}}}}}
             |source = {{Val/units|{{{ul}}}|ls={{{long scale}}}}}
             |pattern = [ <!-- keep spacing -->
             |pattern = ^
             |replace = ([
             |replace = (
             |count = 1
             |plain = false
            |ignore_errors = true
           }}
           }}
           |pattern = %]%]
           |pattern = $
           |replace = ]])
           |replace = )
           |plain = false <!-- using %]%], not ]], prevents code mangle -->
           |plain = false  
         }}
         }}
       | <!-- normal call -->
       | <!-- normal call -->
Line 137: Line 138:
         |source =  
         |source =  
           {{#invoke:String|replace
           {{#invoke:String|replace
             |source = {{Val/units|{{{up}}}}}
             |source =
            |pattern = .*%[%[.+{{!}} <!-- remove spacing -->
              {{#invoke:String|match
                |s = {{Val/units|{{{up}}}}}
                |pattern = [^%[{{!}}]+%f[%]]
                |ignore_errors = true
              }}
            |pattern = ^
             |replace = /(
             |replace = /(
             |plain = false
             |plain = false
           }}
           }}
         |pattern = ]]
         |pattern = $
         |replace = )  
         |replace = )  
        |plain = false
       }}
       }}
       | <!-- Same thing, but without replace with parentheses -->
       | <!-- Same thing, but without replace with parentheses -->
       {{#invoke:String|replace
       {{#invoke:String|replace
         |source =  
         |source =  
           {{#invoke:String|replace
           {{#invoke:String|match
             |source = {{Val/units|{{{up}}}}}
             |s = {{Val/units|{{{up}}}}}
             |pattern = .*%[%[.+{{!}}
             |pattern = [^%[{{!}}]+%f[%]]
             |replace = /
             |ignore_errors = true
            |plain = false
           }}
           }}
         |pattern = ]]
         |pattern = ^
         |replace =
         |replace = /
        |plain = false
       }}
       }}
     }}
     }}
Line 165: Line 172:
           {{#invoke:String|replace
           {{#invoke:String|replace
             |source = {{Val/units|{{{upl}}}}}
             |source = {{Val/units|{{{upl}}}}}
             |pattern = .-%[ <!-- remove spacing -->
             |pattern = ^
             |replace = /([
             |replace = /(
             |plain = false
             |plain = false
             |count = 1
             |ignore_errors = true
           }}
           }}
         |pattern = %]%]
         |pattern = $
         |replace = ]])  
         |replace = )  
         |plain = false
         |plain = false
       }}
       }}
Line 177: Line 184:
       {{#invoke:String|replace
       {{#invoke:String|replace
         |source = {{val/units|{{{upl}}}}}
         |source = {{val/units|{{{upl}}}}}
         |pattern = .-%[ <!-- remove spacing: PCRE is .*?[ -->
         |pattern = ^
         |replace = /[
         |replace = /
         |plain = false
         |plain = false
         |count = 1
         |ignore_errors = true
       }}
       }}
     }}
     }}
Line 187: Line 194:
   {{#if:{{{u|}}}
   {{#if:{{{u|}}}
     |
     |
       {{#invoke:String|replace
       &nbsp;{{#invoke:String|match
         |source =
         |s = {{val/units|{{{u}}}}}
          {{#invoke:String|replace
        |pattern = [^%[{{!}}]+%f[%]]
            |source = {{val/units|{{{u}}}}}
         |ignore_errors = true
            |pattern = %[%[.+{{!}} <!-- keep unit spacing -->
            |replace =
            |plain = false
          }}
        |pattern = ]]
         |replace =
       }}
       }}
   }}<!--
   }}<!--
   -->{{#if:{{{ul|}}}
   -->{{#if:{{{ul|}}}
     |{{val/units|{{{ul}}}|ls = {{{long scale}}}}}
     |&nbsp;{{val/units|{{{ul}}}|ls = {{{long scale}}}}}
   }}
   }}
}}<!-- end up/upl
}}<!-- end up/upl  
END UNITS
END UNITS



Revision as of 10:29, 6 June 2015