World Library  
Flag as Inappropriate
Email this Article

1930–31 Football League

Article Id: WHEBN0009490076
Reproduction Date:

Title: 1930–31 Football League  
Author: World Heritage Encyclopedia
Language: English
Subject: 1931–32 Football League, The Football League seasons, The Football League, 1930–31 in European association football leagues, 1931 in sports
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

1930–31 Football League

The Football League
Season 1930–31
Champions Arsenal
1929–30
1931–32

The 19301931 season was the 39th season of The Football League.

Contents

  • Final league tables 1
  • First Division 2
    • First Division results 2.1
    • First Division maps 2.2
  • Second Division 3
    • Second Division results 3.1
    • Second Division maps 3.2
  • Third Division North 4
    • Third Division North results 4.1
    • Third Division North maps 4.2
  • Third Division South 5
    • Third Division South results 5.1
    • Third Division South maps 5.2
  • Records 6
  • See also 7
  • References 8

Final league tables

The tables and results below are reproduced here in the exact form that they can be found at The Rec.Sport.Soccer Statistics Foundation website[1] and in Rothmans Book of Football League Records 1888–89 to 1978–79,[2] with home and away statistics separated.

Beginning with the season 1894–95, clubs finishing level on points were separated according to goal average (goals scored divided by goals conceded), or more properly put, goal ratio. In case one or more teams had the same goal difference, this system favoured those teams who had scored fewer goals. The goal average system was eventually scrapped beginning with the 1976–77 season.

Since the goal average was used for this purpose for such a long time, it is presented in the tables below even for the seasons prior to 1894–95, and since the goal difference is a more informative piece of information for a modern reader than the goal average, the goal difference is added in this presentation after the goal average.

From the 1922–23 season on Re-election was required of the bottom two teams of both Third Division North and Third Division South.[3]

First Division

Football League, First Division
Season 1930–31
Champions Arsenal (1st English title)
Relegated Leeds United
Manchester United
FA Cup winners West Bromwich Albion (2nd Division) (3rd FA Cup title)
Matches played 462
Goals scored 1823 (3.95 per match)
Top goalscorer Tom Waring (Aston Villa), 49 [4]
Biggest home win Huddersfield TownBlackpool 10–1 (13 Dec 1930)
Biggest away win Manchester UnitedHuddersfield Town 0–6 (10 Sept 1930)
Highest scoring SunderlandLiverpool 6–5 (6 Dec 1930)
Manchester UnitedNewcastle 4–7 (13 Sept 1930)
NewcastlePortsmouth 4–7 (15 Nov 1930)
1929–30
1931–32
Pos Team Pld W D L F A W D L F A F A GA GD Pts Notes
1 Arsenal 42 14 5 2 67 27 14 5 2 60 32 127 59 2.153 +68 66 [5][6]
2 Aston Villa 42 17 3 1 86 34 8 6 7 42 44 128 78 1.641 +50 59 [5]
3 Sheffield Wednesday 42 14 3 4 65 32 8 5 8 37 43 102 75 1.360 +27 52 [5]
4 Portsmouth 42 11 7 3 46 26 7 6 8 38 41 84 67 1.254 +17 49
5 Huddersfield Town 42 10 8 3 45 27 8 4 9 36 38 81 65 1.246 +16 48
6 Derby County 42 12 6 3 56 31 6 4 11 38 48 94 79 1.190 +15 46
7 Middlesbrough 42 13 5 3 57 28 6 3 12 41 62 98 90 1.089 +8 46
8 Manchester City 42 13 2 6 41 29 5 8 8 34 41 75 70 1.071 +5 46
9 Liverpool 42 11 6 4 48 28 4 6 11 38 57 86 85 1.012 +1 42
10 Blackburn Rovers 42 14 3 4 54 28 3 5 13 29 56 83 84 0.988 –1 42
11 Sunderland 42 12 4 5 61 38 4 5 12 28 47 89 85 1.047 +4 41
12 Chelsea 42 13 4 4 42 19 2 6 13 22 48 64 67 0.955 –3 40
13 Grimsby Town 42 13 2 6 55 31 4 3 14 27 56 82 87 0.943 –5 39
14 Bolton Wanderers 42 12 6 3 45 26 3 3 15 23 55 68 81 0.840 –13 39
15 Sheffield United 42 10 7 4 49 31 4 3 14 29 53 78 84 0.929 –6 38
16 Leicester City 42 12 4 5 50 38 4 2 15 30 57 80 95 0.842 –15 38
17 Newcastle United 42 9 2 10 41 45 6 4 11 37 42 78 87 0.897 –9 36
18 West Ham United 42 11 3 7 56 44 3 5 13 23 50 79 94 0.840 –15 36
19 Birmingham 42 11 3 7 37 28 2 7 12 18 42 55 70 0.786 –15 36
20 Blackpool 42 8 7 6 41 44 3 3 15 30 81 71 125 0.568 –54 32
21 Leeds United 42 10 3 8 49 31 2 4 15 19 50 68 81 0.840 –13 31
22 Manchester United 42 6 6 9 30 37 1 2 18 23 78 53 115 0.461 –62 22

