메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

모듈:Cards

이터널리턴 이스포츠 위키
Mongsil (토론 | 기여)님의 2024년 10월 15일 (화) 04:49 판 (새 문서: local mArguments --initialize lazily local getArgNums = require('Module:Common').getArgNums local p = {} --Implements {{cards}} from the frame function p.cards(frame) mArguments = require('Module:Arguments') return p._cards(mArguments.getArgs(frame), frame) end function p._cards(args, frame) if not args then return 'Missing arguments' end local html = mw.html.create('div'):addClass('template-cards') local columns = 0 for i, _ in ipairs(getArgNums('content', args))...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
Message_documentation_title[view][edit][history][purge]
message_transclude_desc
Function list
L 7 — p.cards
L 12 — p._cards

local mArguments --initialize lazily
local getArgNums = require('Module:Common').getArgNums
local p = {}


--Implements {{cards}} from the frame
function p.cards(frame)
	mArguments = require('Module:Arguments')
	return p._cards(mArguments.getArgs(frame), frame)
end

function p._cards(args, frame)
	if not args then
		return 'Missing arguments'
	end

	local html = mw.html.create('div'):addClass('template-cards')
	local columns = 0

	for i, _ in ipairs(getArgNums('content', args)) do
		local num = tostring(i)
		local content = args['content' .. num]
		if not content then return end

		local card = mw.html.create('div'):addClass('template-card')

		local column = args['column' .. num]
		if column then
			card:addClass('template-card--col-' .. column)
			columns = columns + tonumber(column)
		else
			columns = columns + 1
		end

		local header = args['header' .. num]
		if header then
			card:tag('div'):addClass('template-card-header')
				:wikitext(header)
				:done()
		end

		card:tag('div'):addClass('template-card-content')
			:wikitext(content)
			:done()

		html:node(card)
	end

	html:css('grid-template-columns', string.format('repeat(%d, minmax(0, 1fr))', columns))

	return frame:extensionTag {
		name = 'templatestyles', args = { src = 'Module:Cards/styles.css' }
	} .. tostring(html)
end

return p