Модуль:Функції для карток
Перейти до навігації
Перейти до пошуку
Документація модуля[створити]
Зараз цей модуль не має відповідної документації. Якщо вам відомі призначення та засади використання цього модуля, будь ласка, напишіть хоча б коротеньку документацію. |
Дописувачі можуть експериментувати на підсторінках пісочниця (створити | дзеркало) та тести (створити) цього модуля. Підсторінки цієї сторінки. |
--функція перевіряє чи є порожнім значення (nil або порожній рядок або порожня таблиця)
function ie(var)
if(var) then
if type(var)=="string" and string.len(var)>0 then
return false
elseif type(var)=="table" and #var>0 then
return false
else
return true
end
else return true; end
end
function ine(var) return (not ie(var)); end
--функція для числового індексу, повертає пор. рядок якщо число =1, інакше саме число
function ind(x)
if(x==1) then return ""; else return tostring(x); end
end
--функція яка реалізовує тернарний оператор
function ternary(condition, if_true, if_false)
if(condition) then return if_true;
else return if_false; end
end
--функція отримує номер елемента Вікіданих і повертає посилання на відповідну статтю або просто текстову позначку
function title_for(item_id, is_a_contry)
tf_item = mw.wikibase.getEntity(item_id);
if(is_a_contry and tf_item.claims and tf_item.claims["P298"]) then
return "{{"..tf_item:getBestStatements('P298')[1].mainsnak.datavalue.value.."}}";
elseif(tf_item.sitelinks and tf_item.sitelinks.ukwiki) then
page = tf_item.sitelinks.ukwiki.title;
return "[["..page.."|"..mw.text.split(page, " %(")[1].."]]";
elseif(tf_item.labels.uk) then return tf_item.labels.uk.value;
else return ""; end
end
--функція для переведення значення часу із Вікіданих у людиночитабельний вигляд
function format_time(time_object)
str = time_object.time; precision = time_object.precision or 11;
month_names = {"січень", "лютий", "березень", "квітень", "травень",
"червень", "липень", "серпень", "вересень", "жовтень", "листопад", "грудень"};
month_names_gen = {"січня", "лютого", "березня", "квітня", "травня",
"червня", "липня", "серпня", "вересня", "жовтня", "листопада", "грудня"};
year = "[["..string.sub(str, 2, 5).."]]";
month = tonumber(string.sub(str, 7, 8));
day = tonumber(string.sub(str, 10, 11));
if(precision==11) then return "[["..day.." "..month_names_gen[month].."]] "..year;
elseif(precision==10) then return month_names[month]..' '..year;
elseif(precision==9) then return year;
elseif(precision==8) then return year..'-ті';
elseif(precision==7) then return (math.floor(year/100) + 1)..' ст.';
else return ""
end
end