Difference between revisions of "Demo:CodeWrapper"

From PKC
Jump to navigation Jump to search
Line 47: Line 47:
{{#invoke:CodeWrapper| unstrip |{{:Demo:IfExpr2}} }}
{{#invoke:CodeWrapper| unstrip |{{:Demo:IfExpr2}} }}
|}
|}
<noinclude>
=References=
<references/>
=Related Pages=
[[Category:Lua]]
[[Category:Scribunto]]
</noinclude>

Revision as of 02:22, 19 May 2022

This page shows how to include some page in its original form, without passing through the MediaWiki parser.

For example the following code segment {{:Demo:SwitchStatement7}} would render a a result like following:

{{#switch: {{#expr: 3+2*1}}
 | 1 = one
 | 2 = two
 | 3|4|5 = any of 3–5
 | 6 = six
 | 7 = {{uc:sEveN}} <!--lowercase-->
 | #default = other
}}


Use unstripNoWiki text

One may also use Lua to trim the textual content of the given input string: Original source code:

 {{#invoke:CodeWrapper| unstrip | {{:Demo:SwitchStatement7}}  }}

This MediaWiki code(wiki text) will be rendered as follow:

 any of 3–5


Use returnHTMLText function

One may also use Lua to attach marker (<syntaxhighlight lang=html>) and preprocess the textual content of the given input string: Original source code:

 {{#invoke:CodeWrapper| returnHTMLText | {{:Demo:SwitchStatement7}}  }}

This MediaWiki code(wiki text) will be rendered as follow:

 {{#switch: {{#expr: 3+2*1}}
 | 1 = one
 | 2 = two
 | 3|4|5 = any of 3–5
 | 6 = six
 | 7 = {{uc:sEveN}} &lt;!--lowercase--&gt;
 | #default = other
}}

Use luaSourceCodeText function

One may also use Lua to trim the textual content of the given input string: Original source code:

 {{#invoke:CodeWrapper| luaSourceCodeText | {{:Module:Banana}}  }}

This MediaWiki code(wiki text) will be rendered as follow:

 local p = {} --p stands for package

function p.hello( frame )
    --return "Hello, world!"
    return frame
end

return p

Use reverseResult Function

In fact, if one needs to string.reverse function of Lua library. One can do the following:

{{#invoke:CodeWrapper|returnHTMLText|{{#invoke:CodeWrapper|reverseResult|{{:Module:Banana}}}} }}

The rendered page segment looks like follows:

p nruter

dne
emarf nruter    
"!dlrow ,olleH" nruter--    
) emarf (olleh.p noitcnuf

egakcap rof sdnats p-- }{ = p lacol

Some configurable results

Wiki Source Code Rendered Result

'''Wrapper wikicode or text''' {{#ifexpr: 3<5 | This expression is {{#expr: 0=0}} | This expression is evaluated to {{#expr: 9>9}} }} '''Wrapper wikicode'''.

Wrapper wikicode or text This expression is 1 Wrapper wikicode.

{{#ifexpr: 7=3 | {{#expr: 3+2=5}} RESULT | some text representing {{#expr: 1<1}} result }}

some text representing 0 result


References

Related Pages