Module:Template link general
Documentation for this module may be created at Module:Template link general/doc
-- This implements Template:Tlglocal getArgs = require('Module:Arguments').getArgslocal p = {}-- Is a string non-empty?local function _ne(s) return s ~= nil and s ~= ""endlocal nw = mw.text.nowikilocal function addTemplate(s)local i, _ = s:find(':', 1, true)if i == nil thenreturn 'Template:' .. sendlocal ns = s:sub(1, i - 1)if ns == '' or mw.site.namespaces[ns] thenreturn selsereturn 'Template:' .. sendendlocal function trimTemplate(s)local needle = 'template:'if s:sub(1, needle:len()):lower() == needle thenreturn s:sub(needle:len() + 1)elsereturn sendendlocal function linkTitle(args)if _ne(args.nolink) thenreturn args['1']endlocal titleObjlocal titlePart = '[['if args['1'] then-- This handles :Page and other NStitleObj = mw.title.new(args['1'], 'Template')elsetitleObj = mw.title.getCurrentTitle()endtitlePart = titlePart .. (titleObj ~= nil and titleObj.fullText oraddTemplate(args['1']))local textPart = args.alttextif not _ne(textPart) thenif titleObj ~= nil thentextPart = titleObj:inNamespace("Template") and args['1'] or titleObj.fullTextelse-- redlinktextPart = args['1']endendif _ne(args.subst) then-- HACK: the ns thing above is probably brokentextPart = 'subst:' .. textPartendif _ne(args.brace) thentextPart = nw('{{') .. textPart .. nw('}}')elseif _ne(args.braceinside) thentextPart = nw('{') .. textPart .. nw('}')endtitlePart = titlePart .. '|' .. textPart .. ']]'if _ne(args.braceinside) thentitlePart = nw('{') .. titlePart .. nw('}')endreturn titlePartendfunction p.main(frame)local args = getArgs(frame, {trim = true,removeBlanks = false})return p._main(args)endfunction p._main(args)local bold = _ne(args.bold) or _ne(args.boldlink) or _ne(args.boldname)local italic = _ne(args.italic) or _ne(args.italics)local dontBrace = _ne(args.brace) or _ne(args.braceinside)local code = _ne(args.code) or _ne(args.tt)local show_result = _ne(args._show_result)local expand = _ne(args._expand)-- Build the link partlocal titlePart = linkTitle(args)if bold then titlePart = "'''" .. titlePart .. "'''" endif _ne(args.nowrapname) then titlePart = '<span class="nowrap">' .. titlePart .. '</span>' end-- Build the argumentslocal textPart = ""local textPartBuffer = "|"local codeArguments = {}local codeArgumentsString = ""local i = 2local j = 1while args[i] dolocal val = args[i]if val ~= "" thenif _ne(args.nowiki) then-- Unstrip nowiki tags first because calling nw on something that already contains nowiki tags will-- mangle the nowiki strip marker and result in literal UNIQ...QINU showing upval = nw(mw.text.unstripNoWiki(val))endlocal k, v = string.match(val, "(.*)=(.*)")if not k thencodeArguments[j] = valj = j + 1elsecodeArguments[k] = vendcodeArgumentsString = codeArgumentsString .. textPartBuffer .. valif italic thenval = '<span style="font-style:italic;">' .. val .. '</span>'endtextPart = textPart .. textPartBuffer .. valendi = i + 1end-- final wraplocal ret = titlePart .. textPartif not dontBrace then ret = nw('{{') .. ret .. nw('}}') endif _ne(args.a) then ret = nw('*') .. ' ' .. ret endif _ne(args.kbd) then ret = '<kbd>' .. ret .. '</kbd>' endif code thenret = '<code>' .. ret .. '</code>'elseif _ne(args.plaincode) thenret = '<code style="border:none;background:transparent;">' .. ret .. '</code>'endif _ne(args.nowrap) then ret = '<span class="nowrap">' .. ret .. '</span>' end--[[ Wrap as html?? local span = mw.html.create('span')span:wikitext(ret)--]]if _ne(args.debug) then ret = ret .. '\n<pre>' .. mw.text.encode(mw.dumpObject(args)) .. '</pre>' endif show_result thenlocal result = mw.getCurrentFrame():expandTemplate{title = addTemplate(args[1]), args = codeArguments}ret = ret .. " → " .. resultendif expand thenlocal query = mw.text.encode('{{' .. addTemplate(args[1]) .. string.gsub(codeArgumentsString, textPartBuffer, "|") .. '}}')local url = mw.uri.fullUrl('special:ExpandTemplates', 'wpInput=' .. query)mw.log()ret = ret .. " [" .. tostring(url) .. "]"endreturn retendreturn p
🔥 Top keywords: Нүүр хуудасУлсын цолтой бөхчүүдийн эрэмбэТусгай:SearchЧингис хаанМонголУлаанбаатарЦэдэнсодномын Бямба-ОтгонШээсний шинжилгээЦусны цагаан эсМонгол улсын аймаг, нийслэлХөвсгөл нуурМонгол Улсын аймгуудТэмбүүҮр хөндөлтДэлхийн хоёрдугаар дайнБаянхонгор аймагИх Монгол УлсМонгол тэмүүлэл сургуульӨмнөд СолонгосОргихын ХангайТөв аймагМягмарын БадарчТажикистанӨвөрхангай аймагАрхангай аймагДува сохорАрван хоёр цагЕвроп тивийн хөлбөмбөгийн аварга шалгаруулах тэмцээнМонгол бичигГүрсэдийн СайханбаярГовь-Алтай аймагСэлэнгэ аймагНэгдсэн Үндэстний БайгууллагаАвга болон нагацБүрнээгийн БаянмөнхХовд аймагСүхбаатарын СүхбатОросУлс орнуудын хүн амын тоо