×
Create a new article
Write your page title here:
We currently have 152 articles on Grow Song of The Evertree Wiki. Type your article name above or create one of the articles listed here!



    Grow Song of The Evertree Wiki

    Module:Mbox: Difference between revisions

    Content added Content deleted
    m (1 revision imported)
    (Stealing local Module from fandom)
     
    Line 1: Line 1:
    -- <nowiki>
    -- This Module is used for making templates based in the Lua language.
    local Mbox = {}
    -- See more details about Lua in [[w:Help:Lua]].
    local getArgs = require('Module:Arguments').getArgs
    -- The Fandom Developer's Wiki hosts Global Lua Modules that can be imported and locally overridden.
    local i18n = require('Module:I18n').loadMessages('Mbox')
    -- The next line imports the Mbox module from the [[w:c:dev:Global Lua Modules]].
    local Mbox = require('Dev:Mbox')
    -- See more details about this module at [[w:c:dev:Global_Lua_Modules/Mbox]]

    -- The imported Module is overwritten locally to include default styling.
    -- For a more flexible Mbox experience, delete the function below and import
    -- https://dev.fandom.com/wiki/MediaWiki:Global_Lua_Modules/Mbox.css
    -- or paste (and modify as you like) its contents in your wiki's
    -- [[MediaWiki:Wikia.css]] (see [[w:Help:Including_additional_CSS_and_JS]])
    -- or look at https://dev.fandom.com/wiki/Global_Lua_Modules/Mbox
    -- for more customization inspiration

    --
    -- BEGIN DELETION HERE
    --

    local getArgs = require('Dev:Arguments').getArgs
    local localCSS = mw.loadData('Module:Mbox/data').localStyle


    function Mbox.main(frame)
    function Mbox.main(frame)
    Line 26: Line 9:
    -- styles
    -- styles
    local styles = {}
    local styles = {}
    if args.bordercolor then
    styles['border-left-color'] = i18n:parameter('bordercolor', args)
    styles['border-left-color'] = args.bordercolor
    styles['background-color'] = i18n:parameter('bgcolor', args)
    elseif args.type then
    styles['border-left-color'] = 'var(--type-' .. args.type .. ')'
    end

    if args.bgcolor then
    styles['background-color'] = args.bgcolor
    end


    -- images
    -- images
    local image = args.image or ''
    local image = i18n:parameter('image', args) or ''
    local imagewidth = args.imagewidth or '80px'
    local imageadjust = ''
    if args.imageadjust then
    local imagelink = ''
    imageadjust = '|' .. args.imageadjust
    if args.imagelink then
    end
    imagelink = '|link=' .. args.imagelink
    local imagewidth = i18n:parameter('imagewidth', args) or '80px'
    local imagelink = '|link='
    local imagelinkarg = i18n:parameter('imagelink', args)
    if imagelinkarg then
    imagelink = imagelink .. imagelinkarg
    end
    end


    local imagewikitext = ('%sFile:%s|%s%s' .. ']]'):format('[[', image, imagewidth, imagelink)
    local imagewikitext = '[[File:' .. image .. '|' .. imagewidth .. imageadjust .. imagelink .. ']]'


    -- id for closure
    -- id for closure
    local id = args.id or 'mbox'
    local id = i18n:parameter('id', args) or 'mbox'
    local typeclass = i18n:parameter('type', args)


    local container = mw.html.create('div')
    local container = mw.html.create('div')
    :addClass('mbox')
    :addClass('mbox')
    :addClass(args.class)
    :addClass(typeclass and ('mbox-type-' .. typeclass))
    :addClass(i18n:parameter('class', args))
    :css(styles)
    :css(styles)
    :css(localCSS['mbox'])
    :cssText(i18n:parameter('style', args))
    :cssText(args.style)


    local content = container:tag('div')
    local content = container:tag('div')
    :addClass('mbox__content')
    :addClass('mbox__content')
    local collapsed = i18n:parameter('collapsed', args)
    :css(localCSS['mbox__content'])


    if args.image then
    if image ~= '' then
    local image = content:tag('div')
    local image = content:tag('div')
    :addClass('mbox__content__image')
    :addClass('mbox__content__image')
    :addClass('mw-collapsible')
    :addClass('mw-collapsible')
    :attr('id', 'mw-customcollapsible-' .. id)
    :attr('id', 'mw-customcollapsible-' .. id)
    :css(localCSS['mbox__content__image'])
    :wikitext(imagewikitext)
    :wikitext(imagewikitext)
    if args.collapsed then
    if collapsed then
    image:addClass('mw-collapsed')
    image:addClass('mw-collapsed')
    end
    end
    Line 74: Line 55:
    local contentwrapper = content:tag('div')
    local contentwrapper = content:tag('div')
    :addClass('mbox__content__wrapper')
    :addClass('mbox__content__wrapper')
    local header = i18n:parameter('header', args)
    :css(localCSS['mbox__content__wrapper'])


    if args.header then
    if header then
    contentwrapper:tag('div')
    contentwrapper:tag('div')
    :addClass('mbox__content__header')
    :addClass('mbox__content__header')
    :css(localCSS['mbox__content__header'])
    :wikitext(header)
    :wikitext(args.header)
    end
    end


    if args.text then
    local textarg = i18n:parameter('text', args)
    if textarg then
    local text = contentwrapper:tag('div')
    local text = contentwrapper:tag('div')
    :addClass('mbox__content__text')
    :addClass('mbox__content__text')
    :addClass('mw-collapsible')
    :addClass('mw-collapsible')
    :attr('id', 'mw-customcollapsible-' .. id)
    :attr('id', 'mw-customcollapsible-' .. id)
    :css(localCSS['mbox__content__text'])
    :wikitext(textarg)
    :wikitext(args.text)
    if collapsed then
    if args.collapsed then
    text:addClass('mw-collapsed')
    text:addClass('mw-collapsed')
    end
    end


    if args.comment then
    local comment = i18n:parameter('comment', args)
    if comment then
    text:tag('div')
    text:tag('div')
    :addClass('mbox__content__text__comment')
    :addClass('mbox__content__text__comment')
    :css(localCSS['mbox__content__text__comment'])
    :wikitext(comment)
    :wikitext(args.comment)
    end
    end
    end
    end
    Line 105: Line 85:
    :addClass('mbox__close')
    :addClass('mbox__close')
    :addClass('mw-customtoggle-' .. id)
    :addClass('mw-customtoggle-' .. id)
    :css(localCSS['mbox__close'])
    :attr('title', i18n:msg('dismiss'))
    :attr('title', 'Dismiss')


    if args.aside then
    local asidearg = i18n:parameter('aside', args)
    if asidearg then
    local aside = content:tag('div')
    local aside = content:tag('div')
    :addClass('mbox__content__aside')
    :addClass('mbox__content__aside')
    :addClass('mw-collapsible')
    :addClass('mw-collapsible')
    :attr('id', 'mw-customcollapsible-' .. id)
    :attr('id', 'mw-customcollapsible-' .. id)
    :css(localCSS['mbox__content__aside'])
    :wikitext(asidearg)
    :wikitext(args.aside)
    if collapsed then
    if args.collapsed then
    aside:addClass('mw-collapsed')
    aside:addClass('mw-collapsed')
    end
    end
    Line 123: Line 102:
    end
    end


    --
    -- END DELETION HERE
    --

    -- The last line produces the output for the template
    return Mbox
    return Mbox

    Latest revision as of 18:39, 20 November 2022

    This module is used by most of the basic Notice templates and is invoked by {{MessageBox}}.


    -- <nowiki>
    local Mbox = {}
    local getArgs = require('Module:Arguments').getArgs
    local i18n = require('Module:I18n').loadMessages('Mbox')
    
    function Mbox.main(frame)
        local args = getArgs(frame)
    
        -- styles
        local styles = {}
        styles['border-left-color'] = i18n:parameter('bordercolor', args)
        styles['background-color'] = i18n:parameter('bgcolor', args)
    
        -- images
        local image = i18n:parameter('image', args) or ''
        local imageadjust = ''
        if args.imageadjust then
            imageadjust = '|' .. args.imageadjust
        end
        local imagewidth = i18n:parameter('imagewidth', args) or '80px'
        local imagelink = '|link='
        local imagelinkarg = i18n:parameter('imagelink', args)
        if imagelinkarg then
            imagelink = imagelink .. imagelinkarg
        end
    
        local imagewikitext = '[[File:' .. image .. '|' .. imagewidth  .. imageadjust .. imagelink .. ']]'
    
        -- id for closure
        local id = i18n:parameter('id', args) or 'mbox'
        local typeclass = i18n:parameter('type', args)
    
        local container = mw.html.create('div')
            :addClass('mbox')
            :addClass(typeclass and ('mbox-type-' .. typeclass))
            :addClass(i18n:parameter('class', args))
            :css(styles)
            :cssText(i18n:parameter('style', args))
    
        local content = container:tag('div')
            :addClass('mbox__content')
        local collapsed = i18n:parameter('collapsed', args)
    
        if image ~= '' then
            local image = content:tag('div')
                :addClass('mbox__content__image')
                :addClass('mw-collapsible')
                :attr('id', 'mw-customcollapsible-' .. id)
                :wikitext(imagewikitext)
                if collapsed then
                    image:addClass('mw-collapsed')
                end
        end
    
        local contentwrapper = content:tag('div')
            :addClass('mbox__content__wrapper')
        local header = i18n:parameter('header', args)
    
        if header then
            contentwrapper:tag('div')
                :addClass('mbox__content__header')
                :wikitext(header)
        end
    
        local textarg = i18n:parameter('text', args)
        if textarg then
            local text = contentwrapper:tag('div')
                :addClass('mbox__content__text')
                :addClass('mw-collapsible')
                :attr('id', 'mw-customcollapsible-' .. id)
                :wikitext(textarg)
                if collapsed then
                    text:addClass('mw-collapsed')
                end
    
            local comment = i18n:parameter('comment', args)
            if comment then
                text:tag('div')
                    :addClass('mbox__content__text__comment')
                    :wikitext(comment)
            end
        end
    
        contentwrapper:tag('span')
            :addClass('mbox__close')
            :addClass('mw-customtoggle-' .. id)
            :attr('title', i18n:msg('dismiss'))
    
        local asidearg = i18n:parameter('aside', args)
        if asidearg then
            local aside = content:tag('div')
                :addClass('mbox__content__aside')
                :addClass('mw-collapsible')
                :attr('id', 'mw-customcollapsible-' .. id)
                :wikitext(asidearg)
                if collapsed then
                    aside:addClass('mw-collapsed')
                end
        end
    
        return container
    end
    
    return Mbox
    
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.