Diese Dokumentation wird von Modul:Projekt/doc aus übernommen. Änderungen können auf der Diskussionsseite vorgeschlagen werden.
Function list |
---|
L 12 — addLogo L 26 — addContact L 35 — addWebsite L 51 — addOther L 57 — p.infobox |
Dieses Modul setzt die Vorlage:Projekt um. Anweisungen zur Verwendung findest du auf der Vorlagenseite.
local p = {}
local args = require( 'Module:Arguments' )
local capiunto = require( 'Module:Infobox' )
local common = require( 'Module:Common' )
local infoBox
local categories = {
'[[Kategorie:Projekt]]'
}
local function addLogo()
local logo = common.getImage( {
mw.title.getCurrentTitle().subpageText .. '_Logo',
} )
if logo ~= false then
infoBox:addImage( logo, {
[ 'alternativtext' ] = 'Logo ' .. mw.title.getCurrentTitle().subpageText,
'rahmenlos',
'350px'
} )
end
end
local function addContact()
if args.contact then
infoBox:addRow( 'Ansprechpartner', args.contact )
else
table.insert( categories, '[[Kategorie:Projekt mit fehlendem Ansprechpartner]]' )
end
end
local function addWebsite()
if args.website then
if string.match( args.website, 'http' ) == nil then
error( 'Webseite scheint kein valider Link zu sein', 0 )
return nil
end
infoBox:addRow( 'Webseite', '[' .. args.website .. ' ' .. mw.title.getCurrentTitle().subpageText .. ']' )
mw.smw.set({
Webseite = args.website,
})
end
end
local function addOther()
if args.other then
infoBox:addRow( 'Sonstiges', args.other )
end
end
function p.infobox( frame )
args = args.getArgs( frame )
infoBox = capiunto.create( {
bodyClass = 'floatright',
} )
addLogo()
infoBox:addTitle( mw.title.getCurrentTitle().subpageText )
addContact()
addWebsite()
addOther()
infoBox:addRowsFromArgs( args, '!' )
common.setDisplayTitle( frame, mw.title.getCurrentTitle().subpageText )
return tostring( infoBox ) .. table.concat( categories )
end
return p