Module:Demo/doc

From Funkinchan
Revision as of 08:19, 20 September 2023 by Jedevari (talk | contribs) (making module)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

This is the documentation page for Module:Demo

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: <syntaxhighlight lang="lua">require('Module:demo').get(frame)</syntaxhighlight>

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: <syntaxhighlight lang="lua"> local p = {}

function p.main(frame) local parts = require('Module:demo').get(frame)

return '…Pretty HTML…

' .. parts.source .. '

…More pretty HTML… ' .. parts.output .. ' …Even more pretty HTML…'

end

return p</syntaxhighlight>

See also