Module:Demo/doc: Difference between revisions
Appearance
Content deleted Content added
m update |
m →Usage: fix indentation |
||
Line 27: | Line 27: | ||
Example: |
Example: |
||
<syntaxhighlight lang="lua"> |
<syntaxhighlight lang="lua"> |
||
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 == |
== See also == |
Revision as of 09:04, 9 August 2023
Usage
Usage via templates
This module supports {{Demo}}
{{#invoke:Demo|main}}
and {{Demo inline}}
{{#invoke:Demo|inline}}
The input must be wrapped in <nowiki>...</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>...</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:
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