Joey Votto

Joey Votto

Joey Votto
Votto in June 2011
Cincinnati Reds – No. 19
First baseman

Born: (1983-09-10) September 10, 1983


Toronto, Ontario
Bats: Left Throws: Right
MLB debut
September 4, 2007, for the Cincinnati Reds
MLB statistics
(through 2015 season)
Batting average .311
Hits 1,226
Home runs 192
Runs batted in 633
OBP .423
Teams
Career highlights and awards

Joseph Daniel Votto (born September 10, 1983) is a Canadian professional baseball first baseman for the Cincinnati Reds of Major League Baseball (MLB). He made his MLB debut with the Reds in 2007.

Votto is a four-time MLB All-Star and a four-time Tip O'Neill Award winner. In 2010, he won the National League (NL) MVP Award, the NL Hank Aaron Award, and the Lou Marsh Trophy as Canada's athlete of the year.[1]

Contents

  • Early life 1
  • Professional career 2
    • Minor leagues 2.1
    • Cincinnati Reds 2.2
      • 2007 season 2.2.1
      • 2008 season 2.2.2
      • 2009 season 2.2.3
      • 2010 season 2.2.4
      • 2011 season 2.2.5
      • 2012 season 2.2.6
      • 2013 season 2.2.7
      • 2014 season 2.2.8
      • 2015 season 2.2.9
  • Player profile 3
  • Personal life 4
  • Career awards and honours 5
  • See also 6
  • References 7
  • External links 8

Early life

Votto was born on September 10, 1983 to Wendy (Howell) and Joseph Votto[2] in Toronto, Ontario, and grew up in Etobicoke, a district in the west end of Toronto. His mother is a sommelier and restaurant manager. His father was a chef and a baseball fan who died at age 52 in 2008.[3] He is of Italian descent. As a child, he adorned his wall with a Ted Williams poster.[4]

Votto enrolled in high school at Richview Collegiate Institute in 1997. In high school, he also played basketball — playing point guard and once scoring 37 points in a game — and hockey.[5] He played for the Etobicoke Rangers baseball program.[6]

Professional career

Minor leagues

Votto was drafted out of high school in the second round of the 2002 MLB amateur draft by the Reds (44th overall), After his first two professional seasons with the Reds' rookie-level affiliates, he burst onto the scene in 2004 with the Class A Dayton Dragons, hitting 26 doubles and 14 home runs with a batting average of .302. He was promoted to the Class A Advanced Potomac and hit five more home runs in 20 games to end the season with 19. During his time in the minor leagues, Votto made appearances in the outfield and as a catcher, aside from first base.

Votto's consistency declined during 2005 campaign with Sarasota. While he still hit 19 home runs, he struck out 122 times and his batting average dropped nearly 50 points to .256.

Votto rebounded in 2006 with the best season of his minor league career. Playing with Class AA Chattanooga, he improved his batting average to .319 and hit 46 doubles and 22 home runs. He led the Southern League in batting average and total bases and was third in home runs and RBI. He was selected to play in the 2006 Futures Game on the World Team. He was named to both the Mid-Season and Post-Season Southern League All-Star teams, and was voted a minor league all-star by Baseball America. He culminated his season by winning the Southern League Most Valuable Player Award. During his five seasons in the minors, Votto carried Ted Williams' The Science of Hitting with him.[4]

Cincinnati Reds

2007 season

Votto started off the 2007 season playing in Triple-A for the Louisville Bats. He was called up on September 1, 2007. He made his Major League debut on September 4, 2007, striking out against Guillermo Mota of the New York Mets. In his second major league at bat he hit his first career home run. He went 3-for-5 and scored two runs as the Reds won the game, 7–0. On September 8, he went 1-for-3 with a home run and three runs batted in. His three RBIs were the only Reds' runs as they lost to the Milwaukee Brewers, 4–3. In his next game, he went 2-for-4. On September 14, he stole his first career base against the Brewers. He ended the season going 2-for-4 with a home run and five RBIs in the Cincinnati Reds' final game of the 2007 season.[7] He would finish the season batting .321 with 4 home runs and 17 runs batted in.

Votto in Spring Training, 2008

2008 season

Beginning with the 2008 season, Votto shared time platooning at first base with Scott Hatteberg until Manager Dusty Baker began playing Votto as the Reds' starting first baseman in early April. On April 15, he hit his first home run of the season off of Michael Wuertz. He drove in a career-high five runs against the Cubs two games later.

On May 7, Votto hit three home runs in a game against the Chicago Cubs. "I'm like a kid," said Votto, a second-year player who had never hit more than one in a game. "I thought it was cool. It's not a big part of my game."[8]

Votto hit his first career pinch-hit home run against Cleveland's Cliff Lee, who would go on to win the AL Cy Young Award. On August 31, Votto had his first career four-hit game against the San Francisco Giants. He knocked in 4 runs in a 9–3 Reds victory.

