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/"> |