Die Dokumentation für dieses Modul kann unter Modul:Projekt/Doku erstellt werden
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