33 Nate Montgomery
33 - Nate Montgomery
Height: 6-1
Weight: 200
Bats/Throws: R/R
Year: Jr.
Hometown: Geneva, Ill.
High School: South Suburban CC / Geneva HS
Position: C
Major: Sport Management
gp 50
avg .315
hr 1
rbi 38
r 37
sb 1

South Suburban College: Played two years at the South Holland, Ill. junior college... Coached by Steve Ruzich... 2017: Team went 43-14... NJCAA Academic Student-Athlete Award second team... Batted .342 while playing in 57 games... Recorded 76 hits including 14 doubles, two triples and nine home runs... 61 RBI (51st in NJCAA)... 11 walks.. .389 OB%, .545 SLG%... 11-game hitting streak from Mar. 15-Apr. 2... Batted 20-of-41 (.488) during the hitting streak with three doubles, one triple, four home runs and 16 RBI... Best game during the streak came at Kiswaukee (Apr. 2) as he went 3-of-4 with six RBI, two home runs, one triple and scored three times... Posted five RBI at Coastal Bend (Mar. 12)... Six-game hitting streak from Apr. 4-12 going 14-of-27 (.519)... Went 4-of-6 with five runs scored five runs... Posted another six-game hitting streak from Apr. 23-May 3 going 11-of-26 (.423) with two doubles, two home runs and scored seven runs... 2016: NJCAA Academic Student-Athlete Award second team... Appeared in 56 games where he posted a .351 batting average... 74 hits including 22 doubles (27th in NJCAA), one triple and four home runs... 56 RBI with 13 walks.

High School: Graduated from Geneva Community HS in Geneva, Ill... Coached by Matt Hahn... Lettered three years in baseball... 2015 All-Conference... Two-time varsity captain... 2015 Kane County Chronicle Leadership Award... 2015 Viking Gold Glove Award... 2014 Blue White Award...  Stats: .370 batting average... Three years in wrestling... Coached by Tom Chernich.

Personal: Full name is Nathan Montgomery... Born Oct. 18, 1996 in Columbus, Ohio... Nicknames: "Nate", "Monty"... Son of David and Elizabeth Montgomery... Sister - Katie... Father played football and mother played volleyball, both at the University of Findlay... Majoring in sport management with a minor in pre-law... Athletic Director's Honor Roll... Future plans: Attend law school... Hobbies: Fishing, reading, music, working out... Favorite book: "Chop Wood, Carry Water"; Favorite midnight snack: Popcorn; Favorite movie: "The Other Guys"; Favorite musical artist: Florida Georgia Line; Favorite song: "Whislin' Dixie" by Randy Houser; Favorite sports team: Chicago Cubs; Nate can't imagine a week without: His phone; Favorite athlete: Yadier Molina; Most thrilling moment in sports: Beating his biggest rival who was the top wrestler in the state, in overtime; Advice to kids: "Live each day like its your last and never let one go to waste"; Favorite color: Blue; Favorite food: Chicken Tacos; Favorite sport other than baseball: Ping pong; People Nate most admires: His parents; Most famous person Nate has ever met: Bo Jackson; What people don't know about Nate: He can play the bass; When he was a kid, Nate tried to be like: Yadier Molina.

 

 

