Bu modulun sənədləşdirmə səhifəsi səhifəsində yaradıla bilər
local p = {}
local function lcfirst_az(str)
local first = mw.ustring.sub(str, 1, 1)
local rest = mw.ustring.sub(str, 2)
if first == 'İ' then
return 'i' .. rest
elseif first == 'I' then
return 'ı' .. rest
elseif mw.ustring.match(first, '[A-ZƏÖÜÇŞ]') then
local lower = mw.ustring.lower(first)
return lower .. rest
else
return first .. rest
end
end
function p._main(args, frame, title)
args = args or {}
frame = frame or mw.getCurrentFrame()
title = title or mw.title.getCurrentTitle()
local italics, italicsAll, lowerCase = false, false, false
for k, v in pairs(args) do
if type(k) == 'number' then
if v == 'kiçik hərf' or v == 'kiçik' then
lowerCase = true
end
if v == 'kursiv' then
italics = true
italicsAll = false
end
if v == 'hamısı kursiv' then
italicsAll = true
italics = false
end
end
end
local result = title.text
if lowerCase then
result = lcfirst_az(result)
end
if italics or italicsAll then
local prefix, parentheses = mw.ustring.match(result, '^(.+) (%([^%(%)]+%))$')
if prefix and parentheses and italicsAll == false then
result = string.format("<i>%s</i> %s", prefix, parentheses)
else
result = string.format("<i>%s</i>", result)
end
end
if title.namespace ~= 0 then
result = title.nsText:gsub('_', ' ') .. ':' .. result
end
if args['başlıq'] then
return result
else
return frame:callParserFunction('DISPLAYTITLE', result, 'noerror')
end
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {
wrappers = 'Şablon:Başlıq'
})
local title
if args['başlıq'] then
title = mw.title.new(args['başlıq'])
end
return p._main(args, frame, title)
end
return p