Module:Demo/doc: Difference between revisions
Appearance
Content deleted Content added
m →Usage in a module: syntaxhighlight |
m update |
||
Line 19: | Line 19: | ||
Function get() returns a table containing: |
Function get() returns a table containing: |
||
*<code>source</code> = the source code (without {{tag| |
*<code>source</code> = the source code (without {{tag|syntaxhighlight}} wrappers, characters substituted with html entities) |
||
*<code>output</code> = the execution result of the source. |
*<code>output</code> = the execution result of the source. |
||
*<code>frame</code> = the frame from which this template took the parameter. |
*<code>frame</code> = the frame from which this template took the parameter. |
Revision as of 00:56, 25 July 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