모듈:CSSVars: 두 판 사이의 차이
편집 요약 없음 |
편집 요약 없음 |
||
| 5번째 줄: | 5번째 줄: | ||
local vars = {} | local vars = {} | ||
for k, v in pairs(args) do | for k, v in pairs(args) do | ||
if | -- 인자값이 있는지 확실히 체크 (공백 제거 후 확인) | ||
vars[k] = | local val = mw.text.trim(v or '') | ||
if val ~= '' then | |||
vars[k] = val | |||
end | end | ||
end | end | ||
-- 인자가 하나도 없으면 루아 에러 메시지를 출력해봅시다 (디버깅용) | |||
if next(vars) == nil then | if next(vars) == nil then | ||
return '' | return '<span style="color:red;">[CSSVars 에러: 인자가 없습니다]</span>' | ||
end | end | ||
local json = mw.text.jsonEncode(vars) | local json = mw.text.jsonEncode(vars) | ||
-- 안전하게 이스케이프 (따옴표 등) | |||
local escapedJson = mw.text.encode(json) | |||
-- | -- 태그가 확실히 남도록 'hidden' 속성 대신 스타일로 숨김 | ||
return '<span class="mw-page-css-vars" data-vars="' .. escapedJson .. '" style="display:block; width:0; height:0; overflow:hidden;">실행됨</span>' | |||
return | |||
end | end | ||
return p | return p | ||
2026년 1월 28일 (수) 18:49 판
이 모듈에 대한 설명문서는 모듈:CSSVars/설명문서에서 만들 수 있습니다
local p = {}
function p.set(frame)
local args = frame:getParent().args
local vars = {}
for k, v in pairs(args) do
-- 인자값이 있는지 확실히 체크 (공백 제거 후 확인)
local val = mw.text.trim(v or '')
if val ~= '' then
vars[k] = val
end
end
-- 인자가 하나도 없으면 루아 에러 메시지를 출력해봅시다 (디버깅용)
if next(vars) == nil then
return '<span style="color:red;">[CSSVars 에러: 인자가 없습니다]</span>'
end
local json = mw.text.jsonEncode(vars)
-- 안전하게 이스케이프 (따옴표 등)
local escapedJson = mw.text.encode(json)
-- 태그가 확실히 남도록 'hidden' 속성 대신 스타일로 숨김
return '<span class="mw-page-css-vars" data-vars="' .. escapedJson .. '" style="display:block; width:0; height:0; overflow:hidden;">실행됨</span>'
end
return p