15 Vinny DeLucia
15 Vinny DeLucia
Height: 6-0
Weight: 180
Year: So.
Hometown: Miami, Fla.
High School: Sagemont Upper School
Position: G
gp 24
pts/g 12.6
fg % 42.7
3pt % 40.9
ft % 89.1
reb/g 2.0
a/g 2.3

2012-13 Started in 23 of the 25 games played in his sophomore campaign … Named the Little East Conference Player of the Week on January 28 … Currently sits sixth all-time at UMass Boston with 93 career made 3-pointers and second with a career 3-point field goal percentage of 44.1% … Led the Beacons in points per game (12.6), three point field goal percentage (45-110, 40.9%) and free throw percentage (41-45, 89.1%) … Finished second on the team in field goal percentage as he shot 42.7% (108-253) … Averaged team leading 31.5 minutes of playing time … Ranked second on the team in steals with 35 and third in assists with 55 … Grabbed a combined 47 boards to help out in the paint … Ended the year ranked fourth in the Little East Conference in 3-piont field goal percentage, eighth in 3-pointers made, 11th in points and assists per game (2.3 apg) … Scored 10 or more points in 18 games, including a season-high 26 on 9-of-18 shooting against Keene State College on January 26 … Finished with 23 points on 8-of-12 shooting from the floor and 4-of-5 shooting from 3-point range in the Little East Conference game with Eastern Connecticut State University on January 12 … Shot a season-high 75.0% from the field in the November 24 win over Trinity College (Conn.) in the championship game of the Harbor Invitational Tournament, which earned him All-Tournament Team honors … Recorded back-to-back games in which he shot 66.7% from behind the arc both on the road at UMass Dartmouth (Feb. 13) and at Eastern Connecticut State (Feb. 16) … Was a perfect 6-for-6 at the line against Keene State College on January 26 … Handed out a season-best six assists against Bridgewater State on January 10 … Came-up with eight steals, while also finishing with 15 points and two assists in the January 22 game with UMass Dartmouth … Recorded a streak of eight straight games in which he scored 10 or more points from January 8-26.

2011-12 Became the first player in program history to be named D3Hoops.com Northeast Region Rookie of the Year … First player to be named to the D3Hoops.com Team of the Week … Named the Little East Conference Rookie of the Year and earned All-Rookie Team Honors … Selected as the LEC Rookie of the Week a conference best three times … Averaged 11.6 points per game (291 pts.) … Averaged just over 30 minutes of playing time a game … Started all 25 games as a freshman … Shot 41.1% from the field (102-248), 47.5% from 3-point range (48-101), and 70.9% from the line (39-55) … Combined for 70 rebounds, 79 assists, and 38 steals … Posted his first double-figure game on November 22 when he scored 23 points against Fitchburg State University … Scored 10 or more points in three straight games including back-to-back 17 point showings … Scored a career-best 29 points at Southern Maine on February 7 … Averaged 21.75 points per game during the final four games of the regular season … Posted three 20+ point games … Shot a career-best 62.5% (10-16) from the field and 66.7% (6-9) from behind the arc at Southern Maine.

PERSONAL/HIGH SCHOOL Played basketball, volleyball and ran track at Sagemont Upper High School in Weston, Florida ... Helped the Lions to the 2011 State Championship ... Was an Honorable Mention selection in his conference during his senior season ... Named to his high school's honor roll ... Born May 3, 1993 ... Has two brothers, Mike and Nick ... Son of Nancy and Mike DeLucia ... Currently majoring in Economics.

Career Stats

 


Minutes  Total  3-Point  F-Throws  Rebounds   
Year  gp-gs  min  avg  fg  fga  pct  fg  fga  pct  ft  fta  pct  off  def  tot  avg  pf  fo  ast  t/o  blk  stl  pts  avg 
2011-12   25-25  765  30.6  102  248  .411  48  101  .475  39  55  .709  66  70  2.8  41  79  70  38  291  11.6 
2012-13   24-23  755  31.5  108  253  .427  45  110  .409  41  46  .891  43  47  2.0  35  55  42  35  302  12.6 
TOTAL  49-48  1520  31.0  210  501  .419  93  211  .441  80  101  .792  109  117  2.4  76  134  112  73  593  12.1

 

 

