Modül:Aya göre ölümler
Görünüm
Bu modül için bir Modül:Aya göre ölümler/belge belgelendirmesi oluşturabilirsiniz
local p = {}
local mw = require('mw')
function p.getMonthNames(frame)
local args = frame.args
local pageName = args[1]
local monthNumber = args[2]
local pageTitleDate = string.match(pageName, "[a-zA-ZçÇğĞıİöÖşŞüÜ]+ [0-9]+")
mw.log(pageTitleDate)
local pageTitleMonthName = p.getStringBeforeDelimiter(pageTitleDate, " ")
local pageTitleYear = p.getStringAfterDelimiter(pageTitleDate, " ")
local monthOrder = {
"Aralık2", "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran",
"Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık", "Ocak2"
}
local monthIndex = {}
for i, month in ipairs(monthOrder) do
monthIndex[month] = i
end
local currentIndex = monthIndex[pageTitleMonthName]
local nextIndex = currentIndex + 1
local prevIndex = currentIndex - 1
mw.log(currentIndex)
if monthNumber == "-1" then
return string.match(monthOrder[prevIndex], "[a-zA-ZçÇğĞıİöÖşŞüÜ]+")
end
if monthNumber == "0" then
return monthOrder[currentIndex]
end
if monthNumber == "1" then
return string.match(monthOrder[nextIndex], "[a-zA-ZçÇğĞıİöÖşŞüÜ]+")
end
if monthNumber == "y" then
if currentIndex == 2 then
return tostring(tonumber(pageTitleYear) - 1 )
else
return pageTitleYear
end
end
if monthNumber == "y2" then
if currentIndex == 13 then
return tostring(tonumber(pageTitleYear) + 1 )
else
return pageTitleYear
end
end
if monthNumber == "y3" then
return pageTitleYear
end
end
function p.getDaysInMonthAndString(frame)
local args = frame.args
local pageName = args[1]
local pageTitleDate = p.getStringBeforeDelimiter(pageName, "'")
local pageTitleMonthName = p.getStringBeforeDelimiter(pageTitleDate, " ")
local pageTitleYear = p.getStringAfterDelimiter(pageTitleDate, " ")
mw.log(pageTitleYear)
local monthDays = {
Ocak = 31,
["Şubat"] = 28,
["Mart"] = 31,
["Nisan"] = 30,
["Mayıs"] = 31,
["Haziran"] = 30,
["Temmuz"] = 31,
["Ağustos"] = 31,
["Eylül"] = 30,
["Ekim"] = 31,
["Kasım"] = 30,
["Aralık"] = 31
}
local days = monthDays[pageTitleMonthName]
mw.log(days)
mw.log(pageTitleMonthName)
local daysString = ""
for i = 1, days do
daysString = daysString .. "\n* [[#" .. i .. "|" .. i .. "]]"
end
return daysString
end
function p.getStringBeforeDelimiter(fullString, delimiter)
fullString = mw.uri.decode(fullString)
local startPos, endPos = string.find(fullString, delimiter, 1, true)
if startPos then
return string.sub(fullString, 1, startPos - 1)
else
return fullString
end
end
function p.getStringAfterDelimiter(fullString, delimiter)
fullString = mw.uri.decode(fullString)
local startPos, endPos = string.find(fullString, delimiter, 1, true)
if startPos then
return string.sub(fullString, endPos + 1)
else
return fullString
end
end
return p