Mô tổ:Side box
Vẻ ngoài
Mô khối hồ sơ[Xem xét] [Biên tập] [Lịch sử] [Thanh trừ hoãn tồn]
Này mô khối bị trích dẫn vớiƯớc 207,000 cái giao diện. Vì tránh cho tạo thành đại quy mô ảnh hưởng, sở hữu đối này mô khối biên tập ứng trước vớiHộp cátHoặcThí nghiệm dạng lệThượng thí nghiệm. Thí nghiệm sau không có lầm phiên bản có thể dùng một lần mà gia nhập này mô khối trung, nhưng là sửa chữa trước làm ơn tất vớiThảo luận trangKhởi xướng thảo luận. Khuôn mẫu trích dẫn số lượng sẽ tự động đổi mới. |
Này mô khối sử dụngLua ngôn ngữ: |
Bổn mô khối sử dụng dướiKhuôn mẫu hình thức: |
Bổn mô khối dùng cho chấp hành khuôn mẫu {{side box}}.
Từ duy cơ số hiệu trung sử dụng
Bổn mô khối không thể trực tiếp dùng cho duy cơ văn bản, chỉ có thể thông qua {{side box}} khuôn mẫu sử dụng. Thỉnh xem khuôn mẫu trang thuyết minh.
Từ Lua mô khối trung sử dụng
Vì ở khác Lua mô khối trung sử dụng trước tái nhập bổn mô khối.
localmSideBox=require('Module:Side box')
Sau đó sử dụng _main hàm số sinh thành sườn khung.
mSideBox._main(args)
Kể trênHồ sơKhảm nhậpTựModule:Side box/doc.(Biên tập|Lịch sử) Người biên tập có thể ở bổn mô khốiHộp cát(Biên tập|Sai biệt)Cùng thí nghiệm dạng lệ(Sáng tạo)Giao diện tiến hành thực nghiệm. Bổn mô khối tử giao diện. |
-- bổn mô khối khảm nhập {{side box}}
localyesno=require('Module:Yesno')
localp={}
localfunctionmakeData(args)
localdata={}
-- Main table classes
data.classes={}
ifyesno(args.metadata)~=falsethen
table.insert(data.classes,'metadata')
end
ifargs.positionandargs.position:lower()=='left'then
table.insert(data.classes,'side-box-left')
else
table.insert(data.classes,'side-box-right')
end
ifargs.collapsiblethen
table.insert(data.classes,'mw-collapsible')
ifargs.collapsible=="collapsed"then
table.insert(data.classes,'mw-collapsed')
end
data.collapsible=true
end
table.insert(data.classes,args.class)
-- Image
ifargs.imageandargs.image~='none'then
data.image=args.image
end
-- we have to check to see if a downstream use has plainlist like
-- Template:Sister_project. also it's the default. wikitext is:(
ifargs.textclass=='plainlist'ornotargs.textclassthen
data.textclass='plainlist'
data.plainlist_templatestyles='Plainlist/styles.css'
else
data.textclass=args.textclass
end
-- Copy over data that does not need adjusting
localargsToCopy={
-- aria qualities
'role',
'labelledby',
-- Styles
'style',
'textstyle',
'templatestyles',
-- Above row
'above',
'abovestyle',
-- Body row
'text',
'imageright',
-- Below row
'below',
}
fori,keyinipairs(argsToCopy)do
data[key]=args[key]
end
returndata
end
localfunctionrenderSidebox(data)
-- Renders the sidebox HTML.
-- Table root
localroot=mw.html.create('div')
root:attr('role',data.role)
:attr('aria-labelledby',data.labelledby)
:addClass('side-box')
fori,classinipairs(data.classesor{})do
root:addClass(class)
end
ifdata.stylethen
root:cssText(data.style)
end
localframe=mw.getCurrentFrame()
ifdata.plainlist_templatestylesthen
root:wikitext(frame:extensionTag{
name='templatestyles',args={src=data.plainlist_templatestyles}
})
end
-- The "above" row
ifdata.abovethen
localabove=root:newline():tag('div')
above:addClass('side-box-abovebelow')
:newline()
:wikitext(data.above)
ifdata.textstylethen
above:cssText(data.textstyle)
end
ifdata.abovestylethen
above:cssText(data.abovestyle)
end
end
-- The body row
localbody=root:newline():tag('div')
body:addClass('side-box-flex')
:addClass(data.collapsibleand'mw-collapsible-content')
:newline()
ifdata.imagethen
body:tag('div')
:addClass('side-box-image')
:wikitext(data.image)
end
localtext=body:newline():tag('div')
text:addClass('side-box-text')
:addClass(data.textclass)
ifdata.textstylethen
text:cssText(data.textstyle)
end
text:wikitext(data.text)
ifdata.imagerightthen
body:newline():tag('div')
:addClass('side-box-imageright')
:wikitext(data.imageright)
end
-- The below row
ifdata.belowthen
localbelow=root:newline():tag('div')
below
:addClass('side-box-abovebelow')
:wikitext(data.below)
ifdata.textstylethen
below:cssText(data.textstyle)
end
end
root:newline()
localtemplatestyles=''
ifdata.templatestylesthen
templatestyles=frame:extensionTag{
name='templatestyles',args={src=data.templatestyles}
}
end
returnframe:extensionTag{
name='templatestyles',args={src='Module:Side box/styles.css'}
}..templatestyles..tostring(root)
end
functionp._main(args)
localdata=makeData(args)
returnrenderSidebox(data)
end
functionp.main(frame)
localorigArgs=frame:getParent().args
localargs={}
fork,vinpairs(origArgs)do
v=v:match('%s*(.-)%s*$')
ifv~=''then
args[k]=v
end
end
returnp._main(args)
end
returnp