Jump to content

Module:Sports results

From Simple English Wikipedia, the free encyclopedia
Revision as of 20:30, 12 November 2014 by CRwikiCA (talk | changes) (proper backslash return)

This Lua-based module is meant to build match result tables. Note that this module is used extensively, so test potential changes rigorously in the sandbox and please ensure consensus exists before implementing major changes. Also note that the module is called from Module:Sports table and check for potential issues there as well after making changes. The rest of this documentation explains how to use this module in an article or template, check the table of contents for specific items.

Wikitext test cases at Module:Sports results/testcases wikitext.

Usage

The template can be used as follows:

What you type
{{#invoke:Sports results|main
|update=1 January 1900
|source=[https://en.wikipedia.org/wiki/Main_Page Wikipedia]
|showteam=CCC
|team1=FDT |team2=BBB |team3=CCC |team4=DDD |team5=EEE

|name_FDT=[[FIFA World Cup Dream Team]]  |short_FDT=[[FIFA World Cup Dream Team|FDT]]
|name_BBB=Team 2                         |short_BBB=T2
|name_CCC=Team 3                         |short_CCC=T3
|name_DDD=DDD F.C.                       |short_DDD=DDD
|name_EEE={{fb-rt|GIB}} |short_EEE={{flagicon|Gibraltar}}

|match_FDT_BBB=1–0
|match_FDT_CCC=0–1
|match_FDT_DDD=<small>16 Nov '14</small>
|match_FDT_EEE=<small>3 Sep '15</small>

|match_BBB_FDT=B–F
|match_BBB_CCC=<small>3 Sep '15</small>
|match_BBB_DDD=B–D
|match_BBB_EEE=<small>3 Sep '15</small>

|match_CCC_FDT=<small>16 Nov '14</small>
|match_CCC_BBB=C–B
|match_CCC_DDD=<small>16 Nov '14</small>
|match_CCC_EEE=C–E

|match_DDD_FDT=D–F
|match_DDD_BBB=<small>3 Sep '15</small>
|match_DDD_CCC=D–C
|match_DDD_EEE=<small>3 Sep '15</small>

|match_EEE_FDT=E–F
|match_EEE_BBB=9–5
|match_EEE_CCC=<small>16 Nov '14</small>
|match_EEE_DDD=E–D

|match_FDT_BBB_note=Match awarded to FIFA World Cup Dream Team with a 1–0 score.
}}
What it looks like Lua error in package.lua at line 80: module 'Module:No globals' not found.

The main command is {{#invoke:Sports results|main}}, which calls the module and sets the basic structure up. Then you list the order in which the teams are listed as |team1=, |team2=, etc for however many teams you need in the table. If you set |showteam= to a team, then that team's results are highlighted as in the example. The display of team names for team TTT is now governed by |name_TTT= and |short_TTT= for the row and column headers respectively. The results for the game TTT vs. SSS can now be input by |match_TTT_SSS=. The table is build this way, future games can be listed with their date or they can be left blank.

The source is controlled by |source=. The update date can be set by |update=date when the season is active; can be removed after the season with |update=complete and can be set for a future start date by using |update=future and setting the start date with |start_date=.

The width of the columns can be set by |match_col_width=.

A note can be added to a result using |match_TTT_SSS_note=.

Another example is:

What you type
{{#invoke:Sports results|main

|team1=CZE |team2=ISL |team3=KAZ |team4=LVA |team5=NED |team6=TUR

|name_CZE={{fb-rt|CZE}}	|short_CZE={{flagicon|CZE}}
|name_ISL={{fb-rt|ISL}}	|short_ISL={{flagicon|ISL}}
|name_KAZ={{fb-rt|KAZ}}	|short_KAZ={{flagicon|KAZ}}
|name_LVA={{fb-rt|LVA}}	|short_LVA={{flagicon|LVA}}
|name_NED={{fb-rt|NED}}	|short_NED={{flagicon|NED}}
|name_TUR={{fb-rt|TUR}}	|short_TUR={{flagicon|TUR}}

|match_CZE_ISL=[[UEFA Euro 2016 qualifying Group A#Czech Republic v Iceland|<small>16 Nov '14</small>]]
|match_CZE_KAZ=[[UEFA Euro 2016 qualifying Group A#Czech Republic v Kazakhstan|<small>3 Sep '15</small>]]
|match_CZE_LVA=[[UEFA Euro 2016 qualifying Group A#Czech Republic v Latvia|<small>28 Mar '15</small>]]
|match_CZE_NED=[[UEFA Euro 2016 qualifying Group A#Czech Republic v Netherlands|2–1]]
|match_CZE_TUR=[[UEFA Euro 2016 qualifying Group A#Czech Republic v Turkey|<small>10 Oct '15</small>]]

|match_ISL_CZE=[[UEFA Euro 2016 qualifying Group A#Iceland v Czech Republic|<small>12 Jun '15</small>]]
|match_ISL_KAZ=[[UEFA Euro 2016 qualifying Group A#Iceland v Kazakhstan|<small>6 Sep '15</small>]]
|match_ISL_LVA=[[UEFA Euro 2016 qualifying Group A#Iceland v Latvia|<small>10 Oct '15</small>]]
|match_ISL_NED=[[UEFA Euro 2016 qualifying Group A#Iceland v Netherlands|2–0]]
|match_ISL_TUR=[[UEFA Euro 2016 qualifying Group A#Iceland v Turkey|3–0]]

|match_KAZ_CZE=[[UEFA Euro 2016 qualifying Group A#Kazakhstan v Czech Republic|2–4]]
|match_KAZ_ISL=[[UEFA Euro 2016 qualifying Group A#Kazakhstan v Iceland|<small>28 Mar '15</small>]]
|match_KAZ_LVA=[[UEFA Euro 2016 qualifying Group A#Kazakhstan v Latvia|0–0]]
|match_KAZ_NED=[[UEFA Euro 2016 qualifying Group A#Kazakhstan v Netherlands|<small>10 Oct '15</small>]]
|match_KAZ_TUR=[[UEFA Euro 2016 qualifying Group A#Kazakhstan v Turkey|<small>12 Jun '15</small>]]

|match_LVA_CZE=[[UEFA Euro 2016 qualifying Group A#Latvia v Czech Republic|<small>6 Sep '15</small>]]
|match_LVA_ISL=[[UEFA Euro 2016 qualifying Group A#Latvia v Iceland|0–3]]
|match_LVA_KAZ=[[UEFA Euro 2016 qualifying Group A#Latvia v Kazakhstan|<small>13 Oct '15</small>]]
|match_LVA_NED=[[UEFA Euro 2016 qualifying Group A#Latvia v Netherlands|<small>12 Jun '15</small>]]
|match_LVA_TUR=[[UEFA Euro 2016 qualifying Group A#Latvia v Turkey|1–1]]

|match_NED_CZE=[[UEFA Euro 2016 qualifying Group A#Netherlands v Czech Republic|<small>13 Oct '15</small>]]
|match_NED_ISL=[[UEFA Euro 2016 qualifying Group A#Netherlands v Iceland|<small>3 Sep '15</small>]]
|match_NED_KAZ=[[UEFA Euro 2016 qualifying Group A#Netherlands v Kazakhstan|3–1]]
|match_NED_LVA=[[UEFA Euro 2016 qualifying Group A#Netherlands v Latvia|<small>16 Nov '14</small>]]
|match_NED_TUR=[[UEFA Euro 2016 qualifying Group A#Netherlands v Turkey|<small>28 Mar '15</small>]]

|match_TUR_CZE=[[UEFA Euro 2016 qualifying Group A#Turkey v Czech Republic|1–2]]
|match_TUR_ISL=[[UEFA Euro 2016 qualifying Group A#Turkey v Iceland|<small>13 Oct '15</small>]]
|match_TUR_KAZ=[[UEFA Euro 2016 qualifying Group A#Turkey v Kazakhstan|<small>16 Nov '14</small>]]
|match_TUR_LVA=[[UEFA Euro 2016 qualifying Group A#Turkey v Latvia|<small>3 Sep '15</small>]]
|match_TUR_NED=[[UEFA Euro 2016 qualifying Group A#Turkey v Netherlands|<small>6 Sep '15</small>]]
}}
What it looks like Lua error in package.lua at line 80: module 'Module:No globals' not found.

Win/Draw/Loss colour

The colour of win/draw/loss colour can be set by |matches_style=FBR.

What you type
{{#invoke:sports results|main
|source = 
|update=22 April 2018
|matches_style = FBR
|team1=CER |team2=DAV |team3=GLC |team4=JPV |team5=KAY |team6=STA

|name_CER=[[Ceres–Negros F.C.|Ceres–Negros]]
|name_DAV=[[Davao Aguilas F.C.|Davao Aguilas]]
|name_GLC=[[Global Cebu F.C.|Global Cebu]]
|name_JPV=[[JPV Marikina F.C.|JPV Marikina]]
|name_KAY=[[Kaya F.C.|Kaya–Iloilo]]
|name_STA={{nowrap|[[Stallion Laguna F.C.|Stallion Laguna]]}}

|match_CER_DAV={{small|{{small|23 May}}}}
|match_CER_GLC={{small|{{small|30 May}}}}
|match_CER_JPV={{small|{{small|20 Jun}}}}
|match_CER_KAY=2–1
|match_CER_STA={{small|{{small|2 Jun}}}}
|match_DAV_CER={{small|{{small|2 May}}}}
|match_DAV_GLC={{small|{{small|20 Jun}}}}
|match_DAV_JPV=3–2
|match_DAV_KAY=2–2
|match_DAV_STA={{small|{{small|6 May}}}}
|match_GLC_CER=0–2
|match_GLC_DAV=2–2
|match_GLC_JPV={{small|{{small|27 May}}}}
|match_GLC_KAY={{small|{{small|23 May}}}}
|match_GLC_STA=1–2
|match_JPV_CER=0–3
|match_JPV_DAV={{small|{{small|9 Jun}}}}
|match_JPV_GLC=2–1
|match_JPV_KAY={{small|{{small|5 May}}}}
|match_JPV_STA={{small|{{small|19 May}}}}
|match_KAY_CER={{small|{{small|12 May}}}}
|match_KAY_DAV={{small|{{small|20 May}}}}
|match_KAY_GLC={{small|{{small|2 May}}}}
|match_KAY_JPV=1–0
|match_KAY_STA=4–1
|match_STA_CER={{small|{{small|26 May}}}}
|match_STA_DAV=0–1
|match_STA_GLC={{small|{{small|12 May}}}}
|match_STA_JPV=1–2
|match_STA_KAY=null
}}
What it looks like Lua error in package.lua at line 80: module 'Module:No globals' not found.

Team header

To change the default Home \ Away team header, use |team_header=.

Two legs

For two matches per team pair, use |legs=2 and |match1_AAA_BBB= / |match2_AAA_BBB= instead of |match_AAA_BBB=. For wide tables, use |multirowlegs=y which provides a more narrow format.

Blank and pivot cells

Pivot cells defaulted to show (m-dash), but they can be changed to solidly colored cell using code |solid_cell= where color of the cell could be set by indicating with a phrase (i.e. grey). Also, each individual cell could be made inactive with a phrase null.

Generating a blank table

To generate a blank table, use

{{subst:#invoke:Sports results/blank|main
| team1 = AAA | team2 = BBB | ...
}}

where |team1=, |team2=, ... are the abbreviations for the team names in the order you wish them to appear. You may include |name_...= and other parameters as well, and they should be included in the result.


-- Module to build results cross-tables for standings in Sports
-- See documentation for details
 
require('Module:No globals')

local p = {}
 
-- Main function
function p.main(frame)
	-- Declare locals
	local Args = frame.args
	local N_teams = 0
	local t = {}
	local t_return = {}
	local team_list = {}
	
	-- Load some other modules
	local p_sub = require('Module:Sports table/sub')
	
	-- Read in number of consecutive teams (ignore entries after skipping a spot)
	while Args['team'..N_teams+1] ~= nil do
		N_teams = N_teams+1
		-- Sneakily add it twice to the team_list parameter, once for the actual
		-- ranking, the second for position lookup in sub-tables
		-- This is possible because Lua allows both numbers and strings as indices.
		team_list[N_teams] = Args['team'..N_teams] -- i^th entry is team X
		team_list[Args['team'..N_teams]] = N_teams -- team X entry is position i
	end
	
	-- Create header
	-- Open table
	table.insert(t,'{|class="wikitable" style="text-align:center;"\n') 
	-- First column
	t_return.count = 0 			-- Up by one after every call
	t_return.tab_text = t		-- Actual text
	t_return = p_sub.colhead(t_return,'auto','Home \\ Away')	
	t = t_return.tab_text
	-- Other columns
	
	
	-- Close table
	table.insert(t, '|}\n')
	
	return table.concat(t)
end
 
return p