Tài liệu mô đun[tạo]
---- Mô đun này thực hiện {{Sidebar}}--require('strict')local p = {}local getArgs = require('Mô đun:Arguments').getArgslocal navbar = require('Mô đun:Navbar')._navbarlocal function trimAndAddAutomaticNewline(s)-- For compatibility with the original {{sidebar with collapsible lists}}-- implementation, which passed some parameters through {{#if}} to trim-- their whitespace. This also triggered the automatic newline behavior.-- ([[meta:Help:Newlines and spaces#Automatic newline]])s = mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")if mw.ustring.find(s, '^[#*:;]') or mw.ustring.find(s, '^{|') thenreturn '\n' .. selsereturn sendendlocal function hasSubgroup(s)if mw.ustring.find(s, 'vertical%-navbox%-subgroup') thenreturn trueelsereturn falseendendfunction p.sidebar(frame, args)if not args thenargs = getArgs(frame)endlocal root = mw.html.create()local child = args.child and mw.text.trim(args.child) == 'yes'root = root:tag('table')if not child thenroot :addClass('vertical-navbox'):addClass(args.wraplinks ~= 'true' and 'nowraplinks' or nil):addClass(args.bodyclass or args.class):css('float', args.float or 'right'):css('clear', (args.float == 'none' and 'both') or args.float or 'right'):css('width', args.width or '22.0em'):css('margin', args.float == 'left' and '0 1.0em 1.0em 0' or '0 0 1.0em 1.0em'):css('background', '#f9f9f9'):css('border', '1px solid #aaa'):css('padding', '0.2em'):css('border-spacing', '0.4em 0'):css('text-align', 'center'):css('line-height', '1.4em'):css('font-size', '88%'):cssText(args.bodystyle or args.style)if args.outertitle thenroot:tag('caption'):addClass(args.outertitleclass):css('padding-bottom', '0.2em'):css('font-size', '125%'):css('line-height', '1.2em'):css('font-weight', 'bold'):cssText(args.outertitlestyle):wikitext(args.outertitle)endif args.topimage thenlocal imageCell = root:tag('tr'):tag('td')imageCell:addClass(args.topimageclass):css('padding', '0.4em 0'):cssText(args.topimagestyle):wikitext(args.topimage)if args.topcaption thenimageCell:tag('div'):css('padding-top', '0.2em'):css('line-height', '1.2em'):cssText(args.topcaptionstyle):wikitext(args.topcaption)endendif args.pretitle thenroot:tag('tr'):tag('td'):addClass(args.pretitleclass):cssText(args.basestyle):css('padding-top', args.topimage and '0.2em' or '0.4em'):css('line-height', '1.2em'):cssText(args.pretitlestyle):wikitext(args.pretitle)endelseroot:addClass('vertical-navbox-subgroup'):css('width', '100%'):css('margin', '0px'):css('border-spacing', '0px'):addClass(args.bodyclass or args.class):cssText(args.bodystyle or args.style)endif args.title thenif child thenroot:wikitext(args.title)elseroot:tag('tr'):tag('th'):addClass(args.titleclass):cssText(args.basestyle):css('padding', '0.2em 0.4em 0.2em'):css('padding-top', args.pretitle and 0):css('font-size', '145%'):css('line-height', '1.2em'):cssText(args.titlestyle):wikitext(args.title)endendif args.image thenlocal imageCell = root:tag('tr'):tag('td')imageCell:addClass(args.imageclass):css('padding', '0.2em 0 0.4em'):cssText(args.imagestyle):wikitext(args.image)if args.caption thenimageCell:tag('div'):css('padding-top', '0.2em'):css('line-height', '1.2em'):cssText(args.captionstyle):wikitext(args.caption)endendif args.above thenroot:tag('tr'):tag('td'):addClass(args.aboveclass):css('padding', '0.3em 0.4em 0.3em'):css('font-weight', 'bold'):cssText(args.abovestyle):newline() -- newline required for bullet-points to work:wikitext(args.above)endlocal rowNums = {}for k, v in pairs(args) dok = '' .. klocal num = k:match('^heading(%d+)$') or k:match('^content(%d+)$')if num then table.insert(rowNums, tonumber(num)) endendtable.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 doif rowNums[i] == rowNums[i - 1] thentable.remove(rowNums, i)endendfor i, num in ipairs(rowNums) dolocal heading = args['heading' .. num]if heading thenroot:tag('tr'):tag('th'):addClass(args.headingclass):css('padding', '0.1em'):cssText(args.basestyle):cssText(args.headingstyle):cssText(args['heading' .. num .. 'style']):newline():wikitext(heading)endlocal content = args['content' .. num]if content thenroot:tag('tr'):tag('td'):addClass(args.contentclass):css('padding', hasSubgroup(content) and '0.1em 0 0.2em' or '0 0.1em 0.4em'):cssText(args.contentstyle):cssText(args['content' .. num .. 'style']):newline():wikitext(content):done():newline() -- Without a linebreak after the </td>, a nested list like "* {{hlist| ...}}" doesn't parse correctly.endendif args.below thenroot:tag('tr'):tag('td'):addClass(args.belowclass):css('padding', '0.3em 0.4em 0.3em'):css('font-weight', 'bold'):cssText(args.belowstyle):newline():wikitext(args.below)endif not child thenlocal navbarArg = args.navbar or args.tnavbarif navbarArg ~= 'none' and navbarArg ~= 'off' and (args.name or frame:getParent():getTitle():gsub('/sandbox$', '') ~= 'Bản mẫu:Thanh bên') thenroot:tag('tr'):tag('td'):css('text-align', 'right'):css('font-size', '115%'):cssText(args.navbarstyle or args.tnavbarstyle):wikitext(navbar{args.name,mini = 1,fontstyle = args.navbarfontstyle or args.tnavbarfontstyle})endendreturn tostring(root) .. (child and '[[Thể loại:Trang sử dụng thanh bên có tham số con]]' or '')endfunction p.collapsible(frame)local args = getArgs(frame)args.abovestyle = 'border-top: 1px solid #aaa; border-bottom: 1px solid #aaa;' .. (args.abovestyle or '')args.belowstyle = 'border-top: 1px solid #aaa; border-bottom: 1px solid #aaa;' .. (args.belowstyle or '')args.navbarstyle = 'padding-top: 0.6em;' .. (args.navbarstyle or args.tnavbarstyle or '')if not args.name and frame:getParent():getTitle():gsub('/sandbox$', '') == 'Bản mẫu:Sidebar with collapsible lists' thenargs.navbar = 'none'endlocal contentArgs = {}for k, v in pairs(args) dolocal num = string.match(k, '^list(%d+)$')if num thenlocal expand = args.expanded and (args.expanded == 'all' or args.expanded == args['list' .. num .. 'name'])local row = mw.html.create('div')row:addClass('NavFrame'):addClass((not expand) and 'collapsed' or nil):css('border', 'none'):css('padding', 0):cssText(args.listframestyle):cssText(args['list' .. num .. 'framestyle']):tag('div'):addClass('NavHead'):addClass(args.listtitleclass):css('font-size', '105%'):css('background', 'transparent'):css('text-align', 'left'):cssText(args.basestyle):cssText(args.listtitlestyle):cssText(args['list' .. num .. 'titlestyle']):wikitext(trimAndAddAutomaticNewline(args['list' .. num .. 'title'] or 'Danh sách')):done():tag('div'):addClass('NavContent'):addClass(args.listclass):addClass(args['list' .. num .. 'class']):css('font-size', '105%'):css('padding', '0.2em 0 0.4em'):css('text-align', 'center'):cssText(args.liststyle):cssText(args['list' .. num .. 'style']):wikitext(trimAndAddAutomaticNewline(args['list' .. num]))contentArgs['content' .. num] = tostring(row)endendfor k, v in pairs(contentArgs) doargs[k] = vendreturn p.sidebar(frame, args)endreturn p
🔥 Top keywords: 2112: Doraemon ra đời300 (phim)Anh hùng xạ điêu (phim truyền hình 2003)Bùng phát virus Zika 2015–2016Chuyên gia trang điểmCristiano RonaldoCá đuối quỷDanh sách Tổng thống Hoa KỳDanh sách câu thần chú trong Harry PotterDanh sách tài khoản Instagram có nhiều lượt theo dõi nhấtGiải Oscar cho phim ngắn hay nhấtHoan Ngu Ảnh ThịHầu tướcHọc thuyết tế bàoJason Miller (communications strategist)Lễ hội Chọi trâu Đồ SơnLộc Đỉnh ký (phim 1998)Natapohn TameeruksNinh (họ)Phim truyền hình Đài LoanRobloxThanh thiếu niênThần tượng teenThổ thần tập sựTrang ChínhTập hợp rỗngTỉnh của Thổ Nhĩ KỳVõ Thần Triệu Tử LongXXX (loạt phim)Âu Dương Chấn HoaĐào Trọng ThiĐại học Công giáo ParisĐệ Tứ Cộng hòa PhápĐổng Tiểu UyểnĐài Truyền hình Kỹ thuật số VTCThích Minh TuệTrang ChínhĐặc biệt:Tìm kiếmLê Anh Tú (sinh 1981)Lương Tam QuangHoliBộ trưởng Bộ Công an (Việt Nam)Thích Chân QuangQuốc kỳ Việt Nam Cộng hòaĐài Truyền hình Việt NamCleopatra VIIViệt NamTô LâmThích-ca Mâu-niChung kết UEFA Champions League 2024Thích Quảng ĐứcDanh sách phim điện ảnh DoraemonHentaiTrần Quốc TỏThượng mã phongThảo luận:Thích Minh TuệLGBTMinecraftViệt Nam Cộng hòaBộ Công an (Việt Nam)Đặc biệt:Thay đổi gần đâyHồ Chí MinhDanh sách trận chung kết Cúp C1 châu Âu và UEFA Champions LeagueDoraemon: Nobita và bản giao hưởng Địa CầuCổng thông tin:Phật giáoGoogle DịchThích Nhất HạnhNgày Thiếu nhiGiải vô địch bóng đá châu Âu 2024Nguyễn Phú TrọngLương CườngDanh sách phim điện ảnh Thám tử lừng danh ConanVasco da Gama