K (1 Version) |
imported>Oetterer K (Schützte „Modul:Further“: Automatic protection of selected project pages ([Bearbeiten=Nur Administratoren erlauben] (unbeschränkt) [Verschieben=Nur Administratoren erlauben] (unbeschränkt))) |
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |
(kein Unterschied)
|
Aktuelle Version vom 7. Oktober 2022, 16:56 Uhr
This module is rated as ready for general use. It has reached a mature form and is thought to be bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by sandbox testing rather than repeated trial-and-error editing. |
This module produces a "Further information: a, b and c" link. It implements the {{further}} template.
Usage from wikitext[Quelltext bearbeiten]
This module cannot be used directly from #invoke. Instead, it can only be used through the {{further}} template. Please see the template page for documentation.
Usage from other Lua modules[Quelltext bearbeiten]
Load the module:
local mFurther = require('Module:Further')
You can then use the _further function like this:
mDetails._further(options, ...)
The parameters following options are the page names that appear after the "Further information:" text. Page names can include a section link if desired. Pages with section links are automatically formatted as page § section, rather than the MediaWiki default of page#section.
The options variable is an optional configuration table. At current, the only option available is "selfref", which is used when the output is a self-reference to Wikipedia. to set this option, use lua
. (See the {{selfref}} template for more details on self-references.)
- Example 1
mFurther._further(nil, 'A')
Produces:
<div class="hatnote">Further information: [[A]]</div>
Displays as:
- Example 2
mFurther._further(nil, 'A', 'B', 'C')
Produces:
<div class="hatnote">Further information: [[A]], [[B]] and [[C]]</div>
Displays as:
- Example 3
mFurther._further({selfref = true}, 'A#D', 'B#D', 'C#D')
Produces:
<div class="hatnote selfref">Further information: [[A#D|A § D]], [[B#D|B § D]] and [[B#D|C § D]]</div>
Displays as:
Technical details[Quelltext bearbeiten]
This module uses Module:Hatnote to format the hatnote text, Module:TableTools to process the list of links, and Module:Arguments to fetch the arguments from wikitext.
--[[
-- This module produces a "Further information: a, b and c" link. It implements
-- the {{further}} template.
--]]
local mHatnote = require('Module:Hatnote')
local mTableTools -- lazily initialise
local mArguments -- lazily initialise
local p = {}
function p.further(frame)
mTableTools = require('Module:TableTools')
mArguments = require('Module:Arguments')
local args = mArguments.getArgs(frame, {parentOnly = true})
local pages = mTableTools.compressSparseArray(args)
if #pages < 1 then
return mHatnote.makeWikitextError(
'no page names specified',
'Template:Further#Errors',
args.category
)
end
local options = {
selfref = args.selfref
}
return p._further(options, unpack(pages))
end
function p._further(options, ...)
local links = mHatnote.formatPages(...)
local text = 'Further information: ' .. mw.text.listToText(links)
return mHatnote._hatnote(text, options)
end
return p