Module:Mbox:修订间差异
外观
无编辑摘要 |
小无编辑摘要 |
||
| (未显示同一用户的5个中间版本) | |||
| 第2行: | 第2行: | ||
-- See more details about Lua in [[w:Help:Lua]]. | -- See more details about Lua in [[w:Help:Lua]]. | ||
-- The Fandom Developer's Wiki hosts Global Lua Modules that can be imported and locally overridden. | -- The Fandom Developer's Wiki hosts Global Lua Modules that can be imported and locally overridden. | ||
-- The next line imports the Mbox module from the [[w:c:dev:Global Lua Modules]]. | -- The next line NO LONGER imports the Mbox module from the [[w:c:dev:Global Lua Modules]]. | ||
local Mbox = | local Mbox = {} | ||
-- See more details about this module at [[w:c:dev:Global_Lua_Modules/Mbox]] | -- See more details about this module at [[w:c:dev:Global_Lua_Modules/Mbox]] | ||
| 第27行: | 第27行: | ||
local styles = {} | local styles = {} | ||
if args.bordercolor then | if args.bordercolor then | ||
styles['border-left-color'] = args.bordercolor | styles['border-left-color'] = args.bordercolor or args["color"] | ||
elseif args.type then | elseif args.type then | ||
styles['border-left-color'] = 'var(--type-' .. args.type .. ')' | styles['border-left-color'] = 'var(--type-' .. args.type .. ')' | ||
end | end | ||
if | local bgcolor = args.bgcolor or args.backgroundColor | ||
if bgcolor then | |||
styles['background-color'] = args.bgcolor | styles['background-color'] = args.bgcolor | ||
end | end | ||
| 第44行: | 第45行: | ||
end | end | ||
local imagewikitext = ('%sFile:%s|%s%s' .. ']]'):format('[[', image, imagewidth, imagelink) | local imagewikitext = args.leftimage or ('%sFile:%s|%s%s' .. ']]'):format('[[', image, imagewidth, imagelink) | ||
-- id for closure | -- id for closure | ||
| 第60行: | 第61行: | ||
:css(localCSS['mbox__content']) | :css(localCSS['mbox__content']) | ||
if args.image then | if args.image or args.leftimage then | ||
local image = content:tag('div') | local image = content:tag('div') | ||
:addClass('mbox__content__image') | :addClass('mbox__content__image') | ||
| 第83行: | 第84行: | ||
end | end | ||
local rawText = args.text or args[1] | |||
if rawText then | |||
local text = contentwrapper:tag('div') | local text = contentwrapper:tag('div') | ||
:addClass('mbox__content__text') | :addClass('mbox__content__text') | ||
| 第93行: | 第95行: | ||
text:addClass('mw-collapsed') | text:addClass('mw-collapsed') | ||
end | end | ||
local textStyle = args["text-style"] | |||
if textStyle then | |||
text:cssText(textStyle) | |||
end | |||
if args.comment then | if args.comment then | ||
2025年8月2日 (六) 11:55的最新版本
此模块的文档可以在Module:Mbox/doc创建
-- This Module is used for making templates based in the Lua language.
-- See more details about Lua in [[w:Help:Lua]].
-- The Fandom Developer's Wiki hosts Global Lua Modules that can be imported and locally overridden.
-- The next line NO LONGER imports the Mbox module from the [[w:c:dev:Global Lua Modules]].
local 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('Module:Arguments').getArgs
local localCSS = mw.loadData('Module:Mbox/data').localStyle
function Mbox.main(frame)
local args = getArgs(frame)
-- styles
local styles = {}
if args.bordercolor then
styles['border-left-color'] = args.bordercolor or args["color"]
elseif args.type then
styles['border-left-color'] = 'var(--type-' .. args.type .. ')'
end
local bgcolor = args.bgcolor or args.backgroundColor
if bgcolor then
styles['background-color'] = args.bgcolor
end
-- images
local image = args.image or ''
local imagewidth = args.imagewidth or '80px'
local imagelink = ''
if args.imagelink then
imagelink = '|link=' .. args.imagelink
end
local imagewikitext = args.leftimage or ('%sFile:%s|%s%s' .. ']]'):format('[[', image, imagewidth, imagelink)
-- id for closure
local id = args.id or 'mbox'
local container = mw.html.create('div')
:addClass('mbox')
:addClass(args.class)
:css(styles)
:css(localCSS['mbox'])
:cssText(args.style)
local content = container:tag('div')
:addClass('mbox__content')
:css(localCSS['mbox__content'])
if args.image or args.leftimage then
local image = content:tag('div')
:addClass('mbox__content__image')
:addClass('mw-collapsible')
:attr('id', 'mw-customcollapsible-' .. id)
:css(localCSS['mbox__content__image'])
:wikitext(imagewikitext)
if args.collapsed then
image:addClass('mw-collapsed')
end
end
local contentwrapper = content:tag('div')
:addClass('mbox__content__wrapper')
:css(localCSS['mbox__content__wrapper'])
if args.header then
contentwrapper:tag('div')
:addClass('mbox__content__header')
:css(localCSS['mbox__content__header'])
:wikitext(args.header)
end
local rawText = args.text or args[1]
if rawText then
local text = contentwrapper:tag('div')
:addClass('mbox__content__text')
:addClass('mw-collapsible')
:attr('id', 'mw-customcollapsible-' .. id)
:css(localCSS['mbox__content__text'])
:wikitext(args.text)
if args.collapsed then
text:addClass('mw-collapsed')
end
local textStyle = args["text-style"]
if textStyle then
text:cssText(textStyle)
end
if args.comment then
text:tag('div')
:addClass('mbox__content__text__comment')
:css(localCSS['mbox__content__text__comment'])
:wikitext(args.comment)
end
end
contentwrapper:tag('span')
:addClass('mbox__close')
:addClass('mw-customtoggle-' .. id)
:css(localCSS['mbox__close'])
:attr('title', 'Dismiss')
if args.aside then
local aside = content:tag('div')
:addClass('mbox__content__aside')
:addClass('mw-collapsible')
:attr('id', 'mw-customcollapsible-' .. id)
:css(localCSS['mbox__content__aside'])
:wikitext(args.aside)
if args.collapsed then
aside:addClass('mw-collapsed')
end
end
return container
end
--
-- END DELETION HERE
--
-- The last line produces the output for the template
return Mbox