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:Kenar kutusu

bullvar_katip

Administrator
Katılım
21 Mayıs 2024
Mesajlar
532,105
-- -- This module implements -- require('Modül:Küresel değil') local cfg = mw.loadData('Modül:Kenar kutusu/konfigürasyon') local p = {} local getArgs = require('Modül:Bağımsız değişkenler').getArgs local function getTurkishParams(args) args.name = args.ad or args.name args.outertitle = args["anabaşlık"] or args.outertitle args.topimage = args["üstresim"] or args.topimage args.pretitle = args["küçükbaşlık"] or args.pretitle args.title = args["başlık"] or args.title args.image = args.resim or args.image args.headingstyle = args["listebiçimi"] or args.headingstyle args.contentstyle = args["içerikbiçimi"] or args.contentstyle args.navbar = args["dolçub"] or args.navbar args.above = args["üst"] or args.above args.below = args["alt"] or args.below args.class = args["sınıf"] or args.class args.bodyclass = args["gövdesınıfı"] or args.bodyclass args.outertitleclass = args["anabaşlıksınıfı"] or args.outertitleclass args.topimageclass = args["üstresimsınıfı"] or args.topimageclass args.pretitleclass = args["küçükbaşlıksınıfı"] or args.pretitleclass args.titleclass = args["başlıksınıfı"] or args.titleclass args.imageclass = args["resimsınıfı"] or args.imageclass args.headingclass = args["listesınıfı"] or args.headingclass args.contentclass = args["içeriksınıfı"] or args.contentclass args.aboveclass = args["üstsınıfı"] or args.aboveclass args.belowclass = args["altsınıfı"] or args.belowclass args.style = args["biçim"] or args.style args.bodystyle = args["gövdebiçimi"] or args.bodystyle args.outertitlestyle = args["anabaşlıkbiçimi"] or args.outertitlestyle args.topimagestyle = args["üstresimbiçimi"] or args.topimagestyle args.pretitlestyle = args["küçükbaşlıkbiçimi"] or args.pretitlestyle args.titlestyle = args["başlıkbiçimi"] or args.titlestyle args.imagestyle = args["resimbiçimi"] or args.imagestyle args.headingstyle = args["listebiçimi"] or args.headingstyle args.contentstyle = args["içerikbiçimi"] or args.contentstyle args.abovestyle = args["üstbiçimi"] or args.abovestyle args.belowstyle = args["altbiçimi"] or args.belowstyle end --Categorizes calling templates and modules with a 'style' parameter of any sort for tracking to convert to TemplateStyles. TODO after a long cleanup: Catch sidebars in other namespaces than Template and Module. TODO would probably want to remove /log and /archive as CS1 does local function categorizeTemplatesWithInlineStyles(args) local title = mw.title.getCurrentTitle if title.namespace ~= 10 and title.namespace ~= 828 then return end for _, pattern in ipairs (cfg.i18n.pattern.uncategorized_conversion_titles) do if title.text:match(pattern) then return end end for key, _ in pairs(args) do if mw.ustring.find(key, cfg.i18n.pattern.style_conversion1) or mw.ustring.find(key, cfg.i18n.pattern.style_conversion2) or key == 'width' then return cfg.i18n.category.conversion end end end --For compatibility with the original implementation, which passed some parameters through to trim their whitespace. This also triggered the automatic newline behavior. -- See (meta:Help:Newlines and spaces#Automatic newline) local function trimAndAddAutomaticNewline(s) s = mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1") if mw.ustring.find(s, '^[#*:;]') or mw.ustring.find(s, '^{|') then return '\n' .. s else return s end end --Finds whether a sidebar has a subgroup sidebar. local function hasSubgroup(s) if mw.ustring.find(s, cfg.i18n.pattern.subgroup) then return true else return false end end --Main sidebar function. Takes the frame, args, and an optional collapsibleClass. The collapsibleClass is and should be used only for sidebars with collapsible lists, as in p.collapsible. function p.sidebar(frame, args, collapsibleClass) if not args then args = getArgs(frame) end local root = mw.html.create local child = args.child and mw.text.trim(args.child) cfg.i18n.child_yes getTurkishParams(args) root root:tag('table') if not child then root :addClass(cfg.i18n.class.sidebar) -- force collapsibleclass to be sidebar-collapse otherwise output nothing :addClass(collapsibleClass cfg.i18n.class.collapse and cfg.i18n.class.collapse or nil) :addClass('nomobile') :addClass(args.float cfg.i18n.float_none and cfg.i18n.class.float_none or nil) :addClass(args.float cfg.i18n.float_left and cfg.i18n.class.float_left or nil) :addClass(args.wraplinks cfg.i18n.wrap_true and cfg.i18n.class.wraplinks or nil) :addClass(args.bodyclass or args.class) :css('width', args.width or nil) :cssText(args.bodystyle or args.style) if args.outertitle then root :tag('caption') :addClass(cfg.i18n.class.outer_title) :addClass(args.outertitleclass) :cssText(args.outertitlestyle) :wikitext(args.outertitle) end if args.topimage then local imageCell root:tag('tr'):tag('td') imageCell :addClass(cfg.i18n.class.top_image) :addClass(args.topimageclass) :cssText(args.topimagestyle) :wikitext(args.topimage) if args.topcaption then imageCell :tag('div') :addClass(cfg.i18n.class.top_caption) :cssText(args.topcaptionstyle) :wikitext(args.topcaption) end end if args.pretitle then root :tag('tr') :tag('td') :addClass(args.topimage and cfg.i18n.class.pretitle_with_top_image or cfg.i18n.class.pretitle) :addClass(args.pretitleclass) :cssText(args.basestyle) :cssText(args.pretitlestyle) :wikitext(args.pretitle) end else root :addClass(cfg.i18n.class.subgroup) :addClass(args.bodyclass or args.class) :cssText(args.bodystyle or args.style) end if args.title then if child then root :wikitext(args.title) else root :tag('tr') :tag('th') :addClass(args.pretitle and cfg.i18n.class.title_with_pretitle or cfg.i18n.class.title) :addClass(args.titleclass) :cssText(args.basestyle) :cssText(args.titlestyle) :wikitext(args.title) end if args.posttitle then root :tag('tr') :tag('td') :addClass(args.posttitleclass) :cssText(args.basestyle) :css('padding-top', args.topimage and '0.2em' or '0.4em') :css('line-height', '1.2em') :cssText(args.posttitlestyle) :wikitext(args.posttitle) end end if args.image then local imageCell root:tag('tr'):tag('td') imageCell :addClass(cfg.i18n.class.image) :addClass(args.imageclass) :cssText(args.imagestyle) :wikitext(args.image) if args.caption then imageCell :tag('div') :addClass(cfg.i18n.class.caption) :cssText(args.captionstyle) :wikitext(args.caption) end end if args.above then root :tag('tr') :tag('td') :addClass(cfg.i18n.class.above) :addClass(args.aboveclass) :cssText(args.abovestyle) :newline -- newline required for bullet-points to work :wikitext(args.above) end local rowNums {} for k, v in pairs(args) do k .. k local num k:match('^heading(%d+)$') or k:match('^content(%d+)$') or k:match('^liste(%d+)$') or k:match('^içerik(%d+)$') if num then table.insert(rowNums, tonumber(num)) end end table.sort(rowNums) -- remove duplicates from the list (e.g. 3 will be duplicated if both heading3 -- and content3 are specified) for i #rowNums, 1, -1 do if rowNums rowNums[i - 1] then table.remove(rowNums, i) end end for i, num in ipairs(rowNums) do local heading = args['liste' .. num] or args['heading' .. num] if heading then root :tag('tr') :tag('th') :addClass(cfg.i18n.class.heading) :addClass(args.headingclass) :addClass(args['heading' .. num .. 'class']) :addClass(args['liste' .. num .. 'sınıfı']) :cssText(args.basestyle) :cssText(args.headingstyle) :cssText(args['heading' .. num .. 'style']) :cssText(args['liste' .. num .. 'biçimi']) :newline :wikitext(heading) end local content = args['içerik' .. num] or args['content' .. num] if content then root :tag('tr') :tag('td') :addClass(hasSubgroup(content) and cfg.i18n.class.content_with_subgroup or cfg.i18n.class.content) :addClass(args.contentclass) :addClass(args['content' .. num .. 'class']) :addClass(args['içerik' .. num .. 'sınıfı']) :cssText(args.contentstyle) :cssText(args['content' .. num .. 'style']) :cssText(args['içerik' .. num .. 'biçimi']) :newline :wikitext(content) :done -- Without a linebreak after the , a nested list like -- "* " doesn't parse correctly. :newline end end if args.below then root :tag('tr') :tag('td') :addClass(cfg.i18n.class.below) :addClass(args.belowclass) :cssText(args.belowstyle) :newline :wikitext(args.below) end if not child then if args.navbar ~= cfg.i18n.navbar_none and args.navbar ~= cfg.i18n.navbar_off and (args.name or frame:getParent:getTitle:gsub(cfg.i18n.pattern.sandbox, ) ~= cfg.i18n.title_not_to_add_navbar) then root :tag('tr') :tag('td') :addClass(cfg.i18n.class.navbar) :cssText(args.navbarstyle) :wikitext(require('Modül:Dolçub')._navbar{ args.name, mini = 1, fontstyle = args.navbarfontstyle }) end end local base_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = cfg.i18n.templatestyles } } local templatestyles = if args['templatestyles'] and args['templatestyles'] ~= then templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['templatestyles'] } } end local child_templatestyles = if args['child templatestyles'] and args['child templatestyles'] ~= then child_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['child templatestyles'] } } end local grandchild_templatestyles = if args['grandchild templatestyles'] and args['grandchild templatestyles'] ~= then grandchild_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['grandchild templatestyles'] } } end return table.concat({ base_templatestyles, templatestyles, child_templatestyles, grandchild_templatestyles, tostring(root), (child and cfg.i18n.category.child or ), categorizeTemplatesWithInlineStyles(args) }) end local function list_title(args, is_centered_list_titles, num) local title_text = trimAndAddAutomaticNewline(args['list' .. num .. 'title'] or args['liste' .. num .. 'başlığı'] or cfg.i18n.default_list_title) local title if is_centered_list_titles then -- collapsible can be finicky, so provide some CSS/HTML to support title = mw.html.create('div') :addClass(cfg.i18n.class.list_title_centered) :wikitext(title_text) else title = mw.html.create :wikitext(title_text) end local title_container = mw.html.create('div') :addClass(cfg.i18n.class.list_title) -- don't /need/ a listnumtitleclass because you can do -- .templateclass .listnumclass .sidebar-list-title :addClass(args.listtitleclass) :cssText(args.basestyle) :cssText(args.listtitlestyle) :cssText(args['list' .. num .. 'titlestyle']) :cssText(args['liste' .. num .. 'başlıkbiçimi']) :node(title) :done return title_container end --Main entry point for sidebar with collapsible lists. Does the work of creating the collapsible lists themselves and including them into the args. function p.collapsible(frame) local args = getArgs(frame) if not args.name and frame:getParent:getTitle:gsub(cfg.i18n.pattern.collapse_sandbox, ) cfg.i18n.collapse_title_not_to_add_navbar then args.navbar cfg.i18n.navbar_none end local contentArgs {} local is_centered_list_titles if args['centered list titles'] and args['centered list titles'] ~ '' then is_centered_list_titles true else is_centered_list_titles false end for k, v in pairs(args) do local num string.match(k, '^list(%d+)$') if num then local expand args.expanded and (args.expanded 'all' or args.expanded args['list' .. num .. 'name'] or args.expanded args['liste' .. num .. 'adı']) local row = mw.html.create('div') row :addClass(cfg.i18n.class.list) :addClass('mw-collapsible') :addClass((not expand) and 'mw-collapsed' or nil) :addClass(args['list' .. num .. 'class']) :addClass(args['liste' .. num .. 'sınıfı']) :cssText(args.listframestyle) :cssText(args['list' .. num .. 'framestyle']) :cssText(args['liste' .. num .. 'çerçevebiçimi']) :node(list_title(args, is_centered_list_titles, num)) :tag('div') :addClass(cfg.i18n.class.list_content) :addClass('mw-collapsible-content') -- don't /need/ a listnumstyleclass because you can do -- .templatename .listnumclass .sidebar-list :addClass(args.listclass) :cssText(args.liststyle) :cssText(args['list' .. num .. 'style']) :cssText(args['liste' .. num .. 'biçimi']) :wikitext(trimAndAddAutomaticNewline(args['list' .. num])) contentArgs['content' .. num] = tostring(row) end end for k, v in pairs(contentArgs) do args[k] = v end return p.sidebar(frame, args, cfg.i18n.class.collapse) 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