Recent Games
Feb 2 Rhode Island College L, 81-50
Feb 5 University of Southern Maine W, 69-55
Feb 11 Plymouth State University W, 65-64
Feb 13 at UMass Dartmouth W, 76-74
Feb 16 at Eastern Connecticut State University L, 74-44
Feb 19 at University of Southern Maine L, 85-65
Statistics category Overall Conf
Games 24 14
Games started 23 13
Minutes 756 467
Minutes per game 31.5 33.4
FG 108-253 69-151
FG Pct 42.7 45.7
3PT 45-110 29-65
3PT Pct 40.9 44.6
FT 41-46 29-31
FT Pct 89.1 93.5
Off rebounds 4 1
Def rebounds 43 26
Total rebounds 47 27
Rebounds per game 2.0 1.9
Personal fouls 35 20
Disqualifications 0 0
Assists 55 31
Turnovers 42 21
Assist to turnover ratio 1.3 1.5
Steals 35 25
Blocks 0 0
Points 302 196
Points per game 12.6 14.0
Points per 40 min 16.0 16.8
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 17 vs. Franciscan University W, 87-71 1 17 4-6 66.7 1-2 50.0 0-0 - 9
Nov 18 at Stevenson University L, 72-70 1 32 4-13 30.8 4-7 57.1 2-2 100.0 14
Nov 20 at Fitchburg State University L, 76-73 1 37 4-13 30.8 0-4 0.0 2-2 100.0 10
Nov 23 University of New England W, 72-30 1 22 1-6 16.7 1-5 20.0 2-2 100.0 5
Nov 24 Trinity College (Conn.) W, 76-60 1 32 6-8 75.0 4-5 80.0 1-2 50.0 17
Nov 29 Suffolk University W, 92-78 1 26 1-6 16.7 0-4 0.0 2-3 66.7 4
Dec 1 at Western Connecticut State University W, 71-64 1 27 4-8 50.0 2-3 66.7 0-0 - 10
Dec 4 at MIT L, 54-44 1 27 4-9 44.4 2-4 50.0 0-0 - 10
Dec 8 at Keene State College L, 80-76 1 36 6-13 46.2 5-8 62.5 2-2 100.0 19
Dec 13 Framingham State University W, 71-55 - - - - - - - - -
Jan 5 at Rhode Island College L, 63-49 - 23 1-4 25.0 0-2 0.0 0-0 - 2
Jan 8 at Plymouth State University W, 77-60 1 31 4-8 50.0 2-5 40.0 4-5 80.0 14
Jan 10 Bridgewater State University (Mass.) W, 72-71 1 37 5-13 38.5 1-4 25.0 1-1 100.0 12
Jan 12 Eastern Connecticut State University L, 73-70 1 37 8-12 66.7 4-5 80.0 3-3 100.0 23
Jan 15 at University of Southern Maine L, 64-58 1 33 4-14 28.6 2-8 25.0 2-2 100.0 12
Jan 19 Western Connecticut State University W, 68-64 1 29 4-8 50.0 1-3 33.3 4-4 100.0 13
Jan 22 UMass Dartmouth L, 67-58 1 37 5-15 33.3 1-7 14.3 4-4 100.0 15
Jan 24 at Tufts University L, 67-48 1 33 6-13 46.2 2-6 33.3 0-0 - 14
Jan 26 Keene State College L, 91-82 1 38 9-18 50.0 2-6 33.3 6-6 100.0 26
Feb 2 Rhode Island College L, 81-50 1 31 3-8 37.5 1-3 33.3 2-2 100.0 9
Feb 5 University of Southern Maine W, 69-55 1 39 6-9 66.7 3-5 60.0 1-2 50.0 16
Feb 11 Plymouth State University W, 65-64 1 36 4-10 40.0 0-1 0.0 1-1 100.0 9
Feb 13 at UMass Dartmouth W, 76-74 1 35 5-12 41.7 4-6 66.7 0-0 - 14
Feb 16 at Eastern Connecticut State University L, 74-44 1 35 6-12 50.0 2-3 66.7 0-0 - 14
Feb 19 at University of Southern Maine L, 85-65 1 26 4-15 26.7 1-4 25.0 2-3 66.7 11
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 17 vs. Franciscan University W, 87-71 1 17 0 1 1 1 1 1.0 0 0 0 0
Nov 18 at Stevenson University L, 72-70 1 32 2 1 3 3 3 1.0 1 0 3 0
Nov 20 at Fitchburg State University L, 76-73 1 37 0 2 2 3 1 3.0 2 0 2 0
Nov 23 University of New England W, 72-30 1 22 0 1 1 3 1 3.0 3 0 0 0
Nov 24 Trinity College (Conn.) W, 76-60 1 32 0 3 3 2 2 1.0 1 0 2 0
Nov 29 Suffolk University W, 92-78 1 26 0 2 2 4 2 2.0 0 0 2 0
Dec 1 at Western Connecticut State University W, 71-64 1 27 0 5 5 1 2 0.5 0 0 0 0
Dec 4 at MIT L, 54-44 1 27 0 1 1 0 6 0.0 2 0 1 0
Dec 8 at Keene State College L, 80-76 1 36 1 2 3 3 2 1.5 4 0 2 0
Dec 13 Framingham State University W, 71-55 - - - - - - - - - - - -
Jan 5 at Rhode Island College L, 63-49 - 23 0 2 2 1 0 - 1 0 0 0
Jan 8 at Plymouth State University W, 77-60 1 31 0 1 1 3 1 3.0 2 0 1 0
Jan 10 Bridgewater State University (Mass.) W, 72-71 1 37 0 0 0 6 3 2.0 0 0 2 0
Jan 12 Eastern Connecticut State University L, 73-70 1 37 0 2 2 2 2 1.0 2 0 2 0
Jan 15 at University of Southern Maine L, 64-58 1 33 0 3 3 3 1 3.0 0 0 3 0
Jan 19 Western Connecticut State University W, 68-64 1 29 0 0 0 1 2 0.5 1 0 1 0
Jan 22 UMass Dartmouth L, 67-58 1 37 0 2 2 2 1 2.0 8 0 2 0
Jan 24 at Tufts University L, 67-48 1 33 1 2 3 0 1 0.0 0 0 1 0
Jan 26 Keene State College L, 91-82 1 38 0 1 1 4 3 1.3 2 0 4 0
Feb 2 Rhode Island College L, 81-50 1 31 0 1 1 1 3 0.3 0 0 4 0
Feb 5 University of Southern Maine W, 69-55 1 39 0 1 1 5 0 - 2 0 1 0
Feb 11 Plymouth State University W, 65-64 1 36 0 0 0 4 0 - 1 0 0 0
Feb 13 at UMass Dartmouth W, 76-74 1 35 0 4 4 1 2 0.5 1 0 0 0
Feb 16 at Eastern Connecticut State University L, 74-44 1 35 0 2 2 0 2 0.0 1 0 0 0
Feb 19 at University of Southern Maine L, 85-65 1 26 0 4 4 2 1 2.0 1 0 2 0
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2012-13 24 23 31.5 4.5-10.5 42.7 1.9-4.6 40.9 1.7-1.9 89.1 12.6
Total 24 23 31.5 4.5-10.5 42.7 1.9-4.6 40.9 1.7-1.9 89.1 12.6
  gp gs min fg pct 3pt pct ft pct pts
