Jump to content

Module:Demo/doc: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m fix snippet
Line 31: Line 31:
function p.main(frame)
function p.main(frame)
local parts = require('Module:demo').get(frame)
local parts = require('Module:demo').get(frame)
return '<Pretty html><pre>' .. parts.source .. '</pre><more pretty html>' .. parts.output .. '<even more pretty html>'
return 'Pretty html<pre>' .. parts.source .. '</pre>more pretty html' .. parts.output .. 'even more pretty html'
end
end



Revision as of 09:05, 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:

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