Module:File link/doc: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
m
27 revisions imported
(start the documentation)
 
m (27 revisions imported)
 
(26 intermediate revisions by 9 users not shown)
Line 1:
{{Module rating|protected}}
This module is used to construct wikitext links to files, using a fluent Lua interface. This is done by creating a <var>fileLink</var> object, which has various methods corresponding to different file link parameters. The module is used from other Lua modules, and cannot be used directly from wiki pages.
{{Lua|Module:Yesno|Module:Arguments}}
This module is used to construct wikitext links to files. It is primarily useful for templates and modules that use complicated logic to make file links. Simple file links should be made with wikitext markup directly, as it uses less resources than calling this module. For help with wikitext file markup please refer to the [[mw:Help:Images|documentation at mediawiki.org]].
 
== Usage from wikitext ==
 
From wikitext, this module should be called from a template, usually {{tl|file link}}. Please see the template page for documentation. However, it can also be called using the syntax <code><nowiki>{{#invoke:File link|main|</nowiki>''arguments''<nowiki>}}</nowiki></code>.
=== Creating the object ===
 
== Usage from Lua ==
 
First, you need to import the module.
 
<sourcesyntaxhighlight lang="lua">
local fileLinkmFileLink = require('Module:File link')
</syntaxhighlight>
</source>
 
Then, create the object using the <code>fileLink.new</code> function. The first parameter is the filename, and is optional.
 
<source lang="lua>
local obj = fileLink.new('Example.png')
</source>
 
=== Basic usage ===
 
You can add parameters to the file link using the fileLink object's methods. (See [[#Methods|the Methods section]] below for the full list.)
 
<source lang="lua">
obj:width(220)
obj:alt('The alt text')
obj:caption('The caption.')
</source>
 
YouThen you can thenmake producefile the link wikitextlinks using the object's <code>render_main</code> methodfunction.
<source lang="lua">
obj:render()
</source>
 
<sourcesyntaxhighlight lang="lua">
=== Call-chaining ===
mFileLink._main(args)
</syntaxhighlight>
 
<var>args</var> is a table of arguments that can have the following keys:
All the object's methods apart from the <code>render</code> method return the object itself, so can be used to call-chain.
* <code>file</code> - the filename. (required)
* <code>format</code> - the file format, e.g. 'thumb', 'thumbnail', 'frame', 'framed', or 'frameless'.
* <code>formatfile</code> - a filename to specify with the 'thumbnail' format option. The filename specified will be used instead of the automatically generated thumbnail.
* <code>border</code> - set this to true or "yes" (or any other value recognized as true by [[Module:Yesno]]) to set a border for the image.
* <code>location</code> - the horizontal alignment of the file, e.g. 'right', 'left', 'center', or 'none'.
* <code>alignment</code> - the vertical alignment of the file, e.g. 'baseline', 'middle', 'sub', 'super', 'text-top', 'text-bottom', 'top', or 'bottom'.
* <code>size</code> - the size of the image, e.g. '100px', 'x100px' or '100x100px'.
* <code>upright</code> - the 'upright' parameter, used for setting the size of tall and thin images.
* <code>link</code> - the page that the file should link to. Use the blank string <nowiki>''</nowiki> to suppress the default link to the file description page.
* <code>alt</code> - the alt text. Use the blank string <nowiki>''</nowiki> to suppress the default alt text.
* <code>caption</code> - a caption for the file.
* <code>page</code> - sets a page number for multi-paged files such as PDFs.
* <code>class</code> - adds a <code>class</code> parameter to image links. The MediaWiki software adds this parameter to the <code>class="..."</code> attribute of the image's <code><nowiki><img /></nowiki></code> element when the page is rendered into HTML.
* <code>lang</code> - adds a language attribute to specify what language to render the file in.
* <code>start</code> - specifies a start time for audio and video files.
* <code>end</code> - specifies an end time for audio and video files.
* <code>thumbtime</code> - specifies the time to use to generate the thumbnail image for video files.
 
To see the effect of each of these parameters, see the [[mw:Help:Images#Format|images help page on mediawiki.org]].
<source lang="lua">
obj:width(220):alt('The alt text'):caption('The caption.'):render()
</source>
 
=== Basic usageExamples ===
Apart from the <code>name</code> method, all of the object's methods support <code>nil</code> as an input, so call-chaining can be performed with variables whose value is unknown. However, an error will be raised if the input is of an unsupported type for that method. Please see [[#Methods|the Methods section]] for supported input types for each method.
 
With the file only:
=== Use with tostring ===
<sourcesyntaxhighlight lang="lua">
mFileLink.main{file = 'Example.png'}
-- Renders as [[File:Example.png]]
</syntaxhighlight>
 
With format, size, link and caption options:
Instead of using the <code>render</code> method, you can call <code>tostring</code> on the object to create the link wikitext.
<sourcesyntaxhighlight lang="lua">
mFileLink.main{
local obj file = fileLink.new('Example.png'),
format = 'thumb',
size = '220px',
link = 'Wikipedia:Sandbox',
caption = 'An example.'
}
-- Renders as [[File:Example.png|thumb|220px|link=Wikipedia:Sandbox|An example.]]
</syntaxhighlight>
 
With format, size, and border:
<source lang="lua">
<sourcesyntaxhighlight lang="lua">
obj:width(220):alt('The alt text'):caption('The caption.')
mFileLink.main{
tostring(obj)
file = 'Example.png',
</source>
format = 'frameless',
size = '220px',
border = true
}
-- Renders as [[File:Example.png|frameless|border|220px]]
</syntaxhighlight>
 
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu