The 1988–1989 season was the 90th completed season of the Football League.
No European qualification took place due to the Heysel Stadium disaster suspension in place.
Prior to the 1986–87 season membership of the Football League was dependent on a system of election by the other member teams. From 1986 that system came to an end, and instead, the club finishing last in the Fourth Division was automatically demoted to Conference. This season the casualty was Darlington.
Contents
-
First Division 1
-
First division Results table 1.1
-
First Division maps 1.2
-
Second Division 2
-
Second Division play-offs 2.1
-
Second Division results 2.2
-
Second Division maps 2.3
-
Third Division 3
-
Third Division play-offs 3.1
-
Third Division results 3.2
-
Third Division maps 3.3
-
Fourth Division 4
-
Fourth Division play-offs 4.1
-
Fourth Division results 4.2
-
Fourth Division maps 4.3
-
See also 5
-
References 6
-
Pld = Matches ; W = Matches won; D = Matches drawn; L = Matches lost; F = Goals for; A = Goals against; GD = Goal difference; Pts = Points
-
^ English teams were banned by UEFA from its competitions from the season 1985–86 on until the season 1990–91 because of the Heysel Disaster in 1985, involving Liverpool fans.
First division Results table
Home ╲ Away
|
|
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
width=30
|
Arsenal !Arsenal
|
|
2–3
|
2–2
|
2–0
|
1–2
|
2–0
|
1–1
|
2–0
|
2–1
|
3–0
|
0–0
|
1–0
|
5–0
|
1–3
|
2–1
|
1–1
|
2–2
|
2–0
|
2–1
|
2–2
|
Aston Villa !Aston Villa
|
0–3
|
|
1–2
|
1–1
|
1–2
|
2–0
|
1–1
|
2–1
|
0–0
|
1–1
|
2–2
|
3–1
|
3–1
|
1–1
|
2–1
|
2–0
|
1–2
|
2–1
|
0–1
|
0–1
|
|
2–3
|
2–2
|
|
0–0
|
3–0
|
1–2
|
0–3
|
3–0
|
1–0
|
2–0
|
0–3
|
2–2
|
1–2
|
0–1
|
1–1
|
2–1
|
2–2
|
2–2
|
0–0
|
1–0
|
|
1–0
|
2–1
|
3–0
|
|
0–2
|
0–1
|
1–3
|
1–0
|
1–0
|
3–4
|
0–0
|
1–2
|
2–1
|
2–2
|
0–3
|
5–0
|
2–1
|
1–1
|
1–1
|
2–1
|
|
2–1
|
2–1
|
0–0
|
1–0
|
|
3–2
|
0–1
|
0–1
|
2–2
|
1–0
|
0–1
|
2–0
|
0–1
|
0–2
|
0–1
|
1–0
|
3–1
|
1–1
|
1–2
|
4–1
|
Everton !Everton
|
1–3
|
1–1
|
3–2
|
3–1
|
1–0
|
|
0–0
|
0–2
|
1–1
|
2–1
|
1–1
|
4–0
|
1–1
|
1–1
|
4–1
|
1–0
|
4–1
|
1–0
|
3–1
|
1–1
|
Liverpool !Liverpool
|
0–2
|
1–0
|
2–0
|
0–0
|
1–0
|
1–1
|
|
5–0
|
1–0
|
3–0
|
1–1
|
1–2
|
0–1
|
1–0
|
2–0
|
5–1
|
2–0
|
1–1
|
5–1
|
1–1
|
|
1–1
|
1–1
|
5–2
|
2–2
|
3–0
|
1–0
|
1–0
|
|
0–2
|
1–0
|
1–2
|
0–0
|
1–0
|
2–3
|
0–0
|
0–1
|
6–1
|
1–3
|
4–1
|
2–2
|
Manchester United !Manchester United
|
1–1
|
1–1
|
3–0
|
0–1
|
0–2
|
1–2
|
3–1
|
2–0
|
|
1–0
|
3–0
|
2–0
|
1–2
|
2–0
|
0–0
|
1–1
|
2–2
|
1–0
|
2–0
|
1–0
|
Middlesbrough !Middlesbroughclude>
|
0–1
|
3–3
|
0–0
|
1–1
|
0–1
|
3–3
|
0–4
|
2–1
|
1–0
|
|
4–2
|
1–1
|
2–3
|
3–4
|
1–0
|
0–1
|
3–3
|
2–2
|
1–0
|
1–0
|
|
1–2
|
2–0
|
1–0
|
1–0
|
1–0
|
2–1
|
1–2
|
3–1
|
0–0
|
2–0
|
|
4–0
|
2–3
|
2–2
|
3–2
|
1–0
|
1–1
|
0–5
|
0–1
|
0–1
|
|
0–1
|
1–2
|
0–2
|
0–3
|
0–1
|
2–0
|
2–2
|
0–0
|
0–0
|
3–0
|
1–1
|
|
0–2
|
0–1
|
1–2
|
1–3
|
3–3
|
2–2
|
1–2
|
2–1
|
|
0–0
|
2–2
|
1–3
|
1–2
|
1–0
|
1–0
|
0–1
|
2–2
|
2–1
|
0–0
|
2–2
|
0–2
|
|
2–1
|
1–0
|
1–1
|
1–1
|
3–1
|
2–1
|
1–0
|
|
1–4
|
4–0
|
4–0
|
0–0
|
1–1
|
2–0
|
2–1
|
0–0
|
2–0
|
2–2
|
4–1
|
1–1
|
2–0
|
|
0–0
|
1–1
|
3–0
|
1–2
|
1–2
|
0–1
|
|
0–0
|
1–0
|
1–0
|
2–1
|
0–1
|
0–0
|
0–1
|
1–1
|
3–2
|
0–0
|
1–2
|
3–0
|
1–1
|
1–2
|
|
2–0
|
0–1
|
1–0
|
2–1
|
4–3
|
|
2–1
|
1–0
|
3–1
|
1–2
|
1–1
|
1–1
|
2–2
|
1–0
|
0–2
|
1–0
|
3–0
|
1–2
|
2–2
|
0–3
|
0–2
|
|
1–1
|
0–2
|
0–2
|
1–1
|
|
1–3
|
3–1
|
2–0
|
2–2
|
0–0
|
1–1
|
1–3
|
2–1
|
2–1
|
1–3
|
2–2
|
1–0
|
0–0
|
1–1
|
1–4
|
1–2
|
|
0–2
|
4–0
|
0–0
|
Tottenham Hotspur !Tottenham Hotspur
|
2–3
|
2–0
|
1–1
|
1–1
|
1–3
|
2–1
|
1–2
|
0–0
|
2–2
|
3–2
|
2–0
|
2–0
|
2–1
|
1–2
|
2–2
|
0–0
|
1–2
|
|
3–0
|
3–2
|
West Ham United !West Ham United
|
1–4
|
2–2
|
1–3
|
1–1
|
1–1
|
0–1
|
0–2
|
1–0
|
1–3
|
1–2
|
3–0
|
2–0
|
0–2
|
3–3
|
0–0
|
0–0
|
1–2
|
0–2
|
|
1–2
|
|
1–5
|
1–0
|
1–1
|
0–1
|
4–0
|
2–1
|
1–2
|
4–0
|
1–1
|
1–1
|
1–0
|
4–0
|
0–2
|
4–1
|
1–0
|
1–0
|
2–1
|
1–2
|
0–1
|
|
Source: require('Module:No globals')
local p = {}
-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }
-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }
-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }
-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }
local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }
function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil
local t1 = false -- whether traditional Chinese characters go first
local j1 = false -- whether Cantonese Romanisations go first
local testChar
if (args["first"]) then
for testChar in mw.ustring.gmatch(args["first"], "%a+") do
if (testChar == "t") then
t1 = true
end
if (testChar == "j") then
j1 = true
end
end
end
if (t1 == false) then
local title = mw.title.getCurrentTitle()
t1 = t1st[title.text] == true
end
-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(
1 ^ The home team is listed in the left-hand column.
Colours: Blue = home team win; Yellow = draw; Red = away team win.
First Division maps
Locations of the Football League First Division 1988–1989 teams
Locations of the Football League First Division London teams 1988–1989
-
Pld = Matches ; W = Matches won; D = Matches drawn; L = Matches lost; F = Goals for; A = Goals against; GD = Goal difference; Pts = Points
-
^ Crystal Palace won the play-offs and were promoted.
Key
|
|
|
Division Champions, promoted
|
|
Promoted
|
|
Participated in play-offs
|
|
Promoted through play-offs
|
|
Relegated
|
Both the semifinals and the finals were decided over two legs.
The full results can be found at: Football League Division Two play-offs 1989.
Second Division results
Home ╲ Away
|
|
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25Chelsea !CHE
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25West Bromwich Albion !WBA
|
|
|
0–0
|
0–1
|
5–2
|
0–0
|
2–2
|
1–1
|
1–1
|
0–2
|
2–0
|
2–2
|
3–0
|
1–2
|
4–3
|
1–0
|
3–1
|
1–0
|
1–0
|
1–0
|
3–0
|
1–1
|
1–0
|
2–2
|
2–1
|
Birmingham City !Birmingham City
|
3–5
|
|
2–0
|
0–1
|
1–0
|
1–2
|
1–4
|
0–1
|
1–0
|
1–0
|
0–0
|
2–3
|
0–2
|
0–0
|
0–0
|
0–1
|
0–0
|
1–2
|
0–1
|
3–2
|
1–2
|
1–0
|
2–3
|
1–4
|
Charlton Athletic !Charlton Athletic
|
2–1
|
3–0
|
|
2–0
|
2–1
|
2–1
|
1–1
|
5–4
|
4–0
|
1–0
|
2–0
|
0–0
|
4–0
|
3–1
|
3–1
|
1–2
|
3–1
|
0–1
|
4–3
|
2–2
|
0–0
|
3–0
|
2–1
|
1–2
|
|
3–2
|
0–1
|
2–1
|
|
3–0
|
2–1
|
1–0
|
2–0
|
5–1
|
1–0
|
0–0
|
2–1
|
0–1
|
2–2
|
2–1
|
0–0
|
1–0
|
0–1
|
0–1
|
0–1
|
2–3
|
2–1
|
0–1
|
2–1
|
|
1–2
|
2–2
|
1–1
|
0–1
|
|
0–1
|
2–2
|
0–1
|
1–1
|
2–2
|
1–1
|
2–1
|
1–1
|
2–0
|
0–0
|
1–1
|
2–1
|
1–0
|
0–0
|
1–0
|
2–2
|
3–1
|
2–1
|
2–0
|
|
0–1
|
4–0
|
3–0
|
1–2
|
1–3
|
|
0–1
|
3–1
|
1–1
|
0–1
|
2–1
|
1–1
|
2–1
|
2–0
|
2–1
|
2–2
|
2–1
|
3–1
|
1–1
|
3–0
|
0–2
|
2–2
|
1–0
|
0–1
|
Chelsea !Chelsea
|
5–3
|
3–1
|
1–2
|
2–0
|
3–1
|
2–0
|
|
1–0
|
2–1
|
3–0
|
1–0
|
2–1
|
1–3
|
2–2
|
1–1
|
5–0
|
3–3
|
2–0
|
2–1
|
1–1
|
3–2
|
2–0
|
2–2
|
1–1
|
|
1–1
|
4–1
|
2–2
|
2–3
|
2–0
|
2–1
|
1–1
|
|
3–1
|
2–0
|
0–0
|
4–2
|
0–0
|
2–0
|
1–0
|
4–1
|
2–0
|
1–1
|
1–0
|
1–0
|
2–1
|
4–0
|
0–2
|
1–0
|
|
0–0
|
1–1
|
1–3
|
4–0
|
1–1
|
5–2
|
3–0
|
0–1
|
|
1–1
|
1–2
|
2–2
|
1–0
|
1–1
|
1–2
|
3–0
|
1–1
|
3–0
|
1–4
|
0–0
|
1–0
|
0–0
|
0–3
|
0–1
|
|
2–0
|
4–0
|
2–0
|
3–1
|
1–1
|
2–3
|
0–1
|
1–2
|
1–1
|
|
0–1
|
2–0
|
1–0
|
2–1
|
1–2
|
2–2
|
0–1
|
2–0
|
5–1
|
2–0
|
1–2
|
3–1
|
3–2
|
2–1
|
|
2–0
|
1–0
|
2–0
|
3–0
|
3–3
|
1–0
|
0–2
|
1–2
|
2–1
|
2–4
|
|
1–1
|
1–1
|
0–0
|
1–1
|
2–0
|
1–0
|
2–3
|
4–0
|
2–0
|
0–0
|
1–0
|
0–1
|
2–1
|
|
0–1
|
2–0
|
4–0
|
0–1
|
1–0
|
1–0
|
2–0
|
2–2
|
0–2
|
0–1
|
1–2
|
|
0–0
|
1–2
|
1–0
|
1–0
|
2–1
|
1–1
|
2–0
|
3–1
|
3–3
|
1–0
|
2–2
|
1–1
|
Manchester City !Manchester City
|
1–2
|
0–0
|
1–0
|
3–3
|
4–0
|
2–1
|
2–3
|
1–1
|
4–1
|
4–0
|
0–0
|
4–2
|
|
1–4
|
2–1
|
2–0
|
4–1
|
2–2
|
2–1
|
1–1
|
2–1
|
2–2
|
3–1
|
1–1
|
|
1–1
|
4–0
|
1–1
|
2–0
|
1–1
|
2–1
|
1–4
|
2–3
|
2–2
|
4–0
|
2–2
|
1–1
|
0–1
|
|
3–0
|
2–2
|
5–3
|
3–0
|
2–2
|
2–2
|
2–2
|
3–0
|
3–1
|
1–3
|
|
2–0
|
3–0
|
1–1
|
3–1
|
3–4
|
3–2
|
2–3
|
1–0
|
1–0
|
1–1
|
3–2
|
1–1
|
2–4
|
1–1
|
|
0–1
|
1–0
|
4–1
|
3–2
|
2–4
|
1–1
|
1–0
|
0–4
|
1–1
|
|
1–2
|
0–1
|
4–3
|
1–1
|
3–1
|
3–0
|
0–1
|
0–2
|
2–0
|
0–1
|
1–0
|
1–1
|
0–1
|
3–0
|
3–1
|
|
0–1
|
0–0
|
4–0
|
1–4
|
4–1
|
2–0
|
1–0
|
1–1
|
Portsmouth !Portsmouth
|
3–0
|
1–0
|
1–2
|
2–1
|
1–2
|
2–0
|
2–3
|
1–1
|
1–3
|
0–1
|
4–0
|
3–0
|
0–1
|
1–1
|
2–1
|
2–0
|
|
2–0
|
0–0
|
2–0
|
0–2
|
1–1
|
2–2
|
0–0
|
|
2–3
|
0–0
|
1–1
|
1–0
|
1–3
|
1–1
|
1–1
|
2–1
|
1–3
|
1–5
|
3–3
|
3–0
|
0–1
|
0–0
|
2–2
|
2–0
|
1–2
|
|
1–2
|
0–0
|
0–1
|
0–0
|
1–1
|
1–1
|
|
1–1
|
1–0
|
0–1
|
2–1
|
2–1
|
2–2
|
0–3
|
2–1
|
4–0
|
1–1
|
2–3
|
2–2
|
3–1
|
0–0
|
1–0
|
2–2
|
2–2
|
0–0
|
|
2–0
|
2–1
|
0–3
|
2–0
|
0–0
|
Sunderland !Sunderland
|
1–0
|
2–2
|
2–0
|
1–1
|
0–0
|
1–0
|
1–2
|
1–1
|
2–0
|
4–0
|
2–1
|
2–2
|
2–4
|
3–2
|
1–0
|
2–1
|
4–0
|
2–1
|
1–1
|
|
4–0
|
0–3
|
1–1
|
1–1
|
|
0–0
|
2–1
|
1–1
|
3–1
|
1–0
|
3–0
|
1–1
|
1–0
|
1–0
|
2–3
|
0–0
|
2–1
|
1–2
|
2–2
|
3–0
|
1–0
|
1–1
|
1–0
|
3–0
|
4–1
|
|
1–0
|
1–1
|
0–0
|
|
1–3
|
5–0
|
1–2
|
1–1
|
0–1
|
1–0
|
0–7
|
0–0
|
1–1
|
2–4
|
0–3
|
0–1
|
3–3
|
2–2
|
1–5
|
2–2
|
1–1
|
1–1
|
1–2
|
2–0
|
2–2
|
|
0–1
|
0–0
|
|
4–0
|
1–0
|
2–2
|
1–0
|
2–0
|
1–1
|
1–2
|
0–1
|
2–0
|
3–2
|
1–1
|
2–1
|
1–0
|
3–1
|
1–1
|
3–0
|
1–0
|
0–0
|
3–2
|
0–1
|
2–3
|
5–0
|
|
2–0
|
West Bromwich Albion !West Bromwich Albion
|
1–1
|
0–0
|
2–0
|
0–0
|
1–0
|
1–0
|
2–3
|
5–3
|
2–0
|
1–2
|
2–1
|
1–1
|
1–0
|
3–1
|
3–2
|
2–2
|
3–0
|
4–0
|
6–0
|
0–0
|
3–1
|
0–0
|
0–1
|
|
Source: require('Module:No globals')
local p = {}
-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }
-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }
-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }
-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }
local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }
function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil
local t1 = false -- whether traditional Chinese characters go first
local j1 = false -- whether Cantonese Romanisations go first
local testChar
if (args["first"]) then
for testChar in mw.ustring.gmatch(args["first"], "%a+") do
if (testChar == "t") then
t1 = true
end
if (testChar == "j") then
j1 = true
end
end
end
if (t1 == false) then
local title = mw.title.getCurrentTitle()
t1 = t1st[title.text] == true
end
-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(
1 ^ The home team is listed in the left-hand column.
Colours: Blue = home team win; Yellow = draw; Red = away team win.
Second Division maps
Locations of the Football League Second Division 1988–1989 teams
Locations of the Football League Second Division London teams 1988–1989
-
Pld = Matches ; W = Matches won; D = Matches drawn; L = Matches lost; F = Goals for; A = Goals against; GD = Goal difference; Pts = Points
-
^ Port Vale won the play-offs and were promoted.
Both the semifinals and the finals were decided over two legs.
The full results can be found at: Football League Division Three play-offs 1989.
Third Division results
Home ╲ Away
|
|
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25}}}oc= }}
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
|
|
1–0
|
0–3
|
0–0
|
0–1
|
1–3
|
4–1
|
0–1
|
1–1
|
2–0
|
1–2
|
0–2
|
0–1
|
0–0
|
5–1
|
2–3
|
2–2
|
2–1
|
1–1
|
1–0
|
2–2
|
0–1
|
3–1
|
1–2
|
|
4–0
|
|
2–0
|
0–3
|
2–2
|
1–1
|
2–2
|
1–0
|
1–1
|
1–2
|
0–1
|
4–1
|
2–1
|
1–1
|
3–1
|
0–1
|
3–2
|
1–0
|
2–4
|
1–2
|
3–2
|
0–0
|
2–0
|
0–2
|
Bolton Wanderers !Bolton Wanderers
|
1–0
|
2–2
|
|
4–2
|
2–0
|
1–1
|
2–4
|
4–0
|
0–1
|
5–0
|
3–2
|
2–1
|
3–1
|
0–0
|
2–1
|
3–3
|
1–1
|
1–0
|
1–1
|
2–0
|
0–0
|
1–0
|
1–1
|
1–2
|
|
2–1
|
1–0
|
3–0
|
|
3–0
|
2–1
|
2–2
|
1–1
|
0–1
|
1–0
|
0–1
|
1–0
|
1–0
|
1–0
|
2–0
|
2–1
|
2–1
|
0–2
|
3–2
|
1–4
|
4–0
|
1–1
|
1–1
|
2–2
|
|
1–1
|
1–2
|
1–1
|
0–1
|
|
0–1
|
3–0
|
2–0
|
0–1
|
4–0
|
1–5
|
1–0
|
6–1
|
2–0
|
3–1
|
0–4
|
0–1
|
1–1
|
2–1
|
2–0
|
0–2
|
2–0
|
0–1
|
0–1
|
|
2–2
|
1–0
|
2–0
|
1–2
|
1–1
|
|
1–3
|
0–1
|
4–1
|
2–1
|
0–0
|
2–0
|
5–1
|
0–0
|
1–1
|
2–0
|
2–2
|
1–0
|
1–1
|
1–1
|
1–1
|
1–1
|
3–2
|
0–0
|
|
0–1
|
0–0
|
0–0
|
3–1
|
2–1
|
0–0
|
|
1–0
|
2–1
|
2–1
|
3–1
|
1–0
|
0–6
|
0–1
|
0–1
|
1–1
|
0–0
|
1–1
|
2–1
|
1–2
|
3–1
|
1–0
|
1–1
|
3–1
|
|
3–2
|
0–0
|
1–0
|
1–0
|
1–1
|
2–2
|
3–0
|
|
2–0
|
0–1
|
1–2
|
1–0
|
3–0
|
0–0
|
1–0
|
0–1
|
3–0
|
0–0
|
1–2
|
0–0
|
2–0
|
2–2
|
2–2
|
1–1
|
|
1–1
|
1–1
|
0–0
|
3–2
|
2–0
|
0–2
|
2–0
|
0–0
|
|
3–1
|
7–0
|
2–0
|
3–0
|
0–0
|
2–1
|
1–0
|
1–2
|
0–1
|
3–0
|
0–1
|
2–4
|
3–1
|
1–0
|
1–1
|
|
2–1
|
0–2
|
1–1
|
2–2
|
1–0
|
0–3
|
1–2
|
4–0
|
1–2
|
|
4–1
|
3–1
|
1–1
|
1–3
|
1–1
|
3–0
|
1–2
|
0–3
|
2–4
|
2–1
|
2–1
|
2–0
|
1–1
|
0–3
|
Fulham !Fulham
|
5–1
|
1–1
|
1–1
|
3–3
|
3–1
|
0–2
|
1–0
|
2–0
|
4–1
|
2–1
|
|
1–2
|
1–2
|
1–1
|
3–2
|
2–1
|
1–2
|
2–1
|
2–1
|
2–2
|
1–0
|
1–0
|
1–1
|
2–2
|
|
1–1
|
1–0
|
0–1
|
0–0
|
0–1
|
2–3
|
3–4
|
1–2
|
0–2
|
0–1
|
0–1
|
|
1–2
|
3–0
|
1–0
|
2–1
|
1–0
|
1–3
|
0–1
|
2–1
|
1–1
|
2–3
|
2–1
|
1–3
|
|
2–1
|
1–1
|
0–1
|
1–2
|
0–1
|
2–3
|
3–2
|
1–0
|
3–1
|
1–1
|
2–0
|
1–1
|
|
2–0
|
1–2
|
3–1
|
0–0
|
2–0
|
2–2
|
3–2
|
3–2
|
1–1
|
1–1
|
0–0
|
|
1–1
|
0–1
|
1–1
|
1–0
|
2–2
|
2–1
|
1–1
|
2–2
|
2–0
|
3–1
|
3–1
|
2–1
|
1–0
|
|
1–1
|
1–1
|
0–1
|
0–3
|
2–1
|
0–1
|
4–0
|
0–0
|
0–1
|
3–1
|
|
6–0
|
4–2
|
2–3
|
1–0
|
1–3
|
1–2
|
2–0
|
3–0
|
0–2
|
3–0
|
2–1
|
1–2
|
1–3
|
2–1
|
|
1–3
|
1–3
|
1–0
|
1–3
|
1–2
|
2–2
|
1–0
|
1–1
|
3–1
|
|
4–1
|
1–1
|
2–0
|
3–0
|
0–0
|
1–0
|
3–0
|
2–0
|
2–2
|
4–0
|
0–1
|
1–2
|
3–0
|
2–1
|
0–1
|
|
1–4
|
0–0
|
3–3
|
1–4
|
1–1
|
1–0
|
1–0
|
1–1
|
|
3–0
|
1–0
|
2–1
|
3–2
|
0–1
|
1–0
|
1–3
|
6–1
|
1–2
|
5–0
|
3–0
|
2–1
|
2–0
|
1–2
|
1–2
|
1–0
|
|
1–1
|
3–0
|
3–3
|
2–0
|
2–1
|
2–1
|
0–0
|
|
2–2
|
1–0
|
3–1
|
5–3
|
2–0
|
1–1
|
1–0
|
3–3
|
3–3
|
6–0
|
1–4
|
5–0
|
1–0
|
2–0
|
3–2
|
3–0
|
1–3
|
|
2–1
|
2–0
|
3–2
|
1–1
|
2–2
|
3–3
|
|
3–1
|
2–1
|
1–1
|
2–2
|
1–2
|
3–1
|
1–1
|
3–1
|
3–1
|
0–0
|
0–1
|
1–2
|
2–1
|
1–0
|
1–1
|
1–3
|
3–0
|
2–2
|
|
1–3
|
4–0
|
2–0
|
0–3
|
0–2
|
|
1–0
|
4–1
|
4–0
|
2–2
|
3–0
|
4–1
|
2–1
|
0–1
|
6–1
|
1–3
|
1–0
|
4–2
|
5–1
|
1–2
|
4–0
|
1–1
|
0–0
|
3–1
|
1–0
|
|
1–2
|
5–1
|
2–1
|
2–0
|
|
1–1
|
2–1
|
2–0
|
1–1
|
1–2
|
2–2
|
1–1
|
0–0
|
1–0
|
3–1
|
0–0
|
2–1
|
2–4
|
1–1
|
2–1
|
1–1
|
1–1
|
2–1
|
2–1
|
2–1
|
|
0–2
|
1–2
|
3–1
|
|
1–0
|
1–2
|
1–0
|
1–1
|
1–1
|
1–2
|
1–1
|
1–1
|
1–1
|
2–0
|
2–0
|
3–2
|
1–0
|
3–1
|
1–0
|
2–0
|
0–0
|
1–1
|
2–0
|
2–2
|
2–0
|
|
1–2
|
2–5
|
Wigan Athletic !Wigan Athletic
|
2–1
|
2–1
|
1–1
|
1–1
|
0–1
|
3–0
|
1–0
|
1–0
|
3–0
|
0–2
|
0–1
|
3–0
|
0–2
|
0–0
|
1–3
|
0–1
|
0–2
|
1–1
|
3–0
|
1–2
|
3–0
|
1–2
|
|
1–1
|
Wolverhampton Wanderers !Wolverhampton Wanderers
|
1–0
|
2–1
|
1–0
|
2–0
|
2–0
|
0–1
|
4–0
|
2–0
|
3–1
|
1–0
|
5–2
|
6–1
|
4–1
|
6–2
|
3–2
|
0–0
|
3–3
|
6–0
|
2–1
|
2–2
|
3–0
|
1–1
|
2–1
|
|
Source: require('Module:No globals')
local p = {}
-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }
-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }
-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }
-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }
local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }
function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil
local t1 = false -- whether traditional Chinese characters go first
local j1 = false -- whether Cantonese Romanisations go first
local testChar
if (args["first"]) then
for testChar in mw.ustring.gmatch(args["first"], "%a+") do
if (testChar == "t") then
t1 = true
end
if (testChar == "j") then
j1 = true
end
end
end
if (t1 == false) then
local title = mw.title.getCurrentTitle()
t1 = t1st[title.text] == true
end
-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(
1 ^ The home team is listed in the left-hand column.
Colours: Blue = home team win; Yellow = draw; Red = away team win.
Third Division maps
Locations of the Football League Third Division teams 1988–1989
Locations of the Football League Third Division London teams 1988–1989
Both the semifinals and the finals were decided over two legs.
The full results can be found at: Football League Division Four play-offs 1989.
Fourth Division results
Home ╲ Away
|
|
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
width=25
|
|
|
2–0
|
0–0
|
2–0
|
1–0
|
0–1
|
3–0
|
3–0
|
1–0
|
2–1
|
0–0
|
3–3
|
2–2
|
1–4
|
1–1
|
2–1
|
1–0
|
0–1
|
0–1
|
1–0
|
1–0
|
2–2
|
1–3
|
6–0
|
|
2–1
|
|
3–2
|
3–1
|
1–1
|
1–3
|
0–0
|
2–0
|
4–1
|
2–1
|
6–0
|
2–1
|
2–2
|
2–3
|
2–1
|
2–0
|
1–1
|
2–2
|
0–3
|
1–0
|
3–0
|
1–1
|
2–0
|
1–1
|
|
0–0
|
1–1
|
|
1–2
|
0–1
|
1–2
|
0–1
|
1–0
|
2–1
|
3–1
|
2–1
|
3–0
|
2–1
|
2–1
|
2–2
|
1–0
|
0–2
|
0–1
|
0–3
|
1–1
|
2–1
|
1–1
|
1–2
|
0–0
|
|
2–2
|
1–2
|
1–1
|
|
2–1
|
1–2
|
0–1
|
4–0
|
0–0
|
3–2
|
1–2
|
1–1
|
1–0
|
1–3
|
1–2
|
3–0
|
1–1
|
3–1
|
1–2
|
1–1
|
2–2
|
2–3
|
2–1
|
1–0
|
|
4–0
|
2–0
|
1–0
|
3–1
|
|
2–0
|
0–2
|
2–1
|
2–2
|
2–2
|
3–0
|
2–1
|
2–1
|
2–0
|
1–1
|
3–1
|
1–3
|
1–1
|
3–2
|
1–1
|
0–0
|
2–1
|
2–2
|
1–2
|
|
1–1
|
1–1
|
2–3
|
1–2
|
1–1
|
|
1–3
|
2–2
|
1–1
|
0–2
|
0–0
|
0–0
|
1–3
|
2–1
|
2–2
|
1–2
|
1–1
|
2–1
|
3–3
|
1–4
|
0–0
|
1–2
|
2–1
|
2–2
|
|
1–0
|
1–1
|
1–3
|
3–1
|
0–1
|
1–0
|
|
2–1
|
2–3
|
1–4
|
1–0
|
3–2
|
1–0
|
0–1
|
2–3
|
1–1
|
1–0
|
3–1
|
2–2
|
2–2
|
1–2
|
0–0
|
2–2
|
1–2
|
|
3–0
|
0–3
|
3–0
|
4–2
|
1–2
|
2–1
|
3–0
|
|
2–1
|
4–1
|
2–1
|
3–1
|
1–1
|
0–1
|
3–1
|
5–1
|
0–0
|
1–0
|
2–2
|
2–2
|
3–0
|
0–1
|
0–2
|
2–0
|
|
1–0
|
4–0
|
0–0
|
2–2
|
0–0
|
0–0
|
5–0
|
2–1
|
|
3–2
|
3–0
|
1–1
|
2–2
|
1–0
|
0–0
|
1–3
|
0–4
|
2–1
|
1–1
|
2–0
|
1–0
|
0–0
|
0–1
|
2–0
|
|
1–2
|
0–0
|
3–3
|
3–2
|
0–1
|
1–0
|
2–0
|
0–3
|
2–1
|
|
1–0
|
2–2
|
2–2
|
0–1
|
5–0
|
4–1
|
1–1
|
0–2
|
5–1
|
2–2
|
2–0
|
2–3
|
4–0
|
0–0
|
|
2–2
|
3–2
|
0–2
|
2–1
|
0–3
|
2–1
|
2–1
|
2–2
|
2–1
|
2–0
|
|
1–1
|
1–0
|
3–2
|
2–1
|
0–1
|
1–1
|
3–1
|
0–2
|
2–2
|
0–1
|
2–2
|
1–3
|
0–1
|
|
0–0
|
4–2
|
2–1
|
1–1
|
0–1
|
1–1
|
3–1
|
1–0
|
2–1
|
3–1
|
2–0
|
|
1–1
|
3–2
|
4–0
|
4–4
|
1–1
|
1–3
|
1–2
|
2–1
|
1–1
|
2–1
|
0–0
|
1–2
|
|
3–0
|
1–1
|
2–0
|
8–0
|
0–0
|
1–0
|
4–0
|
4–0
|
5–0
|
2–0
|
4–3
|
1–3
|
|
3–1
|
1–2
|
3–0
|
3–1
|
2–3
|
4–1
|
1–2
|
3–1
|
2–0
|
0–1
|
4–0
|
|
2–3
|
3–0
|
0–2
|
1–1
|
2–2
|
3–2
|
3–1
|
2–0
|
2–2
|
2–1
|
0–1
|
2–0
|
0–1
|
|
1–1
|
4–1
|
0–1
|
2–2
|
1–0
|
0–0
|
1–0
|
2–1
|
4–3
|
2–1
|
|
3–0
|
1–5
|
1–4
|
3–0
|
3–2
|
1–1
|
2–0
|
0–1
|
1–2
|
2–1
|
0–1
|
2–1
|
0–1
|
1–1
|
|
1–0
|
0–3
|
1–4
|
1–2
|
1–0
|
3–1
|
1–1
|
1–0
|
0–1
|
|
2–1
|
2–1
|
0–0
|
1–1
|
2–1
|
2–2
|
2–0
|
2–1
|
0–2
|
1–1
|
0–0
|
2–2
|
0–3
|
2–2
|
0–0
|
|
0–2
|
2–1
|
1–0
|
1–1
|
2–1
|
3–1
|
3–3
|
2–0
|
|
3–1
|
0–0
|
2–1
|
2–0
|
1–2
|
1–2
|
3–0
|
0–1
|
1–0
|
2–0
|
4–0
|
6–0
|
4–1
|
2–0
|
1–1
|
3–1
|
|
1–1
|
3–3
|
2–1
|
1–0
|
0–0
|
2–2
|
0–1
|
|
1–0
|
2–1
|
0–1
|
0–0
|
2–1
|
3–2
|
2–0
|
2–1
|
2–3
|
3–1
|
2–0
|
0–2
|
0–0
|
1–1
|
2–1
|
3–3
|
1–0
|
|
1–0
|
1–1
|
5–2
|
0–0
|
0–3
|
0–0
|
|
2–1
|
1–0
|
1–1
|
2–3
|
2–2
|
5–1
|
2–1
|
2–0
|
1–1
|
0–0
|
1–1
|
3–1
|
2–2
|
0–0
|
3–0
|
4–0
|
0–0
|
0–3
|
|
1–1
|
1–0
|
0–1
|
3–1
|
4–2
|
|
0–0
|
0–0
|
1–1
|
1–0
|
0–1
|
0–0
|
2–0
|
4–0
|
3–1
|
1–1
|
3–0
|
1–2
|
0–0
|
1–0
|
1–2
|
3–0
|
1–3
|
2–2
|
1–2
|
|
0–0
|
1–1
|
2–2
|
3–2
|
|
2–0
|
3–1
|
1–0
|
1–3
|
2–1
|
1–0
|
3–2
|
0–4
|
2–2
|
0–2
|
2–0
|
1–0
|
3–0
|
1–0
|
1–0
|
1–0
|
1–2
|
0–1
|
0–2
|
2–1
|
|
3–2
|
0–0
|
2–0
|
|
2–1
|
1–2
|
0–0
|
0–0
|
1–1
|
2–0
|
2–2
|
2–0
|
3–2
|
2–0
|
2–1
|
1–0
|
3–0
|
1–0
|
1–0
|
2–0
|
0–0
|
1–1
|
2–1
|
1–0
|
3–0
|
|
2–1
|
0–1
|
|
4–2
|
3–1
|
2–1
|
2–2
|
0–0
|
3–3
|
1–1
|
3–0
|
1–2
|
3–0
|
4–3
|
1–1
|
0–1
|
3–0
|
1–1
|
2–1
|
1–4
|
0–1
|
2–0
|
2–0
|
1–0
|
3–3
|
|
2–1
|
|
0–0
|
1–2
|
1–1
|
2–0
|
3–0
|
4–1
|
1–1
|
3–1
|
0–3
|
5–3
|
2–3
|
4–1
|
1–1
|
2–1
|
5–1
|
3–3
|
1–1
|
0–0
|
1–2
|
2–0
|
1–1
|
0–1
|
1–0
|
|
Source: require('Module:No globals')
local p = {}
-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }
-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }
-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }
-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }
local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }
function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil
local t1 = false -- whether traditional Chinese characters go first
local j1 = false -- whether Cantonese Romanisations go first
local testChar
if (args["first"]) then
for testChar in mw.ustring.gmatch(args["first"], "%a+") do
if (testChar == "t") then
t1 = true
end
if (testChar == "j") then
j1 = true
end
end
end
if (t1 == false) then
local title = mw.title.getCurrentTitle()
t1 = t1st[title.text] == true
end
-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(
1 ^ The home team is listed in the left-hand column.
Colours: Blue = home team win; Yellow = draw; Red = away team win.
Fourth Division maps
Locations of the Football League Fourth Division teams 1988–1989
See also
References
-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --
local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno
local p = {}
-- Helper functions
local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end
local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end
function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end
function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end
function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end
function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end
-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.
function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end
function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end
-- Hatnote -- -- Produces standard hatnote text. Implements the template.
function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end
function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )
end
return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --
local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno
local p = {}
-- Helper functions
local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end
local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end
function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end
function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end
function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end
function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end
-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.
function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end
function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end
-- Hatnote -- -- Produces standard hatnote text. Implements the template.
function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end
function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )
end
return p
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.