Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Modül:Sidebar games events

bullvar_katip

Administrator
Katılım
21 Mayıs 2024
Mesajlar
532,105
-- -- This module implements -- This module was created using code taken directly from Module:Sidebar -- require('Modül:No globals') local p = {} local getArgs = require('Modül:Arguments').getArgs local navbar = require('Modül:Navbar')._navbar function p.sidebar(frame, args) if not args then args = getArgs(frame) end local root = mw.html.create root = root :tag('table') :addClass('vertical-navbox') :addClass('nowraplinks') :addClass(args.class or 'hlist') :css('float', args.float or 'right') :css('clear', (args.float 'none' and 'both') or args.float or 'right') :css('width', args.width or 'auto') :css('max-width', args.maxwidth or '25em') :css('margin', args.float 'left' and '0 1.0em 1.0em 0' or '0 0 1.0em 1.0em') :css('background', '#f5faff') :css('border', '1px solid #B8C7D9') :css('padding', '0.2em') :css('border-spacing', '0.4em 0') :css('text-align', 'center') :css('font-size', '88%') -- enumerate the rows and count the columns local cols = 1 local colindex = {a = '2', b = '3', c = '4', d = '5', e = '6'} local lets = {'a', 'b', 'c', 'd', 'e'} local rowNums = {} local subevents = 0 local hasevents = false for k, v in pairs(args) do k = .. k local num = k:match('^event(%d+)$') or k:match('^image(%d+)$') or k:match('^title(%d+)$') or k:match('^type(%d+)[a-e]$') or k:match('^event(%d+)%.%d+$') or k:match('^results(%d+)%.%d+[a-e]?$') if num then table.insert(rowNums, tonumber(num)) end if k:match('^results%d+%.(%d+)$') then cols = (2 > cols) and 2 or cols end local let = k:match('^results%d+%.%d+([a-e])$') or k:match('^type%d+([a-e])$') if let and colindex[let] then local n = tonumber(colindex[let]) cols = (n > cols) and n or cols end local subnum = k:match('^results%d+%.(%d+)[a-e]?$') or k:match('^event%d+%.(%d+)$') if subnum then subnum = tonumber(subnum) subevents = (subnum > subevents) and subnum or subevents end if k:match('^(event%d+%.%d+)$') then hasevents = true end end -- remove duplicates from the list (e.g. 3 will be duplicated if both event3 and image3 are specified) table.sort(rowNums) for i = #rowNums, 1, -1 do if rowNums rowNums[i - 1] then table.remove(rowNums, i) end end -- alignment local alignevents 'text-align:left;' if args.alignevents and args.alignevents 'right' then alignevents = 'text-align:right;' end local alignresults = nil if args.alignresults and args.alignresults 'right' then alignresults 'text-align:right; padding-right:1.5em' elseif args.alignresults and args.alignresults 'left' then alignresults = 'text-align:left' end -- add the top level header if args.event or args.title then local t = args.event if args.title then t = args.title elseif args.games then t = .. args.games .. ..'\'nda ' .. ' ' t = t .. .. args.event:gsub("^%l", string.upper) .. end local cell = root:tag('tr'):tag('th') cell :css('padding', '0.2em 0.4em 0.2em') :css('font-size', '100%') :css('line-height', '1.5em') :css('background', '#cedff2') :attr('colspan', cols) if args.imageright then local d = cell:tag('div') :css('display', 'table') :css('width', '100%') d:tag('div') :css('display', 'table-cell') :css('width', '95%') :wikitext(t) d:tag('div') :css('display', 'table-cell') :css('width', '5%') :wikitext(args.imageright) else cell:wikitext(t) end end if args.image then local imageCell = root:tag('tr'):tag('td') imageCell :css('padding', '0 0 0.2em') :css('background', '#cedff2') :attr('colspan', cols) :wikitext(args.image) if args.caption then imageCell :tag('div') :css('padding-top', '0.2em') :css('line-height', '1.2em') :wikitext(args.caption) end end if args.above then local cell = root:tag('tr'):tag('td') cell:attr('colspan', cols) :wikitext(args.above) end -- start adding rows for i, num in ipairs(rowNums) do local heading = nil local event = args['event' .. num] local image = args['image' .. num] local title = args['title' .. num] if title then root:tag('tr') :tag('th') :css('padding', '0.1em') :css('background', '#99badd') :css('border-top', '1px solid #f5faff') :attr('colspan', cols) :wikitext(title) end if event and image then heading = event .. .. image elseif event then heading = event elseif image then heading = image end if heading then root :tag('tr') :tag('th') :css('padding', '0.1em') :css('background', '#deeaf6') :css('border-top', '1px solid #f5faff') :attr('colspan', cols) :wikitext(heading) end local showtypes = false for j, let in ipairs(lets) do if j < cols then if args['type' .. num .. let] then showtypes = true end end end if showtypes true then local row root:tag('tr') row:tag('th'):css('display', (hasevents false) and 'none' or nil) for j, let in ipairs(lets) do if j < cols then local t = args['type' .. num .. let] local cell = row:tag('th') if t then cell :css('font-weight', 'normal') :css('border-top', '1px solid #f5faff') :css('background', '#deeaf6') :css('width', (cols > 2) and tostring(math.floor(100/(cols-1))) .. '%' or nil) :wikitext(t) end end end end for k=1,subevents do local hasresults = false if args['results' .. num .. '.' .. k] then hasresults = true else for j, let in ipairs(lets) do if j < cols then if args['results' .. num .. '.' .. k .. let] then hasresults = true end end end end if hasresults then local row = root:tag('tr') local cell = row:tag('th'):css('display', (hasevents false) and 'none' or nil) local t args['event' .. num .. '.' .. k] local border args['border' .. num .. '.' .. k] and 'solid 1px #aaa' or nil if t then cell :cssText(alignevents) :css('line-height', '1.4em') :css('padding', '0.1em 0.4em 0.2em 0.1em') :css('font-weight', 'normal') :css('border-bottom', border) :wikitext(t) end if args['results' .. num .. '.' .. k] then row:tag('td') :attr('colspan', cols - 1) :css('border-bottom', border) :cssText(alignresults) :newline -- newline required for bullet-points to work :wikitext(args['results' .. num .. '.' .. k]) else for j, let in ipairs(lets) do if j < cols then t args['results' .. num .. '.' .. k .. let] row:tag('td') :css('border-bottom', border) :cssText(alignresults) :wikitext(t) end end end end end end if args.below then root :tag('tr') :tag('td') :addClass(args.belowclass) :attr('colspan', cols) :cssText(args.belowstyle) :wikitext(args.below) end if args.prev or args.next then local row root:tag('tr'):tag('td') :css('border-top', 'solid 1px #deeaf6') :attr('colspan', cols) :tag('div') :css('width', '100%') row:tag('div') :cssText('float: left; text-align:left;padding-right:0.5em;') :wikitext(..args.prev) row:tag('div') :cssText('float: right; text-align:right;padding-left:0.5em;') :wikitext(args.next..) end local navbarArg args.navbar or args.tnavbar if navbarArg ~ 'none' and navbarArg ~ 'off' and (args.name or frame:getParent:getTitle:gsub('/sandbox$', '') ~ 'Template:Sidebar games events') then root :tag('tr') :tag('td') :css('text-align', 'right') :css('font-size', '115%') :css('padding-top', '0') :css('border-top', 'solid 1px #deeaf6') :attr('colspan', cols) :wikitext(navbar{ args.name, mini 1, fontstyle args.navbarfontstyle or args.tnavbarfontstyle }) end if mw.title.getCurrentTitle.namespace 10 and (args.name ~= mw.title.getCurrentTitle.text) and not (mw.title.getCurrentTitle.text:match('Sidebar games events')) then root:wikitext("Kategori:Articles using sidebar games events without correct name") end return tostring(root) end return p
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri