Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Modül:SporSıralaması

bullvar_katip

Administrator
Katılım
21 Mayıs 2024
Mesajlar
532,105
require('Module:No globals'); local p = {} local error_msg = ''; -- data for various rankings held in module subpages, e.g. "Module:SportsRankings/data/FIFA World Rankings" local data = {} --[[ parameters containing data help in three tables data.source = {} -- parameters for using in cite web (title, url, website) data.updated = {} -- date of latest update (month, day, year) data.rankings = {} -- the rankings list (country code, ranking, movement) data.alias = {} -- alias list (country code, country name [=key]) --]] local templateArgs = {} -- contains arguments from template involking module local function getArgs(frame) local parents = mw.getCurrentFrame:getParent for k,v in pairs(parents.args) do --check content if v and v ~= "" then templateArgs[k]=v --parents.args[k] end end for k,v in pairs(frame.args) do --check content if v and v ~= "" then templateArgs[k]=v --parents.args[k] end end -- allow empty caption to blank default if parents.args['caption'] then templateArgs['caption'] = parents.args['caption'] end end local function loadData(frame) local source = frame.args[1] -- source of rankings e.g. FIFA World Rankings data = require('Modül:SporSıralaması/veri/'.. source); end local function getDate(option) local dateTable = data.updated -- there must be date table (data.updated) -- TODO add a warning and/or category if option == "LAST" then local lastDateTable = data.previous if lastDateTable then -- there might not be a previous data table (data.previous) dateTable = lastDateTable else return "No previous date available (data.updated missing)" end end if templateArgs['mdy'] and templateArgs['mdy'] ~= "" then return dateTable['month'] .. " " .. dateTable['day'] .. ", " .. dateTable['year'] else return dateTable['day'] .. " " .. dateTable['month'] .. " " .. dateTable['year'] end end local function addCiteWeb(frame) -- use cite web template return frame:expandTemplate{ title = 'cite web' , args = { url = data.source['url'], --"https://www.fifa.com/fifa-world-ranking/ranking-table/men/index.html", title = data.source['title'], -- "FIFA Dünya Sıralaması", website = data.source['website'], --"FIFA", ['date'] = getDate, ['access-date'] = getDate }} end local function addReference(frame) local text = "" if data.source['text'] then text = data.source['text'] end return frame:expandTemplate{ title = 'refn' , args = { name=frame.args[1], --ranking used, e.g. "FIFA World Rankings", text .. addCiteWeb(frame) }} end -- movement |date function p.main(frame) getArgs(frame) -- returns args table having checked for content loadData(frame) local outputString = "" local validCode = false local country = templateArgs[2] -- country name or county code passed as parameter local rank, move if string.len( country) 3 then -- if we have a three letter country code for _,u in pairs(data.alias) do -- run through alias list { 3-letter code, country name } if u[1] country then -- if code = passed parameter country = u[2] -- set country name as key for ranking table validCode = true break end end -- if no match of code to country name, set category if not validCode then outputString="" .. outputString end end for _,v in pairs(data.rankings) do if v[1] country then rank v[2] -- get rank move v[3] -- get move from last ranking break end end if not rank then -- no ranking found (do we want a tracking for no rank found?) rank 'NR' --outputString "" .. outputString --outputString "" .. outputString end if rank ~ 'NR' then outputString outputString .. ' ' .. rank .. ' ' if move < 0 and math.abs( move ) math.abs( rank ) then -- new teams in ranking: move = -ranking outputString = outputString .. frame:expandTemplate{ title = 'new entry' } elseif move == 0 then -- if no change in ranking outputString = outputString .. frame:expandTemplate{ title = 'steady' } elseif move < 0 then -- if ranking down outputString = outputString .. frame:expandTemplate{ title = 'decrease' } .. ' ' .. math.abs(move) elseif move > 0 then -- if ranking up outputString = outputString .. frame:expandTemplate{ title = 'increase' } .. ' ' .. move end else outputString = outputString .. frame:expandTemplate{ title = 'Abbr', args = { "SR", "Sıralanmamış"} } -- end outputString = outputString .. ' ' outputString = outputString .. addReference(frame) return outputString end --ranking|first|last the ranking to use, fist and last in table other parameters: |style= -- CSS styling |headerN= footerN= -- displays header and footer rows with additional information |caption= -- value of caption to display -- by default it generates a caption -- this can be suppressed with empty |caption= local function table(frame, ranking, first,last) local styleString = "" if templateArgs['style'] and templateArgs['style'] ~= "" then styleString = templateArgs['style'] end local sublist2 = { "ENG", "SCO", "WAL", "IRE", "NIR", "FRA", "England", "France", "Germany" } local sublist3 = { "AFG","AUS","BAN","BHR","BHU","BRU","CAM","CHN","GUM","HKG","IDN","IND","IRN","IRQ","JOR", "JPN","KGZ","KOR","KSA","KUW","LAO","LIB","MAC","MAS","MDV","MNG","MYA","NEP","OMA","PAK", "PHI","PLE","PRK","QAT","SIN","SRI","SYR","THA","TJK","TKM","TLS","TPE","UAE","UZB","VIE", "YEM" } local lastRank = 0 local selectCount = 0 local selectData = nil local selectList = nil if templateArgs['select'] then if data.confederation[templateArgs['select']] then selectList = templateArgs['select'] selectData = data.confederation[selectList] selectCount = 1 end end -- column header customisation local rankHeader = templateArgs['rank_header'] or "Sıra" local selectionHeader = templateArgs['selection_header'] or selectList or "Sıra" local teamHeader = templateArgs['team_header'] or "Takım" local pointsHeader = templateArgs['points_header'] or "Puan" local changeHeader = templateArgs['change_header'] or "Değişim" --start table local outputString = '" return outputString end function p.replaceKeywords(keyword) keyword = string.gsub( keyword, "INSERT_UPDATE_DATE", getDate) keyword = string.gsub( keyword, "INSERT_LAST_DATE", getDate("LAST")) keyword = string.gsub( keyword, "INSERT_REFERENCE", addReference(mw.getCurrentFrame)) return keyword end --ranking= -- ranking to display (e.g. FIFA World Rankings) |first= |last= -- first and last ranking to display (defaults 1-10) function p.list(frame) getArgs(frame) -- returns args table having checked for content loadData(frame) local ranking = frame.args[1] local first, last = 1,10 first = tonumber(frame.args['2']) last = tonumber(frame.args['3']) return table(frame, ranking, first, last) end --ranking |country |span -- ranking - the ranking to display (e.g. FIFA World Rankings) -- country - country table is centred around -- span= - rows to display above and below country function p.list2(frame) getArgs(frame) -- returns args table having checked for content loadData(frame) local ranking = frame.args[1] local first, last = 1,10 local country = frame.args[2] -- name or code of country to center table around local span = frame.args[3] or 2 -- number of rows to display above and below country (default:2) if string.len(country) 3 then -- if three letter country code for _,u in pairs(data.alias) do if u[1] country then country = u[2] -- if country code then use country name break end end end for k,v in pairs(data.rankings) do -- find position of country in rankings if v[1] == country then first = v[2]-span last = v[2]+span end end return table(frame, ranking, first, last) end return p
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri