Jump to content
Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.

Modul:Mbox: Unterschied zwischen den Versionen

Aus DragonballWiki
Inhalt gelöscht Inhalt hinzugefügt
Gokussj7
Gokussj7 (Diskussion | Beiträge) (Die Seite wurde neu angelegt.)
 
 
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 title = args[1] or args[ 'title' ]
local args = mArguments.getArgs( frame )
local text = args[2] or args[ 'text' ]
local title = args[ 1 ] or args[ 'title' ]
local text = args[ 2 ] or args[ 'text' ]
if not s then
if not title or not text then
return p.makeWikitextError(
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 )
: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

Module Dokumentation[view][edit][history][purge]
Diese Dokumentation wird von Modul:Mbox/doc aus übernommen. Änderungen können auf der Diskussionsseite vorgeschlagen werden.
en:Modul:Mbox
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
Cookies helfen uns bei der Bereitstellung von DragonballWiki. Durch die Nutzung von DragonballWiki erklärst du dich damit einverstanden, dass wir Cookies speichern.