Recent Games
Apr 24 Young Harris
Apr 24 Young Harris
Apr 27 vs. Newberry W, 5-2
Apr 27 vs. Wingate W, 7-2
Apr 28 vs. Lincoln Memorial L, 10-7
Apr 29 vs. Anderson (S.C.) L, 7-6
Statistics category Overall Conf
Games 50 26
Plate appearances 220 116
At Bats 184 94
Runs 37 23
Hits 58 30
Doubles 11 6
Triples 1 -
Home Runs 1 1
Runs Batted In 38 18
Total bases 74 39
Walks 18 11
Hit by pitch 13 9
Strikeouts 34 18
Sacrifice Flies - -
Sacrifice Hits 5 2
Hit into double play 9 6
Stolen Bases 1 -
Caught Stealing - -
Batting Average .315 .319
On Base Percentage .414 .439
Slugging Percentage .402 .415
Appearances 0 0
Games started 0 0
Wins 0 0
Losses 0 0
Saves 0 0
Complete Games - -
Shutouts - -
Innings Pitched 0.0 0.0
Hits - -
Runs - -
Earned Runs - -
Walks - -
Strikeouts - -
Strikeouts per Game .00 .00
Doubles Allowed - -
Triples Allowed - -
Home Runs Allows - -
At Bats Against - -
Batting Average Against - -
Earned Run Average 0.00 0.00
Wild pitches - -
Hit Batters - -
Balks - -
Sacrifice Flies Allowed - -
Sacrifice Hits Allowed - -
Total Chances 326 186
Put Outs 294 166
Assists 26 17
Errors 6 3
Fielding Percentage .982 .984
Double Plays 4 2
Stolen Bases Allowed 28 13
Runners Caught Stealing 8 7
Runners Caught Stealing Percentage .222 .350
Passed Balls 14 7
Catcher's Interference 2 2
Date Opponent Score ab r h 2b 3b hr rbi bb k sb cs
Feb 1 at Embry-Riddle (FL) L, 10-3 4 0 2 - - - 2 - - - -
Feb 2 at #12 Nova Southeastern L, 12-2 3 0 0 - - - 0 - 1 - -
Feb 3 at Palm Beach Atl. W, 6-4 5 1 2 - - - 0 - 2 - -
Feb 4 at Lynn W, 4-3 4 1 2 - - - 1 - - - -
Feb 8 Belmont Abbey L, 10-4 4 0 1 - - - 2 1 1 - -
Feb 9 Belmont Abbey L, 7-4 5 0 1 - - - 0 - 2 - -
Feb 9 Belmont Abbey W, 10-5 3 1 2 - 1 - 3 - - - -
Feb 13 at Winston-Salem State   - - - - - - - - - - -
Feb 18 Notre Dame (Ohio) W, 6-3 4 1 1 - - - 1 - - - -
Feb 18 Davis & Elkins L, 4-2 1 0 1 - - - 0 - - - -
Feb 19 Notre Dame (Ohio) W, 25-12 2 1 1 1 - - 1 2 - 1 -
Feb 19 Davis & Elkins W, 9-2 4 0 2 1 - - 0 - 2 - -
Feb 20 Lander L, 12-3 3 0 0 - - - 0 - 1 - -
Feb 23 Mars Hill W, 8-5 4 2 2 - - - 0 1 - - -
Feb 24 Mars Hill W, 13-1 3 3 1 - - - 1 - - - -
Feb 24 Mars Hill L, 6-5 3 1 2 - - - 1 - 1 - -
Mar 3 #9 Wingate W, 9-7 4 2 2 - - - 0 - 1 - -
Mar 3 #9 Wingate W, 7-2 4 0 1 - - - 0 - - - -
Mar 4 #9 Wingate L, 15-11 4 1 2 1 - - 3 1 - - -
Mar 9 at Lincoln Memorial W, 5-3 5 0 0 - - - 0 - 2 - -
Mar 10 at Lincoln Memorial L, 4-0 3 0 0 - - - 0 - 2 - -
Mar 10 at Lincoln Memorial L, 15-7 4 0 1 - - - 1 - 2 - -
Mar 13 King (Tenn.) L, 8-5 2 1 0 - - - 0 - - - -
Mar 16 at Catawba W, 10-1 4 2 1 - - - 0 1 - - -
Mar 17 at Catawba L, 19-10 4 1 1 - - 1 3 - 1 - -
Mar 17 at Catawba L, 13-12 4 3 3 1 - - 1 1 - - -
Mar 21 at Lee L, 12-10 6 2 3 1 - - 3 - 1 - -
Mar 22 Winston-Salem State W, 4-3 3 0 0 - - - 0 1 2 - -
Mar 22 Winston-Salem State L, 5-3 2 0 0 - - - 0 1 - - -
Mar 25 Anderson (S.C.) W, 4-1 3 0 0 - - - 0 1 1 - -
Mar 25 Anderson (S.C.) W, 7-0 1 1 1 - - - 1 1 - - -
Mar 26 Anderson (S.C.) W, 7-4 5 0 1 1 - - 0 - - - -
Mar 27 Bellarmine L, 7-6 5 0 1 - - - 1 - 2 - -
Mar 28 Bellarmine W, 6-1 3 1 1 - - - 1 1 - - -
Mar 30 Newberry W, 7-4 0 0 0 - - - 0 - - - -
Mar 31 Newberry L, 9-8 - - - - - - - - - - -
Mar 31 Newberry L, 3-1 2 0 0 - - - 0 1 1 - -
Apr 3 at King (Tenn.) L, 9-5 - - - - - - - - - - -
Apr 6 at Lenoir-Rhyne W, 24-4 4 1 1 1 - - 2 1 2 - -
Apr 8 at Lenoir-Rhyne W, 7-5 3 0 1 1 - - 1 2 - - -
Apr 8 at Lenoir-Rhyne L, 13-3 3 0 0 - - - 0 - 1 - -
Apr 11 Bluefield St. W, 13-2 4 2 3 - - - 0 - - - -
Apr 13 at Coker L, 16-14 6 1 3 - - - 3 - 1 - -
Apr 14 at Coker W, 18-2 5 3 2 1 - - 0 - - - -
Apr 14 at Coker L, 8-7 3 1 0 - - - 0 1 - - -
Apr 17 Lee W, 9-7 4 1 2 1 - - 1 - - - -
Apr 20 Carson-Newman L, 7-4 5 0 2 - - - 0 - 1 - -
Apr 21 Carson-Newman L, 6-4 4 0 1 - - - 0 - 1 - -
Apr 21 Carson-Newman L, 7-4 4 1 2 - - - 1 - 1 - -
Apr 24 Young Harris   - - - - - - - - - - -
Apr 24 Young Harris   - - - - - - - - - - -
Apr 27 vs. Newberry W, 5-2 4 1 0 - - - 0 1 - - -
Apr 27 vs. Wingate W, 7-2 5 1 2 - - - 2 - 1 - -
Apr 28 vs. Lincoln Memorial L, 10-7 5 0 0 - - - 1 - 1 - -
Apr 29 vs. Anderson (S.C.) L, 7-6 5 0 1 1 - - 1 - - - -
Date Opponent Score hbp sf sh tb xbh hdp go fo go/fo pa
Feb 1 at Embry-Riddle (FL) L, 10-3 - - - 2 0 1 - 2 - 4
Feb 2 at #12 Nova Southeastern L, 12-2 - - - 0 0 - 1 1 1.00 3
Feb 3 at Palm Beach Atl. W, 6-4 - - - 2 0 - - 1 - 5
Feb 4 at Lynn W, 4-3 - - - 2 0 - 1 - - 4
Feb 8 Belmont Abbey L, 10-4 - - - 1 0 - 2 - - 5
Feb 9 Belmont Abbey L, 7-4 - - - 1 0 - - 2 - 5
Feb 9 Belmont Abbey W, 10-5 1 - - 4 1 - - - - 4
Feb 13 at Winston-Salem State   - - - - - - - - - -
Feb 18 Notre Dame (Ohio) W, 6-3 - - - 1 0 - 2 1 2.00 4
Feb 18 Davis & Elkins L, 4-2 - - - 1 0 - - - - 1
Feb 19 Notre Dame (Ohio) W, 25-12 - - - 2 1 - - 1 - 4
Feb 19 Davis & Elkins W, 9-2 - - - 3 1 - - - - 4
Feb 20 Lander L, 12-3 - - - 0 0 - 1 1 1.00 3
Feb 23 Mars Hill W, 8-5 - - - 2 0 - 2 - - 5
Feb 24 Mars Hill W, 13-1 2 - - 1 0 - 1 1 1.00 5
Feb 24 Mars Hill L, 6-5 1 - - 2 0 - - - - 4
Mar 3 #9 Wingate W, 9-7 - - 1 2 0 - 2 - - 5
Mar 3 #9 Wingate W, 7-2 - - - 1 0 - 1 2 0.50 4
Mar 4 #9 Wingate L, 15-11 - - - 3 1 - - 2 - 5
Mar 9 at Lincoln Memorial W, 5-3 - - - 0 0 - - 2 - 5
Mar 10 at Lincoln Memorial L, 4-0 1 - - 0 0 - - 1 - 4
Mar 10 at Lincoln Memorial L, 15-7 - - - 1 0 1 1 - - 4
Mar 13 King (Tenn.) L, 8-5 3 - - 0 0 - 1 1 1.00 5
Mar 16 at Catawba W, 10-1 - - - 1 0 - 2 1 2.00 5
Mar 17 at Catawba L, 19-10 - - - 4 1 - - 2 - 4
Mar 17 at Catawba L, 13-12 - - - 4 1 1 1 - - 5
Mar 21 at Lee L, 12-10 - - - 4 1 - 1 1 1.00 6
Mar 22 Winston-Salem State W, 4-3 - - - 0 0 - - 1 - 4
Mar 22 Winston-Salem State L, 5-3 - - 1 0 0 - 2 1 2.00 4
Mar 25 Anderson (S.C.) W, 4-1 - - - 0 0 - 2 - - 4
Mar 25 Anderson (S.C.) W, 7-0 1 - - 1 0 - - - - 3
Mar 26 Anderson (S.C.) W, 7-4 - - - 2 1 1 2 2 1.00 5
Mar 27 Bellarmine L, 7-6 - - - 1 0 1 2 - - 5
Mar 28 Bellarmine W, 6-1 - - 1 1 0 - 1 2 0.50 5
Mar 30 Newberry W, 7-4 1 - - 0 0 - - - - 1
Mar 31 Newberry L, 9-8 - - - - - - - - - -
Mar 31 Newberry L, 3-1 - - - 0 0 - - 1 - 3
Apr 3 at King (Tenn.) L, 9-5 - - - - - - - - - -
Apr 6 at Lenoir-Rhyne W, 24-4 2 - - 2 1 - 1 - - 7
Apr 8 at Lenoir-Rhyne W, 7-5 - - - 2 1 1 1 1 1.00 5
Apr 8 at Lenoir-Rhyne L, 13-3 - - - 0 0 1 1 1 1.00 3
Apr 11 Bluefield St. W, 13-2 - - - 3 0 - 1 - - 4
Apr 13 at Coker L, 16-14 - - - 3 0 - - 1 - 6
Apr 14 at Coker W, 18-2 1 - - 3 1 - - 3 - 6
Apr 14 at Coker L, 8-7 - - - 0 0 - 1 1 1.00 4
Apr 17 Lee W, 9-7 - - 1 3 1 1 2 1 2.00 5
Apr 20 Carson-Newman L, 7-4 - - - 2 0 - 2 - - 5
Apr 21 Carson-Newman L, 6-4 - - 1 1 0 - 2 1 2.00 5
Apr 21 Carson-Newman L, 7-4 - - - 2 0 1 1 1 1.00 4
Apr 24 Young Harris   - - - - - - - - - -
Apr 24 Young Harris   - - - - - - - - - -
Apr 27 vs. Newberry W, 5-2 - - - 0 0 - 1 3 0.33 5
Apr 27 vs. Wingate W, 7-2 - - - 2 0 - 1 1 1.00 5
Apr 28 vs. Lincoln Memorial L, 10-7 - - - 0 0 - 2 2 1.00 5
Apr 29 vs. Anderson (S.C.) L, 7-6 - - - 2 1 - 3 1 3.00 5
Date Opponent Score gs w l sv ip h r er era bb k hr
Feb 1 at Embry-Riddle (FL) L, 10-3 0 0 0 0 0.0 - - - 0.00 - - -
Feb 2 at #12 Nova Southeastern L, 12-2 0 0 0 0 0.0 - - - 0.00 - - -
Feb 3 at Palm Beach Atl. W, 6-4 0 0 0 0 0.0 - - - 0.00 - - -
Feb 4 at Lynn W, 4-3 0 0 0 0 0.0 - - - 0.00 - - -
Feb 8 Belmont Abbey L, 10-4 0 0 0 0 0.0 - - - 0.00 - - -
Feb 9 Belmont Abbey L, 7-4 0 0 0 0 0.0 - - - 0.00 - - -
Feb 9 Belmont Abbey W, 10-5 0 0 0 0 0.0 - - - 0.00 - - -
Feb 13 at Winston-Salem State   - - - - - - - - - - - -
Feb 18 Notre Dame (Ohio) W, 6-3 0 0 0 0 0.0 - - - 0.00 - - -
Feb 18 Davis & Elkins L, 4-2 0 0 0 0 0.0 - - - 0.00 - - -
Feb 19 Notre Dame (Ohio) W, 25-12 0 0 0 0 0.0 - - - 0.00 - - -
Feb 19 Davis & Elkins W, 9-2 0 0 0 0 0.0 - - - 0.00 - - -
Feb 20 Lander L, 12-3 0 0 0 0 0.0 - - - 0.00 - - -
Feb 23 Mars Hill W, 8-5 0 0 0 0 0.0 - - - 0.00 - - -
Feb 24 Mars Hill W, 13-1 0 0 0 0 0.0 - - - 0.00 - - -
Feb 24 Mars Hill L, 6-5 0 0 0 0 0.0 - - - 0.00 - - -
Mar 3 #9 Wingate W, 9-7 0 0 0 0 0.0 - - - 0.00 - - -
Mar 3 #9 Wingate W, 7-2 0 0 0 0 0.0 - - - 0.00 - - -
Mar 4 #9 Wingate L, 15-11 0 0 0 0 0.0 - - - 0.00 - - -
Mar 9 at Lincoln Memorial W, 5-3 0 0 0 0 0.0 - - - 0.00 - - -
Mar 10 at Lincoln Memorial L, 4-0 0 0 0 0 0.0 - - - 0.00 - - -
Mar 10 at Lincoln Memorial L, 15-7 0 0 0 0 0.0 - - - 0.00 - - -
Mar 13 King (Tenn.) L, 8-5 0 0 0 0 0.0 - - - 0.00 - - -
Mar 16 at Catawba W, 10-1 0 0 0 0 0.0 - - - 0.00 - - -
Mar 17 at Catawba L, 19-10 0 0 0 0 0.0 - - - 0.00 - - -
Mar 17 at Catawba L, 13-12 0 0 0 0 0.0 - - - 0.00 - - -
Mar 21 at Lee L, 12-10 0 0 0 0 0.0 - - - 0.00 - - -
Mar 22 Winston-Salem State W, 4-3 0 0 0 0 0.0 - - - 0.00 - - -
Mar 22 Winston-Salem State L, 5-3 0 0 0 0 0.0 - - - 0.00 - - -
Mar 25 Anderson (S.C.) W, 4-1 0 0 0 0 0.0 - - - 0.00 - - -
Mar 25 Anderson (S.C.) W, 7-0 0 0 0 0 0.0 - - - 0.00 - - -
Mar 26 Anderson (S.C.) W, 7-4 0 0 0 0 0.0 - - - 0.00 - - -
Mar 27 Bellarmine L, 7-6 0 0 0 0 0.0 - - - 0.00 - - -
Mar 28 Bellarmine W, 6-1 0 0 0 0 0.0 - - - 0.00 - - -
Mar 30 Newberry W, 7-4 0 0 0 0 0.0 - - - 0.00 - - -
Mar 31 Newberry L, 9-8 - - - - - - - - - - - -
Mar 31 Newberry L, 3-1 0 0 0 0 0.0 - - - 0.00 - - -
Apr 3 at King (Tenn.) L, 9-5 - - - - - - - - - - - -
Apr 6 at Lenoir-Rhyne W, 24-4 0 0 0 0 0.0 - - - 0.00 - - -
Apr 8 at Lenoir-Rhyne W, 7-5 0 0 0 0 0.0 - - - 0.00 - - -
Apr 8 at Lenoir-Rhyne L, 13-3 0 0 0 0 0.0 - - - 0.00 - - -
Apr 11 Bluefield St. W, 13-2 0 0 0 0 0.0 - - - 0.00 - - -
Apr 13 at Coker L, 16-14 0 0 0 0 0.0 - - - 0.00 - - -
Apr 14 at Coker W, 18-2 0 0 0 0 0.0 - - - 0.00 - - -
Apr 14 at Coker L, 8-7 0 0 0 0 0.0 - - - 0.00 - - -
Apr 17 Lee W, 9-7 0 0 0 0 0.0 - - - 0.00 - - -
Apr 20 Carson-Newman L, 7-4 0 0 0 0 0.0 - - - 0.00 - - -
Apr 21 Carson-Newman L, 6-4 0 0 0 0 0.0 - - - 0.00 - - -
Apr 21 Carson-Newman L, 7-4 0 0 0 0 0.0 - - - 0.00 - - -
Apr 24 Young Harris   - - - - - - - - - - - -
Apr 24 Young Harris   - - - - - - - - - - - -
Apr 27 vs. Newberry W, 5-2 0 0 0 0 0.0 - - - 0.00 - - -
Apr 27 vs. Wingate W, 7-2 0 0 0 0 0.0 - - - 0.00 - - -
Apr 28 vs. Lincoln Memorial L, 10-7 0 0 0 0 0.0 - - - 0.00 - - -
Apr 29 vs. Anderson (S.C.) L, 7-6 0 0 0 0 0.0 - - - 0.00 - - -
Date Opponent Score tc po a e fpct dp sba rcs rcs% pb ci
Feb 1 at Embry-Riddle (FL) L, 10-3 5 5 0 0 1.000 - - - - - -
Feb 2 at #12 Nova Southeastern L, 12-2 3 3 0 0 1.000 - - - - - -
Feb 3 at Palm Beach Atl. W, 6-4 0 0 0 0 - - - - - - -
Feb 4 at Lynn W, 4-3 7 7 0 0 1.000 - - - - - -
Feb 8 Belmont Abbey L, 10-4 6 5 1 0 1.000 - - - - - -
Feb 9 Belmont Abbey L, 7-4 0 0 0 0 - - - - - - -
Feb 9 Belmont Abbey W, 10-5 7 6 1 0 1.000 - 1 - - - -
Feb 13 at Winston-Salem State   - - - - - - - - - - -
Feb 18 Notre Dame (Ohio) W, 6-3 3 3 0 0 1.000 - - - - 1 -
Feb 18 Davis & Elkins L, 4-2 1 1 0 0 1.000 - - - - - -
Feb 19 Notre Dame (Ohio) W, 25-12 4 4 0 0 1.000 - - - - - -
Feb 19 Davis & Elkins W, 9-2 8 8 0 0 1.000 - - - - - -
Feb 20 Lander L, 12-3 12 12 0 0 1.000 1 2 - - 1 -
Feb 23 Mars Hill W, 8-5 13 12 1 0 1.000 - 1 1 .500 - -
Feb 24 Mars Hill W, 13-1 5 5 0 0 1.000 - - - - - -
Feb 24 Mars Hill L, 6-5 0 0 0 0 - - - - - - -
Mar 3 #9 Wingate W, 9-7 10 8 2 0 1.000 - - - - - -
Mar 3 #9 Wingate W, 7-2 11 11 0 0 1.000 - 1 - - - -
Mar 4 #9 Wingate L, 15-11 9 8 1 0 1.000 - - - - - -
Mar 9 at Lincoln Memorial W, 5-3 10 7 2 1 .900 - - 2 1.000 2 1
Mar 10 at Lincoln Memorial L, 4-0 4 4 0 0 1.000 - 1 - - - -
Mar 10 at Lincoln Memorial L, 15-7 7 7 0 0 1.000 - - - - - -
Mar 13 King (Tenn.) L, 8-5 11 8 3 0 1.000 - 2 1 .333 2 -
Mar 16 at Catawba W, 10-1 12 11 1 0 1.000 - - 1 1.000 - -
Mar 17 at Catawba L, 19-10 5 5 0 0 1.000 - - - - 1 -
Mar 17 at Catawba L, 13-12 7 5 1 1 .857 - 1 1 .500 2 -
Mar 21 at Lee L, 12-10 9 8 0 1 .889 1 5 - - - -
Mar 22 Winston-Salem State W, 4-3 5 5 0 0 1.000 - 1 - - - -
Mar 22 Winston-Salem State L, 5-3 0 0 0 0 - - - - - - -
Mar 25 Anderson (S.C.) W, 4-1 4 4 0 0 1.000 - - - - - -
Mar 25 Anderson (S.C.) W, 7-0 8 8 0 0 1.000 - - - - - -
Mar 26 Anderson (S.C.) W, 7-4 10 9 1 0 1.000 1 - - - - -
Mar 27 Bellarmine L, 7-6 0 0 0 0 - - - - - - -
Mar 28 Bellarmine W, 6-1 10 9 1 0 1.000 - 1 - - - -
Mar 30 Newberry W, 7-4 2 2 0 0 1.000 - - - - - -
Mar 31 Newberry L, 9-8 - - - - - - - - - - -
Mar 31 Newberry L, 3-1 10 8 2 0 1.000 - - 1 1.000 1 -
Apr 3 at King (Tenn.) L, 9-5 - - - - - - - - - - -
Apr 6 at Lenoir-Rhyne W, 24-4 8 8 0 0 1.000 - 1 - - - -
Apr 8 at Lenoir-Rhyne W, 7-5 7 7 0 0 1.000 - 1 - - - -
Apr 8 at Lenoir-Rhyne L, 13-3 2 1 1 0 1.000 1 1 - - - -
Apr 11 Bluefield St. W, 13-2 4 4 0 0 1.000 - - - - - -
Apr 13 at Coker L, 16-14 8 6 1 1 .875 - 1 - - - 1
Apr 14 at Coker W, 18-2 8 8 0 0 1.000 - 1 - - - -
Apr 14 at Coker L, 8-7 3 1 2 0 1.000 - 1 - - - -
Apr 17 Lee W, 9-7 8 8 0 0 1.000 - - - - - -
Apr 20 Carson-Newman L, 7-4 11 11 0 0 1.000 - 2 - - - -
Apr 21 Carson-Newman L, 6-4 7 7 0 0 1.000 - - - - - -
Apr 21 Carson-Newman L, 7-4 5 3 2 0 1.000 - 1 1 .500 1 -
Apr 24 Young Harris   - - - - - - - - - - -
Apr 24 Young Harris   - - - - - - - - - - -
Apr 27 vs. Newberry W, 5-2 7 5 2 0 1.000 - - - - - -
Apr 27 vs. Wingate W, 7-2 10 10 0 0 1.000 - - - - 1 -
Apr 28 vs. Lincoln Memorial L, 10-7 6 5 0 1 .833 - 1 - - 1 -
Apr 29 vs. Anderson (S.C.) L, 7-6 14 12 1 1 .929 - 2 - - 1 -
  g ab r h 2b 3b hr rbi bb k sb cs avg obp slg
