Modül:Dolçub
Görünüm
| Bu şablon 3000 sayfada kullanılmaktadır. Sunucu üzerinde çok fazla gereksiz yük oluşturmamak ve büyük ölçekte aksamalara sebep olmamak için, yapılacak değişiklikler ilk önce bu şablonun /sandbox veya /testcases altsayfalarında, ya da kendi kullanıcı alanınızda denenmelidir (test edilmelidir). Denenmiş değişiklikler, sorunsuz kullanılabilir oldukları anlaşıldığında tek bir hamlede (değiştirme hamlesiyle) bu şablona eklenmelidir. Aynı zamanda lütfen değişiklikleri uygulayıp aktif hale getirmeden önce diğer kullanıcılarla da tartışma sayfasında görüş alışverişinde bulunun. |
Bu, {{Dolçub}} için bir Lua uygulamasıdır. Modül:Dolaşım tarafından kullanılmaktadır.
local p = {}
local getArgs
function p._navbar(args)
local titleArg = 1
if args.collapsible then
titleArg = 2
if not args.plain then
args.mini = 1
end
if args.fontcolor then
args.fontstyle = 'color:' .. args.fontcolor .. ';'
end
args.style = 'float:left; text-align:left; width:6em;'
end
local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle())
local title = mw.title.new(mw.text.trim(titleText), 'Template');
if not title then
error('Invalid title ' .. titleText)
end
local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '';
local div = mw.html.create():tag('div')
div
:addClass('plainlinks')
:addClass('hlist')
:addClass('navbar')
:cssText(args.style)
if args.mini then div:addClass('navbar-mini') end
if not (args.mini or args.plain) then
div
:tag('span')
:css('word-spacing', 0)
:cssText(args.fontstyle)
:wikitext(args.text or 'Bu kutu:')
:wikitext(' ')
end
if args.brackets then
div
:tag('span')
:css('margin-right', '-0.125em')
:cssText(args.fontstyle)
:wikitext('[')
:newline();
end
local ul = div:tag('ul');
ul
:tag('li')
:addClass('nv-view')
:wikitext('[[' .. title.fullText .. '|')
:tag(args.mini and 'abbr' or 'span')
:attr('title', 'Bu şablonu görüntüle')
:cssText(args.fontstyle)
:wikitext(args.mini and 'g' or 'görüntüle')
:done()
:wikitext(']]')
:done()
:tag('li')
:addClass('nv-talk')
:wikitext('[[' .. talkpage .. '|')
:tag(args.mini and 'abbr' or 'span')
:attr('title', 'Bu şablonu tartış')
:cssText(args.fontstyle)
:wikitext(args.mini and 't' or 'tartış')
:done()
:wikitext(']]');
if not args.noedit then
ul
:tag('li')
:addClass('nv-edit')
:wikitext('[' .. title:fullUrl('action=edit') .. ' ')
:tag(args.mini and 'abbr' or 'span')
:attr('title', 'Bu şablonu değiştir')
:cssText(args.fontstyle)
:wikitext(args.mini and 'd' or 'değiştir')
:done()
:wikitext(']');
end
if args.brackets then
div
:tag('span')
:css('margin-left', '-0.125em')
:cssText(args.fontstyle)
:wikitext(']')
:newline();
end
if args.collapsible then
div
:done()
:tag('span')
:css('font-size', '110%')
:cssText(args.fontstyle)
:wikitext(args[1])
end
return mw.getCurrentFrame():extensionTag{
name = 'templatestyles', args = { src = "Modül:Dolçub/styles.css" }
} .. tostring(div:done())
end
function p.navbar(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
return p._navbar(getArgs(frame))
end
return p