Pld = Matches played; W = Matches won; D = Matches drawn; L = Matches lost; F = Goals for; A = Goals against;
GA = Goal average; GD = Goal difference; Pts = Points

Key
League Champions
Relegated

First Division results

Home ╲ Away width=27 width=27 width=27 width=27 width=27 width=27DER width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27
Arsenal 5–2 1–1 3–2 7–1 5–0 2–1 6–3 9–1 0–0 3–1 4–1 3–1 3–1 4–1 5–3 1–2 1–1 1–1 2–0 1–3 1–1
Aston Villa 5–1 1–1 5–2 4–1 3–1 3–3 4–6 2–0 6–1 4–3 4–2 4–2 4–2 7–0 8–1 4–3 2–2 4–0 2–0 4–2 6–1
2–4 0–4 4–1 1–1 0–2 6–2 1–2 4–1 2–0 0–1 2–1 2–0 3–2 0–0 1–2 1–1 2–1 3–1 2–0 1–0 0–2
Blackburn Rovers 2–2 0–2 2–1 5–0 2–2 2–0 1–0 5–2 5–3 3–1 3–0 3–3 0–1 4–1 4–5 1–0 1–2 2–1 5–2 3–0 1–0
1–4 2–2 0–1 1–1 3–3 2–1 1–0 3–1 1–1 3–7 5–4 1–3 2–2 5–1 3–2 0–0 2–2 2–1 0–4 3–1 1–3
Bolton Wanderers 1–4 1–1 2–0 1–1 1–0 1–1 1–2 4–2 1–0 2–0 4–1 2–0 1–1 3–1 3–0 0–3 3–1 6–2 2–2 2–2 4–2
Chelsea 1–5 0–2 1–0 3–2 3–0 0–1 1–1 5–0 1–2 1–0 1–0 2–2 2–0 6–2 4–0 1–1 2–0 1–0 0–0 5–0 2–1
Derby County 4–2 1–1 0–0 1–1 3–2 4–1 6–2 1–0 4–1 4–1 1–0 2–2 1–1 6–1 1–2 1–5 5–1 4–3 2–3 4–1 1–1
0–1 1–2 4–1 2–0 6–2 4–1 0–1 5–3 2–1 2–0 8–2 0–0 3–5 2–1 4–1 2–2 0–3 2–1 2–3 2–1 4–0
1–1 1–6 1–0 1–1 10–1 3–2 1–1 3–0 2–2 3–0 4–1 2–1 1–1 3–0 2–2 0–3 1–3 1–1 1–1 2–0 2–0
1–2 0–2 3–1 4–2 2–2 3–1 2–3 3–1 0–0 1–2 1–3 1–2 4–2 5–0 7–0 1–0 2–2 4–0 2–3 0–3 3–0
2–7 4–1 2–1 3–1 6–0 2–1 2–1 1–1 0–1 1–2 4–0 3–2 3–2 5–4 0–3 3–1 3–1 2–2 2–5 1–1 1–1
Liverpool 1–1 1–1 0–0 2–1 5–2 7–2 3–1 0–0 1–1 1–4 2–0 3–1 0–2 1–1 3–1 4–2 3–1 6–1 1–2 2–4 2–0
Manchester City 1–4 3–1 4–2 3–0 2–4 3–0 2–0 4–3 1–0 0–1 1–0 0–2 1–1 4–1 4–2 2–0 1–3 0–4 2–0 2–0 1–1
Manchester United 1–2 3–4 2–0 0–1 0–0 1–1 1–0 2–1 0–2 0–6 0–0 0–0 4–1 1–3 4–4 4–7 0–1 1–2 4–1 1–1 1–0
Middlesbroughclude> 2–5 3–1 1–1 4–1 5–1 3–0 2–2 4–1 2–1 2–3 5–0 2–2 3–3 4–1 3–1 3–1 0–1 4–1 2–0 1–0 2–2
1–3 2–0 2–2 2–3 0–2 4–0 1–0 2–5 1–2 1–1 4–1 5–2 0–4 0–1 4–3 0–5 4–7 1–0 1–2 2–0 4–2
Portsmouth 1–1 5–0 2–2 3–0 4–3 1–0 1–1 2–0 4–3 2–2 1–1 2–1 4–0 1–1 4–1 1–0 1–2 2–3 2–4 1–1 2–0
1–1 3–4 3–1 1–1 5–1 2–0 4–0 3–3 2–1 0–2 1–1 0–2 4–1 2–2 3–1 4–2 3–1 3–1 1–1 3–3 1–2
1–2 3–0 9–1 1–3 7–1 1–0 1–1 3–2 4–1 2–1 2–1 4–0 3–5 1–1 3–0 3–2 2–1 2–2 1–3 7–2 5–3
Sunderland 1–4 1–1 1–0 8–2 2–4 3–1 2–0 1–3 3–2 4–2 4–0 2–5 6–5 3–3 1–2 1–1 5–0 0–0 2–1 5–1 6–1
West Ham United 2–4 5–5 1–2 4–3 3–2 1–4 4–1 0–1 3–4 2–1 1–1 2–0 7–0 2–0 5–1 0–3 3–2 4–3 4–1 3–3 0–3
Source: [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 London teams 1930–1931

Second Division

Football League, Second Division
Season 1930–31
Champions Everton (1st title)
Relegated Cardiff City
Reading
Matches played 462
Goals scored 1608 (3.48 per match)
Top goalscorer Dixie Dean (Everton), 39 [4]
Biggest home win EvertonPlymouth Argyle 9–1 (27 Dec 1930)
Biggest away win CharltonEverton 0–7 (7 Feb 1931)
Highest scoring MillwallPreston North End 5–7 (4 Oct 1930)
1929–30
1931–32
Pos Team Pld W D L F A W D L F A F A GA GD Pts Notes
1 Everton 42 18 1 2 76 31 10 4 7 45 35 121 66 1.833 +55 61 [5]
2 West Bromwich Albion 42 14 3 4 40 16 8 7 6 43 33 83 49 1.694 +34 54
3 Tottenham Hotspur 42 15 5 1 64 20 7 2 12 24 35 88 55 1.600 +33 51
4 Wolverhampton Wanderers 42 15 2 4 56 25 6 3 12 28 42 84 67 1.254 +17 47
5 Port Vale 42 15 3 3 39 16 6 2 13 28 45 67 61 1.098 +6 47
6 Bradford Park Avenue 42 15 4 2 71 24 3 6 12 26 42 97 66 1.470 +31 46
7 Preston North End 42 12 5 4 55 31 5 6 10 28 33 83 64 1.297 +19 45
8 Burnley 42 13 5 3 55 30 4 6 11 26 47 81 77 1.052 +4 45
9 Southampton 42 13 4 4 46 22 6 2 13 28 40 74 62 1.194 +12 44
10 Bradford City 42 12 5 4 39 26 5 5 11 22 37 61 63 0.968 –2 44
11 Stoke City 42 11 6 4 34 17 6 4 11 30 54 64 71 0.901 –7 44
12 Oldham Athletic 42 13 5 3 45 28 3 5 13 16 44 61 72 0.847 –11 42
13 Bury 42 14 3 4 44 20 5 0 16 31 62 75 82 0.915 –7 41
14 Millwall 42 12 4 5 47 25 4 3 14 24 55 71 80 0.888 –9 39
15 Charlton Athletic 42 11 4 6 35 33 4 5 12 24 53 59 86 0.686 –27 39
16 Bristol City 42 11 5 5 29 23 4 3 14 25 59 54 82 0.659 –28 38
17 Nottingham Forest 42 12 6 3 54 35 2 3 16 26 50 80 85 0.941 –5 37
18 Plymouth Argyle 42 10 3 8 47 33 4 5 12 29 51 76 84 0.905 –8 36
19 Barnsley 42 13 3 5 42 23 0 6 15 17 56 59 79 0.747 –20 35
20 Swansea Town 42 11 5 5 40 29 1 5 15 11 45 51 74 0.689 –23 34
21 Reading 42 11 2 8 47 33 1 4 16 25 63 72 96 0.750 –24 30
22 Cardiff City 42 7 6 8 32 31 1 3 17 15 56 47 87 0.540 –40 25

Pld = Matches played; W = Matches won; D = Matches drawn; L = Matches lost; F = Goals for; A = Goals against;
GA = Goal average; GD = Goal difference; Pts = Points

Key
Division Champions, promoted
FA Cup Winners, also promoted
Relegated

Second Division results

Home ╲ Away width=27 width=27 width=27 width=27 width=27 width=27 width=27EVE width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27
2–1 1–0 1–0 0–1 2–1 4–0 5–0 1–1 2–3 3–1 1–2 0–4 5–2 1–1 3–2 3–1 4–2 1–0 0–1 0–0 3–0
1–0 0–4 1–1 2–3 3–1 2–1 3–2 0–3 0–0 1–0 0–0 1–0 2–1 0–0 6–1 4–3 2–2 3–0 2–0 2–3 4–1
1–0 1–2 5–2 4–1 5–1 3–0 3–2 4–1 6–0 4–1 4–0 7–1 5–1 2–2 1–3 1–1 2–2 5–1 4–1 3–1 1–1
2–1 0–1 2–0 1–1 4–2 1–0 3–0 0–1 1–2 1–4 1–0 2–1 1–1 1–1 1–0 2–1 1–1 2–1 2–1 1–1 0–3
Burnley 2–2 1–1 3–2 4–2 0–2 1–0 1–1 5–2 2–1 5–2 6–1 2–2 1–2 1–0 8–1 3–2 1–2 2–2 1–0 2–1 4–2
3–1 3–1 3–1 6–0 2–1 3–0 0–1 2–2 5–0 1–0 1–3 2–0 0–3 3–0 2–2 1–0 0–3 2–0 2–0 2–2 1–0
2–0 1–1 0–3 0–1 4–0 1–3 0–2 1–2 4–4 1–1 0–0 4–1 2–1 0–0 5–0 0–1 3–2 1–0 0–0 3–6 0–3
Charlton Athletic 1–1 2–1 3–1 0–0 2–1 3–2 4–1 0–7 2–0 1–1 1–1 1–3 3–1 1–3 2–1 3–1 1–2 3–0 1–0 0–4 1–2
Everton 5–2 4–2 4–2 1–3 3–2 3–2 1–1 7–1 2–0 2–0 6–4 9–1 2–3 2–1 3–2 2–1 5–0 5–1 4–2 2–1 4–0
4–1 1–1 1–1 2–0 2–1 1–0 0–0 6–0 1–3 5–1 1–0 4–1 0–1 5–7 4–0 1–0 1–3 3–1 2–3 2–0 1–1
3–3 4–1 1–0 6–1 3–3 3–0 3–1 4–3 2–2 2–1 4–1 1–1 1–0 1–4 1–1 3–1 3–0 3–0 2–2 1–6 3–4
0–0 3–0 2–0 1–3 3–1 3–2 4–2 0–3 3–3 3–1 3–1 2–1 3–3 2–0 1–1 2–1 3–1 2–1 1–2 2–2 2–0
4–0 0–2 0–0 5–3 1–2 3–6 5–1 1–3 2–3 5–0 1–0 1–1 2–1 1–2 3–1 2–3 1–2 0–0 2–0 5–1 3–2
5–2 1–0 8–2 1–0 0–0 0–1 2–0 1–1 1–3 3–2 3–2 2–0 2–1 1–0 2–1 1–0 0–0 2–0 3–0 1–0 0–1
Preston North End 1–1 4–2 1–1 2–2 2–0 3–0 7–0 4–1 2–1 1–3 2–4 1–0 2–1 1–3 3–3 5–0 5–1 0–0 2–1 2–3 5–4
6–1 0–0 3–0 4–1 3–1 3–4 3–0 2–0 0–2 2–1 5–2 1–3 1–2 0–3 1–4 1–1 7–3 1–0 1–2 0–3 3–0
4–0 4–1 2–3 5–1 1–1 5–0 0–1 3–0 2–1 3–1 0–0 1–0 3–3 2–0 2–1 3–2 2–1 1–2 0–3 1–1 2–0
0–0 1–1 1–1 3–1 1–1 3–1 1–0 0–0 2–0 2–3 1–0 4–0 0–0 1–0 3–1 2–1 1–3 5–0 2–1 0–1 1–2
1–0 1–2 2–1 5–2 1–1 5–2 3–2 1–1 2–5 4–1 3–2 0–0 2–0 2–1 2–1 2–1 0–1 1–2 1–2 1–1 1–1
Tottenham Hotspur 4–2 3–1 3–2 4–1 8–1 3–1 2–2 5–0 1–0 4–1 2–1 4–0 1–1 5–0 0–0 7–1 1–3 3–0 1–1 2–2 1–0
West Bromwich Albion 5–0 1–0 1–1 3–0 2–0 2–0 3–2 3–2 1–2 0–0 2–1 2–0 1–2 4–1 2–0 1–0 1–2 4–0 0–0 0–2 2–1
2–0 0–1 1–1 0–1 2–4 7–0 4–1 1–1 3–1 2–0 4–2 3–0 4–3 3–0 2–0 3–1 3–2 5–1 3–1 3–1 1–4
Source: Ian Laschke: Rothmans Book of Football League Records 1888–89 to 1978–79. Macdonald and Jane’s, London & Sydney, 1980.
^ 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 London teams 1930–1931

Third Division North

Football League, Third Division North
Season 1930–31
Champions Chesterfield (1st title)
Failed re-election Nelson
Matches played 462
Goals scored 1714 (3.71 per match)
Top goalscorer Jimmy McConnell (Carlisle United), 37 [4]
1929–30
1931–32
Pos Team Pld W D L F A W D L F A F A GA GD Pts Notes
1 Chesterfield 42 19 1 1 66 22 7 5 9 36 35 102 57 1.789 +45 58 [5]
2 Lincoln City 42 16 3 2 60 19 9 4 8 42 40 102 59 1.729 +43 57 [5]
3 Wrexham 42 16 4 1 61 25 5 8 8 33 37 94 62 1.516 +32 54
4 Tranmere Rovers 42 16 3 2 73 26 8 3 10 38 48 111 74 1.500 +37 54 [5]
5 Southport 42 15 3 3 52 19 7 6 8 36 37 88 56 1.571 +32 53
6 Hull City 42 12 7 2 64 20 8 3 10 35 35 99 55 1.800 +44 50
7 Stockport County 42 15 5 1 54 19 5 4 12 23 42 77 61 1.262 +16 49
8 Carlisle United 42 13 4 4 68 32 7 1 13 30 49 98 81 1.210 +17 45
9 Gateshead 42 14 4 3 46 22 2 9 10 25 51 71 73 0.973 –2 45
10 Wigan Borough 42 14 4 3 48 25 5 1 15 28 61 76 86 0.884 –10 43
11 Darlington 42 9 6 6 44 30 7 4 10 27 29 71 59 1.203 +12 42
12 York City 42 15 3 3 59 30 3 3 15 26 52 85 82 1.037 +3 42
13 Accrington Stanley 42 14 2 5 51 31 1 7 13 33 77 84 108 0.778 –24 39
14 Rotherham United 42 9 6 6 50 34 4 6 11 31 49 81 83 0.976 –2 38
15 Doncaster Rovers 42 9 8 4 40 18 4 3 14 25 47 65 65 1.000 ±0 37
16 Barrow 42 13 4 4 45 23 2 3 16 23 66 68 89 0.764 –21 37
17 Halifax Town 42 11 6 4 30 16 2 3 16 25 73 55 89 0.618 –34 35
18 Crewe Alexandra 42 13 2 6 52 35 1 4 16 14 58 66 93 0.710 –27 34
19 New Brighton 42 12 4 5 36 25 1 3 17 13 51 49 76 0.645 –27 33
20 Hartlepools United 42 10 2 9 47 37 2 4 15 20 49 67 86 0.779 –19 30
21 Rochdale 42 9 1 11 42 50 3 5 13 20 57 62 107 0.579 –45 30
22 Nelson1 42 6 7 8 28 40 0 0 21 15 73 43 113 0.381 –70 19
  • 1Nelson lost their bid for re-election, and were replaced by Chester in the following season.

Pld = Matches played; W = Matches won; D = Matches drawn; L = Matches lost; F = Goals for; A = Goals against;
GA = Goal average; GD = Goal difference; Pts = Points

Key
Division Champions, promoted
Welsh Cup winners
New club in the league (none)
Re-elected
Failed re-election

Third Division North results

Home ╲ Away width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27
3–1 3–0 1–3 3–1 2–1 2–0 2–1 1–1 0–2 1–3 5–3 3–1 3–0 2–3 3–2 2–0 2–2 5–2 3–0 1–3 4–2
0–0 7–2 0–3 2–0 3–2 3–1 0–0 3–1 4–0 3–0 3–2 2–1 4–1 0–0 1–0 1–1 1–0 1–3 4–1 2–3 1–2
7–3 0–1 0–0 4–1 2–1 1–1 2–2 6–2 3–0 1–5 3–6 8–1 2–0 7–1 1–2 4–3 5–1 3–0 6–1 1–1 2–0
7–3 3–1 2–1 2–0 2–1 2–1 8–1 7–0 3–0 0–4 3–2 2–1 1–0 4–1 2–1 2–1 1–1 5–1 3–1 4–0 3–1
2–1 6–2 3–5 2–1 2–2 2–1 6–2 0–1 2–1 3–4 2–0 4–2 1–3 3–1 2–3 0–0 1–0 1–2 3–2 2–1 5–1
1–1 3–2 3–0 5–1 1–2 0–0 2–2 4–1 4–2 2–4 0–1 2–1 3–1 1–1 2–2 2–3 1–2 2–0 2–3 1–1 3–0
6–1 0–0 2–0 1–0 2–0 1–2 1–1 3–3 1–1 0–2 0–1 2–0 0–0 4–0 3–3 0–0 2–0 6–0 5–1 1–1 0–2
4–0 4–1 1–0 3–3 2–2 1–1 2–1 3–1 0–0 1–0 0–1 2–0 4–0 0–2 2–0 2–3 2–1 3–0 4–2 4–3 2–1
1–1 4–0 1–5 1–1 4–0 1–0 0–2 3–0 3–1 1–1 3–2 1–0 1–0 1–0 0–1 0–0 3–0 2–1 0–1 0–0 0–0
3–3 3–2 3–5 1–3 2–0 1–1 0–2 2–3 2–1 1–3 0–3 4–0 4–1 4–0 4–2 0–2 1–2 1–2 6–1 2–1 3–0
1–1 1–1 1–1 3–1 5–1 1–1 8–2 4–0 10–0 5–0 1–3 4–0 3–0 3–1 2–2 5–1 1–1 1–0 0–0 2–3 3–1
5–2 5–0 5–1 1–1 3–1 1–0 1–0 0–0 4–1 1–0 3–0 2–0 4–0 5–0 1–3 3–3 6–1 1–3 2–0 3–2 4–1
4–2 0–3 1–2 0–5 1–1 3–1 2–0 2–2 3–2 1–1 0–2 1–2 2–2 0–0 0–0 1–4 1–1 0–4 2–1 2–0 2–5
0–0 3–1 2–0 3–1 3–0 1–5 2–1 0–0 3–0 1–0 1–1 2–1 2–0 2–1 3–1 1–2 0–2 1–3 0–2 1–1 5–3
1–6 4–2 1–3 2–3 1–0 1–2 3–5 0–1 2–3 1–2 1–0 4–2 5–4 2–0 6–1 0–4 1–0 1–3 0–4 4–3 2–2
8–1 6–0 1–0 0–1 1–1 0–2 3–0 1–1 2–1 1–1 1–1 2–2 3–0 2–0 1–3 3–3 3–4 4–6 5–2 1–4 2–1
3–3 3–2 1–2 3–0 3–1 0–1 2–1 1–0 5–2 2–0 1–0 1–2 8–1 3–0 4–0 4–1 2–0 1–1 3–1 1–1 1–0
4–1 6–0 3–0 2–1 2–0 0–1 2–2 3–1 3–0 3–1 3–2 4–2 1–0 2–0 2–2 5–2 2–0 1–1 4–1 2–2 0–0
8–0 5–0 2–0 2–0 0–0 1–2 1–2 2–1 2–2 5–4 4–0 3–3 7–1 3–3 7–3 4–2 3–1 3–0 5–1 2–1 4–1
3–2 2–1 1–2 1–5 6–0 2–0 3–0 3–3 3–0 3–2 3–1 0–1 3–1 1–1 3–0 0–0 1–0 2–1 4–3 1–1 3–1
6–1 1–1 2–1 2–1 7–0 2–0 4–1 5–1 3–2 2–0 2–0 2–2 5–1 2–1 1–1 3–2 2–4 3–2 2–2 2–0 3–2
York City 3–1 4–2 4–0 2–2 4–3 2–1 4–2 4–3 4–1 4–2 3–2 1–1 3–0 4–1 3–0 1–1 3–1 1–2 3–1 2–3 0–1
Source: Ian Laschke: Rothmans Book of Football League Records 1888–89 to 1978–79. Macdonald and Jane’s, London & Sydney, 1980.
^ The home team is listed in the left-hand column.
Colours: Blue = home team win; Yellow = draw; Red = away team win.

Third Division North maps

Third Division South

Football League, Third Division South
Season 1931–32
Champions Notts County (1st title)
Failed re-election Newport County
Matches played 462
Goals scored 1669 (3.61 per match)
Top goalscorer Peter Simpson (Crystal Palace), 46 [4]
1929–30
1931–32
Pos Team Pld W D L F A W D L F A F A GA GD Pts Notes
1 Notts County 42 16 4 1 58 13 8 7 6 39 33 97 46 2.109 +51 59
2 Crystal Palace 42 17 2 2 71 20 5 5 11 36 51 107 71 1.507 +36 51 [5]
3 Brentford 42 14 3 4 62 30 8 3 10 28 34 90 64 1.406 +26 50
4 Brighton & Hove Albion 42 13 5 3 45 20 4 10 7 23 33 68 53 1.283 +15 49
5 Southend United 42 16 0 5 53 26 6 5 10 23 34 76 60 1.267 +16 49
6 Northampton Town 42 10 6 5 37 20 8 6 7 40 39 77 59 1.305 +18 48
7 Luton Town 42 15 3 3 61 17 4 5 12 15 34 76 51 1.490 +25 46
8 Queens Park Rangers 42 15 0 6 57 23 5 3 13 25 52 82 75 1.093 +7 43
9 Fulham 42 15 3 3 49 21 3 4 14 28 54 77 75 1.027 +2 43
10 Bournemouth & Boscombe Athletic 42 11 7 3 39 22 4 6 11 33 51 72 73 0.986 –1 43
11 Torquay United 42 13 5 3 56 26 4 4 13 24 58 80 84 0.952 –4 43
12 Swindon Town 42 15 5 1 68 29 3 1 17 21 65 89 94 0.947 –5 42
13 Exeter City 42 12 6 3 55 35 5 2 14 29 55 84 90 0.933 –6 42
14 Coventry City 42 11 4 6 55 28 5 5 11 20 37 75 65 1.154 +10 41
15 Bristol Rovers 42 12 3 6 49 36 4 5 12 26 56 75 92 0.815 –17 40
16 Gillingham 42 10 6 5 40 29 4 4 13 21 47 61 76 0.803 –15 38
17 Walsall [notes 1] 42 9 5 7 44 38 5 4 12 34 57 78 95 0.821 –17 37
18 Watford 42 9 4 8 41 29 5 3 13 31 46 72 75 0.960 –3 35
19 Clapton Orient 42 12 3 6 47 33 2 4 15 16 58 63 91 0.692 –28 35
20 Thames 42 12 5 4 34 20 1 3 17 20 73 54 93 0.581 –39 34
21 Newport County 42 10 5 6 45 31 1 1 19 24 80 69 111 0.622 –42 28 [notes 2]
22 Norwich City 42 10 7 4 37 20 0 1 20 10 56 47 76 0.618 –29 28

Pld = Matches played; W = Matches won; D = Matches drawn; L = Matches lost; F = Goals for; A = Goals against;
GA = Goal average; GD = Goal difference; Pts = Points

  1. ^ Walsall was transferred to Third Division North for the following season.
  2. ^ Newport County appears to have failed in the re-elections process this year, but they were back in the league for the 1932–1933 season.
Key
Division Champions, promoted
New club in the league
Re-elected
Failed re-election

Third Division South results

Home ╲ Away width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27 width=27
1–0 1–2 4–0 1–1 2–0 0–0 3–1 2–1 2–1 0–0 4–2 1–3 4–1 2–1 2–0 0–0 4–1 3–3 2–2 0–2 1–1
1–2 3–2 4–0 3–0 1–2 8–2 2–1 4–1 1–1 0–1 3–2 0–4 3–1 2–2 5–3 3–1 5–2 6–1 0–0 6–1 2–1
3–1 1–0 4–0 3–1 2–0 1–1 3–2 1–1 5–0 2–0 5–0 1–1 1–0 1–3 1–1 1–2 1–0 2–4 3–0 3–3 1–0
2–5 2–5 3–3 4–1 1–0 2–1 1–1 2–1 1–0 5–1 2–0 1–4 3–0 2–2 3–0 2–3 4–1 4–0 3–1 1–2 1–5
0–0 3–0 1–0 3–1 3–3 3–2 2–3 2–0 0–2 3–2 3–1 2–2 2–0 1–4 2–3 3–1 2–3 2–1 4–0 2–5 4–0
3–3 0–1 0–0 5–1 4–0 3–5 3–1 2–1 1–2 1–2 6–4 0–1 3–0 1–2 2–0 0–0 4–0 7–1 6–1 2–1 2–2
1–0 5–1 0–1 0–2 3–1 1–0 7–2 5–2 5–0 5–1 7–1 0–0 2–1 1–1 4–0 3–1 3–1 2–1 5–0 6–3 6–1
4–1 4–0 2–2 0–3 6–1 2–3 4–3 3–2 3–0 1–1 3–0 3–3 1–0 3–3 2–0 1–1 3–1 4–3 2–2 2–5 2–1
Fulham 1–0 1–1 0–1 6–2 2–0 0–0 2–0 4–2 1–1 2–1 0–1 4–2 1–0 3–1 0–2 1–0 6–1 4–2 3–0 5–2 3–2
0–0 1–1 0–0 1–1 0–0 2–0 6–2 3–5 3–2 4–0 4–1 0–2 2–1 0–5 2–2 1–0 0–1 3–1 2–3 2–0 4–2
2–3 1–1 2–2 4–1 0–1 2–0 1–2 3–1 5–0 4–1 3–1 4–0 1–0 3–0 5–1 2–1 4–0 8–0 3–1 0–0 4–1
7–3 0–2 2–0 1–1 1–1 1–1 2–1 4–0 1–3 1–3 3–1 5–2 3–0 2–3 2–3 3–1 3–1 1–1 2–1 1–1 0–2
2–2 1–2 2–1 1–1 0–0 0–3 0–0 1–0 4–2 0–1 0–0 1–0 3–1 0–0 6–0 4–0 3–0 4–1 0–3 3–0 2–3
2–1 3–0 2–2 1–3 2–0 2–2 2–1 1–2 1–1 4–0 1–0 4–1 1–1 2–2 1–1 0–1 2–0 0–0 3–0 3–1 0–1
Notts County 2–0 1–0 2–2 3–0 5–0 4–1 2–2 1–2 6–1 2–1 1–0 5–0 2–2 4–0 2–0 1–1 2–0 4–0 2–0 6–1 1–0
3–0 3–1 4–1 2–0 4–2 2–0 4–0 7–2 0–2 1–0 3–1 7–1 0–2 3–1 4–1 0–2 1–2 3–0 1–2 3–0 2–3
4–0 0–1 0–2 4–0 2–0 2–0 2–4 5–1 2–4 3–2 0–2 6–2 2–1 2–0 2–1 2–0 5–3 1–0 6–3 2–0 1–0
4–1 3–2 1–1 3–1 5–1 4–0 4–4 2–1 4–1 5–2 0–0 4–4 5–1 5–2 1–2 4–1 1–1 3–0 4–0 4–3 2–1
1–4 2–0 0–0 1–2 3–0 1–2 0–2 1–0 0–0 2–2 1–0 3–1 2–1 2–0 0–0 1–0 3–0 3–2 1–1 4–1 3–2
4–4 0–3 3–1 3–3 5–2 0–0 3–1 0–0 3–1 3–0 1–1 3–0 3–0 2–0 1–4 6–2 3–1 5–0 5–1 0–1 3–1
3–3 1–4 0–0 4–2 4–2 1–2 2–1 2–1 2–0 2–2 0–1 1–0 2–6 7–0 2–1 0–2 1–3 2–2 6–0 0–4 2–2
2–0 1–3 5–0 2–2 1–2 4–1 0–2 0–1 2–2 1–0 1–0 6–2 1–2 2–2 0–1 0–4 1–3 3–0 1–0 6–0 2–2
Source: Ian Laschke: Rothmans Book of Football League Records 1888–89 to 1978–79. Macdonald and Jane’s, London & Sydney, 1980.
^ The home team is listed in the left-hand column.
Colours: Blue = home team win; Yellow = draw; Red = away team win.

Third Division South maps

Locations of the Football League Third Division South London teams 1930–1931

Records


-- 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
  1. ^
  2. ^ Ian Laschke: Rothmans Book of Football League Records 1888–89 to 1978–79. Macdonald and Jane’s, London & Sydney, 1980.
  3. ^
  4. ^ a b c d
  5. ^ a b c d e f g h 8 teams, Arsenal, Aston Villa, Sheffield Wednesday (1st Div), Everton (2nd Div.), Chesterfield, Lincoln City, Tranmere Rovers
    (3rd Div. North) and Crystal Palace (3rd Div. South) all scored over 100 goals. This is the most in the Football League history.
  6. ^ Arsenal scored 60 Away Goals, the most to this day.
  • For these and other records, see:[1]

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
  1. ^
  • Ian Laschke: Rothmans Book of Football League Records 1888–89 to 1978–79. Macdonald and Jane’s, London & Sydney, 1980.
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.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.