2012-13 24 23 756 108-253 42.7 45-110 40.9 41-46 89.1 302
Total 24 23 756 108-253 42.7 45-110 40.9 41-46 89.1 302
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2012-13 24 23 31.5 5.7-13.4 42.7 2.4-5.8 40.9 2.2-2.4 89.1 16.0
Total 24 23 31.5 5.7-13.4 42.7 2.4-5.8 40.9 2.2-2.4 89.1 16.0
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2012-13 24 23 31.5 0.2 1.8 2.0 1.5 0.0 2.3 1.8 1.3 1.5 0.0
Total 24 23 31.5 0.2 1.8 2.0 1.5 0.0 2.3 1.8 1.3 1.5 0.0
  gp gs min off def reb pf dq ast to a/to stl blk
2012-13 24 23 756 4 43 47 35 0 55 42 1.3 35 0
Total 24 23 756 4 43 47 35 0 55 42 1.3 35 0
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
2012-13 24 23 31.5 0.2 2.3 2.5 1.9 0.0 2.9 2.2 1.3 1.9 0.0
Total 24 23 31.5 0.2 2.3 2.5 1.9 0.0 2.9 2.2 1.3 1.9 0.0
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 24 23 31.5 4.5-10.5 42.7 1.9-4.6 40.9 1.7-1.9 89.1 12.6
Conference 14 13 33.4 4.9-10.8 45.7 2.1-4.6 44.6 2.1-2.2 93.5 14.0
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Home 11 11 33.1 4.7-10.3 46.0 1.6-4.4 37.5 2.5-2.7 90.0 13.5
Away 12 11 31.3 4.3-11.2 38.8 2.2-5.0 43.3 1.2-1.3 87.5 12.0
Neutral 1 1 17.0 4.0-6.0 66.7 1.0-2.0 50.0 0.0-0.0 - 9.0
-
Wins 11 11 30.1 4.0-8.5 46.8 1.7-3.9 44.2 1.5-1.8 80.0 11.2
Losses 13 12 32.7 4.9-12.2 40.3 2.0-5.2 38.8 1.9-2.0 96.2 13.8
-
November 6 6 27.7 3.3-8.7 38.5 1.7-4.5 37.0 1.5-1.8 81.8 9.8
December 3 3 30.0 4.7-10.0 46.7 3.0-5.0 60.0 0.7-0.7 100.0 13.0
January 9 8 33.1 5.1-11.7 43.8 1.7-5.1 32.6 2.7-2.8 96.0 14.6
February 6 6 33.7 4.7-11.0 42.4 1.8-3.7 50.0 1.0-1.3 75.0 12.2
  gp gs min fg pct 3pt pct ft pct pts
Total 24 23 756 108-253 42.7 45-110 40.9 41-46 89.1 302
Conference 14 13 467 69-151 45.7 29-65 44.6 29-31 93.5 196
Exhibition - - - 0-0 - 0-0 - 0-0 - 0
-
Home 11 11 364 52-113 46.0 18-48 37.5 27-30 90.0 149
Away 12 11 375 52-134 38.8 26-60 43.3 14-16 87.5 144
Neutral 1 1 17 4-6 66.7 1-2 50.0 0-0 - 9
-
Wins 11 11 331 44-94 46.8 19-43 44.2 16-20 80.0 123
Losses 13 12 425 64-159 40.3 26-67 38.8 25-26 96.2 179
-
November 6 6 166 20-52 38.5 10-27 37.0 9-11 81.8 59
December 3 3 90 14-30 46.7 9-15 60.0 2-2 100.0 39
January 9 8 298 46-105 43.8 15-46 32.6 24-25 96.0 131
February 6 6 202 28-66 42.4 11-22 50.0 6-8 75.0 73
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
Total 24 23 31.5 5.7-13.4 42.7 2.4-5.8 40.9 2.2-2.4 89.1 16.0
Conference 14 13 33.4 5.9-12.9 45.7 2.5-5.6 44.6 2.5-2.7 93.5 16.8
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Home 11 11 33.1 5.7-12.4 46.0 2.0-5.3 37.5 3.0-3.3 90.0 16.4
Away 12 11 31.3 5.5-14.3 38.8 2.8-6.4 43.3 1.5-1.7 87.5 15.4
Neutral 1 1 17.0 9.4-14.1 66.7 2.4-4.7 50.0 0.0-0.0 - 21.2
-
Wins 11 11 30.1 5.3-11.4 46.8 2.3-5.2 44.2 1.9-2.4 80.0 14.9
Losses 13 12 32.7 6.0-15.0 40.3 2.4-6.3 38.8 2.4-2.4 96.2 16.8
-
November 6 6 27.7 4.8-12.5 38.5 2.4-6.5 37.0 2.2-2.7 81.8 14.2
December 3 3 30.0 6.2-13.3 46.7 4.0-6.7 60.0 0.9-0.9 100.0 17.3
January 9 8 33.1 6.2-14.1 43.8 2.0-6.2 32.6 3.2-3.4 96.0 17.6
February 6 6 33.7 5.5-13.1 42.4 2.2-4.4 50.0 1.2-1.6 75.0 14.5
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
Total 24 23 31.5 0.2 1.8 2.0 1.5 0.0 2.3 1.8 1.3 1.5 0.0
Conference 14 13 33.4 0.1 1.9 1.9 1.4 0.0 2.2 1.5 1.5 1.8 0.0
Exhibition - - - - - - - - - - - - -
-
Home 11 11 33.1 0.0 1.2 1.2 1.8 0.0 3.1 1.7 1.8 1.8 0.0
Away 12 11 31.3 0.3 2.4 2.8 1.3 0.0 1.7 1.8 0.9 1.3 0.0
Neutral 1 1 17.0 0.0 1.0 1.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0
-
Wins 11 11 30.1 0.0 1.6 1.6 0.8 0.0 2.8 1.5 1.9 1.0 0.0
Losses 13 12 32.7 0.3 1.9 2.2 2.0 0.0 1.8 2.0 0.9 1.8 0.0
-
November 6 6 27.7 0.3 1.7 2.0 1.5 0.0 2.7 1.7 1.6 1.2 0.0
December 3 3 30.0 0.3 2.7 3.0 1.0 0.0 1.3 3.3 0.4 2.0 0.0
January 9 8 33.1 0.1 1.4 1.6 1.8 0.0 2.4 1.6 1.6 1.8 0.0
February 6 6 33.7 0.0 2.0 2.0 1.2 0.0 2.2 1.3 1.6 1.0 0.0
  gp gs min off def reb pf dq ast to a/to stl blk
