(새 문서: local utf_8 = {} function utf_8.tocode(frame) return mw.ustring.codepoint(frame.args[1]) end return utf_8) |
(연습) |
||
(같은 사용자의 중간 판 43개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
local | local getArgs = require('Module:Arguments').getArgs | ||
function | local pie = {} | ||
function pie.perToDeg(percent) | |||
return percent * 3.6 | |||
end | |||
function pie.main(frame) | |||
local args = getArgs(frame) | |||
local return_ = "" | |||
local sumdeg = 0 | |||
local percent = {} | |||
local width, height | |||
if nil == args['높이'] and nil == args['너비'] then | |||
width, height = '300px', '300px' | |||
elseif nil == args['너비'] then | |||
width, height = '300px', args['높이'] | |||
elseif nil == args['높이'] then | |||
width, height = args['너비'], args['너비'] | |||
else | |||
width, height = args['너비'], args['높이'] | |||
end | |||
local j = 1 | |||
while nil ~= args[j..'크기'] do | |||
percent[j] = args[j..'크기'] | |||
j = j + 1 | |||
end | |||
local i = 1 | |||
while i < j do | |||
appdeg = sumdeg + pie.perToDeg(percent[i]) | |||
result = args[i].." "..sumdeg.."deg "..appdeg.."deg," | |||
sumdeg = pie.perToDeg(percent[i]) + sumdeg | |||
return_ = return_..result | |||
i = i + 1 | |||
end | |||
if sumdeg < 360 then | |||
return_ = return_..[[#e9e9e9 ]]..sumdeg..[[deg 360deg]] | |||
else | |||
return_ = string.gsub(return_, ",$", "") | |||
end | |||
return mw.html.create('div'):css('width', width):css('height', height):tag('div'):css('border-radius', '50%'):css('background', 'conic-gradient('..return_..')'):cssText('width:inherit;height:inherit;'):allDone() | |||
end | end | ||
return | return pie |
2022년 3월 19일 (토) 16:34 기준 최신판
{{파이|#000|1크기 = 10}}
{{파이|너비 = 10em|#000|1크기 = 10|skyblue|2크기 = 30|gray|3크기 = 40}}
{{파이|#000|1크기 = 33|#ddd|2크기 = 33|red|3크기 = 10}}
{{파이 |너비 = 7em |높이 = 10em |#000|1크기 = 10 |skyblue|2크기 = 30 |gray|3크기 = 40 |yellow|4크기 = 20 }}
local getArgs = require('Module:Arguments').getArgs
local pie = {}
function pie.perToDeg(percent)
return percent * 3.6
end
function pie.main(frame)
local args = getArgs(frame)
local return_ = ""
local sumdeg = 0
local percent = {}
local width, height
if nil == args['높이'] and nil == args['너비'] then
width, height = '300px', '300px'
elseif nil == args['너비'] then
width, height = '300px', args['높이']
elseif nil == args['높이'] then
width, height = args['너비'], args['너비']
else
width, height = args['너비'], args['높이']
end
local j = 1
while nil ~= args[j..'크기'] do
percent[j] = args[j..'크기']
j = j + 1
end
local i = 1
while i < j do
appdeg = sumdeg + pie.perToDeg(percent[i])
result = args[i].." "..sumdeg.."deg "..appdeg.."deg,"
sumdeg = pie.perToDeg(percent[i]) + sumdeg
return_ = return_..result
i = i + 1
end
if sumdeg < 360 then
return_ = return_..[[#e9e9e9 ]]..sumdeg..[[deg 360deg]]
else
return_ = string.gsub(return_, ",$", "")
end
return mw.html.create('div'):css('width', width):css('height', height):tag('div'):css('border-radius', '50%'):css('background', 'conic-gradient('..return_..')'):cssText('width:inherit;height:inherit;'):allDone()
end
return pie