Modul:Mbox: Unterschied zwischen den Versionen
Aus DragonballWiki
Weitere Optionen
Inhalt gelöscht Inhalt hinzugefügt
| Zeile 2: | Zeile 2: | ||
local checkType = libraryUtil.checkType |
local checkType = libraryUtil.checkType |
||
local mArguments -- lazily initialise [[Module:Arguments]] |
local mArguments -- lazily initialise [[Module:Arguments]] |
||
local mError -- lazily initialise [[Module:Error]] |
local mError -- lazily initialise [[Module:Error]] |
||
local p = {} |
local p = {} |
||
| Zeile 13: | Zeile 13: | ||
local function makeWikitextError( msg ) |
local function makeWikitextError( msg ) |
||
mError = require( 'Module:Error' ) |
mError = require( 'Module:Error' ) |
||
return mError.error{ |
return mError.error { |
||
message = 'Error: ' .. msg .. '.' |
message = 'Error: ' .. msg .. '.' |
||
} |
} |
||
| Zeile 19: | Zeile 19: | ||
function p.mbox( frame ) |
function p.mbox( frame ) |
||
mArguments = require( 'Module:Arguments' ) |
|||
local args = getArgs( frame ) |
|||
local |
local args = mArguments.getArgs( frame ) |
||
local |
local title = args[ 1 ] or args[ 'title' ] |
||
local text = args[ 2 ] or args[ 'text' ] |
|||
if not |
if not title or not text then |
||
return |
return makeWikitextError( |
||
'no text specified' |
'no title or text specified' |
||
'Template:Mbox#Errors', |
|||
args.category |
|||
) |
) |
||
end |
end |
||
| Zeile 60: | Zeile 59: | ||
:done() |
:done() |
||
:tag( 'div' ) |
:tag( 'div' ) |
||
:wikitext( title ) |
|||
else |
else |
||
mboxTitle:wikitext( title ) |
mboxTitle:wikitext( title ) |
||
| Zeile 69: | Zeile 68: | ||
:wikitext( text ) |
:wikitext( text ) |
||
return mw.getCurrentFrame():extensionTag{ |
return mw.getCurrentFrame():extensionTag { |
||
name = 'templatestyles', args = { src = 'Module:Mbox/styles.css' } |
name = 'templatestyles', args = { src = 'Module:Mbox/styles.css' } |
||
} .. tostring(mbox) |
} .. tostring( mbox ) |
||
end |
end |
||
Aktuelle Version vom 12. Februar 2025, 22:43 Uhr
Diese Dokumentation wird von Modul:Mbox/doc aus übernommen. Änderungen können auf der Diskussionsseite vorgeschlagen werden.
Modul:Mbox wird von den Star Citizen Wikis verwendet.
Dieses module wird über die Star Citizen Wikis geteilt. Alle Änderungen sollten auch an das GitHub-Repository weitergeleitet werden.
Dieses Modul wird nicht verwendet.
Dieses Modul wird weder von einer Vorlage aufgerufen noch von einem anderen Modul benötigt/geladen. Wenn dies ein Fehler ist, stelle bitte sicher, dass
{{Dokumentation}}/{{Keine Dokumentation}} auf der Dokumentationsseite der Vorlage oder des Moduls eingebunden ist.| Function list |
|---|
| L 13 — makeWikitextError L 20 — p.mbox L 36 — p._mbox |
local libraryUtil = require( 'libraryUtil' )
local checkType = libraryUtil.checkType
local mArguments -- lazily initialise [[Module:Arguments]]
local mError -- lazily initialise [[Module:Error]]
local p = {}
--- Helper function to throw error
--
-- @param msg string - Error message
--
-- @return string - Formatted error message in wikitext
local function makeWikitextError( msg )
mError = require( 'Module:Error' )
return mError.error {
message = 'Error: ' .. msg .. '.'
}
end
function p.mbox( frame )
mArguments = require( 'Module:Arguments' )
local args = mArguments.getArgs( frame )
local title = args[ 1 ] or args[ 'title' ]
local text = args[ 2 ] or args[ 'text' ]
if not title or not text then
return makeWikitextError(
'no title or text specified'
)
end
return p._mbox( title, text, {
extraclasses = args.extraclasses,
icon = args.icon
} )
end
function p._mbox( title, text, options )
checkType( '_mbox', 1, title, 'string' )
checkType( '_mbox', 2, text, 'string' )
checkType( '_mbox', 3, options, 'table', true )
options = options or {}
local mbox = mw.html.create( 'div' )
local extraclasses
if type( options.extraclasses ) == 'string' then
extraclasses = options.extraclasses
end
mbox
:attr( 'role', 'presentation' )
:addClass( 'mbox' )
:addClass( extraclasses )
local mboxTitle = mbox:tag( 'div' ):addClass( 'mbox-title' )
if options.icon and type( options.icon ) == 'string' then
mboxTitle:tag( 'div' )
:addClass( 'mbox-icon metadata' )
:wikitext( '[[File:' .. options.icon .. '|14px|link=]]' )
:done()
:tag( 'div' )
:wikitext( title )
else
mboxTitle:wikitext( title )
end
mbox:tag( 'div' )
:addClass( 'mbox-text' )
:wikitext( text )
return mw.getCurrentFrame():extensionTag {
name = 'templatestyles', args = { src = 'Module:Mbox/styles.css' }
} .. tostring( mbox )
end
return p