40 lines
2.1 KiB
HTML
40 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns:th="http://www.thymeleaf.org">
|
||
<!-- 公共页脚:友链区(浅底,分组渲染,方案 §8.1 友链不设独立路由)+ 深蓝主区 + 底条(视觉规范 docs/design-system.md) -->
|
||
<footer class="site-footer" th:fragment="footer">
|
||
<!-- 友情链接(无分组的站整段不渲染;分组无链接时防御性跳过——数据上分组由链接行物化,不可达) -->
|
||
<div class="footer-links" th:if="${!#lists.isEmpty(site.linkGroups)}">
|
||
<div class="footer-links-inner">
|
||
<div class="links-group" th:each="group : ${site.linkGroups}"
|
||
th:if="${!#lists.isEmpty(group.links)}">
|
||
<span class="group-name" th:text="${group.groupName}">分组</span>
|
||
<a th:each="link : ${group.links}" th:href="${link.linkUrl}" target="_blank" rel="noopener"
|
||
th:text="${link.name}">链接</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 主区:校徽 + 站名 | 联系/版权/备案(config_json: contact/copyright/beian) -->
|
||
<div class="footer-main">
|
||
<div class="footer-brand">
|
||
<img th:if="${site.config['logo'] != null}" class="footer-logo"
|
||
th:src="${url.upload(site.config['logo'])}" th:alt="${site.name}">
|
||
<span class="footer-site" th:text="${site.name}">站点名称</span>
|
||
</div>
|
||
<div class="footer-info">
|
||
<p th:if="${site.config['contact'] != null}" th:text="${site.config['contact']}">联系方式</p>
|
||
<p th:if="${site.config['copyright'] != null}" th:text="${site.config['copyright']}">版权信息</p>
|
||
<p th:if="${site.config['beian'] != null}" th:text="${site.config['beian']}">备案号</p>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 底条:全站无任何配置信息时仍保留结构完整(空块由 CSS 收敛) -->
|
||
<div class="footer-bottom">
|
||
<div class="footer-bottom-inner">
|
||
<p th:if="${site.schName != null and !#strings.isEmpty(site.schName)}"
|
||
th:text="${site.schName}">学校名称</p>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
</html>
|