On September 18, Votto and teammate Jay Bruce each homered twice. They became the fifth rookie teammates in the divisional-era to hit 20 home runs in the same season.[9]

Votto finished second in National League Rookie of the Year voting to the Chicago Cubs' Geovany Soto.[10] He led all NL rookies in hitting (.297), hits (156), HR (24), total bases (266), multi-hit games (42), on-base percentage (.368) and slugging percentage (.506).[11]

Votto also broke the Reds' record for the most runs batted in by a rookie in a season. The previous record was held by National Baseball Hall of Fame outfielder Frank Robinson with 83 in 1956. Votto drove in 84 runs during the 2008 season.

2009 season

Votto played for Canada in the 2009 World Baseball Classic. In Canada's first game against the United States, he had four hits in five at-bats, one of which was a home run.[12]

Votto began the 2009 season strong as the outright starter at first base. In the second game of the season, he went 3-for-5 with a homer and three RBI in a loss to the New York Mets. In the next game against the Mets, he had another homer and four RBI. He had a six-game hitting streak from April 12–18. On April 23, he went 4-for-5 with a home run and two runs batted in against the Cubs.[13] He ended out with a .346 batting average, 3 home runs, and 20 runs batted in in the month of April.[14]

Votto opened May with a five-game hitting streak. In a May matchup against the St. Louis Cardinals, he had two homers and four RBI. He finished the month with five home runs and a .378 batting average. However, he was placed on the DL to open June after missing time in May due to personal issues. Prior to his return game during the 2009 season, he indicated he had been suffering from depression and anxiety issues as a result of the sudden death of his father in August 2008, and had sought treatment.[15] He had previously missed time because of dizziness related to an inner ear infection.

Votto made his return against the Toronto Blue Jays on June 23. In his third game back, he went 4-for-5 with a home run and four runs batted in.[13] After going hitless in his fourth game back, he had a 14-game hitting streak. During that stretch, he batted .389 with three home runs and 14 runs batted in. His hitting streak ended against the Mets on July 12 when he went 0-for-2.[13]

Votto was named the National League Player of the Week for September 21–27, 2009 after hitting 10 doubles in a five-game span, a feat not accomplished in 77 years since Hall of Fame outfielder Paul Waner of the Pittsburgh Pirates in 1932.[16]

Despite missing 31 games overall, Votto finished the 2009 season among the National League leaders in batting average (.322), on-base percentage (.414) and slugging percentage (.567) and he hit 25 home runs.[11]

2010 season

Votto started the 2010 season by going 3-for-5 with a home run and a run batted in. By the end of April, he had four home runs and 12 runs batted in. His average was .275 but his on=base percentage was .400 due to 18 bases on balls.

Votto played better in the month of May. He batted .344 with six home runs and 21 runs batted in. However, he missed the last six games that month due to a sore neck. He would be back on June 1 in a game against the Cardinals. He went 4-for-5 with a home run and a run batted in. The Reds won the game to regain the NL Central lead.

Votto was not initially voted to the 2010 All-Star game in Anaheim, California, but made the roster via online fan voting through the National League's Final Vote. He was named on 13.7 million of the 26 million ballots submitted.[17] Votto went 0-for-2 in the game.

On August 25, Votto went 4-for-7 with two home runs and four RBI. He also drove in the tie-breaking run with a single off Giants pitcher Barry Zito.[18] Votto made the cover of Sports Illustrated on the August 30, 2010 edition.

