Bay Area Sports Hall of Fame

Bay Area Sports Hall of Fame

The Bay Area Sports section 501(c)(3) non-profit, that was created by the San Francisco Chamber of Commerce in 1979.

Contents

  • Slogan 1
  • Inductees 2
  • Notes 3
  • References 4
  • External links 5

Slogan

Honoring Sports Legends to Benefit Youth Sports Programs Today

Inductees

Year Name Sport Plaque location Ref.
1980 Apostoli, Freddie "The Boxing Bellhop"Freddie "The Boxing Bellhop" Apostoli Boxing (GGNRA) Presidio, Letterman Army Hospital/Visual Arts Center [1]
1980 DiMaggio, Joseph "Joe" PaulJoseph "Joe" Paul DiMaggio Baseball SFO Gate #81 [1]
1980 Luisetti, Angelo "Hank"Angelo "Hank" Luisetti Basketball Stanford University [1]
1980 Mays, Jr., Willie HowardWillie Howard Mays, Jr. Baseball AT&T Park [1]
1980 Nevers, Ernest "Ernie" A.Ernest "Ernie" A. Nevers Football Stanford University [1]
1980 Russell, William "Bill" FentonWilliam "Bill" Fenton Russell Basketball University of San Francisco [1]
1981 Albert, Frank "Frankie" CullingFrank "Frankie" Culling Albert Football Stanford University [2]
1981 Gomez, Vernon "Lefty" LouisVernon "Lefty" Louis Gomez Baseball SFO Gate #88 [2]
1981 Mathias, Robert "Bob" BruceRobert "Bob" Bruce Mathias Track and field Stanford University [2]
1981 O'Doul, Francis "Lefty" JosephFrancis "Lefty" Joseph O'Doul Baseball AT&T Park [2]
1981 Roark, Helen WillsHelen Wills Roark Tennis University of California, Berkeley [2]
1982 Budge, J. "Don" DonaldJ. "Don" Donald Budge Tennis Berkeley Tennis Club [3]
1982 Cronin, Joseph "Joe" EdwardJoseph "Joe" Edward Cronin Baseball Sacred Heart Cathedral Preparatory [3]
1982 Lombardi, Ernest "Ernie" NataliErnest "Ernie" Natali Lombardi Baseball Oakland Coliseum [3]
1982 Marichal, Juan Antonio SanchezJuan Antonio Sanchez Marichal Baseball AT&T Park [3]
1982 McElhenny, Hugh "King" EdwardHugh "King" Edward McElhenny Football Candlestick Park [3]
1983 Corbett, James "Gentleman Jim" JohnJames "Gentleman Jim" John Corbett Boxing The Olympic Club [4]
1983 Curtis Cuneo, AnnAnn Curtis Cuneo Swimming University of California, Berkeley [4]
1983 Jensen, Jack "Jackie" EugeneJack "Jackie" Eugene Jensen Football University of California, Berkeley [4]
1983 Matson, Ollie GenoaOllie Genoa Matson Football University of San Francisco [4]
1983 Robinson, FrankFrank Robinson Baseball Oakland Coliseum [4]
1984 Jacobs, Helen HullHelen Hull Jacobs Tennis University of California, Berkeley [5]
1984 Newell, Peter "Pete"Peter "Pete" Newell Basketball University of California, Berkeley [5]
1984 Spitz, MarkMark Spitz Swimming Santa Clara Swim Club [5]
1984 Venturi, KenKen Venturi Golf SFO Gate #77A [5]
1984 Warner, Glenn "Pop" S.Glenn "Pop" S. Warner Football Stanford University [5]
1985 Longden, Johnny "The Pumper"Johnny "The Pumper" Longden Horse racing Bay Meadows [6]
1985 Marble, AliceAlice Marble Tennis Golden Gate Park [6]
1985 Marchetti, GinoGino Marchetti Football University of San Francisco [6]
1985 Nomellini, LeoLeo Nomellini Football Candlestick Park [6]
1985 Shaw, BuckBuck Shaw Football Santa Clara University [6]
1986 Heilmann, HarryHarry Heilmann Baseball Sacred Heart Cathedral Preparatory [7]
1986 Jones, K.C.K.C. Jones Basketball University of San Francisco [7]
1986 Otto, JimJim Otto Football Oakland Coliseum [7]
1986 Perry, Fletcher "Joe the Jet" JoeFletcher "Joe the Jet" Joe Perry Football Candlestick Park [7]
1986 Schollander, DonDon Schollander Swimming Santa Clara Swim Club [7]
1987 Chapman, SamSam Chapman Baseball University of California, Berkeley [8]
1987 de Varona, DonnaDonna de Varona Swimming Santa Clara Swim Club [8]
1987 McCovey, Willie "Stretch"Willie "Stretch" McCovey Baseball AT&T Park [8]
1987 Simpson, O.J.O.J. Simpson Football Candlestick Park [8]
1987 Waldorf, Lynn "Pappy"Lynn "Pappy" Waldorf Football University of California, Berkeley [8]
1988 Max Baer Boxing Livermore, California [9]
1988 Rick Barry Basketball Oakland Coliseum [9]
1988 John Brodie Football Stanford University [9]
1988 Nate Thurmond Basketball Oakland Coliseum [9]
1988 Yelberton Abraham "Y.A." Tittle Football Candlestick Park [9]
1989 George Blanda Football Oakland Coliseum [10]
1989 Anthony M. Lazzeri Baseball Jackson Playground [10]
1989 John Naber Swimming Woodside High School [10]
1989 Jim Pollard Basketball Stanford University [10]
1989 Wilver "Willie" Dornell Stargell Baseball Oakland Coliseum [10]
1990 Fred Biletnikoff Football Oakland Coliseum [11]
1990 Orlando Cepeda Baseball AT&T Park [11]
1990 Jim "Catfish" Hunter Baseball Oakland Coliseum [11]
1990 Jimmy Johnson Football Candlestick Park [11]
1990 Tony Lema Golf San Leandro Golf Course [11]
1991 John Madden Football SFO Gate #85 [12]
1991 Billy Martin Baseball Oakland Coliseum [12]
1991 Joe Morgan Baseball Oakland Coliseum [12]
1991 Bob St. Clair Football University of San Francisco [12]
1992 Dick Bartell Baseball Oakland Coliseum [13]
1992 Dominic DiMaggio Baseball SFO Gate #76 [13]
1992 Peggy Fleming Jenkins Figure skating Saint Francis Hospital, Center for Sports Medicine [13]
1992 Jim Plunkett Football Stanford University [13]
1992 Cornelius "Dutch" Warmerdam Track and field The Olympic Club [13]
1993 Al Attles Basketball Oakland Coliseum [14]
1993 Dolph Camilli Baseball Sacred Heart Cathedral Preparatory [14]
1993 Rollie Fingers Baseball Oakland Coliseum [14]
1993 Reggie Jackson Baseball Oakland Coliseum [14]
1994 Caitlyn Jenner (then Bruce)[1] Track and field San Jose City College
1994 Slip Madigan Football Saint Mary's College
1994 Bill Rigney Baseball Oakland Coliseum
1994 Bill Walsh Football SFO Gate #86
1995 Vida Blue Baseball AT&T Park
1995 Lee Evans Track and field San Jose State University
1995 Curt Flood Baseball Oakland Coliseum
1995 Eddie Joost Baseball SFO Gate #83
1996 Don Barksdale Basketball Oakland Coliseum
1996 John Henry Johnson Football Saint Mary's College
1996 Vada Pinson Baseball Oakland Coliseum
1996 Gene Upshaw Football SFO Gate #84
1997 Dan Fouts Football St. Ignatius College Preparatory
1997 John Ralston Football SFO Gate #86
1997 Chuck Taylor Football Stanford University
1997 George Yardley Basketball Stanford University
1998 Matt Biondi Swimming University of California, Berkeley
1998 Johnny Miller Golf The Olympic Club
1998 Fred Scolari Basketball Salesian Boys & Girls Club
1998 Art Shell Football Oakland Coliseum
1999 Ronnie Lott Football SFO Gate #87
1999 Joe Montana Football SFO Gate #87
1999 Tommie Smith Track and field San Jose State University
1999 Gordy Soltau Football SFO Gate #88
1999 Lou Spadia BASHOF President Mission High School
2000 Pablo Morales Swimming Stanford University
2000 Ken Stabler Football Oakland Coliseum
2000 Dave Stewart Baseball Oakland Coliseum
2000 Billy Wilson Football SFO Gate #80
2001 Willie Brown Football Oakland Coliseum [16]
2001 Tom Watson Golf Stanford University
2001 Dave Wilcox Football SFO Gate #87
2001 Phil Woolpert Basketball University of San Francisco
2002 Dennis Eckersley Baseball SFO Gate #80
2002 George Haines Swimming Santa Clara Swim Club
2002 Mary T. Meagher Plant Swimming SFO Gate #82
2002 Lynn Swann Football SFO Gate #82
2003 Rosie Casals Tennis SFO Gate #86
2003 John Elway Football Stanford University
2003 Tom Meschery Basketball SFO Gate #88
2003 Willie Shoemaker Horse racing Golden Gate Fields
2004 Joe Kapp Football SFO Gate #88
2004 Eddie LeBaron Football SFO Gate #87
2004 Summer Sanders Swimming SFO Gate #80
2004 Kristi Yamaguchi Figure skating SFO Gate #77
2005 Dick Bass Football SFO Gate #80
2005 John McEnroe Tennis SFO Gate #80
2005 Steve Young Football SFO Gate #88
2006 Dick Gould Tennis SFO Gate #84
2006 Ted Hendricks Football SFO Gate #85
2006 Payton Jordan Track and field SFO Gate #84
2006 Chris Mullin Basketball SFO Gate #85
2007 Jennifer Azzi Basketball SFO Gate #90 [17]
2007 Will “The Thrill” Clark Baseball SFO Gate #80 [17]
2007 Jerry Coleman Baseball SFO Gate #85 [17]
2007 Jerry Rice Football Candlestick Park [17]
2008 Roger Craig Football Candlestick Park [18]
2008 Edward (Eddie) DeBartolo, Jr. Football SFO Gate #80 [18]
2008 Rick DeMont Swimming SFO Gate #87 [18]
2008 Ray Guy Football SFO Gate #80 [18]
2008 Burl Toler Sr. Football SFO Gate #87 [18]
2009 Dave Casper Football TBA [19]
2009 Billie Jean King Tennis TBA [19]
2009 Craig Morton Football TBA [19]
2009 Gaylord Perry Baseball SFO Gate #80 [19]
2010 Brian Boitano Figure Skating TBA
2010 Campaneris, BertBert Campaneris Baseball SFO Gate #80
2010 Davis, AlAl Davis Football SFO Gate #81
2010 Negoesco, SteveSteve Negoesco Soccer TBA
2010 R. C. Owens Football SFO Gate #81
2012 Chris Mullin Basketball Oracle Arena

Notes


-- 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. ^ Jenner changed her name due to gender transition in 2015.[15]

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. ^ a b c d e f
  2. ^ a b c d e
  3. ^ a b c d e
  4. ^ a b c d e
  5. ^ a b c d e
  6. ^ a b c d e
  7. ^ a b c d e
  8. ^ a b c d e
  9. ^ a b c d e
  10. ^ a b c d e
  11. ^ a b c d e
  12. ^ a b c d
  13. ^ a b c d e
  14. ^ a b c d
  15. ^
  16. ^
  17. ^ a b c d
  18. ^ a b c d e
  19. ^ a b c d

External links

  • Bay Area Sports Hall of Fame