2017-18 50 184 37 58 11 1 1 38 18 34 1 - .315 .414 .402
2018-19 50 190 29 68 12 - 4 48 14 55 3 2 .358 .434 .484
Total 100 374 66 126 23 1 5 86 32 89 4 2 .337 .424 .444
  g hbp sf sh tb xbh hdp go fo go/fo pa
2017-18 50 13 - 5 74 13 9 47 46 1.02 220
2018-19 50 13 2 - 92 16 2 35 30 1.17 219
Total 100 26 2 5 166 29 11 82 76 1.08 439
  app gs w l sv cg ip h r er bb k k/9 hr era
2017-18 0 0 0 0 0 - 0.0 - - - - - .00 - 0.00
2018-19 0 0 0 0 0 - 0.0 - - - - - .00 - 0.00
Total 0 0 0 0 0 - 0.0 - - - - - .00 - 0.00
  g tc po a e fpct dp sba rcs rcs% pb ci
2017-18 50 326 294 26 6 .982 4 28 8 .222 14 2
2018-19 50 408 373 28 7 .983 13 31 14 .311 7 1
Total 100 734 667 54 13 .982 17 59 22 .272 21 3
  g ab r h 2b 3b hr rbi bb k sb cs avg obp slg
Total 50 184 37 58 11 1 1 38 18 34 1 - .315 .414 .402
Conference 26 94 23 30 6 - 1 18 11 18 - - .319 .439 .415
Exhibition - - - - - - - - - - - - - - -
-
Home 29 95 19 33 5 1 - 17 11 17 1 - .347 .461 .421
Away 17 70 16 22 5 - 1 17 6 15 - - .314 .400 .429
Neutral 4 19 2 3 1 - - 4 1 2 - - .158 .200 .211
-
Wins 25 90 25 31 7 1 - 15 12 13 1 - .344 .464 .444
Losses 25 94 12 27 4 - 1 23 6 21 - - .287 .362 .362
-
February 15 52 11 20 2 1 - 12 4 10 1 - .385 .467 .462
March 20 68 14 18 4 - 1 14 9 15 - - .265 .398 .368
April 15 64 12 20 5 - - 12 5 9 - - .313 .389 .391
  g hbp sf sh tb xbh hdp go fo go/fo pa