On September 11, Votto hit his first career walk-off home run off Pirates relief pitcher Justin Thomas.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(

For the season, Votto hit .324 with 113 RBIs, 106 runs scored and 37 homers, including a grand slam off Tommy Hanson of the Atlanta Braves on May 20. He finished the season leading the Major Leagues in On-Base Percentage (.424) and led the National League in Slugging Percentage (.600) and On-Base Plus Slugging (1.024). The Reds made the postseason but lost to the Phillies in the National League Divisional Series in a three-game sweep.[19] Votto struggled in the series, batting .091 with one run batted in.[11]

Votto won the 2010 Hank Aaron Award in the National League.[20]

Votto was announced as the 2010 NL MVP, coming within one vote of winning unanimously as Albert Pujols received the other first-place vote.[21] He was only the third Canadian to win the MVP award, after Larry Walker and Justin Morneau.[22] He became the first Reds player to win the National League MVP since Barry Larkin won it in 1995. "Not to be dramatic or anything, but after I was told, I couldn't help but cry because I know how much at some point this meant to me and would have meant to my (late) father," Votto remarked after being named MVP. He added, "I did some pretty good things, and most importantly, we won. We went to the playoffs – it's been a long time since we'd been to the playoffs – and I think those all together were the reason I won."[22]

2011 season

On January 16, it was announced that the Reds and Votto agreed to a three-year, $38 million deal. [23]

Votto homered in the Reds' first game of the 2011 season, a solo homer off Kameron Loe of the Brewers. He recorded his first four-hit game of the season against the Arizona Diamondbacks and raised his average to .455. By the end of April, he had a .370 batting average, four home runs, and 14 runs batted in. He posted a .500 on-base percentage. He began the season by reaching base in 27 consecutive games dating back to the previous season. The club record was set by Dave Collins with 34 in 1981.

On June 25, Votto hit his 100th career home run against Brian Matusz of the Orioles. He later added another home run in the game. That was also his first multi-homer game of the season. He also drove in five runs, his most in a game during the season.[24]

On July 3, Votto was voted in by the players for the 2011 All-Star Game as a reserve. He went 0-for-2 with a strikeout.[11]

On August 28, Votto hit a walk-off home run against the Nationals in the 14th inning. On September 24, he drove in two runs against the Pirates for his 100th and 101st RBI of the season, becoming the first Reds player to drive in 100 runs in back-to-back seasons since Dave Parker in 1985–1986.[25]

Votto had a chance to hit 30 home runs for the second straight season but went 0-for-3 in the last game of the season. He led the Reds in runs batted in and batting average and was second on the Reds in homers behind Jay Bruce.[26]

Votto finished with a .309 batting average, 29 home runs and 103 runs batted in. He also led the NL in doubles (40), bases on balls (110) and on-base percentage (.416).[11]

On November 1, Votto won his first Gold Glove Award. He finished sixth in the NL MVP voting.[11]

2012 season

On April 2, 2012, Votto signed a 10-year, $225 million contract extension with the Reds, running through the 2024 season.[27] The deal includes the two years that remained on his previous contract and pushes the total worth of the contract to 12 years and $251.5 million, the longest active deal in baseball. The deal (including the one-year team option), is the fifth-largest deal in MLB history,[28] behind only Giancarlo Stanton's contract with the Miami Marlins (13 years, $325 million), Alex Rodriguez's contracts with New York (10 years, $275 million) and Texas (10 years, $252 million) and Albert Pujols' deal with the Los Angeles Angels of Anaheim (10 years, $240 million). It is the longest guaranteed contract in MLB history.[29] The contract made Votto the highest paid athlete from Canada.[28]

On May 13, Votto went 4 -for-5 with three home runs and six RBI, including a walk-off grand slam against the Washington Nationals in a 9–6 win. It was the first time in major league history that a player hit three home runs including a walk-off grand slam in a single game.[30]

On July 1, Votto was selected by the fans as a National League team starter in the 2012 MLB All-Star Game.[31] At the time of his selection, he was hitting .350 with 14 home runs and 47 RBI.

On July 16, the Reds announced that Votto would need arthroscopic knee surgery to repair a torn meniscus in his left knee and was expected to miss three to four weeks.[32] He originally hurt the knee June 29 sliding into third base.[33] He left the next day before the bottom of the fifth inning and missed the next two games due to inflammation in the knee.[34][35] At the time surgery was announced, he was leading the NL in walks, doubles, OBP and extra-base hits. He was second in RISP average and third in slugging percentage.[35]

On September 5, Votto returned to the Reds' line-up in a game against the Philadelphia Phillies. In his first at bat since July 15, he lined a single off pitcher Roy Halladay in the first inning. He would finish the game by 2-for-3 with a base on balls.[36] After his return from the disabled list, he struggled with his power numbers. In 25 games, he hit eight doubles but no home runs and drove in seven runs. He still got on base at a high clip at .505, walking 28 times. In that span, he also batted over .316.[37]

Votto finished the season having played in 111 games, the fewest he has played in a season since becoming the Reds' starting first basemen in 2008. He had a .337 batting average, .474 on-base percentage and a .567 slugging percentage to go along with 14 home runs, 56 runs batted in and 44 doubles.[38] His 94 walks led the NL (18 of them were intentional, which led MLB).

2013 season

Votto before a game in April 2014.

In late February, Votto was voted by fans as the "Face of the MLB," a contest that pits the "Face" of every MLB team against each other and is voted on using Twitter. He received more votes than Joe Mauer, Jose Bautista, Derek Jeter, Andrew McCutchen and Matt Kemp.

Votto played for Team Canada in the 2013 World Baseball Classic.

Votto homered on consecutive days from April 20–21 against the Marlins, making it the first time since September 10–11 of 2011 he homered in consecutive games.[39]

In July he was again voted as an all-star starter for the 2013 Major League Baseball All-Star Game. It was his fourth all-star appearance, and in the game he went 0-for-2, making him a career 0-for-9 in all-star games.[40]

2014 season

On May 21, 2014, Votto was placed on the 15-day disabled list with a distal strain of his left quadriceps. He returned on June 10 but went back on the DL with the same injury on July 8 and missed the rest of the season. In 62 games played, he hit a career-low .255 with a .390 on-base percentage, .409 slugging percentage, 6 home runs, 47 walks, and 23 runs batted in.

2015 season

On May 6, 2015, Votto was ejected following a strikeout where he spiked his helmet in frustration. Speculation claimed that prior to his ejection, he had choice words with Gerrit Cole during his at-bat. After getting ejected, Votto appeared to have bumped Chris Conroy. It was only his 5th career ejection and first since 2010. He later received a one-game suspension for this act which he served when the Reds played the Chicago White Sox.[41]

On June 9, Votto hit three home runs for the third time in his career in a game against the Philadelphia Phillies, a feat last accomplished by a Red by Johnny Bench.[42]

On August 2, Votto was ejected following a benches clearing brawl between the Reds and the Pirates.[43]

On September 10, Votto was ejected for arguing balls and strikes. This was the third time this season that Votto has been ejected, coincidentally all three times have been against the Pittsburgh Pirates.[44] On September 11, MLB suspended Votto 2 games with an option to appeal.[45]

On October 2, Votto tied a Reds record set by Pete Rose in 1978 when he got on base for his 48th straight game.[46]

Player profile

Votto is known for being a clutch hitter. Through June 9, 2014, he had a career .312 batting average, 163 home runs, and 542 runs batted in. He has been known to show great patience at the plate. He led the NL in base on balls with 110 in 2011 and did it again in 2012, with 94, despite missing 51 games. His career on-base percentage is .417.[11] He has led the NL in that category every year since 2010.[11]

Votto has been recognized for his defensive play as a first baseman. He led the league in assists (with 136) for first basemen in 2008, a feat he repeated in consecutive seasons in 2011 and 2012. He finished 5th in 2009 with 101 assists and second in 2010 with 128 assists.[11] In 2011, he also led all NL first basemen in putouts (1,341), and was third in fielding percentage (.996). That year, he won his first Gold Glove Award.

Personal life

Votto lives in Mount Adams, Cincinnati.[28] He has three brothers; Tyler, and twin brothers named Ryan and Paul who now attend North Park Secondary School in Brampton, Ontario. Votto's adopted mastiff-golden retriever mix is named "Maris," after former baseball player Roger Maris.[47] Votto is represented by sports agent Dan Lozano.[28]

Career awards and honours

Major League:

Minor League:

  • 2007 INT Post-Season All Star (Louisville)
  • 2007 INT Mid-Season All Star (Louisville)
  • 2007 INT Rookie of the Year (Louisville)
  • 2007 Baseball America Triple-A All Star (Louisville)
  • 2006 Baseball America Double-A All Star (Chattanooga)
  • 2006 SOU Most Valuable Player (Chattanooga)
  • 2006 SOU Mid-Season All Star (Chattanooga)
  • 2006 SOU Post-Season All Star (Chattanooga)

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. ^
  2. ^ http://www.legacy.com/obituaries/windsorstar/obituary.aspx?n=joseph-votto&pid=115539527
  3. ^
  4. ^ a b
  5. ^
  6. ^
  7. ^
  8. ^
  9. ^
  10. ^ 2008 NL Rookie of the Year Voting Baseballreference.com
  11. ^ a b c d e f g h i
  12. ^ Dunn, McCann knock two-run homers as USA holds off Canada CBS Sports
  13. ^ a b c
  14. ^
  15. ^
  16. ^
  17. ^
  18. ^
  19. ^
  20. ^
  21. ^ Votto wins NL MVP by overwhelming margin MLB.com
  22. ^ a b
  23. ^ Reds reward MVP Votto with three-year deal MLB.com
  24. ^
  25. ^
  26. ^
  27. ^
  28. ^ a b c d
  29. ^
  30. ^
  31. ^
  32. ^
  33. ^
  34. ^
  35. ^ a b
  36. ^
  37. ^
  38. ^
  39. ^
  40. ^
  41. ^
  42. ^
  43. ^ http://www.cbssports.com/mlb/eye-on-baseball/25257568/watch-benches-clear-in-blue-jays-royals-pirates-reds-games
  44. ^ http://ftw.usatoday.com/2015/09/reds-joey-votto-completely-loses-it-after-getting-ejected-in-pirates-game
  45. ^
  46. ^ Joey Votto ties Pete Rose's Reds mark with 48 straight games on base
  47. ^

External links

  • Career statistics and player information from MLB, or ESPN, or Baseball-Reference, or Fangraphs, or The Baseball Cube, or Baseball-Reference (Minors)
  • Joey Votto career statistics from MILB.com
  • Feature on 1B Joey Votto from MILB.com
  • Joey Votto News