Total 24 23 756 4 43 47 35 0 55 42 1.3 35 0
Conference 14 13 467 1 26 27 20 0 31 21 1.5 25 0
Exhibition - - - - - - - - - - - - -
-
Home 11 11 364 0 13 13 20 0 34 19 1.8 20 0
Away 12 11 375 4 29 33 15 0 20 22 0.9 15 0
Neutral 1 1 17 0 1 1 0 0 1 1 1.0 0 0
-
Wins 11 11 331 0 18 18 9 0 31 16 1.9 11 0
Losses 13 12 425 4 25 29 26 0 24 26 0.9 24 0
-
November 6 6 166 2 10 12 9 0 16 10 1.6 7 0
December 3 3 90 1 8 9 3 0 4 10 0.4 6 0
January 9 8 298 1 13 14 16 0 22 14 1.6 16 0
February 6 6 202 0 12 12 7 0 13 8 1.6 6 0
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
Total 24 23 31.5 0.2 2.3 2.5 1.9 0.0 2.9 2.2 1.3 1.9 0.0
Conference 14 13 33.4 0.1 2.2 2.3 1.7 0.0 2.7 1.8 1.5 2.1 0.0
Exhibition - - - - - - - - - - - - -
-
Home 11 11 33.1 0.0 1.4 1.4 2.2 0.0 3.7 2.1 1.8 2.2 0.0
Away 12 11 31.3 0.4 3.1 3.5 1.6 0.0 2.1 2.3 0.9 1.6 0.0
There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too few arguments to macro. Wanted 4 got 3 at bio-template[line 226, column 1]
Page source:
1: ## PICK UP OPTIONS
2: $website.include("options")
3: #set ($options = $request.getAttribute("options"))
4: #set ($locale = "en_us")
5: #set ($locale = $options.get("locale"))
6: 
7: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
8: #set ($bioObject = $page.getDataAsObject())
9: #set ($statsURL = $bioObject.statsURL)
10: 
11: #if ($statsURL.length() > 0)
12:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
13:   ## various settings to get the variables set
14:   #set ($events = $request.getAttribute("bio_events"))
15:   #set ($seasons = $request.getAttribute("bio_seasons"))
16:   #set ($career = $request.getAttribute("bio_career"))
17:   #set ($labels = $request.getAttribute("bio_labels"))
18:   #set ($briefs = $request.getAttribute("bio_briefs"))
19:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
20:   #set ($splits = $request.getAttribute("bio_splits"))
21:   #set ($statPosition = $request.getAttribute("bio_position"))
22:   #set ($positions = $request.getAttribute("bio_positions"))
23:   #set ($playerId = $request.getAttribute("bio_player_id"))
24:   #set ($highlights = $request.getAttribute("bio_highlights"))
25:   #set ($formats = $request.getAttribute("bio_formats"))
26:   #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels"))
27:   #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels"))
28:   #set ($gamesResults = $request.getAttribute("bio_games_results"))
29:   #set ($monthsPlayed = $request.getAttribute("bio_months_played"))
30: #end
31: 
32: #set ($pos = "")
33: #set ($pos = $attributes.get("position"))
34: #set ($pos = $statPosition)
35: #set ($posVec = $pos.split("/"))
36: #set ($pos = $posVec[0])
37: #set ($pos = $pos.toLowerCase())
38: #set ($statPos = $positions.get($pos))
39: #set ($paramPos = $request.getParameter("pos"))
40: 
41: #set ($playerId = $attributes.get("playerId"))
42: #set ($stats = $splits.overall)
43: #set ($highlights = $highlights.get($statPos))
44: 
45: #set ($showHighlights = true)
46: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
47: 	#set ($showHighlights = false)
48: #end
49: 
50: #set ($showCareer = $wiki.valid() && $seasons)
51: #if ("yes" == $options.get("stats_show_career") && $seasons)
52:   #set ($showCareer = true)
53: #end
54: 
55: #set ($hasEvents = $events.size() > 0)
56: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
57: #set ($htmlStatsURL = "${page.url}-stats")
58: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
59: #set ($bioBriefURL = "${page.url}-brief")
60: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
61: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
62: #if ($options.get("bio_hide_roster") == true)
63:   #set ($showRoster = false)
64: #end
65: 
66: #set ($view = "")
67: #if ($hasSynopsis || $hasBioBrief)
68:   #set ($view = "bio")
69: #elseif ($statsURL.length() > 0)
70:   #set ($view = "profile")
71: #elseif ($hasHTMLStats)
72:   #set ($view = "htmlstats")
73: #elseif ($releases.size() > 0)
74:   #set ($view = "news")
75: #end
76: 
77: #if ($options.get("bio_default_view").length() > 0)
78:   #set ($checkView = $options.get("bio_default_view"))
79: #end
80: 
81: #if ($request.getParameter("view"))
82:   #set ($checkView = $request.getParameter("view"))
83: #end
84: 
85: #if ($checkView == "profile" && $statsURL.length() > 0)
86:   #set ($view = "profile")
87: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
88:   #set ($view = "bio")
89: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
90:   #set ($view = "gamelog")
91: #elseif ($checkView == "career" && $showCareer)
92:   #set ($view = "career")
93: #elseif ($checkView == "splits" && $statsURL.length() > 0)
94:   #set ($view = "splits")
95: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
96:   #set ($view = "htmlstats")
97: #elseif ($checkView == "news" && $releases.size() > 0)
98:   #set ($view = "news")
99: #end
100: 
101: #macro (gamelogData $p)
102: 
103: #set ($p = $positions.get($p))
104: #set ($gamelogs = $gamelogs.get($p))
105: 	
106: #if ($hasEvents)
107: <div class="stats-box full clearfix">
108: <div class="scrollable">
109: <div>
110: <table>
111:   <tr class="thead">
112:     <th class="text">Date</th>
113:     <th class="pinned-col text">Opponent</th>
114:     <th>Score</th>
115:     #foreach ($gamelog in $gamelogs)
116:       <th>$gamelog</th>
117:     #end
118:   </tr>
119: #foreach ($event in $events)
120:   <tr>
121:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
122:     <td class="pinned-col text">
123:       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
124:       $event.event.opponent.name
125:     </td>
126:     <td>
127:     #if ($event.event.statusCode >= 0)
128:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
129:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
130:       #else
131:       ${event.event.APResult}
132:       #end
133:     #else &nbsp; #end
134:     </td>
135:     #foreach ($gamelog in $gamelogs.keySet())
136:       #set ($value = "-")
137:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
138:       <td>$value</td>
139:     #end
140:   </tr>
141: #end
142: </table>
143: </div>
144: </div> ## scrollable
145: </div> ## stats-box
146: #end
147: 
148: #end ## macro gamelogData
149: 
150: #macro (split $statPosBriefs $label $stats)
151:   <tr>
152:     <td class="pinned-col text">${label}</td>
153:     #foreach ($brief in $statPosBriefs.keySet())
154:       #set ($value = "-")
155:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
156:       <td>#if ($value.length() > 0) $value #else - #end</td>
157:     #end
158:   </tr>
159: #end
160: 
161: #macro (careerData $p)
162: #set ($p = $positions.get($p))
163: #set ($statPosBriefs = $briefs.get($p))
164: 
165: <div class="stats-box full clearfix">
166: <div class="scrollable">
167: <div>
168: <table>
169: <tr class="thead">
170:   <th class="pinned-col">&nbsp;</th>
171:   #foreach ($brief in $statPosBriefs)
172:     <th>$brief</th>
173:   #end
174: </tr>
175: 
176: #set ($careerTotals = $request.getAttribute("careerTotals"))
177: #set ($careerMap = $request.getAttribute("careerMap"))
178: 
179: #foreach ($season in $seasons)
180:   ## Check if we did not get stats for this season
181:   #if ($careerMap.get($season.seasonName))
182:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName])
183:   #elseif ($wiki.valid())
184:     <tr>
185:       <td class="text">${season.seasonName}</td>
186:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
187:     </tr>
188:   #end
189: #end
190: 
191: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
192: 
193: </table>
194: </div>
195: </div> ## scrollable
196: </div> ## stats-box
197: 
198: #end ## macro careerData
199: 
200: #macro (splitsData $p)
201: 
202: #set ($p = $positions.get($p))
203: #set ($statPosBriefs = $briefs.get($p))
204: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))	
205: 	
206: #if ($statPosBriefs.size() > 0)
207: <div class="stats-box full clearfix">
208: <div class="scrollable">
209: <div>
210: <table>
211:   <tr>
212:     <th class="pinned-col">&nbsp;</th>
213:     #foreach ($brief in $statPosBriefs)
214:       <th>$brief</th>
215:     #end
216:   </tr>
217: 
218: #split($statPosBriefs, "Total", $splits.overall)
219: #split($statPosBriefs, "Conference", $splits.conference)
220: #split($statPosBriefs, "Exhibition", $splits.exhibition)
221: 
222: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
223: 
224: #split($statPosBriefs, "Home", $splits.home)
225: #split($statPosBriefs, "Away", $splits.away)
226: #split($statPosBriefs, "Neutral", $splits.neutral)
227: 
228: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
229: 
230: #foreach($gameResult in $gamesResults.entrySet())
231:   #if ($gameResult.key == "wins")
232:     #set ($splitGameResult = $splits.inWins)
233:   #elseif ($gameResult.key == "losses")
234:     #set ($splitGameResult = $splits.inLosses)
235:   #elseif ($gameResult.key == "ties")
236:     #set ($splitGameResult = $splits.inTies)
237:   #end
238: 	
239:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
240: #end
241: 
242: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
243: 
244: #if ($monthsPlayed and $monthsPlayed.size() > 0)
245:   #foreach($month in $monthsPlayed)
246:     #if ($month == 'January')
247:       #set ($splitMonth = $splits.january)
248:     #elseif ($month == 'February')
249:       #set ($splitMonth = $splits.february)
250:     #elseif ($month == 'March')
251:       #set($splitMonth = $splits.march)
252:     #elseif ($month == 'April')
253:       #set($splitMonth = $splits.april)
254:     #elseif ($month == 'May')
255:       #set ($splitMonth = $splits.may)
256:     #elseif ($month == 'June')
257:       #set ($splitMonth = $splits.june)
258:     #elseif ($month == 'July')
259:       #set($splitMonth = $splits.july)
260:     #elseif ($month == 'August')
261:       #set ($splitMonth = $splits.august)
262:     #elseif ($month == 'September')
263:       #set($splitMonth = $splits.september)
264:     #elseif ($month == 'October')
265:       #set($splitMonth = $splits.october)
266:     #elseif ($month == 'November')
267:       #set ($splitMonth = $splits.november)
268:     #elseif ($month == 'December')
269:       #set($splitMonth = $splits.december)
270:     #end
271: 		
272:     #split($statPosBriefs, $month, $splitMonth)
273:   #end ## foreach
274: #end
275: </table>
276: </div>
277: </div> ## scrollable
278: </div> ## srollable-table
279: #end
280: 
281: #end ## macro splitsData
282: 
283: #macro (printRecentGames)
284: #if ($hasEvents)
285: <table>
286:   <tr class="thead"><th colspan="3">Recent Games</th></tr>
287:   
288: #set ($eventEnd = -1)
289: #foreach ($event in $events)
290:   #if ($event.event.result.resolved)
291:     #set ($eventEnd = $velocityCount)
292:   #end
293: #end
294: 
295: #set ($eventStart = $eventEnd - 5)
296: #if ($eventStart < 0) #set ($eventStart = 0) #end
297: 
298: #foreach ($event in $events)
299: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
300:   <tr>
301:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
302:     <td class="text">
303:       #if ($event.event.neutralSite.length() > 0) vs.
304:       #elseif (!$event.event.home) at
305:       #else ## nothing for a home game
306:       #end
307:       $event.event.opponent.name
308:     </td>
309:     <td class="text">
310:     #if ($event.event.statusCode >= 0)
311:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
312:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
313:       #else
314:       ${event.event.APResult}
315:       #end
316: 	#end
317: 	</td>
318:   </tr>
319: #end ## if
320: #end
321: </table>
322: #end
323: #end ## macro printRecentGames
324: 
325: #macro (printCategories $briefCategoryLabels $v)
326: 	
327: <div class="tab-container secondary clearfix">
328: <div class="tab-nav" data-jscroll="true" data-momentum="false">
329: <div>
330: <ul class="clearfix">
331: #foreach($briefCat in $briefCategoryLabels.entrySet())
332:   #set ($briefCatLabel = $briefCat.value)
333:   #set ($briefCatKey = $briefCat.key)
334: 		
335:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
336:     #set ($briefCatLabel = "Defence")
337:   #end	
338: 	
339:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}">$briefCatLabel</a></li>
340: #end
341: </ul>
342: </div>
343: </div>
344: <div class="tab-panels">
345: #foreach ($briefCat in $briefCategoryLabels.entrySet())
346:   #set ($class = "tab-panel clearfix")
347:   #if ($briefCat.key == $activePos)
348:     #set ($class = "tab-panel active clearfix")
349:   #end
350:   <div class="$class">
351:     <div class="stats-wrap clearfix">
352:     #if ($v == "splits")
353:       #splitsData($briefCat.key)
354:     #elseif ($v == "career")
355:       #careerData($briefCat.key)
356:     #end
357:     </div>
358:   </div>
359: #end	
360: </div>
361: </div> ## tab-container
362: 
363: #end ## macro printCategories
364: 	
365: #macro (printHeadshot)
366: 
367: #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
368: 
369: #if ($headshot.url)
370:   <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
371: #else
372:   #if ($website.exists("/images/setup/headshot_default.jpg"))
373:     <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
374:   #else
375:     <img src="/info/images/default_headshot.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
376:   #end
377: #end
378: #end ## macro printHeadshot
379: 	
380: #macro (printBioInfo)
381: <div class="player-name">
382:   #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
383:   <span class="name">$fullName</span>
384: </div>	
385: 	
386: <table>
387: #foreach ($i in [1..10])
388:   #set ($stickyKey = "bio_custom${i}_sticky")
389:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
390:     <tr>
391:       <td class="label">$options.get($stickyKey): </td>
392:       <td class="value">$!attributes.get("custom${i}")</td>
393:     </tr>
394:   #end
395: #end
396: 
397: #foreach ($field in $fields)
398:   #if (!$field.key.startsWith("custom"))
399:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
400:       #if ($field.key == "phone1" || $field.key == "phone2")
401:         <tr>
402:           <td class="label">Phone: </td>
403:           <td class="value">$!attributes.get($field.key)</td>
404:         </tr>
405:       #elseif ($field.key == "email_address")
406:         #set ($emailAdd = $attributes.get($field.key))
407:         <tr>
408:           <td class="label">Email: </td>
409:           <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
410:         </tr>
411:       #else
412:         <tr>
413:           <td class="label">$field.value: </td>
414:           <td class="value">$!attributes.get($field.key)</td>
415:         </tr>
416:       #end
417:     #end
418:   #end
419: #end
420: 
421: #foreach ($i in [1..10])
422:   #set ($customKey = "bio_custom${i}")
423:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
424:     <tr>
425:       <td class="label">$options.get($customKey): </td>
426:       <td class="value">$!attributes.get("custom${i}")</td>
427:     </tr>
428:   #end
429: #end
430: </table>
431: #end ## macro printBioInfo
432: 	
433: #macro (printHighlights)
434: #foreach ($highlight in $highlights.keySet())
435:   #set ($value = "-")
436:   #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
437:   <div class="stat clearfix">
438:     <span class="stat-title">$!highlights.get($highlight)</span>
439:     <span class="stat-value">$value</span>
440:   </div>
441: #end
442: #end ## macro printHighlights
443: 	
444: #macro (printRoster)
445: #if ($page.contentType == "loki/bio")
446:   #set ($headlinesFeaturedSize = 0)
447:   #foreach ($featuredPage in $page.headlinesFeatured)
448:     #if ($featuredPage.contentType == "loki/headlines")
449:       #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
450:     #end
451:   #end
452:   #if ($headlinesFeaturedSize > 0)
453:     <select class="roster-select-list">
454:       <option selected="selected">Related Bios</option>
455:       #foreach ($featuredPage in $page.headlinesFeatured)
456:         #if ($featuredPage.contentType == "loki/headlines")
457:           $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
458: 		#end
459: 	  #end
460:     </select>
461:   #end
462: #elseif ($page.contentType == "loki/bio-network")
463:   #set ($relatedPlayers = $page.sectionPage.children)
464:   #set ($teamNames = {})
465:   #foreach ($relatedPlayer in $relatedPlayers)
466:     #if ($relatedPlayer.contentType == "loki/bio-network")
467:       #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
468:       #set ($teamName = $relatedPlayerObj.get("team"))
469:       #if ($teamName.length() > 0)
470:         #if (!$teamNames.containsValue($teamName))
471:           $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
472:         #end
473:       #end
474:     #end
475:   #end
476: 
477:   <select class="roster-select-list">
478:   #foreach ($i in [1..$teamNames.size()])
479:     #if ($teamNames.size() > 1)
480:       <optgroup label="$teamNames.get($i)">
481:     #end
482: 				
483:     #foreach ($relatedPlayer in $relatedPlayers)
484:       #if ($relatedPlayer.contentType == "loki/bio-network")
485:         #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
486:         #set ($teamName = $relatedPlayerObj.get("team"))
487:         #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
488:           #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
489:           #set ($playerLastName = $relatedPlayerObj.get("last_name"))
490:           #if ($page.url == $relatedPlayer.url)
491:             <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
492:           #else
493:             <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
494:           #end
495:         #end
496:       #end
497:     #end
498: 				
499:     #if ($teamNames.size() > 1)
500:       </optgroup>
501:     #end
502:   #end
503:   </select>
504: #end
505: #end ## macro printRoster
506: 	
507: ################################################## END MACROS  #############################################################
508: 
509: #if ($attributes.get("full_name").length() > 0)
510:   #set ($fullName = $attributes.get("full_name"))
511: #else
512:   #set ($firstName = $!attributes.get("first_name"))
513:   #set ($lastName = $!attributes.get("last_name"))
514:   #set ($fullName = "${firstName} ${lastName}")
515: #end
516: 
517: ## FULL ROSTER
518: <div class="bio-wrap clearfix">
519: 	
520: ## RELATED BIOS
521: #if ($showRoster)
522:   <div class="related-bios clearfix">#printRoster</div>
523: #end
524:   
525: <div class="head clearfix">
526: <div class="clearfix">
527:     
528: <div class="player-about clearfix">
529:   <div class="player-headshot">#printHeadshot</div>
530:   <div class="player-info">#printBioInfo</div>
531: </div>
532: 
533: #if ($highlights && $showHighlights)
534:   <div class="player-highlights clearfix">#printHighlights</div>
535: #end
536: 
537: </div>
538: </div> ## head
539: 
540: #if ($view.length() > 0)
541: <div class="body clearfix">
542:   
543: <div class="tab-container primary clearfix">
544:   
545: <div class="tab-nav" data-jscroll="true" data-momentum="false">
546:   <div>
547:   <ul class="clearfix">
548:   #if ($hasSynopsis || $hasBioBrief)
549:     <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
550:   #end
551: 		
552:   #if ($statsURL.length() > 0)
553:     <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
554:     <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
555:     #if ($showCareer)
556:       <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
557:     #end
558:     <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
559:   #end
560: 
561:   #if ($hasHTMLStats)
562:     <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
563:   #end
564:  
565:   #if ($releases.size() > 0)
566: 	<li #if ($view == "news") class="active" #end><a href="${page.url}?view=news">News</a></li>
567:   #end
568:   </ul>
569:   </div>
570: </div> ## tab-nav
571: 
572: <div class="tab-panels clearfix">
573: 	
574: ## BIO
575: #if ($hasSynopsis || $hasBioBrief)
576: 
577: #set ($class = "tab-panel clearfix")
578: #if ($view == "bio")
579:   #set ($class = "tab-panel active clearfix")
580: #end
581: <div class="${class}">
582: 
583: <div class="synopsis clearfix">
584: #if ($hasSynopsis)
585:   $synopsis
586: #elseif ($hasBioBrief)
587:   $website.include("$bioBriefURL")
588: #end
589: </div>
590: 
591: </div> ## tab-panel
592: #end 
593: ## BIO
594: 
595: ## STATS
596: #if ($statsURL.length() > 0)
597: 
598: ## PROFILE
599: #set ($class = "tab-panel clearfix")
600: #if ($view == "profile")
601:   #set ($class = "tab-panel active clearfix")
602: #end
603: <div class="${class}">
604: <div class="stats-wrap clearfix">
605: 
606: ## LAST SIX GAMES
607: <div class="stats-box half">
608: #printRecentGames()
609: </div>
610: 
611: ## RANKING
612: <div class="stats-box half">
613: #if ($statPos.length() > 0)
614:   $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
615: #end
616: </div>
617: 
618: </div> ## stats-wrap	
619: </div> ## tab-content
620: ## PROFILE
621: 
622: ## GAMELOG
623: #set ($class = "tab-panel clearfix")
624: #if ($view == "gamelog")
625:   #set ($class = "tab-panel active clearfix")
626: #end
627: 
628: #set ($activePos = $statPos)
629: #if ($view == "gamelog" && $paramPos.length() > 0)
630:   #if ($positions.get($paramPos).length() > 0)
631:     #set ($activePos = $positions.get($paramPos))
632:   #end
633: #end
634: 
635: <div class="${class}">
636: 
637: #if ($gamelogsCategoriesLabels)
638: <div class="tab-container secondary clearfix">
639:   <div class="tab-nav" data-jscroll="true" data-momentum="false">
640:     <div>
641:     <ul class="clearfix">
642:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
643:       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
644: 		
645:       #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
646:         #set($gamelogsCatLabelVal = "Defence")
647:       #end
648: 
649:       <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}">$gamelogsCatLabelVal</a></li>
650:     #end
651:     </ul>
652: 	</div>
653:   </div>
654:   <div class="tab-panels">
655:   #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
656:     #set ($class = "tab-panel clearfix")
657:     #if ($gamelogsCatLabel.key == $activePos)
658:       #set ($class = "tab-panel active clearfix")
659:     #end
660:     <div class="${class}">
661:       <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
662: 	</div>
663:   #end   
664:   </div>
665: </div>	
666: #else
667:   <div class="stats-wrap clearfix">#gamelogData($pos)</div>
668: #end
669: 	
670: </div> ## tab-panel
671: ## GAMELOG
672: 
673: 
674: ## CAREER
675: #if ($showCareer)
676: 
677: #set ($activePos = $statPos)
678: #if ($view == "career" && $paramPos.length() > 0)
679:   #if ($positions.get($paramPos).length() > 0)
680:     #set ($activePos = $positions.get($paramPos))
681:   #end
682: #end
683: 
684: #set ($class = "tab-panel clearfix")
685: #if ($view == "career")
686:   #set ($class = "tab-panel active clearfix")
687: #end
688: 
689: <div class="${class}">
690: 
691: #if ($briefsCategoriesLabels)
692:   #printCategories($briefsCategoriesLabels "career")
693: #else
694:   <div class="stats-wrap clearfix">#careerData($activePos)</div>
695: #end		
696: 
697: </div> ## tab-panel
698: #end
699: ## CAREER
700: 
701: ## SPLITS
702: #set ($class = "tab-panel clearfix")
703: #if ($view == "splits")
704: 	#set ($class = "tab-panel active clearfix")
705: #end
706: 
707: #set ($activePos = $statPos)
708: #if ($view == "splits" && $paramPos.length() > 0)
709:   #if ($positions.get($paramPos).length() > 0)
710:     #set ($activePos = $positions.get($paramPos))
711:   #end
712: #end
713: 
714: <div class="${class}">
715: 
716: #if ($briefsCategoriesLabels)
717:   #printCategories($briefsCategoriesLabels "splits")
718: #else
719:   <div class="stats-wrap clearfix">#splitsData($pos)</div>
720: #end		
721: 
722: </div> ## tab-panel
723: ## SPLITS
724: 
725: #end 
726: ## STATS
727: 
728: ## HTML STATS
729: #if ($hasHTMLStats)
730: 
731: #set ($class = "tab-panel clearfix")
732: #if ($view == "htmlstats")
733:   #set ($class = "tab-panel active clearfix")
734: #end
735: <div class="${class}">
736:   <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
737: </div>
738: 
739: #end
740: ## HTML STATS
741: 
742: ## NEWS
743: #set ($class = "tab-panel clearfix")
744: #if ($view == "news")
745:   #set ($class = "tab-panel active clearfix")
746: #end
747: <div class="bio-news ${class}">
748: 
749: #set ($counter = 0)
750: 
751: #foreach ($article in $releases)
752: #if ($article.title.length() > 0)
753: 
754: #set ($counter = $counter + 1)
755: 
756: #if ($counter == 1)
757:   <div class="row clearfix">
758: #end
759: 
760: <div class="item">
761: <div>
762: #if ($article.thumbnailURL)
763:   <img src="${article.thumbnailURL}?max_width=300" alt="" />
764: #else
765:   <img src="/images/setup/thumbnail_default.jpg" alt="" />
766: #end
767: 
768: <a href="$article.url" class="title">$article.title</a>
769: 
770: </div>
771: </div> ## item
772: 
773: #if ($counter == 3 || $velocityCount == $releases.size())
774:   </div> ## row
775:   #set ($counter = 0)
776: #end
777: 
778: #end
779: #end ## foreach
780: 
781: </div> ## tab-content
782: ## NEWS
783: 	
784: </div> ## tab-panels
785: </div> ## tab-container
786: </div> ## body
787: #end
788: 
789: $wiki
790: </div> ## ends bio-wrap