Toggle menu
15
236
74
27.6K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Created page with "<!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --> This module supports Template:Demo inline <noinclude> [[Category:Module documentation pages{{#translation:}}]] </noinclude>"
 
No edit summary
Line 1: Line 1:
<!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata -->
<{{Module rating |release<!-- Values:  pre-alpha • alpha • beta • release • protected  --  If a rating not needed/relevant, delete this template call -->}}
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
== Usage ==


This module supports [[Template:Demo inline]]
=== Usage via templates ===
<noinclude>
This module supports {{t|Demo}}
[[Category:Module documentation pages{{#translation:}}]]
 
<nowiki>{{</nowiki>#invoke:{{BASEPAGENAME}}|''main''}}
 
and {{t|Demo inline}}
 
<nowiki>{{</nowiki>#invoke:{{BASEPAGENAME}}|''inline''}}
 
The input must be wrapped in {{xtag|nowiki}} tags or else it may be processed before the module can read it.
 
=== Usage in a module ===
If you want to use this in another module (such as to make the output prettier), you can get values like so:
<syntaxhighlight lang="lua">require('Module:demo').get(frame)</syntaxhighlight>
 
Function {{code|get()}} returns a table containing:
*<code>source</code> = the source code (without {{xtag|syntaxhighlight}} wrappers, characters substituted with html entities)
*<code>output</code> = the execution result of the source.
*<code>frame</code> = the frame from which this template took the parameter.
 
By default, {{code|get()}} takes the first parameter of frame. If the frame uses a different parameter name for the nowiki-wrapped source, then place that name (as a string) as the second parameter, like so {{code|require('Module:demo').get(frame, 'alternate_name')|lua}}
 
Example:
<syntaxhighlight lang="lua">
local p = {}
 
function p.main(frame)
local parts = require('Module:demo').get(frame)
return '…Pretty HTML… <pre>' .. parts.source .. '</pre> …More pretty HTML… ' .. parts.output .. ' …Even more pretty HTML…'
end
 
return p</syntaxhighlight>
 
== See also ==
* [[Template:Nowiki template demo]] which uses [[Module:Template test case]]
* [[Template:Automarkup]] which uses [[Module:Automarkup]]
 
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
<!-- Categories below this line, please; interwikis at Wikidata -->
 
}}</includeonly><noinclude>
[[Category:Module documentation pages]]
</noinclude>
</noinclude>

Revision as of 08:38, 17 February 2025

<Template:Module rating

Usage

Usage via templates

This module supports {{Demo}}

{{#invoke:Demo|main}}

and {{Demo inline}}

{{#invoke:Demo|inline}}

The input must be wrapped in <nowiki> tags or else it may be processed before the module can read it.

Usage in a module

If you want to use this in another module (such as to make the output prettier), you can get values like so:

require('Module:demo').get(frame)

Function get() returns a table containing:

  • source = the source code (without <syntaxhighlight> wrappers, characters substituted with html entities)
  • output = the execution result of the source.
  • frame = the frame from which this template took the parameter.

By default, get() takes the first parameter of frame. If the frame uses a different parameter name for the nowiki-wrapped source, then place that name (as a string) as the second parameter, like so require('Module:demo').get(frame, 'alternate_name')

Example:

local p = {}

function p.main(frame)
	local parts = require('Module:demo').get(frame)
	return '…Pretty HTML… <pre>' .. parts.source .. '</pre> …More pretty HTML… ' .. parts.output .. ' …Even more pretty HTML…'
end

return p

See also