-- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list local p = {} local function trim(s) return s:match('^%s*(.-)%s*$') end local function isnotempty(s) return s and s:match('%S') end local function clean(text) -- Return text cleaned for display and truncated if too long. -- Strip markers are replaced with dummy text representing the original wikitext. local pos, truncated local function truncate(text) if truncated then return '' end if mw.ustring.len(text) > 25 then truncated = true text = mw.ustring.sub(text, 1, 25) .. '...' end return mw.text.nowiki(text) end local parts = {} for before, tag, remainder in text:gmatch('([^\127]*)\127[^\127]*%-(%l+)%-[^\127]*\127()') do pos = remainder table.insert(parts, truncate(before) .. '<' .. tag .. '>...</' .. tag .. '>') end table.insert(parts, truncate(text:sub(pos or 1))) return table.concat(parts) end function p._check(args, pargs) if type(args) ~= "table" or type(pargs) ~= "table" then -- TODO: error handling return end -- create the list of known args, regular expressions, and the return string local knownargs = {} local regexps = {} for k, v in pairs(args) do if type(k) == 'number' then v = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end -- loop over the parent args, and make sure they are on the list local ignoreblank = isnotempty(args['ignoreblank']) local showblankpos = isnotempty(args['showblankpositional']) local values = {} for k, v in pairs(pargs) do if type(k) == 'string' and knownargs[k] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(k, regexp) then knownflag = true break end end if not knownflag and ( not ignoreblank or isnotempty(v) ) then table.insert(values, clean(k)) end elseif type(k) == 'number' and knownargs[tostring(k)] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(tostring(k), regexp) then knownflag = true break end end if not knownflag and ( showblankpos or isnotempty(v) ) then table.insert(values, k .. ' = ' .. clean(v)) end end end -- add results to the output tables local res = {} if #values > 0 then local unknown_text = args['unknown'] or 'Found _VALUE_, ' if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then local preview_text = args['preview'] if isnotempty(preview_text) then preview_text = require('Modül:If preview')._warning({preview_text}) elseif preview == nil then preview_text = unknown_text end unknown_text = preview_text end for _, v in pairs(values) do -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links if v == '' then v = ' ' end -- avoid error with v = 'example%2' ("invalid capture index") local r = unknown_text:gsub('_VALUE_', {_VALUE_ = v}) table.insert(res, r) end end return table.concat(res) end function p.check(frame) local args = frame.args local pargs = frame:getParent().args return p._check(args, pargs) end return p
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Modul belgelemesi olustur Bu modul su Lua modulunu kullaniyor Modul If preview Bu Scribunto modulu icin bir belgeleme sayfasi olusturmak isteyebilirsiniz Kullanicilar denemelerini bu sablonun deneme tahtasi olustur yansitma ve test senaryosu olustur sayfalarinda yapabilirler Lutfen kategorileri alt sayfasina ekleyin Bu modul ile ilgili alt sayfalar icin buraya tiklayiniz This module may be used to compare the arguments passed to the parent with a list of arguments returning a specified result if an argument is not on the list local p local function trim s return s match s s end local function isnotempty s return s and s match S end local function clean text Return text cleaned for display and truncated if too long Strip markers are replaced with dummy text representing the original wikitext local pos truncated local function truncate text if truncated then return end if mw ustring len text gt 25 then truncated true text mw ustring sub text 1 25 end return mw text nowiki text end local parts for before tag remainder in text gmatch 127 127 127 l 127 127 do pos remainder table insert parts truncate before amp lt tag amp gt amp lt tag amp gt end table insert parts truncate text sub pos or 1 return table concat parts end function p check args pargs if type args table or type pargs table then TODO error handling return end create the list of known args regular expressions and the return string local knownargs local regexps for k v in pairs args do if type k number then v trim v knownargs v 1 elseif k find regexp 1 9 0 9 then table insert regexps v end end loop over the parent args and make sure they are on the list local ignoreblank isnotempty args ignoreblank local showblankpos isnotempty args showblankpositional local values for k v in pairs pargs do if type k string and knownargs k nil then local knownflag false for regexp in ipairs regexps do if mw ustring match k regexp then knownflag true break end end if not knownflag and not ignoreblank or isnotempty v then table insert values clean k end elseif type k number and knownargs tostring k nil then local knownflag false for regexp in ipairs regexps do if mw ustring match tostring k regexp then knownflag true break end end if not knownflag and showblankpos or isnotempty v then table insert values k clean v end end end add results to the output tables local res if values gt 0 then local unknown text args unknown or Found VALUE if mw getCurrentFrame preprocess REVISIONID then local preview text args preview if isnotempty preview text then preview text require Modul If preview warning preview text elseif preview nil then preview text unknown text end unknown text preview text end for v in pairs values do Fix odd bug for which gets stripped to the empty string and breaks category links if v then v end avoid error with v example 2 invalid capture index local r unknown text gsub VALUE VALUE v table insert res r end end return table concat res end function p check frame local args frame args local pargs frame getParent args return p check args pargs end return p