"मोड्युल:Navbar" का संशोधनहरू बिचको अन्तर

Jump to navigation Jump to search
switch to mw.html and other cleanup from sandbox
(less misleading error message)
(switch to mw.html and other cleanup from sandbox)
 
local getArgs
local HtmlBuilder = require('Module:HtmlBuilder')
 
local function trim(s)
return mw.ustring.match(s, "^%s*(.-)%s*$")
end
 
local function getTitle(pageName)
pageName = trim(pageName);
local page_title, talk_page_title;
 
if mw.ustring.sub(pageName, 1, 1) == ':' then
page_title = mw.title.new( mw.ustring.sub(pageName, 2));
else
page_title = mw.title.new(pageName, 'Template');
end
 
if page_title then
talk_page_title = page_title.talkPageTitle;
else
talk_page_title = nil;
end
 
return page_title, talk_page_title;
end
 
function p._navbar(args)
local title, talk_title;
local titleArg = 1
local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle())
local title, talk_title = getTitlemw.title.new(mw.text.trim(titleText), 'Template');
 
if not title then
end
 
local mainpagetalkpage = title.talkPageTitle and title.talkPageTitle.fullText or '';
local talkpage = talk_title and talk_title.fullText or ''
local editurl = title:fullUrl('action=edit');
 
local viewLink, talkLink, editLink = 'view', 'talk', 'edit'
if args.mini then
viewLink, talkLink, editLink = 'v', 't', 'e'
end
 
local div = HtmlBuildermw.html.create().:tag('div')
div
.:addClass('plainlinks')
.:addClass('hlist')
.:addClass('navbar')
.:cssText(args.style)
 
if args.mini then div.:addClass('mini') end
 
if not (args.mini or args.plain) then
div
.:tag('span')
.:css('word-spacing', 0)
.:cssText(args.fontstyle)
.:wikitext(args.text or 'This box:')
.: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('[[' .. mainpagetitle.fullText .. '|')
.:tag('span')
.:attr('title', 'View this template')
.:cssText(args.fontstyle or '')
.:wikitext(viewLinkargs.mini and 'v' or 'view')
.:done()
.:wikitext(']]')
.:done()
.:tag('li')
.:addClass('nv-talk')
.:wikitext('[[' .. talkpage .. '|')
.:tag('span')
.:attr('title', 'Discuss this template')
.:cssText(args.fontstyle or '')
.:wikitext(talkLinkargs.mini and 't' or 'talk')
.:done()
.:wikitext(']]');
 
if not args.noedit then
ul
.:tag('li')
.:addClass('nv-edit')
.:wikitext('[' .. editurltitle:fullUrl('action=edit') .. ' ')
.:tag('span')
.:attr('title', 'Edit this template')
.:cssText(args.fontstyle or '')
.:wikitext(editLinkargs.mini and 'e' or 'edit')
.:done()
.:wikitext(']');
end
 
if args.brackets then
div
.:tag('span')
.:css('margin-left', '-0.125em')
.:cssText( args.fontstyle or '')
.:wikitext(']')
.:newline();
end
if args.collapsible then
div
.:done()
.:tag('span')
.:css('font-size', '110%')
.:cssText(args.fontstyle or '')
.:wikitext(args[1])
end
 
return tostring(div.allDone:done())
end
 

edits

"https://ne.wikipedia.org/wiki/विशेष:MobileDiff/524804" बाट अनुप्रेषित

पथप्रदर्शन विकल्प