Module:Inligtingskasbeeld
Oorsig
wysigDie module word gebruik binne Inligtingskasse om die beeld se parameters te verwerk en en ook die formatering van die resultaat op te ruim.
Parameters
wysigParameter | Beskrywing |
---|---|
beeld | Vereis. Die hoofparameter wat oorgedra moet word. Dit bevat die beeld se inligting. |
grootte | Grootte waarin die beeld vertoon gaan word. |
maks_grootte | Maksimum grootte om beeld in te vertoon. Nota: Indien geen grootte verskaf is nie of verstek grootte parameter gespesifiseer is sal die beeld teen die maksimum grootte vertoon word. |
grootte_verstek | Die grootte om te gebruik vir die beeld indien geen grootte parameter gespesifiseer is nie. Verstek na raamloos. |
alt | Alternatiewe teks vir beeld |
raam | Indien ja, dan sal 'n raam om die beeld bygevoeg word. |
onderdruk_plekhouer | Indien ja, dan sal sekere beeldplekhouers onderduk word. |
NOTA: Indien jy die maks_grootte of grootte_verstek parameters spesifiseer, moet jy die px na die getal invoeg.
Toepassing voorbeeld
wysig|beeld = {{#invoke:Inligitngskasbeeld|Inligtingskasbeeld|beeld={{{beeld|}}}|beeld={{{beeld_grootte|}}}|grootte_verstek=raamloos|alt={{{alt|}}}}}
Voorbeelde
wysig-- Invoer:
-- beeld - 'n rou lêernaam wees (met of sonder die Lêer:/Beeld: voorvoegsel) of 'n volledig gevormde beeldskakel
-- grootte - die grootte om die beeld in te vertoon
-- maks_grootte - die maksimum grootte vir die beeld
-- grootte_verstek - die verstek grootte om die beeld in te vertoon indien die grootte parameter leeg gelaat is
-- alt - alternatiewe teks vir die beeld
-- onderdruk_plekhouer - indien ja dan word nagegaan of beeld 'n plekhouer is en onderdruk dan die beeld
-- Uitvoer:
-- Geformateerde beeld.
-- Meer inligting word verskaf by "Module:Inligtingskasbeeld/doc"
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(beeld)
-- change underscores to spaces
beeld= mw.ustring.gsub(beeld, "_", " ");
-- if image starts with [[ then remove that and anything after |
if mw.ustring.sub(beeld,1,2) == "[[" then
beeld = mw.ustring.sub(beeld,3);
beeld = mw.ustring.gsub(beeld, "([^|]*)|.*", "%1");
end
-- Trim spaces
beeld = mw.ustring.gsub(beeld, '^[ ]*(.-)[ ]*$', '%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
end
-- Trim spaces
beeld = mw.ustring.gsub(beeld, '^[ ]*(.-)[ ]*$', '%1');
-- capitalise first letter
beeld = mw.ustring.upper(mw.ustring.sub(beeld,1,1)) .. mw.ustring.sub(beeld,2);
for i,j in pairs(placeholder_image) do
if beeld == j then
return true
end
end
return false
end
function i.Inligtingskasbeeld(frame)
local image = frame.args["beeld"];
if image == "" or image == nil then
return "";
end
if image == " " then
return image;
end
if frame.args["onderdruk_plekhouer"] == "ja" then
if i.IsPlaceholder(image) == true then
return "";
end
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 "";
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 .. "[[Category:Pages using infoboxes with thumbnail images]]";
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;
else
local result = "";
local size = frame.args["grootte"];
local maxsize = frame.args["maks_grootte"];
local sizedefault = frame.args["grootte_verstek"];
local alt = frame.args["alt"];
local border = frame.args["raam"];
-- remove file: or image: prefix if exists
if mw.ustring.lower(mw.ustring.sub(image,1,5)) == "lêer:" then
image = mw.ustring.sub(image,6);
end
if mw.ustring.lower(mw.ustring.sub(image,1,6)) == "beeld:" then
image = mw.ustring.sub(image,7);
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 = "[[File:" .. 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 alt ~= "" and alt ~= nil then
result = result .. "|alt=" .. alt;
end
if border == "ja" then
result = result .. "|border";
end
result = result .. "]]";
return result;
end
end
return i;