Module:Demo/doc: Difference between revisions
Appearance
Content deleted Content added
Added the page to Category:Module documentation pages |
m →Usage in a module: {{code}}, {{xtag}} |
||
Line 18: | Line 18: | ||
<syntaxhighlight lang="lua">require('Module:demo').get(frame)</syntaxhighlight> |
<syntaxhighlight lang="lua">require('Module:demo').get(frame)</syntaxhighlight> |
||
Function get() returns a table containing: |
Function {{code|get()}} returns a table containing: |
||
*<code>source</code> = the source code (without {{ |
*<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>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. |
||
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 |
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: |
Example: |
Revision as of 04:57, 30 August 2024
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>
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