Module:Infobox Language: Difference between revisions

From The K Language Wiki
Content added Content deleted
No edit summary
No edit summary
Line 26: Line 26:
:addRow( 'Unicode support', args.unicode)
:addRow( 'Unicode support', args.unicode)
:addWikitext( '<hr>' )
:addWikitext( '<hr>' )
:addRow( 'Implementation Languages', args.implang)
if args.implang then retval:addRow( 'Implementation Language', args.implang) end
:addRow( 'Platforms', args.plats)
if args.implangs then retval:addRow( 'Implementation Languages', args.implangs) end
retval:addRow( 'Platforms', args.plats)
if(args.oses) then retval:addRow( 'Operating Systems', args.oses) end
if(args.oses) then retval:addRow( 'Operating Systems', args.oses) end
retval:addRow( 'License', args.license)
retval:addRow( 'License', args.license)

Revision as of 12:13, 7 January 2022


optional params have a * at the end.

{{Infobox Language
| title = The title
| headerstyle = (defaults to background-color:grey) *
| image = [[File:Logo.svg|200px]] *
| caption = *
| dev = developer
| rel = release date | unknown
| dialects = K(3|4|5|6|7|9) *
| dialect = K(3|4|5|6|7|9) *
| ttype = temporal types | none
| table = yes | no tables
| proto = yes | no
| unicode = full|partial|no support
| implang = single language *
| implangs = multiple languages *
| plats = platforms
| oses = operating systems *
| license = license
| url = [https://website.com name]
| docs = [https://docs.com name]
| runurl = [https://run.com run online]
| influenced = influenced languages *
| infby = influenced by languages *
}}

local capiunto = require 'capiunto'

local p = {}

function p.main(frame)
	local args = frame:getParent().args
	local headerStyle
	if args.headerstyle and args.headerstyle ~= '' then
		headerStyle = string.format('background-color:%s;', args.headerstyle)
	else
		headerStyle = 'background-color:grey;'
	end
	local retval = capiunto.create( {
		title = args.title,
		headerStyle = headerStyle, 
	} )
    if args.image and args.caption then
	    retval:addImage( args.image, args.caption )
    end

	retval:addRow( 'Developer', args.dev )
	:addRow( 'Released', args.rel )
    :addWikitext( '<hr>' )
    if args.dialects then retval:addRow( 'Dialects', args.dialects) end
    retval:addRow( 'Numeric Types', args.ntype)
    :addRow( 'Unicode support', args.unicode)
    :addWikitext( '<hr>' )
    if args.implang then retval:addRow( 'Implementation Language', args.implang) end
    if args.implangs then retval:addRow( 'Implementation Languages', args.implangs) end
    retval:addRow( 'Platforms', args.plats)
    if(args.oses) then retval:addRow( 'Operating Systems', args.oses) end
    retval:addRow( 'License', args.license)
    :addWikitext( '<hr>' )
    :addRow( 'Website', args.url)
    :addRow( 'Documentation', args.docs)
    :addRow( 'Run Online', args.runurl)

    if args.influenced or args.infby then
        retval:addWikitext( '<hr>' )
    end


    if args.influenced then
        retval:addRow( 'Influenced', args.influenced)
    end

    if args.infby then
        retval:addRow( 'Influenced By', args.infby)
    end
	return retval
end

return p