Total 50 13 - 5 74 13 9 47 46 1.02 220
Conference 26 9 - 2 39 7 6 23 23 1.00 116
Exhibition - - - - 0 0 - - - - 0
-
Home 29 9 - 5 40 6 4 29 21 1.38 120
Away 17 4 - - 30 6 5 11 18 0.61 80
Neutral 4 - - - 4 1 - 7 7 1.00 20
-
Wins 25 8 - 3 40 8 3 23 23 1.00 113
Losses 25 5 - 2 34 5 6 24 23 1.04 107
-
February 15 4 - - 24 3 1 10 10 1.00 60
March 20 6 - 3 25 5 4 18 19 0.95 86
April 15 3 - 2 25 5 4 19 17 1.12 74
  app gs w l sv cg ip h r er bb k k/9 hr era
Total 0 0 0 0 0 - 0.0 - - - - - .00 - 0.00
Conference 0 0 0 0 0 - 0.0 - - - - - .00 - 0.00
Exhibition - - - - - - 0.0 - - - - - .00 - 0.00
-
Home 0 0 0 0 0 - 0.0 - - - - - .00 - 0.00
Away 0 0 0 0 0 - 0.0 - - - - - .00 - 0.00
Neutral 0 0 0 0 0 - 0.0 - - - - - .00 - 0.00
-
There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too few arguments to macro. Wanted 5 got 3 at bio-template[line 313, column 3]
Page source:
1: $website.addCss($website.cdn("/info/photo-gallery.css"))
2: <script src="${website.cdn("/info/klass.min.js")}"></script>
3: <script src="${website.cdn("/info/code.photoswipe.jquery-3.0.5.min.js")}"></script>
4: <script src="${website.cdn("/info/masonry.pkgd.min.js")}"></script>
5: <script src="${website.cdn("/info/imagesloaded.pkgd.min.js")}"></script>
6: <script src="${website.cdn("/info/photogallery/photogallery.js")}"></script>
7: 
8: ## PICK UP OPTIONS
9: $website.include("options")
10: #set ($options = $request.getAttribute("options"))
11: #set ($locale = "en_us")
12: #set ($locale = $options.get("locale"))
13: 
14: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
15: #set ($bioObject = $page.getDataAsObject())
16: #set ($statsURL = $bioObject.statsURL)
17: 
18: #if ($statsURL.length() > 0)
19:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
20:   ## various settings to get the variables set
21:   #set ($events = $request.getAttribute("bio_events"))
22:   #set ($seasons = $request.getAttribute("bio_seasons"))
23:   #set ($career = $request.getAttribute("bio_career"))
24:   #set ($labels = $request.getAttribute("bio_labels"))
25:   #set ($briefs = $request.getAttribute("bio_briefs"))
26:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
27:   #set ($splits = $request.getAttribute("bio_splits"))
28:   #set ($statPosition = $request.getAttribute("bio_position"))
29:   #set ($positions = $request.getAttribute("bio_positions"))
30:   #set ($playerId = $request.getAttribute("bio_player_id"))
31:   #set ($highlights = $request.getAttribute("bio_highlights"))
32:   #set ($formats = $request.getAttribute("bio_formats"))
33:   #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels"))
34:   #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels"))
35:   #set ($gamesResults = $request.getAttribute("bio_games_results"))
36:   #set ($monthsPlayed = $request.getAttribute("bio_months_played"))
37: #end
38: 
39: #set ($pos = "")
40: #set ($pos = $attributes.get("position"))
41: #set ($pos = $statPosition)
42: #set ($posVec = $pos.split("/"))
43: #set ($pos = $posVec[0])
44: #set ($pos = $pos.toLowerCase())
45: #set ($statPos = $positions.get($pos))
46: #set ($paramPos = $request.getParameter("pos"))
47: 
48: #set ($playerId = $attributes.get("playerId"))
49: #set ($stats = $splits.overall)
50: #set ($highlights = $highlights.get($statPos))
51: 
52: #set ($showHighlights = true)
53: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
54: 	#set ($showHighlights = false)
55: #end
56: 
57: #set ($enhancedLayout = false)
58: #if (($options.get("bio_enhanced_layout") == "yes") || ($request.getParameter("bio_enhanced_layout") == true))
59: 	#set ($enhancedLayout = true)
60: 	$website.addCss($website.cdn("/info/bio-styles-enhanced.css"))
61: #end
62: 
63: #set ($showActionShots = true)
64: #if ($options.get("bio_show_action_shots") && $options.get("bio_show_action_shots") == false)
65: 	#set ($showActionShots = false)
66: #end
67: 
68: #set ($actionShotsLimit = 5)
69: #set ($actionShotsLimit = $tool.math.toInteger($options.get("bio_action_shots_limit")))
70: 
71: #set ($showCareer = $wiki.valid() && $seasons)
72: #if ("yes" == $options.get("stats_show_career") && $seasons)
73:   #set ($showCareer = true)
74: #end
75: 
76: #set ($hasEvents = $events.size() > 0)
77: #set ($hasSynopsis = $synopsis.trim().length() > 0)
78: #set ($htmlStatsURL = "${page.url}-stats")
79: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
80: #set ($bioBriefURL = "${page.url}-brief")
81: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
82: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
83: #if ($options.get("bio_hide_roster") == true)
84:   #set ($showRoster = false)
85: #end
86: 
87: #set ($view = "")
88: #if ($hasSynopsis || $hasBioBrief)
89:   #set ($view = "bio")
90: #elseif ($statsURL.length() > 0)
91:   #set ($view = "profile")
92: #elseif ($hasHTMLStats)
93:   #set ($view = "htmlstats")
94: #elseif ($releases.size() > 0)
95:   #set ($view = "news")
96: #elseif ($playerPhotos.size() > 0)
97:   #set ($view = "photos")
98: #elseif ($playerVideos.size() > 0)
99:   #set ($view = "videos")
100: #end
101: 
102: #if ($options.get("bio_default_view").length() > 0)
103:   #set ($checkView = $options.get("bio_default_view"))
104: #end
105: 
106: #if ($request.getParameter("view"))
107:   #set ($checkView = $request.getParameter("view"))
108: #end
109: 
110: #if ($checkView == "profile" && $statsURL.length() > 0)
111:   #set ($view = "profile")
112: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
113:   #set ($view = "bio")
114: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
115:   #set ($view = "gamelog")
116: #elseif ($checkView == "career" && $showCareer)
117:   #set ($view = "career")
118: #elseif ($checkView == "splits" && $statsURL.length() > 0)
119:   #set ($view = "splits")
120: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
121:   #set ($view = "htmlstats")
122: #elseif ($checkView == "news" && $releases.size() > 0)
123:   #set ($view = "news")
124: #elseif ($checkView == "photos" && $playerPhotos.size() > 0)
125:   #set ($view = "photos")
126: #elseif ($checkView == "videos" && $playerVideos.size() > 0)
127:     #set ($view = "videos")
128: #end
129: 
130: #macro (printResultAriaLabel $event)
131:     #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
132:     #if ($event.neutralSite.length() > 0 || $event.home)
133:     	#set ($ariaLabel = "${ariaLabel} vs.")
134:     #else
135:     	#set ($ariaLabel = "${ariaLabel} at")
136:     #end
137:     #set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
138:     #if ($event.neutralSite.length() > 0)
139:     	#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
140:     #end
141:     #set ($ariaLabel = "${ariaLabel} Box Score")
142:     aria-label="$ariaLabel"
143: #end
144: 
145: #macro (printGrid $items $type)
146: <div class="news-layout grid">
147:     <div class="stories">
148:         <ul>
149:         #foreach ($item in $items)
150:             #if ($item.title.length() > 0)
151: 
152:                 <li class="story ${type}">
153:                 	<div class="clearfix">
154:                 	<a href="$item.url" class="title-box">
155:                         <span class="thumb">
156:                         #if ($item.thumbnailURL)
157:                         	<img src="$website.cdn("/info/images/spacer.gif")" data-src="${item.thumbnailURL}?max_width=300" alt="" class="lazyload" />
158: 						#elseif ($item.contentType == "loki/youtube")
159: 							<img src="$website.cdn("/info/images/spacer.gif")" data-src="http://img.youtube.com/vi/${item.dataAsString}/0.jpg" alt="" class="lazyload" />
160:                         #else
161:                         	<img src="$website.cdn("/info/images/spacer.gif")" data-src="/images/setup/thumbnail_default.jpg?max_width=300" alt="" class="lazyload" />
162:                         #end
163:                         </span>
164:                 		<span class="title">$item.title</span>
165:                 	</a>
166:                 	</div>
167:                 </li>
168:             #end
169:         #end ## foreach
170:         </ul>
171:     </div>
172: </div>
173: #end ## ends macro
174: 
175: #macro (gamelogData $p)
176: 
177: #set ($p = $positions.get($p))
178: #set ($gamelogs = $gamelogs.get($p))
179: 
180: #if ($hasEvents)
181: <div class="stats-box full clearfix">
182: <div class="scrollable">
183: <div>
184: <table>
185:   <tr class="thead">
186:     <th class="text">Date</th>
187:     <th class="pinned-col text">Opponent</th>
188:     <th>Score</th>
189:     #foreach ($gamelog in $gamelogs)
190:       <th>$gamelog</th>
191:     #end
192:   </tr>
193: #foreach ($event in $events)
194:   <tr>
195:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
196:     <td class="pinned-col text">
197:       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
198:       $event.event.opponent.name
199:     </td>
200:     <td>
201:     #if ($event.event.statusCode >= 0)
202:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
203:           <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
204:       #else
205:       ${event.event.APResult}
206:       #end
207:     #else &nbsp; #end
208:     </td>
209:     #foreach ($gamelog in $gamelogs.keySet())
210:       #set ($value = "-")
211:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
212:       <td>$value</td>
213:     #end
214:   </tr>
215: #end
216: </table>
217: </div>
218: </div> ## scrollable
219: </div> ## stats-box
220: #end
221: 
222: #end ## macro gamelogData
223: 
224: #macro (split $statPosBriefs $label $stats)
225:   <tr>
226:     <td class="pinned-col text">${label}</td>
227:     #foreach ($brief in $statPosBriefs.keySet())
228:       #set ($value = "-")
229:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
230:       <td>#if ($value.length() > 0) $value #else - #end</td>
231:     #end
232:   </tr>
233: #end
234: 
235: #macro (careerData $p)
236: #set ($p = $positions.get($p))
237: #set ($statPosBriefs = $briefs.get($p))
238: 
239: <div class="stats-box full clearfix">
240: <div class="scrollable">
241: <div>
242: <table>
243: <tr class="thead">
244:   <th class="pinned-col">&nbsp;</th>
245:   #foreach ($brief in $statPosBriefs)
246:     <th>$brief</th>
247:   #end
248: </tr>
249: 
250: #set ($careerTotals = $request.getAttribute("careerTotals"))
251: #set ($careerMap = $request.getAttribute("careerMap"))
252: 
253: #foreach ($season in $seasons)
254:   ## Check if we did not get stats for this season
255:   #if ($careerMap.get($season.seasonName))
256:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName])
257:   #elseif ($wiki.valid())
258:     <tr>
259:       <td class="text">${season.seasonName}</td>
260:       <td colspan="${statPosBriefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
261:     </tr>
262:   #end
263: #end
264: 
265: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
266: 
267: </table>
268: </div>
269: </div> ## scrollable
270: </div> ## stats-box
271: 
272: #end ## macro careerData
273: 
274: #macro (splitsData $p)
275: 
276: #set ($p = $positions.get($p))
277: #set ($statPosBriefs = $briefs.get($p))
278: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))
279: 
280: #if ($statPosBriefs.size() > 0)
281: <div class="stats-box full clearfix">
282: <div class="scrollable">
283: <div>
284: <table>
285:   <tr>
286:     <th class="pinned-col">&nbsp;</th>
287:     #foreach ($brief in $statPosBriefs)
288:       <th>$brief</th>
289:     #end
290:   </tr>
291: 
292: #split($statPosBriefs, "Total", $splits.overall)
293: #split($statPosBriefs, "Conference", $splits.conference)
294: #split($statPosBriefs, "Exhibition", $splits.exhibition)
295: 
296: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
297: 
298: #split($statPosBriefs, "Home", $splits.home)
299: #split($statPosBriefs, "Away", $splits.away)
300: #split($statPosBriefs, "Neutral", $splits.neutral)
301: 
302: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
303: 
304: #foreach($gameResult in $gamesResults.entrySet())
305:   #if ($gameResult.key == "wins")
306:     #set ($splitGameResult = $splits.inWins)
307:   #elseif ($gameResult.key == "losses")
308:     #set ($splitGameResult = $splits.inLosses)
309:   #elseif ($gameResult.key == "ties")
310:     #set ($splitGameResult = $splits.inTies)
311:   #end
312: 
313:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
314: #end
315: 
316: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
317: 
318: #if ($monthsPlayed and $monthsPlayed.size() > 0)
319:   #foreach($month in $monthsPlayed)
320:     #if ($month == 'January')
321:       #set ($splitMonth = $splits.january)
322:     #elseif ($month == 'February')
323:       #set ($splitMonth = $splits.february)
324:     #elseif ($month == 'March')
325:       #set($splitMonth = $splits.march)
326:     #elseif ($month == 'April')
327:       #set($splitMonth = $splits.april)
328:     #elseif ($month == 'May')
329:       #set ($splitMonth = $splits.may)
330:     #elseif ($month == 'June')
331:       #set ($splitMonth = $splits.june)
332:     #elseif ($month == 'July')
333:       #set($splitMonth = $splits.july)
334:     #elseif ($month == 'August')
335:       #set ($splitMonth = $splits.august)
336:     #elseif ($month == 'September')
337:       #set($splitMonth = $splits.september)
338:     #elseif ($month == 'October')
339:       #set($splitMonth = $splits.october)
340:     #elseif ($month == 'November')
341:       #set ($splitMonth = $splits.november)
342:     #elseif ($month == 'December')
343:       #set($splitMonth = $splits.december)
344:     #end
345: 
346:     #split($statPosBriefs, $month, $splitMonth)
347:   #end ## foreach
348: #end
349: </table>
350: </div>
351: </div> ## scrollable
352: </div> ## srollable-table
353: #end
354: 
355: #end ## macro splitsData
356: 
357: #macro (printRecentGames)
358: #if ($hasEvents)
359: <table>
360:   <tr class="thead accent-bg"><th colspan="3">Recent Games</th></tr>
361: 
362: #set ($eventEnd = -1)
363: #foreach ($event in $events)
364:   #if ($event.event.result.resolved)
365:     #set ($eventEnd = $velocityCount)
366:   #end
367: #end
368: 
369: #set ($eventStart = $eventEnd - 5)
370: #if ($eventStart < 0) #set ($eventStart = 0) #end
371: 
372: #foreach ($event in $events)
373: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
374:   <tr>
375:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
376:     <td class="text">
377:       #if ($event.event.neutralSite.length() > 0) vs.
378:       #elseif (!$event.event.home) at
379:       #else ## nothing for a home game
380:       #end
381:       $event.event.opponent.name
382:     </td>
383:     <td class="text">
384:     #if ($event.event.statusCode >= 0)
385:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
386:           <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
387:       #else
388:       ${event.event.APResult}
389:       #end
390: 	#end
391: 	</td>
392:   </tr>
393: #end ## if
394: #end
395: </table>
396: #end
397: #end ## macro printRecentGames
398: 
399: #macro (printCategories $briefCategoryLabels $v $ariaLabel)
400: 
401: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
402: <div class="tab-nav" data-module="jscroll" data-momentum="false">
403: <div>
404: <ul class="clearfix">
405: #foreach($briefCat in $briefCategoryLabels.entrySet())
406:   #set ($briefCatLabel = $briefCat.value)
407:   #set ($briefCatKey = $briefCat.key)
408: 
409:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
410:     #set ($briefCatLabel = "Defence")
411:   #end
412: 
413:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}" role="button" aria-label="${ariaLabel}: ${briefCatLabel}">$briefCatLabel</a></li>
414: #end
415: </ul>
416: </div>
417: </div>
418: <div class="tab-panels">
419: #foreach ($briefCat in $briefCategoryLabels.entrySet())
420:   #set ($class = "tab-panel clearfix")
421:   #if ($briefCat.key == $activePos)
422:     #set ($class = "tab-panel active clearfix")
423:   #end
424:   <div class="$class">
425:     <div class="stats-wrap clearfix">
426:     #if ($v == "splits")
427:       #splitsData($briefCat.key)
428:     #elseif ($v == "career")
429:       #careerData($briefCat.key)
430:     #end
431:     </div>
432:   </div>
433: #end
434: </div>
435: </div> ## tab-container
436: 
437: #end ## macro printCategories
438: 
439: #macro (printHeadshot)
440: #if ($enhancedLayout)
441: 
442:   #if ($headshot.url)
443:     <img src="$headshot.url?max_width=300&max_height=400" alt="$fullName" />
444:   #else
445:     #if ($website.exists("/images/setup/headshot_default.jpg"))
446:       <img src="/images/setup/headshot_default.jpg?max_width=300&max_height=400" alt="$fullName" />
447:     #else
448:       <img src="$website.cdn("/info/images/default_headshot.jpg?max_width=300&max_height=400")" alt="$fullName" />
449:     #end
450:   #end
451: 
452: #else
453: 
454:   #if ($!attributes.get("number").length() > 0)<span class="number">$!attributes.get("number")</span>#end
455: 
456:   #if ($headshot.url)
457:     <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" />
458:   #else
459:     #if ($website.exists("/images/setup/headshot_default.jpg"))
460:       <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="" />
461:     #else
462:       <img src="$website.cdn("/info/images/default_headshot.jpg?max_width=160&max_height=210")" alt="" />
463:     #end
464:   #end
465: 
466: #end ## ## enhancedLayout check
467: #end ## macro printHeadshot
468: 
469: #macro (printBioInfo)
470: #if ($enhancedLayout)
471: 
472: <h2 class="player-heading">
473:   #if ($!attributes.get("number").length() > 0)<span class="number accent-bg">$!attributes.get("number")</span>#end
474:   <span class="name">$fullName</span>
475: </h2>
476: 
477: <ul>
478: #foreach ($i in [1..10])
479:   #set ($stickyKey = "bio_custom${i}_sticky")
480:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
481:     <li>
482:       <dl>
483:         <dt class="label">$options.get($stickyKey): </dt>
484:         <dd class="value">$!attributes.get("custom${i}")</dd>
485:       </dl>
486:     </li>
487:   #end
488: #end
489: 
490: #foreach ($field in $fields)
491:   #if (!$field.key.startsWith("custom"))
492:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
493:       #if ($field.key == "phone1" || $field.key == "phone2")
494:         <li>
495:           <dl>
496:             <dt class="label">Phone: </dt>
497:             <dd class="value">$!attributes.get($field.key)</dd>
498:           </dl>
499:         </li>
500:       #elseif ($field.key == "email_address")
501:         #set ($emailAdd = $attributes.get($field.key))
502:         <li>
503:           <dl>
504:             <dt class="label">Email: </dt>
505:             <dd class="value"><a href="mailto:${emailAdd}">$emailAdd</a></dd>
506:           </dl>
507:         </li>
508:       #elseif ($field.key == "weight_class")
509:         <li>
510:           <dl>
511:             <dt class="label">Class: </dt>
512:             <dd class="value">$!attributes.get($field.key)</dd>
513:           </dl>
514:         </li>
515:       #elseif ($field.key != "position_abbr")
516:         <li>
517:           <dl>
518:             <dt class="label">$field.value: </dt>
519:             <dd class="value">$!attributes.get($field.key)</dd>
520:           </dl>
521:         </li>
522:       #end
523:     #end
524:   #end
525: #end
526: 
527: #foreach ($i in [1..10])
528:   #set ($customKey = "bio_custom${i}")
529:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
530:     <li>
531:       <dl>
532:         <dt class="label">$options.get($customKey): </dt>
533:         <dd class="value">$!attributes.get("custom${i}")</dd>
534:       </dl>
535:     </li>
536:   #end
537: #end
538: </ul>
539: 
540: #else
541: ## default layout
542: 
543: <div class="player-name">
544:   #if ($!attributes.get("number").length() > 0)<span class="number">$!attributes.get("number")</span><span class="sep"> - </span>#end
545:   <span class="name">$fullName</span>
546: </div>
547: 
548: <table role="presentation">
549: #foreach ($i in [1..10])
550:   #set ($stickyKey = "bio_custom${i}_sticky")
551:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
552:     <tr>
553:       <td class="label">$options.get($stickyKey): </td>
554:       <td class="value">$!attributes.get("custom${i}")</td>
555:     </tr>
556:   #end
557: #end
558: 
559: #foreach ($field in $fields)
560:   #if (!$field.key.startsWith("custom"))
561:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
562:       #if ($field.key == "phone1" || $field.key == "phone2")
563:         <tr>
564:           <td class="label">Phone: </td>
565:           <td class="value">$!attributes.get($field.key)</td>
566:         </tr>
567:       #elseif ($field.key == "email_address")
568:         #set ($emailAdd = $attributes.get($field.key))
569:         <tr>
570:           <td class="label">Email: </td>
571:           <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
572:         </tr>
573:       #elseif ($field.key == "weight_class")
574:         <tr>
575:           <td class="label">Class: </td>
576:           <td class="value">$!attributes.get($field.key)</td>
577:         </tr>
578:       #elseif ($field.key != "position_abbr")
579:         <tr>
580:           <td class="label">$field.value: </td>
581:           <td class="value">$!attributes.get($field.key)</td>
582:         </tr>
583:       #end
584:     #end
585:   #end
586: #end
587: 
588: #foreach ($i in [1..10])
589:   #set ($customKey = "bio_custom${i}")
590:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
591:     <tr>
592:       <td class="label">$options.get($customKey): </td>
593:       <td class="value">$!attributes.get("custom${i}")</td>
594:     </tr>
595:   #end
596: #end
597: </table>
598: #end ## enhancedLayout check
599: #end ## macro printBioInfo
600: 
601: #macro (printActionShots)
602: #if ($showActionShots)
603: 	## BANNERS SLIDER
604:     #set ($slickSettings = {
605: 		"autoplay": true,
606:         "fade": true,
607:         "arrows": false,
608:         "slidesToShow": 1,
609:         "slidesToScroll": 1,
610:         "lazyLoad": "ondemand",
611:         "responsive": "none"
612:     })
613:     #set ($slickSettings = $slickSettings.toString().replace("=", ":"))
614:     <div class="action-shots clearfix">
615:         <div class="slider" data-module="slick-slider-init" data-slick-settings="$slickSettings">
616:             #foreach ($photo in $playerPhotos)
617: 				#if ($velocityCount <= $actionShotsLimit)
618:     				#set ($imgAlt = "")
619:     				#if (!$image.altText.equals($image.title))
620:     					#set ($imgAlt = $image.altText)
621:     				#elseif( $image.title.length() == 0 )
622:     					#set ($imgAlt = "Action shot for $page.title image $velocityCount")
623:     				#end
624:             		<div class="image">
625:             			<img data-lazy="$photo.url" alt="$imgAlt" />
626:             	    </div>
627: 				#end
628:     	    #end
629: 	    </div>
630:     </div>
631: #end
632: #end ## macro printActionShots
633: 
634: #macro (printHighlights)
635: #if ($highlights && $showHighlights)
636:   <div class="highlights #if ($enhancedLayout) highlights-bio-enhanced #else highlights-bio #end clearfix">
637:     #foreach ($highlight in $highlights.keySet())
638:       #set ($value = "-")
639:       #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
640:       <div class="stat clearfix">
641:         <span class="stat-title">$!highlights.get($highlight)</span>
642:         <span class="stat-value">$value</span>
643:       </div>
644:     #end
645:   </div>
646: #end
647: #end ## macro printHighlights
648: #macro (printRoster)
649: #if ($enhancedLayout)
650:   $website.includeAgain("${page.url}?tmpl=roster-switcher-template&id=roster-list")
651: #else
652: #if ($page.contentType == "loki/bio")
653:   #set ($headlinesFeaturedSize = 0)
654:   #foreach ($featuredPage in $page.headlinesFeatured)
655:     #if ($featuredPage.contentType == "loki/headlines")
656:       #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
657:     #end
658:   #end
659:   #if ($headlinesFeaturedSize > 0)
660:       <select class="roster-select-list" aria-label="Select a player to view its full bio from the list of options below.">
661:         <option selected="selected">Related Bios</option>
662:         #foreach ($featuredPage in $page.headlinesFeatured)
663:           #if ($featuredPage.contentType == "loki/headlines")
664:             $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
665: 		  #end
666: 	    #end
667:       </select>
668:   #end
669: #elseif ($page.contentType == "loki/bio-network")
670:   #set ($relatedPlayers = $page.sectionPage.children)
671:   #set ($teamNames = {})
672:   #foreach ($relatedPlayer in $relatedPlayers)
673:     #if ($relatedPlayer.contentType == "loki/bio-network")
674:       #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
675:       #set ($teamName = $relatedPlayerObj.get("team"))
676:       #if ($teamName.length() > 0)
677:         #if (!$teamNames.containsValue($teamName))
678:           $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
679:         #end
680:       #end
681:     #end
682:   #end
683: 
684:   <select class="roster-select-list" aria-label="Select a player to view its full bio from the list of options below.">
685:   #foreach ($i in [1..$teamNames.size()])
686:     #if ($teamNames.size() > 1)
687:       <optgroup label="$teamNames.get($i)">
688:     #end
689: 
690:     #foreach ($relatedPlayer in $relatedPlayers)
691:       #if ($relatedPlayer.contentType == "loki/bio-network")
692:         #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
693:         #set ($teamName = $relatedPlayerObj.get("team"))
694:         #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
695:           #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
696:           #set ($playerLastName = $relatedPlayerObj.get("last_name"))
697:           #if ($page.url == $relatedPlayer.url)
698:             <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
699:           #else
700:             <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
701:           #end
702:         #end
703:       #end
704:     #end
705: 
706:     #if ($teamNames.size() > 1)
707:       </optgroup>
708:     #end
709:   #end
710:   </select>
711: #end
712: #end ## enhancedLayout check
713: #end ## macro printRoster
714: 
715: ################################################## END MACROS  #############################################################
716: 
717: #if ($attributes.get("full_name").length() > 0)
718:   #set ($fullName = $attributes.get("full_name"))
719: #else
720:   #set ($firstName = $!attributes.get("first_name"))
721:   #set ($lastName = $!attributes.get("last_name"))
722:   #set ($fullName = "${firstName} ${lastName}")
723: #end
724: 
725: #set ($actionShots = false)
726: #if ($enhancedLayout && $playerPhotos.size() > 0)
727:   #set ($actionShots = true)
728: #end
729: 
730: #if ($enhancedLayout)
731:   #set ($rootClass = "bio-enhanced")
732:   #if ($actionShots && $showActionShots)
733:   	#set ($rootClass = "${rootClass} action")
734:   #else
735:   	#set ($rootClass = "${rootClass} plain")
736:   #end
737: #else
738:   #set ($rootClass = "bio-wrap")
739: #end
740: 
741: ## FULL ROSTER
742: <div class="${rootClass} #if ($highlights) bio-wrap-has-highlights #end clearfix" data-module="stats/responsive-container">
743: 
744: ## RELATED BIOS
745: #if ($showRoster)
746:   <div class="related-bios clearfix">#printRoster</div>
747: #end
748: 
749: #if ($actionShots)
750:   #printActionShots
751: #end
752: 
753: <div class="head clearfix">
754: <div class="clearfix">
755: 
756: <div class="player-about clearfix">
757:   <div class="player-headshot">#printHeadshot</div>
758:   <div class="player-info">#printBioInfo</div>
759: </div>
760: 
761: #printHighlights
762: 
763: </div>
764: </div> ## head
765: 
766: #if ($view.length() > 0)
767: <div class="body clearfix">
768: 
769: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
770: <div class="tab-nav" data-module="jscroll" data-momentum="false">
771:   <div>
772:   <ul class="clearfix">
773:   #if ($hasSynopsis || $hasBioBrief)
774:     <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
775:   #end
776: 
777:   #if ($statsURL.length() > 0)
778:     <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
779:     <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
780:     #if ($showCareer)
781:       <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
782:     #end
783:     <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
784:   #end
785: 
786:   #if ($hasHTMLStats)
787:     <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
788:   #end
789: 
790:   #if ($releases.size() > 0)
791: 	<li #if ($view == "news") class="active" #end><a href="${page.url}?view=news">News</a></li>
792:   #end
793: 
794:   #if ($playerPhotos.size() > 0)
795: 	<li #if ($view == "photos") class="active" #end><a href="${page.url}?view=photos">Photos</a></li>
796:   #end
797: 
798:   #if ($playerVideos.size() > 0)
799:     <li #if ($view == "videos") class="active" #end><a href="${page.url}?view=videos">Videos</a></li>
800:   #end
801:   </ul>
802:   </div>
803: </div> ## tab-nav
804: 
805: <div class="tab-panels clearfix">
806: 
807: ## BIO
808: #if ($hasSynopsis || $hasBioBrief)
809: 
810: #set ($class = "tab-panel clearfix")
811: #if ($view == "bio")
812:   #set ($class = "tab-panel active clearfix")
813: #end
814: <div class="${class}">
815: 
816: <div class="synopsis clearfix">
817: #if ($hasSynopsis)
818:   $synopsis
819: #elseif ($hasBioBrief)
820:   $website.include("$bioBriefURL")
821: #end
822: </div>
823: 
824: </div> ## tab-panel
825: #end
826: ## BIO
827: 
828: ## STATS
829: #if ($statsURL.length() > 0)
830: 
831: ## PROFILE
832: #set ($class = "tab-panel clearfix")
833: #if ($view == "profile")
834:   #set ($class = "tab-panel active clearfix")
835: #end
836: <div class="${class}">
837: <div class="stats-wrap clearfix">
838: 
839: ## LAST SIX GAMES
840: <div class="stats-box half">
841: #printRecentGames()
842: </div>
843: 
844: ## RANKING
845: <div class="stats-box half">
846: #if ($statPos.length() > 0)
847:   $website.include("players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
848: #end
849: </div>
850: 
851: </div> ## stats-wrap
852: </div> ## tab-content
853: ## PROFILE
854: 
855: ## GAMELOG
856: #set ($class = "tab-panel clearfix")
857: #if ($view == "gamelog")
858:   #set ($class = "tab-panel active clearfix")
859: #end
860: 
861: #set ($activePos = $statPos)
862: #if ($view == "gamelog" && $paramPos.length() > 0)
863:   #if ($positions.get($paramPos).length() > 0)
864:     #set ($activePos = $positions.get($paramPos))
865:   #end
866: #end
867: 
868: <div class="${class}">
869: 
870: #if ($gamelogsCategoriesLabels)
871: <div class="tab-container clearfix secondary" data-module="stats/tabs" data-type="secondary">
872:   <div class="tab-nav" data-module="jscroll" data-momentum="false">
873:     <div>
874:     <ul class="clearfix">
875:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
876:       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
877: 
878:       #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
879:         #set($gamelogsCatLabelVal = "Defence")
880:       #end
881: 
882:       <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}" role="button" aria-label="Game Log: ${gamelogsCatLabelVal}">$gamelogsCatLabelVal</a></li>
883:     #end
884:     </ul>
885: 	</div>
886:   </div>
887:   <div class="tab-panels">
888:   #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
889:     #set ($class = "tab-panel clearfix")
890:     #if ($gamelogsCatLabel.key == $activePos)
891:       #set ($class = "tab-panel active clearfix")
892:     #end
893:     <div class="${class}">
894:       <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
895: 	</div>
896:   #end
897:   </div>
898: </div>
899: #else
900:   <div class="stats-wrap clearfix">#gamelogData($pos)</div>
901: #end
902: 
903: </div> ## tab-panel
904: ## GAMELOG
905: 
906: 
907: ## CAREER
908: #if ($showCareer)
909: 
910: #set ($activePos = $statPos)
911: #if ($view == "career" && $paramPos.length() > 0)
912:   #if ($positions.get($paramPos).length() > 0)
913:     #set ($activePos = $positions.get($paramPos))
914:   #end
915: #end
916: 
917: #set ($class = "tab-panel clearfix")
918: #if ($view == "career")
919:   #set ($class = "tab-panel active clearfix")
920: #end
921: 
922: <div class="${class}">
923: 
924: #if ($briefsCategoriesLabels)
925:   #printCategories($briefsCategoriesLabels "career" "Career Stats")
926: #else
927:   <div class="stats-wrap clearfix">#careerData($activePos)</div>
928: #end
929: 
930: </div> ## tab-panel
931: #end
932: ## CAREER
933: 
934: ## SPLITS
935: #set ($class = "tab-panel clearfix")
936: #if ($view == "splits")
937: 	#set ($class = "tab-panel active clearfix")
938: #end
939: 
940: #set ($activePos = $statPos)
941: #if ($view == "splits" && $paramPos.length() > 0)
942:   #if ($positions.get($paramPos).length() > 0)
943:     #set ($activePos = $positions.get($paramPos))
944:   #end
945: #end
946: 
947: <div class="${class}">
948: 
949: #if ($briefsCategoriesLabels)
950:   #printCategories($briefsCategoriesLabels "splits" "Splits Stats")
951: #else
952:   <div class="stats-wrap clearfix">#splitsData($pos)</div>
953: #end
954: 
955: </div> ## tab-panel
956: ## SPLITS
957: 
958: #end
959: ## STATS
960: 
961: ## HTML STATS
962: #if ($hasHTMLStats)
963: 
964: #set ($class = "tab-panel clearfix")
965: #if ($view == "htmlstats")
966:   #set ($class = "tab-panel active clearfix")
967: #end
968: <div class="${class}">
969:   <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
970: </div>
971: 
972: #end
973: ## HTML STATS
974: 
975: ## NEWS
976: #if ($releases.size() > 0)
977: #set ($class = "tab-panel clearfix")
978: #if ($view == "news")
979:   #set ($class = "tab-panel active clearfix")
980: #end
981: <div class="${class}">
982: 	#printGrid($releases, "article")
983: </div> ## tab-content
984: #end
985: ## NEWS
986: 
987: ## PHOTOS
988: #if ($playerPhotos.size() > 0)
989: #set ($class = "tab-panel clearfix")
990: #if ($view == "photos")
991:   #set ($class = "tab-panel active clearfix")
992: #end
993: <div class="${class}">
994:     $website.includeAgain("${page.url}?tmpl=bio-photos-template")
995: </div> ## tab-content
996: #end
997: ## PHOTOS
998: 
999: ## VIDEOS
1000: #if ($playerVideos.size() > 0)
1001:   #set ($class = "tab-panel clearfix")
1002:   #if ($view == "videos")
1003:     #set ($class = "tab-panel active clearfix")
1004:   #end
1005: <div class="${class}">
1006: 	#printGrid($playerVideos, "video")
1007: </div> ## tab-content
1008: #end
1009: ## VIDEOS
1010: 
1011: </div> ## tab-panels
1012: </div> ## tab-container
1013: </div> ## body
1014: #end
1015: 
1016: $wiki
1017: </div> ## ends bio-wrap
1018: 
1019: ## GLOBAL ADS SERVER
1020: #if ($website.ads.isAdvertisingEnabled('BIOS'))
1021:         $website.includeAgain("global-adserver-slots?adSlot=bios")
1022: #end