Module:Side box
- Аԥсшәа
- Afrikaans
- Pangcah
- Ænglisc
- العربية
- الدارجة
- مصرى
- Asturianu
- Авар
- Kotava
- Azərbaycanca
- تۆرکجه
- Basa Bali
- Bikol Central
- Беларуская
- भोजपुरी
- ပအိုဝ်ႏဘာႏသာႏ
- বাংলা
- Brezhoneg
- Bosanski
- Català
- 閩東語 / Mìng-dĕ̤ng-ngṳ̄
- Cebuano
- Chamoru
- کوردی
- Corsu
- Dansk
- Ελληνικά
- English
- Español
- Eesti
- Euskara
- فارسی
- Suomi
- Føroyskt
- Gaeilge
- Galego
- گیلکی
- गोंयची कोंकणी / Gõychi Konknni
- ગુજરાતી
- Hausa
- 客家語 / Hak-kâ-ngî
- Hawaiʻi
- Hrvatski
- Հայերեն
- Արեւմտահայերէն
- Bahasa Indonesia
- Ilokano
- Íslenska
- 日本語
- Jawa
- ქართული
- Qaraqalpaqsha
- Taqbaylit
- Kumoring
- ಕನ್ನಡ
- 한국어
- Kurdî
- Ladin
- Lietuvių
- Latviešu
- Madhurâ
- Māori
- Македонски
- മലയാളം
- Монгол
- ဘာသာမန်
- Bahasa Melayu
- မြန်မာဘာသာ
- مازِرونی
- नेपाली
- Nederlands
- Norsk nynorsk
- Norsk bokmål
- ଓଡ଼ିଆ
- ਪੰਜਾਬੀ
- Pangasinan
- पालि
- پنجابی
- پښتو
- Português
- Ikirundi
- Руски
- Русский
- Русиньскый
- Scots
- سنڌي
- Srpskohrvatski / српскохрватски
- တႆး
- සිංහල
- Simple English
- Slovenščina
- Anarâškielâ
- Soomaaliga
- Shqip
- Српски / srpski
- Svenska
- Sakizaya
- ತುಳು
- ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ
- Тоҷикӣ
- ไทย
- ትግርኛ
- Türkmençe
- Tagalog
- Toki pona
- Türkçe
- Українська
- اردو
- Oʻzbekcha / ўзбекча
- Tiếng Việt
- Volapük
- Winaray
- 吴语
- 文言
- 閩南語 / Bân-lâm-gí
- 粵語
- 中文
Appearance
From Meta, a Wikimedia project coordination wiki
The above documentation is transcluded from Module:Side box/doc. (edit | history)
Editors can experiment in this module’s sandbox (create | mirror) and testcases (create) pages.
Please add categories to the /doc subpage. Subpages of this module.
Editors can experiment in this module’s sandbox (create | mirror) and testcases (create) pages.
Please add categories to the /doc subpage. Subpages of this module.
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 -- private, export for testing p._makeData=makeData p._renderSidebox=renderSidebox 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