Cafeinlove (메시지 담벼락 | 기여) 편집 요약 없음 태그: sourceedit |
Cafeinlove (메시지 담벼락 | 기여) 편집 요약 없음 태그: sourceedit |
||
2번째 줄: | 2번째 줄: | ||
local getArgs = require( 'Module:Arguments' ).getArgs |
local getArgs = require( 'Module:Arguments' ).getArgs |
||
− | local scheme = mw.loadData( 'Module:Color/Scheme' ) |
+ | local scheme = mw.loadData( 'Module:Color/Scheme' ) -- 전체 색상표 |
− | local typeScheme = scheme. |
+ | local typeScheme = scheme.types -- 타입 색상표 |
− | local |
+ | local moveScheme = scheme.moves -- 기술분류 색상표 |
-- 틀:색 |
-- 틀:색 |
||
96번째 줄: | 96번째 줄: | ||
-- 틀:기분 |
-- 틀:기분 |
||
− | function color. |
+ | function color.toMoveText ( frame ) |
local args = getArgs( frame ) |
local args = getArgs( frame ) |
||
⚫ | |||
⚫ | |||
+ | local color |
||
− | -- {{{1}}}이 비었을 경우 틀에서 아무 것도 출력 안 함 |
||
− | + | local ret = '' |
|
+ | |||
− | |||
+ | if move ~= nil and moveScheme[move] then |
||
⚫ | |||
− | + | color = moveScheme[move][2] |
|
+ | ret = '<span class="split-cell-wrap text-center"><span class="split-cell-bg" style="background: ' .. color .. ';"></span><span class="split-cell text-white" style="background: ' .. color .. ';">' .. move .. '</span></span>' |
||
− | |||
⚫ | |||
− | local ret = mw.html.create( 'span' ) |
||
+ | |||
− | :css( 'background', attackScheme[bgColor][2] ) |
||
− | :css( 'color', color ) |
||
− | :css( 'padding', '0 .25em' ) |
||
− | :wikitext( args[1] ) |
||
− | :done() |
||
− | |||
return ret |
return ret |
||
2017년 1월 23일 (월) 11:15 판
이 모듈에 대한 설명문서는 모듈:Color/설명문서에서 만들 수 있습니다
local color = {}
local getArgs = require( 'Module:Arguments' ).getArgs
local scheme = mw.loadData( 'Module:Color/Scheme' ) -- 전체 색상표
local typeScheme = scheme.types -- 타입 색상표
local moveScheme = scheme.moves -- 기술분류 색상표
-- 틀:색
function color.toText ( frame )
local args = getArgs( frame )
-- {{{2}}}가 비었을 경우 틀에서 아무 것도 출력 안 함
if args[2] == nil then return '' end
local color = args[1] ~= nil and '#' .. args[1] or 'inherit'
local ret = mw.html.create( 'span' )
:css( 'color', color )
:wikitext( args[2] )
:done()
return ret
end
-- 틀:색2
function color.toLink ( frame )
local args = getArgs( frame )
-- {{{2}}}가 비었을 경우 틀에서 아무 것도 출력 안 함
if args[2] == nil then return '' end
local color = args[1] ~= nil and '#' .. args[1] or 'initial'
local text = args[2]
local textAlt = args[3] ~= nil and args[3] or text
return '[[' .. text .. '|<span style="color:' .. color ..'">' .. textAlt .. '</span>]]'
end
-- 틀:색타
local function typeToLink( typeName )
return '[[' .. typeName .. ' (타입)|<span class="split-cell text-white" style="background:' .. typeScheme[typeName][2] .. '">' .. typeName .. '</span>]]'
end
local function typeToGradient( typeTable )
local css = ''
local colors = {}
local gradientMap = {}
local gradientStop = 0
for i = 1, #typeTable do
colors[i] = typeScheme[ typeTable[i] ][2]
end
if #typeTable == 1 then
css = 'background: ' .. colors[1] .. ';'
else
for i = 1, #colors do
table.insert( gradientMap, colors[i] .. ' ' .. gradientStop .. '%' )
gradientStop = gradientStop + ( 100 / #colors )
table.insert( gradientMap, colors[i] .. ' ' .. gradientStop .. '%' )
end
css = 'background: linear-gradient(to right, '
.. table.concat( gradientMap, ',') .. ');'
end
return css
end
function color.toTypeLink ( frame )
local args = getArgs( frame )
local argHash = {}
local types = {}
local ret = ''
for _, v in ipairs( args ) do
if ( v ~= nil ) and ( not argHash[v] ) then -- 중복, 빈 파라미터 무시
if typeScheme[v] then -- 올바른 타입만 픽업
ret = ret .. typeToLink( v ) -- 링크 생성
table.insert( types, v ) -- 새 테이블에 타입 추가
argHash[v] = true
end
end
end
ret = '<span class="split-cell-wrap text-center"><span class="split-cell-bg" style="' .. typeToGradient( types ) .. '"></span>' .. ret .. '</span>'
return ret
end
-- 틀:기분
function color.toMoveText ( frame )
local args = getArgs( frame )
local move = args[1]
local color
local ret = ''
if move ~= nil and moveScheme[move] then
color = moveScheme[move][2]
ret = '<span class="split-cell-wrap text-center"><span class="split-cell-bg" style="background: ' .. color .. ';"></span><span class="split-cell text-white" style="background: ' .. color .. ';">' .. move .. '</span></span>'
end
return ret
end
return color