-- 입력:
-- 그림 - 파일 또는 그림의 전체이름 (파일:/그림: 포함 또는 미포함)
-- 크기 - 그림 크기 지정
-- 최대 - 그림 최대크기
-- 기본 - 크기 지정이 없을 경우데 기본값
-- 설명 - 그림 설명
-- 테두리 - set to yes if border
-- 가운데 - set to yes, if the image has to be centered
-- upright - upright image param
-- 그림숨김 - if yes then checks to see if image is a placeholder and suppresses it
-- 연결 - 파일 클릭시 연결 링크
-- 출력:
-- 수정된 이미지.
-- 자세한 사항은 "Module:InfoboxImage/설명문서" 참조
local i = {};
local placeholder_image = {
- "Blue - Replace this image female.svg",
- "Blue - Replace this image male.svg",
- "Female no free image yet.png",
- "Flag of None (square).svg",
- "Flag of None.svg",
- "Flag of.svg",
- "Green - Replace this image female.svg",
- "Green - Replace this image male.svg",
- "Image is needed female.svg",
- "Image is needed male.svg",
- "Location map of None.svg",
- "Male no free image yet.png",
- "Missing flag.png",
- "No flag.svg",
- "No free portrait.svg",
- "No portrait (female).svg",
- "No portrait (male).svg",
- "Red - Replace this image female.svg",
- "Red - Replace this image male.svg",
- "Replace this image female (blue).svg",
- "Replace this image female.svg",
- "Replace this image male (blue).svg",
- "Replace this image male.svg",
- "Silver - Replace this image female.svg",
- "Silver - Replace this image male.svg",
}
function i.IsPlaceholder(image)
- -- change underscores to spaces
- image = mw.ustring.gsub(image, "_", " ");
- -- if image starts with [[then remove that and anything after |
- if mw.ustring.sub(image,1,2) == "[[" then
- image = mw.ustring.sub(image,3);
- image = mw.ustring.gsub(image, "([^|]*)|.*", "%1");
- end
- -- Trim spaces
- image = mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1');
- -- remove prefix if exists
- local allNames = mw.site.namespaces[6].aliases
- allNames[#allNames + 1] = mw.site.namespaces[6].name
- allNames[#allNames + 1] = mw.site.namespaces[6].canonicalName
- for i, name in ipairs(allNames) do
- if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. ":") then
- image = mw.ustring.sub(image, mw.ustring.len(name) + 2);
- break
- end
- if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. ":") then
- end
- -- Trim spaces
- image = mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1');
- -- capitalise first letter
- image = mw.ustring.upper(mw.ustring.sub(image,1,1)) .. mw.ustring.sub(image,2);
for i,j in pairs(placeholder_image) do
- if image == j then
- return true
- end
- if image == j then
- end
- return false
end
function i.InfoboxImage(frame)
- local image = frame.args["그림"];
if image == "" or image == nil then
- return "";
- end
- if image == " " then
- return image;
- end
- if frame.args["그림숨김"] == "예" then
- if i.IsPlaceholder(image) == true then
- return "";
- end
- if i.IsPlaceholder(image) == true then
- end
if mw.ustring.lower(mw.ustring.sub(image,1,5)) == "http:" then
- return "";
- end
- if mw.ustring.lower(mw.ustring.sub(image,1,6)) == "[http:" then
- return "";
- end
- if mw.ustring.lower(mw.ustring.sub(image,1,7)) == "[[http:" then
- return "";
- end
- if mw.ustring.lower(mw.ustring.sub(image,1,6)) == "https:" then
- return "";
- if mw.ustring.lower(mw.ustring.sub(image,1,6)) == "https:" then
- end
- if mw.ustring.lower(mw.ustring.sub(image,1,7)) == "[https:" then
- return "";
- end
- if mw.ustring.lower(mw.ustring.sub(image,1,8)) == "[[https:" then
- return "";
- end
- if mw.ustring.sub(image,1,2) == "[[" then
- -- search for thumbnail images and add to tracking cat if found
- if mw.title.getCurrentTitle().namespace == 0 and (mw.ustring.find(image, "|%s*thumb%s*[|%]]") or mw.ustring.find(image, "|%s*thumbnail%s*[|%]]")) then
- return image .. "";
- else
- return image;
- end
- elseif mw.ustring.sub(image,1,2) == "{{" and mw.ustring.sub(image,1,3) ~= "{{{" then
- return image;
- elseif mw.ustring.sub(image,1,1) == "<" then
- return image;
- elseif mw.ustring.sub(image,1,5) == mw.ustring.char(127).."UNIQ" then
- -- Found strip marker at begining, so pass don't process at all
- return image;
- if mw.ustring.sub(image,1,2) == "[[" then
else
- local result = "";
- local size = frame.args["크기"];
- local maxsize = frame.args["최대"];
- local sizedefault = frame.args["기본"];
- local alt = frame.args["설명"];
- local link = frame.args["연결"];
- local title = frame.args["제목"];
- local border = frame.args["테두리"];
- local upright = frame.args["upright"] or "";
- local thumbtime = frame.args["thumbtime"] or "";
- local center= frame.args["가운데"];
- -- remove prefix if exists
- local allNames = mw.site.namespaces[6].aliases
- allNames[#allNames + 1] = mw.site.namespaces[6].name
- allNames[#allNames + 1] = mw.site.namespaces[6].canonicalName
- for i, name in ipairs(allNames) do
- if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. ":") then
- image = mw.ustring.sub(image, mw.ustring.len(name) + 2);
- break
- end
- if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. ":") then
- end
if maxsize ~= "" and maxsize ~= nil then
- -- if no sizedefault then set to maxsize
- if sizedefault == "" or sizedefault == nil then
- sizedefault = maxsize
- end
- -- check to see if size bigger than maxsize
- if size ~= "" and size ~= nil then
- local sizenumber = tonumber(mw.ustring.match(size,"%d*")) or 0;
- local maxsizenumber = tonumber(mw.ustring.match(maxsize,"%d*"));
- if sizenumber>maxsizenumber and maxsizenumber>0 then
- size = maxsize;
- end
- end
- end
- -- add px to size if just a number
- if (tonumber(size) or 0) > 0 then
- size = size .. "px";
- end
- result = "[[파일:" .. image;
- if size ~= "" and size ~= nil then
- result = result .. "|" .. size;
- elseif sizedefault ~= "" and sizedefault ~= nil then
- result = result .. "|" .. sizedefault;
- else
- result = result .. "|frameless";
- end
- if center == "예" then
- result = result .. "|가운데"
- end
- if alt ~= "" and alt ~= nil then
- result = result .. "|설명=" .. alt;
- end
- if link ~= "" and link ~= nil then
- result = result .. "|연결=" .. link;
- end
- if border == "예" then
- result = result .. "|테두리";
- end
- if upright ~= "" then
- result = result .. "|upright=" .. upright;
- end
- if thumbtime ~= "" then
- result = result .. "|thumbtime=" .. thumbtime;
- end
- if title ~= "" and title ~= nil then
- result = result .. "|" .. title;
- elseif alt ~= "" and alt ~= nil then
- result = result .. "|" .. alt;
- end
- result = result .. "]]";
return result;
- end
end
return i;