모듈:Deck
외관
이 모듈에 대한 설명문서는 모듈:Deck/설명문서에서 만들 수 있습니다
local p = {}
function p.render(f)
local args = f:getParent().args
if args['items'] == nil then
args = f.args
end
return args['items'] or 'GONE?!'
-- local lines = mw.text.gsplit(args['items'] or '', '\n')
-- local items = {}
-- for line in lines do
-- line = mw.text.trim(line)
-- if line == '' then
-- table.insert(items, {})
-- else
-- local key, value = line:gmatch('([^=]+)=([^=]+)')
-- if key and value then
-- key = mw.text.trim(key):lower()
-- value = mw.text.trim(value)
-- if key ~= '' then
-- items[#items][key] = value
-- end
-- end
-- end
-- end
-- -- HTML
-- local nav = mw.html.create('nav')
-- :addClass('kawa-deck-grid')
-- for _, item in ipairs(items) do
-- local url = item.url or '#'
-- local icon = item.icon or '🔗'
-- local title = mw.text.trim(item.title or '')
-- if title == '' then
-- title = url:match("^%a+://([^/:]+)") or url
-- end
-- local anchor = mw.html.create('a')
-- :addClass('kawa-deck-item')
-- anchor:attr('href', url)
-- if url:match('^(https?:)?//') then
-- anchor:attr('target', '_blank')
-- anchor:attr('rel', 'noopener noreferrer')
-- end
-- local iconSpan = mw.html.create('span')
-- :addClass('kawa-deck-icon')
-- :attr('aria-hidden', 'true')
-- if icon:match('^(https?:)?//') then
-- iconSpan:tag('img'):attr('src', icon):attr('alt', '')
-- else
-- iconSpan:wikitext(icon)
-- end
-- local titleSpan = mw.html.create('span')
-- :addClass('kawa-deck-title')
-- :wikitext(title)
-- local contentSpan = mw.html.create('span')
-- :addClass('kawa-deck-content')
-- contentSpan:node(titleSpan)
-- anchor:node(iconSpan)
-- anchor:node(contentSpan)
-- nav:node(anchor)
-- end
-- return tostring(nav)
end
return p