Module:Demo/doc: Difference between revisions
From Kenshi Wiki
More actions
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: | ||
<!-- | <{{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: | === Usage via templates === | ||
<noinclude> | This module supports {{t|Demo}} | ||
[[Category:Module documentation pages | |||
<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
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
- Template:Nowiki template demo which uses Module:Template test case
- Template:Automarkup which uses Module:Automarkup