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="20250311"/> |
34 <c:set scope="page" var="versionSuffix" value="20250313"/> |
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 |
38 |
39 <%-- Define an alias for the request path --%> |
39 <%-- Define an alias for the request path --%> |
92 <c:if test="${not empty javascriptFile}"> |
92 <c:if test="${not empty javascriptFile}"> |
93 <script src="${javascriptFile}?v=${versionSuffix}" type="text/javascript"></script> |
93 <script src="${javascriptFile}?v=${versionSuffix}" type="text/javascript"></script> |
94 </c:if> |
94 </c:if> |
95 </head> |
95 </head> |
96 <body> |
96 <body> |
97 <div id="body-area"> |
97 <div id="page-area"> |
98 <div id="mainMenu"> |
98 <div id="mainMenu"> |
99 <div class="menuEntry" |
99 <div class="menuEntry" |
100 <c:if test="${fn:startsWith(requestPath, '/projects/')}">data-active</c:if> > |
100 <c:if test="${fn:startsWith(requestPath, '/projects/')}">data-active</c:if> > |
101 <a href="projects/"> |
101 <a href="projects/"> |
102 <fmt:message key="menu.projects"/> |
102 <fmt:message key="menu.projects"/> |
130 🔍 |
130 🔍 |
131 <input id="search-box" list="search-box-list" autocomplete="off"> |
131 <input id="search-box" list="search-box-list" autocomplete="off"> |
132 <datalist id="search-box-list"></datalist> |
132 <datalist id="search-box-list"></datalist> |
133 </div> |
133 </div> |
134 </div> |
134 </div> |
135 <c:if test="${not empty navMenu}"> |
135 <div id="body-area"> |
136 <div id="sideMenu"> |
136 <c:if test="${not empty navMenu}"> |
137 <%@include file="../jspf/navmenu.jspf" %> |
137 <div id="sideMenu"> |
138 </div> |
138 <%@include file="../jspf/navmenu.jspf" %> |
139 </c:if> |
139 </div> |
140 <c:if test="${empty navMenu}"> |
140 </c:if> |
141 <div id="sideMenuFiller"></div> |
141 <div id="content-area"> |
142 </c:if> |
142 <c:import url="${contentPage}"/> |
143 <div id="content-area"> |
143 </div> |
144 <c:import url="${contentPage}"/> |
|
145 </div> |
144 </div> |
146 </div> |
145 </div> |
147 </body> |
146 </body> |
148 </html> |
147 </html> |