| 29 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
29 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
| 30 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
30 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
| 31 <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> |
31 <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> |
| 32 |
32 |
| 33 <%-- Version suffix for forcing browsers to update the CSS / JS files --%> |
33 <%-- Version suffix for forcing browsers to update the CSS / JS files --%> |
| 34 <c:set scope="page" var="versionSuffix" value="20240731"/> |
34 <c:set scope="page" var="versionSuffix" value="20240804"/> |
| 35 |
35 |
| 36 <%-- Make the base href easily available at request scope --%> |
36 <%-- Make the base href easily available at request scope --%> |
| 37 <c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}"/> |
37 <c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}"/> |
| 38 |
|
| 39 <%-- The feed URL for this page. --%> |
|
| 40 <c:set scope="page" var="feedHref" value="${requestScope[Constants.REQ_ATTR_FEED_HREF]}"/> |
|
| 41 |
38 |
| 42 <%-- Define an alias for the request path --%> |
39 <%-- Define an alias for the request path --%> |
| 43 <c:set scope="page" var="requestPath" value="${requestScope[Constants.REQ_ATTR_PATH]}"/> |
40 <c:set scope="page" var="requestPath" value="${requestScope[Constants.REQ_ATTR_PATH]}"/> |
| 44 |
41 |
| 45 <%-- Define an alias for the navigation menu --%> |
42 <%-- Define an alias for the navigation menu --%> |
| 75 <meta charset="UTF-8"> |
72 <meta charset="UTF-8"> |
| 76 <c:if test="${not empty redirectLocation}"> |
73 <c:if test="${not empty redirectLocation}"> |
| 77 <meta http-equiv="refresh" content="0; URL=${redirectLocation}"> |
74 <meta http-equiv="refresh" content="0; URL=${redirectLocation}"> |
| 78 </c:if> |
75 </c:if> |
| 79 <link rel="stylesheet" href="lightpit.css?v=${versionSuffix}" type="text/css"> |
76 <link rel="stylesheet" href="lightpit.css?v=${versionSuffix}" type="text/css"> |
| 80 <c:if test="${not empty feedHref}"> |
77 <c:if test="${not empty requestScope[Constants.REQ_ATTR_VIEWMODEL].feedHref}"> |
| 81 <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="${feedHref}"/> |
78 <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="${requestScope[Constants.REQ_ATTR_VIEWMODEL].feedHref}"/> |
| 82 </c:if> |
79 </c:if> |
| 83 <c:if test="${not empty extraCss}"> |
80 <c:if test="${not empty extraCss}"> |
| 84 <c:forEach items="${extraCss}" var="cssFile"> |
81 <c:forEach items="${extraCss}" var="cssFile"> |
| 85 <link rel="stylesheet" href="${cssFile}?v=${versionSuffix}" type="text/css"> |
82 <link rel="stylesheet" href="${cssFile}?v=${versionSuffix}" type="text/css"> |
| 86 </c:forEach> |
83 </c:forEach> |
| 94 <div id="mainMenu"> |
91 <div id="mainMenu"> |
| 95 <div class="menuEntry" |
92 <div class="menuEntry" |
| 96 <c:if test="${fn:startsWith(requestPath, '/projects/')}">data-active</c:if> > |
93 <c:if test="${fn:startsWith(requestPath, '/projects/')}">data-active</c:if> > |
| 97 <a href="projects/"> |
94 <a href="projects/"> |
| 98 <fmt:message key="menu.projects"/> |
95 <fmt:message key="menu.projects"/> |
| |
96 </a> |
| |
97 </div> |
| |
98 <div class="menuEntry" |
| |
99 <c:if test="${fn:startsWith(requestPath, '/issues/')}">data-active</c:if> > |
| |
100 <a href="issues/"> |
| |
101 <fmt:message key="menu.issues"/> |
| 99 </a> |
102 </a> |
| 100 </div> |
103 </div> |
| 101 <div class="menuEntry" |
104 <div class="menuEntry" |
| 102 <c:if test="${fn:startsWith(requestPath, '/users/')}">data-active</c:if> > |
105 <c:if test="${fn:startsWith(requestPath, '/users/')}">data-active</c:if> > |
| 103 <a href="users/"> |
106 <a href="users/"> |