Jump to content

Module:Demo/doc: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
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 {{tag|syntaxhighlight}} wrappers, characters substituted with html entities)
*<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 <code>require('Module:demo').get(frame, 'alternate_name')</code>
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