Модуль:Күндүн сөзү
Көрүнүш
Documentation for this module may be created at Модуль:Күндүн сөзү/doc
local p = {}
function p.show(frame)
local currentDate = os.date('%Y-%m-%d')
local day = os.date('%d')
local monthNum = os.date('%m')
local year = os.date('%Y')
local months = {
['01'] = 'январь', ['02'] = 'февраль', ['03'] = 'март',
['04'] = 'апрель', ['05'] = 'май', ['06'] = 'июнь',
['07'] = 'июль', ['08'] = 'август', ['09'] = 'сентябрь',
['10'] = 'октябрь', ['11'] = 'ноябрь', ['12'] = 'декабрь'
}
local dateString = day .. '-' .. months[monthNum] .. ', ' .. year
local data = mw.loadData('Модуль:Күндүн сөзү/дата')
local wordName = data[currentDate]
if not wordName then
return "''Бүгүнкү күнгө сөз тандала элек.''"
end
local title = mw.title.new(wordName)
local content = title:getContent()
local container = "<div style='border: 1px solid #c8ccd1; background: #f8f9ff; padding: 15px; margin-top: 10px; font-family: system-ui;'>"
local header = "<div style='font-size: 130%; font-weight: regular; color: #000;'>Күндүн сөзү</div>"
header = header .. "<div style='font-size: 80%; color: #54595d; margin-bottom: 15px;'>" .. dateString .. "</div>"
header = header .. "<div style='border-top: 1px solid #a2a9b1; margin-bottom: 15px;'></div>"
local body = ""
if not content then
body = "<div style='font-size: 100%; font-weight: bold; color: #d33;'>[[ " .. wordName .. "]]</div>" ..
"<div style='margin-top: 5px; color: #666;'>''Бул сөздүн макаласы али жазыла элек.''</div>"
else
local definition = content:match('\n#%s?([^#\n]+)') or "''Аныктамасы табылган жок.''"
body = "<div style='font-size: 100%; font-weight: bold;'>[[ " .. wordName .. "]]</div>"
body = body .. "<div style='margin-top: 7px; line-height: 1.5; color: #333;'>" .. definition .. "</div>"
body = body .. "<div style='margin-top: 15px; font-size: 90%;'>[[ " .. wordName .. "|Толук окуу...]]</div>"
end
return frame:preprocess(container .. header .. body .. "</div>")
end
return p