#14 Ki-Shawn Monroe (G) - MCLA

gp 25
pts/g 8.1
fg % 45.9
3pt % 33.3
ft % 71.9
reb/g 3.4
a/g 2.8
Player Stats
  Overall Conf
Games 25 12
Games started 24 11
Minutes 552 268
Minutes per game 22.1 22.3
FG 72-157 40-78
FG Pct 45.9 51.3
3PT 13-39 8-21
3PT Pct 33.3 38.1
FT 46-64 13-21
FT Pct 71.9 61.9
Off rebounds 21 12
Def rebounds 65 31
Total rebounds 86 43
Rebounds per game 3.4 3.6
Personal fouls 48 22
Disqualifications 0 0
Assists 69 38
Turnovers 60 24
Assist to turnover ratio 1.1 1.6
Steals 16 8
Blocks 5 3
Points 203 101
Points per game 8.1 8.4
Points per 40 min 14.7 15.1
Recent Results
Recent Games
Feb 8 Fitchburg St. W, 79-75
Feb 10 vs. Pine Manor L, 70-62
Feb 14 at Salem St. L, 91-81
Feb 17 Framingham St. W, 68-54
Feb 20 Framingham St. W, 63-52
Feb 22 at Bridgewater St. L, 102-93
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 17 vs. Western New Eng. L, 78-60 1 27 5-11 45.5 0-3 0.0 3-4 75.0 13
Nov 18 vs. Sarah Lawrence W, 61-59 1 20 2-8 25.0 0-1 0.0 4-6 66.7 8
Nov 21 Williams L, 97-72 1 30 5-10 50.0 1-3 33.3 2-2 100.0 13
Nov 25 New York U. L, 97-71 1 21 3-7 42.9 0-1 0.0 1-2 50.0 7
Nov 28 Sage L, 98-88 1 21 4-5 80.0 0-0 - 3-4 75.0 11
Dec 2 Elms W, 77-72 1 7 0-2 0.0 0-1 0.0 0-0 - 0
Dec 5 at Rensselaer L, 98-62 - - - - - - - - -
Dec 7 Rivier W, 78-76 1 25 4-5 80.0 1-2 50.0 7-11 63.6 16
Dec 11 at Union (N.Y.) L, 89-47 1 27 1-6 16.7 0-2 0.0 1-1 100.0 3
Jan 3 at Southern Vt. L, 99-84 1 21 1-5 20.0 0-0 - 2-2 100.0 4
Jan 6 Westfield St. L, 104-87 - 20 4-8 50.0 1-2 50.0 4-5 80.0 13
Jan 10 at Bridgewater St. L, 82-71 1 18 1-5 20.0 1-2 50.0 0-0 - 3
Jan 13 Worcester St. W, 91-76 1 23 3-4 75.0 0-1 0.0 0-0 - 6
Jan 18 at Fitchburg St. W, 77-64 1 21 3-4 75.0 1-2 50.0 0-0 - 7
Jan 20 at Fisher L, 91-73 1 18 1-3 33.3 0-1 0.0 2-2 100.0 4
Jan 23 Salem St. L, 88-77 1 21 3-7 42.9 3-4 75.0 2-2 100.0 11
Jan 25 at Framingham St. W, 58-40 1 17 3-7 42.9 0-2 0.0 0-0 - 6
Jan 27 at Westfield St. L, 97-75 1 17 3-7 42.9 0-1 0.0 2-4 50.0 8
Jan 31 Bridgewater St. L, 88-75 1 26 6-12 50.0 0-3 0.0 1-3 33.3 13
Feb 3 at Worcester St. W, 71-69 1 28 3-5 60.0 0-0 - 2-4 50.0 8
Feb 8 Fitchburg St. W, 79-75 1 24 1-3 33.3 0-1 0.0 1-2 50.0 3
Feb 10 vs. Pine Manor L, 70-62 1 18 1-4 25.0 0-0 - 4-5 80.0 6
Feb 14 at Salem St. L, 91-81 1 27 6-10 60.0 1-2 50.0 0-0 - 13
Feb 17 Framingham St. W, 68-54 1 26 4-6 66.7 1-1 100.0 1-1 100.0 10
Feb 20 Framingham St. W, 63-52 1 26 2-6 33.3 1-2 50.0 2-2 100.0 7
Feb 22 at Bridgewater St. L, 102-93 1 23 3-7 42.9 2-2 100.0 2-2 100.0 10
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 17 vs. Western New Eng. L, 78-60 1 27 2 3 5 3 0 - 3 0 2 -
Nov 18 vs. Sarah Lawrence W, 61-59 1 20 1 5 6 3 4 0.8 2 1 4 -
Nov 21 Williams L, 97-72 1 30 0 3 3 1 4 0.3 1 0 3 -
Nov 25 New York U. L, 97-71 1 21 0 0 0 2 2 1.0 0 0 2 -
Nov 28 Sage L, 98-88 1 21 0 2 2 6 3 2.0 0 0 2 -
Dec 2 Elms W, 77-72 1 7 0 2 2 1 1 1.0 0 0 0 -
Dec 5 at Rensselaer L, 98-62 - - - - - - - - - - - -
Dec 7 Rivier W, 78-76 1 25 0 2 2 2 4 0.5 2 0 3 -
Dec 11 at Union (N.Y.) L, 89-47 1 27 1 3 4 2 7 0.3 0 0 2 0
Jan 3 at Southern Vt. L, 99-84 1 21 1 4 5 3 4 0.8 0 0 0 -
Jan 6 Westfield St. L, 104-87 - 20 3 1 4 1 0 - 1 0 2 -
Jan 10 at Bridgewater St. L, 82-71 1 18 0 1 1 4 3 1.3 0 0 2 0
Jan 13 Worcester St. W, 91-76 1 23 0 5 5 0 3 0.0 1 1 1 -
Jan 18 at Fitchburg St. W, 77-64 1 21 1 2 3 4 5 0.8 0 0 1 -
Jan 20 at Fisher L, 91-73 1 18 2 1 3 2 1 2.0 0 0 1 -
Jan 23 Salem St. L, 88-77 1 21 0 5 5 1 3 0.3 0 1 1 -
Jan 25 at Framingham St. W, 58-40 1 17 1 3 4 1 0 - 0 0 1 -
Jan 27 at Westfield St. L, 97-75 1 17 2 1 3 0 2 0.0 1 0 3 -
Jan 31 Bridgewater St. L, 88-75 1 26 2 2 4 7 4 1.8 0 0 2 -
Feb 3 at Worcester St. W, 71-69 1 28 1 3 4 4 1 4.0 1 0 1 -
Feb 8 Fitchburg St. W, 79-75 1 24 1 1 2 6 2 3.0 1 1 2 -
Feb 10 vs. Pine Manor L, 70-62 1 18 1 3 4 2 2 1.0 0 0 2 -
Feb 14 at Salem St. L, 91-81 1 27 0 4 4 4 0 - 2 0 4 0
Feb 17 Framingham St. W, 68-54 1 26 1 3 4 6 1 6.0 1 0 2 -
Feb 20 Framingham St. W, 63-52 1 26 0 3 3 2 3 0.7 0 0 1 -
Feb 22 at Bridgewater St. L, 102-93 1 23 1 3 4 2 1 2.0 0 1 4 0
There was a problem with a Velocity script
Pagebio-network-template
ErrorVM #printCategories: too few arguments to macro. Wanted 3 got 2 at bio-network-template[line 522, column 41]
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: #set ($showconf = true)
8: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide"))
9:     #set ($showconf = false)
10: #end
11: 
12: #set ($showCareer = $wiki.valid() && $seasons)
13: #if ("yes" == $options.get("stats_show_career") && $seasons)
14:     #set ($showCareer = "yes")
15: #end
16: 
17: #if ($locale == "en_us")
18:     #set ($defLabel = "Defense")
19: #elseif ($locale == "en_gb")
20:     #set ($defLabel = "Defence")
21: #end
22: 
23: #set ($pos = "")
24: #set ($pos = $attributes.get("position"))
25: #set ($posVec = $pos.split("/"))
26: #set ($pos = $posVec[0])
27: #set ($pos = $pos.toLowerCase())
28: 
29: #set ($statPos = $positions.get($pos))
30: #set ($paramPos = $request.getParameter("pos").toLowerCase())
31: #set ($highlights = $highlights.get($statPos))
32: 
33: #set ($url = ${page.url})
34: #set ($playerId = $attributes.get("playerId"))
35: #set ($stats = $splits.overall)
36: 
37: #set ($hasEvents = $events.size() > 0)
38: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
39: #set ($htmlStatsURL = "${page.url}-stats")
40: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
41: #set ($bioBriefURL = "${page.url}-brief")
42: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
43: 
44: $request.setAttribute("careerTotals", $career)
45: ## We track a map of the careers to see if we are missing any seasons
46: #set ($careerMap = {})
47: $request.setAttribute("careerMap", $careerMap)
48: #foreach ($season in $seasons)
49:     ## We need to include this season stats
50:     #set ($path = "${season.path}?tmpl=bio-career-template&name=${season.seasonName}&pos=${statPos}&print=no")
51: 	###set ($path = $path.replace("../..", $page.sectionPage.sectionPage.sectionPage.url))
52: 	$website.includeAgain($path)
53: #end
54: 
55: #set ($view = "profile")
56: #if ($request.getParameter("view"))
57:     #set ($view = $request.getParameter("view"))
58: #end
59: 
60: #################################### MACROS ####################################################
61: #macro (printTableHeader $label $class)
62: 	<th class="text-uppercase $class">$label</th>
63: #end
64: 
65: #macro (printCellClass)
66: 	class="text-nowrap"
67: #end
68: 
69: #macro (printTab $viewParam $label)
70: 	#set ($classAttr = "nav-link text-nowrap")
71: 	#if ($viewParam == $view)
72: 		#set ($classAttr = "${classAttr} active")
73: 	#end
74: 	<li class="nav-item">
75: 		<a href="${page.url}?view=${viewParam}" class="$classAttr" role="tab" data-toggle="tab" data-target="#${viewParam}" aria-selected="true" aria-controls="$viewParam">$label</a>
76: 	</li>
77: #end
78: 
79: #macro (printPaneAttrs $viewParam)
80: 	#set ($classAttr = "tab-pane")
81: 	#if ($viewParam == $view)
82: 		#set ($classAttr = "tab-pane active")
83: 	#else
84: 		#set ($classAttr = "${classAttr} fade")
85: 	#end
86: 	
87: 	class="$classAttr" role="tabpanel" id="$viewParam"
88: #end
89: 
90: #macro (printResultAriaLabel $event)
91:     #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
92:     #if ($event.neutralSite.length() > 0 || $event.home) 
93:     	#set ($ariaLabel = "${ariaLabel} vs.")
94:     #else
95:     	#set ($ariaLabel = "${ariaLabel} at")
96:     #end
97:     #set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
98:     #if ($event.neutralSite.length() > 0)
99:     	#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
100:     #end
101:     #set ($ariaLabel = "${ariaLabel} Box Score")
102:     aria-label="$ariaLabel"
103: #end
104: 
105: #macro (printHighlights)
106:     #if ($highlights)
107:         <div class="d-flex flex-wrap mb-3 bg-light">
108:         #foreach ($highlight in $highlights.keySet())
109:             #set ($value = "-")
110:             #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
111:             #set ($classAttr = "flex-fill border p-2 text-center")
112:             #if ($velocityCount > 1)
113:                 ## #set ($classAttr = "nav-item border-left")
114:             #end
115:             <div class="$classAttr" style="min-width:100px">
116:                 <div class="text-uppercase">$!highlights.get($highlight)</div>
117:                 <div class="h5 m-0">$!value</div>
118:             </div>
119:         #end
120: 		</div>
121: 	#end
122: #end ## macro printHighlights
123: 
124: #macro (splitBioNetwork $statPosBriefs $label $stats)
125: 	<tr>
126: 		<td #printCellClass>${label}</td>
127: 		#foreach ($brief in $statPosBriefs.keySet())
128: 			#set ($value = "-")
129: 			#set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
130: 			<td #printCellClass>#if ($value.length() > 0) $value #else - #end</td>
131: 		#end
132: 	</tr>
133: #end ## marco split
134: 
135: #macro (printCategories $briefCategoryLabels $viewParam)
136: 	#printSubTabs($briefCategoryLabels.entrySet(), $viewParam)
137: 	
138: 	<div class="tab-content">
139: 		#foreach ($briefCat in $briefCategoryLabels.entrySet())
140: 			#set ($briefCatLabel = $briefCat.value)
141: 			#set ($class = "tab-pane")
142: 			#if ($briefCat.key == $activePos)
143: 				#set ($class = "tab-pane active")
144: 			#end
145: 			<div id="${viewParam}-${briefCat.key}" class="$class" role="tabpanel">
146: 				<div class="stats-wrap clearfix">
147: 					#if ($viewParam == "splits")
148: 						#splitsBioNetworkData($briefCat.key)
149: 					#elseif ($viewParam == "career")
150: 						#careerData($briefCat.key)
151: 					#end
152: 				</div>
153: 			</div>
154: 		#end  
155: 	</div>
156: #end ## macro printCategories
157: 
158: #macro (splitsBioNetworkData $p)
159: 	#set ($p = $positions.get($p))
160: 	#set ($statPosBriefs = $briefs.get($p))
161: 	#set ($colspan = $statPosBriefs.size() + 1)  
162:   
163: 	<div class="stats-container table-responsive">
164: 		<table class="table table-hover table-sm">
165:                         <thead class="thead-dark">
166:                                 <tr>
167:                                         <td>&nbsp;</td>
168:                                         #foreach ($brief in $statPosBriefs)
169:                                                 #printTableHeader($brief, "")
170:                                         #end
171:                                 </tr>
172:                         </thead>
173: 			#splitBioNetwork($statPosBriefs, "Total", $splits.overall)
174: 			#if ($showconf)
175: 				#splitBioNetwork($statPosBriefs, "Conference", $splits.conference)
176: 			#end
177: 			#splitBioNetwork($statPosBriefs, "Exhibition", $splits.exhibition)
178: 
179: 			<tr>
180: 				<td colspan="$colspan" class="text-center">-</td>
181: 			</tr>
182: 
183: 			#splitBioNetwork($statPosBriefs, "Home", $splits.home)
184: 			#splitBioNetwork($statPosBriefs, "Away", $splits.away)
185: 			#splitBioNetwork($statPosBriefs, "Neutral", $splits.neutral)
186: 
187: 			<tr>
188: 				<td colspan="$colspan" class="text-center">-</td>
189: 			</tr>
190: 
191: 			#foreach($gameResult in $gamesResults.entrySet())
192: 				#if ($gameResult.key == "wins")
193: 					#set ($splitGameResult = $splits.inWins)
194: 				#elseif ($gameResult.key == "losses")
195: 					#set ($splitGameResult = $splits.inLosses)
196: 				#elseif ($gameResult.key == "ties")
197: 					#set ($splitGameResult = $splits.inTies)
198: 				#end
199:   
200: 				#splitBioNetwork($statPosBriefs, $gameResult.value, $splitGameResult)
201: 			#end
202: 
203: 			<tr>
204: 				<td colspan="$colspan" class="text-center">-</td>
205: 			</tr>
206: 
207: 			#if ($monthsPlayed and $monthsPlayed.size() > 0)
208: 				#foreach($month in $monthsPlayed)
209: 					#if ($month == 'January')
210: 						#set ($splitMonth = $splits.january)
211: 					#elseif ($month == 'February')
212: 						#set ($splitMonth = $splits.february)
213: 					#elseif ($month == 'March')
214: 						#set($splitMonth = $splits.march)
215: 					#elseif ($month == 'April')
216: 						#set($splitMonth = $splits.april)
217: 					#elseif ($month == 'May')
218: 						#set ($splitMonth = $splits.may)
219: 					#elseif ($month == 'June')
220: 						#set ($splitMonth = $splits.june)
221: 					#elseif ($month == 'July')
222: 						#set($splitMonth = $splits.july)
223: 					#elseif ($month == 'August')
224: 						#set ($splitMonth = $splits.august)
225: 					#elseif ($month == 'September')
226: 						#set($splitMonth = $splits.september)
227: 					#elseif ($month == 'October')
228: 						#set($splitMonth = $splits.october)
229: 					#elseif ($month == 'November')
230: 						#set ($splitMonth = $splits.november)
231: 					#elseif ($month == 'December')
232: 						#set($splitMonth = $splits.december)
233: 					#end
234: 					#splitBioNetwork($statPosBriefs, $month, $splitMonth)
235: 				#end
236: 			#end
237: 		</table>
238: 	</div>
239: #end ## macro splitsBioNetworkData
240: 
241: #macro (printRecentGames)
242: 	<div class="stats-container table-responsive">
243:     	<table class="table table-hover table-sm">
244:     
245:     		#set ($eventEnd = -1)
246:     		#foreach ($event in $events)
247:     			#if ($event.event.result.resolved)
248:     				#set ($eventEnd = $velocityCount)
249:     			#end
250:     		#end
251:     
252:     		#set ($eventStart = $eventEnd - 5)
253:     		#if ($eventStart < 0) #set ($eventStart = 0) #end
254:     
255:     		#foreach ($event in $events)
256:     			#if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
257:     				<tr>
258:     					<td #printCellClass>$formatter.formatDate($event.event.date, "MMM d")</td>
259:     					<td #printCellClass>
260:     						#if ($event.event.neutralSite.length() > 0) vs.
261:     						#elseif (!$event.event.home) at
262:     						#end
263:     						$event.event.opponent.name
264:     					</td>
265:     					<td #printCellClass>
266:     						#if ($event.event.statusCode >= 0)
267:     							#if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
268:     								<a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
269:     							#else
270:     								${event.event.APResult}
271:     							#end
272:     						#end
273:     					</td>
274:     				</tr>
275:     			#end
276:     		#end
277:     	</table>
278: 	</div>
279: #end ## macro printRecentGames
280: 
281: #macro (gamelogData $p)
282: 	#set ($p = $positions.get($p))
283: 	#set ($gamelogs = $gamelogs.get($p))
284: 	#set ($atLeastOneNotOverall = false)
285: 
286: 	<div class="stats-container table-responsive">
287: 		<table class="table table-hover table-sm">
288:                         <thead class="thead-dark">
289:                                 <tr>
290:                                         #printTableHeader("Date", "")
291:                                         #printTableHeader("Opponent", "")
292:                                         #printTableHeader("Score", "")
293: 
294:                                         #set ($colspan = 3)
295:                                         #if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
296:                                                 #printTableHeader("Dec", "")
297:                                         #end
298:                                         #foreach ($gamelog in $gamelogs)
299:                                                 #printTableHeader($gamelog, "")
300:                                         #end
301:                                 </tr>
302:                         </thead>
303: 			#foreach ($event in $events)
304: 				<tr>
305: 					<td #printCellClass>$formatter.formatDate($event.event.date, "MMM d") #if (!$event.event.overall) #set ($atLeastOneNotOverall = true) # #end</</td>
306: 					<td #printCellClass>
307: 						#if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
308: 						$event.event.opponent.name
309: 					</td>
310: 					<td #printCellClass>
311: 						#if ($event.event.statusCode >= 0)
312: 							#if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
313: 								<a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
314: 							#else
315: 								${event.event.APResult}
316: 							#end
317: 						#else &nbsp; #end
318: 					</td>
319: 					#if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
320: 						<td #printCellClass>
321: 						#if ($event.stats.get('gow') == 1)
322: 							W
323: 						#elseif ($event.stats.get('gol') == 1)
324: 							L
325: 						#elseif ($event.stats.get('got') == 1)
326: 							T<
327: 						#else
328: 							-
329: 						#end
330: 						</td>
331: 					#end
332: 					#foreach ($gamelog in $gamelogs.keySet())
333: 						#set ($value = "-")
334: 						#set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
335: 						<td #printCellClass>$value</td>
336: 					#end
337: 				</tr>
338: 			#end
339: 		</table>
340: 		
341: 		#if ($atLeastOneNotOverall)
342: 			<p class="my-3"># Stats don't count towards season totals</p>
343: 		#end
344: 	</div>
345: #end ## macro gamelogData
346: 
347: #macro (careerData $p)
348: 	#set ($p = $positions.get($p))
349: 	#set ($statPosBriefs = $briefs.get($p))
350: 
351: 	<div class="stats-container table-responsive">
352: 		<table class="table table-hover table-sm">
353:                         <thead class="thead-dark">
354:                                 <tr>
355:                                         <td>&nbsp;</td>
356:                                         #foreach ($brief in $statPosBriefs)
357:                                                 #printTableHeader($brief, "")
358:                                         #end
359:                                 </tr>
360:                         </thead>
361: 			#foreach ($season in $seasons)
362: 				#if ($careerMap.get($season.seasonName))
363: 					#set ($label = "<a href='${season.path}?view=profile'>$season.seasonName</a>")
364: 					#splitBioNetwork($statPosBriefs, $label, $careerMap[$season.seasonName])
365: 				#elseif ($wiki.valid())
366: 					<tr>
367: 						<td #printCellClass>${season.seasonName}</td>
368: 						<td #printCellClass colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
369: 					</tr>
370: 				#end
371: 			#end
372: 
373: 			#splitBioNetwork($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
374: 		</table>
375: 	</div>
376: #end ## macro careerData
377: 	
378: #macro (printTabs)
379: 	<div class="tab-nav">
380: 		<ul class="nav nav-tabs flex-nowrap" role="tablist">
381: 			#printTab("profile", "Player Profile")
382: 			#printTab("gamelog", "Game Log")
383: 			#if ($showCareer)
384: 				#printTab("career", "Career Stats")
385: 			#end
386: 			#printTab("splits", "Split Stats")
387: 		</ul>
388:     </div>
389: #end ## printTabs
390: 
391: #macro (printLabel $label)
392: 	#if ($locale == "en_gb" && $label == "Defense")
393: 		Defence
394: 	#else
395: 		$label
396: 	#end
397: #end
398: 
399: #macro (printSubTabs $entries $viewParam)
400: 	#set ($activeLabel = "")
401: 	#foreach ($entry in $entries)
402: 		#if ($entry.key == $activePos)
403: 			#set ($activeLabel = $entry.value)
404: 		#end
405: 	#end
406: 	
407: 	<ul class="nav nav-tabs" role="tablist">
408: 		<li class="nav-item dropdown" data-module="bs-scripts/dropdown-tab-state">
409: 			<div class="p-2 dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">#printLabel($activeLabel)</div>
410: 			<div class="dropdown-menu" role="tablist">
411: 			#foreach($entry in $entries)
412: 				<a href="#${viewParam}-${entry.key}" data-url="${page.url}?view=${viewParam}&pos=${entry.key}" class="dropdown-item" role="tab" data-toggle="tab">#printLabel($entry.value)</a>
413: 			#end
414: 			</div>
415: 		</li>
416: 	</ul>
417: #end
418: ################################################## END MACROS  #############################################################
419: 
420: <head>
421: <title>
422:     $!attributes.get("first_name") $!attributes.get("last_name") | #if ($attributes.get("number"))#$!attributes.get("number") | #end #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)$!attributes.get("position_abbr") | #elseif ($attributes.get("position"))$!attributes.get("position") | #end  $attributes.get("team")
423: </title>
424: </head>
425: 
426: <div class="page-content player-stats">
427: 	
428: 	
429: 	<div class="d-flex justify-content-between">
430:     	<h1>
431:             #if (!$attributes.get("number").empty)<span class="small text-muted">#$!attributes.get("number")</span>#end
432:     		$!attributes.get("first_name") $!attributes.get("last_name")
433:             
434:             #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)
435:     			<span class="small">($!attributes.get("position_abbr"))</span> -
436:     		#elseif ($attributes.get("position"))
437:     			<span class="small">($!attributes.get("position"))</span> -
438:     		#end 
439:     		$attributes.get("team")
440:         </h1>
441: 		
442: 		#set ($teamId = $attributes.get("teamId"))
443:     	#if ($teamId.length() > 0)
444:     		<img src="${website.teamLogo($teamId)}" alt="" style="width:48px" />
445:     	#end
446: 	</div>
447: 	
448:     #printHighlights
449: 
450: 	<div class="tabs-container my-3">
451: 		
452: 		#printTabs
453: 		
454:     	<div class="tab-content p-3 border border-top-0">
455:     		
456:     		## PROFILE
457:     		<div #printPaneAttrs("profile")>
458:     			<div class="row">
459:     				<div class="col-lg">
460:     					<h5>Player Stats</h5>
461:     					$website.include("${page.sectionPage.url}/players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
462:     				</div>
463:     				<div class="mt-3 col-lg mt-lg-0">
464:     					<h5>Recent Results</h5>
465:     					#printRecentGames
466:                     </div>
467:     			</div>
468:     
469:                 #if ($hasSynopsis)
470:     				<div class="my-3">$!synopsis</div>
471:                 #end
472:     
473:                 #if ($hasBioBrief)
474:     				<div class="my-3">$website.include($bioBriefURL)</div>
475:                 #end
476:     
477:                 #if ($htmlStatsURL)
478:     				<div class="my-3">$website.include($htmlStatsURL)</div>
479:                 #end
480:     		</div> ## PROFILE
481:     
482:     		## GAMELOG
483:             #set ($activePos = $statPos)
484:             #if ($view == "gamelog" && $paramPos.length() > 0)
485:     			#if ($positions.get($paramPos).length() > 0)
486:     				#set ($activePos = $positions.get($paramPos))
487:     			#end
488:             #end
489:     
490:     		<div #printPaneAttrs("gamelog")>
491:     			#if ($gamelogsCategoriesLabels.size() > 0)
492:     				#printSubTabs($gamelogsCategoriesLabels.entrySet(), "gamelog")
493: 					
494:     				<div class="tab-content">
495:     					#foreach($entry in $gamelogsCategoriesLabels.entrySet())
496:     						#set ($class = "tab-pane")
497:     						#if ($entry.key == $activePos)
498:     							#set ($class = "tab-pane active")
499:     						#end
500:     						<div class="${class}" role="tabpanel" id="gamelog-${entry.key}">
501:     							#gamelogData($entry.key)
502:     						</div>
503:     					#end
504:     				</div>
505:     			#else
506:     				#gamelogData($pos)
507:     			#end
508:     		</div> ## tab-pane
509:     		## GAMELOG
510:     
511:             ## CAREER
512:     		#if ($showCareer)
513:     			#set ($activePos = $statPos)
514:     			#if ($view == "career" && $paramPos.length() > 0)
515:     				#if ($positions.get($paramPos).length() > 0)
516:     					#set ($activePos = $positions.get($paramPos))
517:     				#end
518:     			#end
519:     
520:     			<div #printPaneAttrs("career")>
521:     				#if ($briefsCategoriesLabels)
522:     					#printCategories($briefsCategoriesLabels "career")
523:     				#else
524:     					#careerData($activePos)
525:     				#end    
526:     			</div>
527:     		#end
528:     		## CAREER
529:             
530:             ## SPLITS
531:     		#set ($activePos = $statPos)
532:     		#if ($view == "splits" && $paramPos.length() > 0)
533:     			#if ($positions.get($paramPos).length() > 0)
534:     				#set ($activePos = $positions.get($paramPos))
535:     			#end
536:     		#end
537:     
538:     		<div #printPaneAttrs("splits")>
539:     			#if ($briefsCategoriesLabels)
540:     				#printCategories($briefsCategoriesLabels "splits")
541:     			#else
542:     				#splitsBioNetworkData($pos)
543:     			#end
544:     		</div>
545:     		## SPLITS
546:             
547:     	</div> ## tab-content
548: 	</div> ## tabs-container
549: </div> ## bio-wrapper
550: $wiki.su