254 lines
15 KiB
HTML
254 lines
15 KiB
HTML
<!-- 页脚模块 -->
|
|
<footer id="footer" xmlns:th="http://www.w3.org/1999/xhtml">
|
|
|
|
<div id="heo-footer-bar" th:if="${theme.config.footer.footer_bar.footer_bar_enable}">
|
|
<div class="footer-logo"><th:block th:utext="${theme.config.footer.footer_bar.logo}"></th:block></div>
|
|
<div class="footer-bar-description">[[${theme.config.footer.footer_bar.description}]]</div>
|
|
<a class="footer-bar-link" href="/" data-pjax-state="">了解更多</a>
|
|
</div>
|
|
|
|
<!-- 社交链接,需要填入 href class title -->
|
|
<div id="footer_deal">
|
|
<th:block th:with="socialMedias = ${theme.config.footer.social_media.socialMediaLeft}">
|
|
<a th:class="${socialMedia.option_social_data == 'custom' ? 'custom_socials' : 'deal_link'}" rel="external nofollow" target="_blank" th:each="socialMedia : ${socialMedias}"
|
|
th:href="${socialMedia.url}" th:title="${socialMedia.name}">
|
|
<i th:if="${socialMedia.option_social_data == 'icon' || #strings.isEmpty(socialMedia.option_social_data)}"
|
|
th:class="${socialMedia.icon}"></i>
|
|
<th:block th:if="${socialMedia.option_social_data == 'custom'}" th:utext="${socialMedia.icon}"></th:block>
|
|
</a>
|
|
</th:block>
|
|
|
|
<img th:if="${not #strings.isEmpty(theme.config.footer.social_media.centerImg)}" class="footer_mini_logo"
|
|
th:with="img = @{${theme.config.footer.social_media.centerImg}}" th:src="${isLazyload ? '' : img}"
|
|
th:data-lazy-src="${ isLazyload ? img : ''}" title="返回顶部" onclick="btf.scrollToDest(0, 500)">
|
|
|
|
<th:block th:with="socialMedias = ${theme.config.footer.social_media.socialMediaRight}">
|
|
<a th:class="${socialMedia.option_social_data == 'custom' ? 'custom_socials' : 'deal_link'}" rel="external nofollow" target="_blank" th:each="socialMedia : ${socialMedias}"
|
|
th:href="${socialMedia.url}" th:title="${socialMedia.name}">
|
|
<i th:if="${socialMedia.option_social_data == 'icon' || #strings.isEmpty(socialMedia.option_social_data)}"
|
|
th:class="${socialMedia.icon}"></i>
|
|
<th:block th:if="${socialMedia.option_social_data == 'custom'}" th:utext="${socialMedia.icon}"></th:block>
|
|
</a>
|
|
</th:block>
|
|
</div>
|
|
|
|
<!-- 相关地址 -->
|
|
<th:block th:if="${not #strings.isEmpty(theme.config.footer.menu)}"
|
|
th:with="footMenu = ${menuFinder.getByName(theme.config.footer.menu)}">
|
|
<div id="heo-footer" th:if="${not #lists.isEmpty(footMenu.menuItems)}">
|
|
<div class="footer-group" th:each="menuItem : ${footMenu.menuItems}">
|
|
<h3 class="footer-title" th:text="${menuItem.status.displayName}"></h3>
|
|
<div class="footer-links">
|
|
<a class="footer-item" th:each="childMenu : ${menuItem.children}"
|
|
th:href="@{${childMenu.status.href}}" th:target="${childMenu.spec.target?.value}"
|
|
th:text="${childMenu.status.displayName}">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div th:if="${theme.config.footer.footer_group.enable_footer_group}" class="footer-group">
|
|
<div class="footer-title-group">
|
|
<h3 class="footer-title">友链</h3>
|
|
<a class="random-friends-btn" id="footer-random-friends-btn"
|
|
href="javascript:heo.addFriendLinksInFooter();" rel="external nofollow" title="换一批友情链接"
|
|
data-pjax-state="external"><i class="haofont hao-icon-arrow-rotate-right" style="font-size: 16px;"></i></a>
|
|
</div>
|
|
<div class="footer-links" id="friend-links-in-footer"></div>
|
|
</div>
|
|
</div>
|
|
|
|
</th:block>
|
|
<!-- 底部 banner -->
|
|
<halo:footer />
|
|
|
|
<div class="copyright"
|
|
th:if="${not #strings.isEmpty(theme.config.basics.siteStartTime) && theme.config.footer.footerContent.style_one.owner_enable}">
|
|
©[[${#strings.arraySplit(theme.config.basics.siteStartTime, '-')[0]}]] - [[${#dates.format(new
|
|
java.util.Date(), 'yyyy')}]] By [[${site.title}]]
|
|
</div>
|
|
<div class="copyright"
|
|
th:if="${#strings.isEmpty(theme.config.basics.siteStartTime) && theme.config.footer.footerContent.style_one.owner_enable}">
|
|
©[[${#dates.format(new java.util.Date(), 'yyyy')}]] By [[${site.title}]]
|
|
</div>
|
|
<div th:if="${theme.config.footer.footerContent.style_one.runtime_enable}" id="workboard"></div>
|
|
<p th:if="${theme.config.footer.footerContent.style_one.bdageitem_enable && not #lists.isEmpty(theme.config.footer.footerContent.style_one.bdageitem)}"
|
|
th:with="bdageitem = ${theme.config.footer.footerContent.style_one.bdageitem}"
|
|
id="ghbdages" style="width:60%;margin: 0 auto 0;">
|
|
<a class="github-badge" th:each="data : ${bdageitem}" target="_blank" th:href="@{${data.link}}"
|
|
style="margin-inline:5px" th:title="${data.message}">
|
|
<img th:with=" img = @{${data.shields}}" th:src="${isLazyload ? '' : img}"
|
|
th:data-lazy-src="${ isLazyload ? img : ''}" th:alt="${data.message}" />
|
|
</a>
|
|
</p>
|
|
<span th:if="${!theme.config.footer.footerContent.default_enable_group.default_enable}" style="padding: 5px 5px;">
|
|
|
|
</span>
|
|
|
|
<style>
|
|
.copyright,
|
|
#ghbdages,
|
|
#workboard {
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
|
|
<style
|
|
th:if="${(theme.config.footer.footerContent.style_one.owner_enable
|
|
|| (not #lists.isEmpty(theme.config.footer.footerContent.style_one.bdageitem) && theme.config.footer.footerContent.style_one.bdageitem_enable )
|
|
|| theme.config.footer.footerContent.style_one.runtime_enable)
|
|
&& theme.config.footer.footerContent.default_enable_group.default_enable}">
|
|
#heo-footer {
|
|
margin-bottom: 1rem;
|
|
}
|
|
</style>
|
|
|
|
<div th:if="${theme.config.footer.footerContent.default_enable_group.default_enable}" id="footer-banner">
|
|
<div class="footer-banner-links">
|
|
<div class="footer-banner-left">
|
|
<div id="footer-banner-tips">
|
|
<div style="display: flex;flex-direction: row;align-items: center;">
|
|
<th:block th:if="${not #strings.isEmpty(theme.config.basics.siteStartTime)}">
|
|
©[[${#strings.arraySplit(theme.config.basics.siteStartTime, '-')[0]}]] - [[${#dates.format(new
|
|
java.util.Date(), 'yyyy')}]]
|
|
</th:block>
|
|
<th:block th:if="${#strings.isEmpty(theme.config.basics.siteStartTime)}">
|
|
©[[${#dates.format(new java.util.Date(), 'yyyy')}]]
|
|
</th:block>
|
|
By <a class="footer-banner-link" href="/" target="_blank">[[${site.title}]]</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="footer-banner-right">
|
|
|
|
<!-- 又拍云 -->
|
|
<a th:if="${theme.config.footer.footerContent.default_enable_group.yunzhichi && theme.config.footer.footerContent.default_enable_group.yunzhichi_list == 'upyun_cloud'}"
|
|
class="footer-banner-link cloud" href="https://www.upyun.com/"
|
|
rel="noopener external nofollow noreferrer noopener"
|
|
target="_blank">
|
|
<span>本网站由</span>
|
|
<img th:src="${assets_link + '/images/footer/upyun-5.png'}" alt="upyun" class="entered loading cloud" />
|
|
<span>提供CDN加速/云存储服务</span>
|
|
</a>
|
|
<!-- 阿里云 -->
|
|
<a th:if="${theme.config.footer.footerContent.default_enable_group.yunzhichi && theme.config.footer.footerContent.default_enable_group.yunzhichi_list == 'aliyun_cloud'}"
|
|
class="footer-banner-link cloud" href="https://www.aliyun.com/"
|
|
rel="noopener external nofollow noreferrer noopener"
|
|
target="_blank">
|
|
<span>本网站由</span>
|
|
<img th:src="${assets_link + '/images/footer/aliyun.png'}" alt="aliyun_cloud" class="entered loading cloud" />
|
|
<span>提供CDN加速/云存储服务</span>
|
|
</a>
|
|
<!-- 腾讯云 -->
|
|
<a th:if="${theme.config.footer.footerContent.default_enable_group.yunzhichi && theme.config.footer.footerContent.default_enable_group.yunzhichi_list == 'tencent_cloud'}"
|
|
class="footer-banner-link cloud" href="https://cloud.tencent.com/"
|
|
rel="noopener external nofollow noreferrer noopener"
|
|
target="_blank">
|
|
<span>本网站由</span>
|
|
<img th:src="${assets_link + '/images/footer/tencent.png'}" alt="tencent_cloud" class="entered loading cloud" />
|
|
<span>提供CDN加速/云存储服务</span>
|
|
</a>
|
|
<!-- 华为云 -->
|
|
<a th:if="${theme.config.footer.footerContent.default_enable_group.yunzhichi && theme.config.footer.footerContent.default_enable_group.yunzhichi_list == 'huawei_cloud'}"
|
|
class="footer-banner-link cloud" href="https://www.huaweicloud.com/"
|
|
rel="noopener external nofollow noreferrer noopener"
|
|
target="_blank">
|
|
<span>本网站由</span>
|
|
<img th:src="${assets_link + '/images/footer/huawei.png'}" alt="huawei_cloud" class="entered loading cloud" />
|
|
<span>提供CDN加速/云存储服务</span>
|
|
</a>
|
|
<!-- 自定义云服务信息 -->
|
|
<a th:if="${theme.config.footer.footerContent.default_enable_group.yunzhichi && theme.config.footer.footerContent.default_enable_group.yunzhichi_list == 'custom_cloud' && not #strings.isEmpty(theme.config.footer.footerContent.default_enable_group.yunzhichi_url)}"
|
|
class="footer-banner-link cloud" th:href="@{${theme.config.footer.footerContent.default_enable_group.yunzhichi_url_link}}"
|
|
rel="noopener external nofollow noreferrer noopener"
|
|
target="_blank">
|
|
<span>本网站由</span>
|
|
<img th:src="@{${theme.config.footer.footerContent.default_enable_group.yunzhichi_url}}" alt="custom_cloud" class="entered loading cloud"/>
|
|
<span>提供CDN加速/云存储服务</span>
|
|
</a>
|
|
|
|
<!-- 订阅 需要 RSS 插件支持 -->
|
|
<a class="footer-banner-link" href="/rss.xml" th:if="${pluginFinder.available('PluginFeed')} and ${theme.config.footer.footerContent.default_enable_group.dingyue}">订阅</a>
|
|
<a th:if="${theme.config.footer.footerContent.default_enable_group.zhuti}" class="footer-banner-link" href="https://github.com/liuzhihang/halo-theme-hao">主题</a>
|
|
<a th:if="${theme.config.footer.footerContent.default_enable_group.about}" class="footer-banner-link" href="/about">关于</a>
|
|
<a th:if="${not #strings.isEmpty(theme.config.basics.icp) && theme.config.footer.footerContent.default_enable_group.icp_icon}"
|
|
class="footer-banner-link" href="https://beian.miit.gov.cn/#/Integrated/index"
|
|
rel="noopener external nofollow noreferrer noopener"
|
|
target="_blank">
|
|
<span th:if="${not #strings.startsWith(theme.config.basics.icp, 'http')}">[[${theme.config.basics
|
|
.icp}]]</span>
|
|
<img th:if="${#strings.startsWith(theme.config.basics.icp, 'http')}"
|
|
th:src="@{${theme.config.basics.icp}}" alt="icp"/>
|
|
</a>
|
|
<a th:if="${not #strings.isEmpty(theme.config.basics.gongan) && theme.config.footer.footerContent.default_enable_group.gongwangan}"
|
|
class="footer-banner-link" href="http://www.beian.gov.cn/portal/registerSystemInfo"
|
|
rel="noopener external nofollow noreferrer noopener"
|
|
target="_blank">
|
|
<span th:if="${not #strings.startsWith(theme.config.basics.gongan, 'http')}">[[${theme.config.basics.gongan}]]</span>
|
|
<img th:if="${#strings.startsWith(theme.config.basics.gongan, 'http')}"
|
|
th:src="@{${theme.config.basics.gongan}}" alt="gongan"/>
|
|
</a>
|
|
<a class="footer-banner-link cc" th:href="${theme.config.basics.copyrightAgreement}"
|
|
th:if="${not #strings.isEmpty(theme.config.basics.copyrightAgreement) && theme.config.footer.footerContent.default_enable_group.yingsi}" title="cc协议">
|
|
<i class="haofont hao-icon-copyright-line"></i>
|
|
<i class="haofont hao-icon-creative-commons-by-line"></i>
|
|
<i class="haofont hao-icon-creative-commons-nc-line"></i>
|
|
<i class="haofont hao-icon-creative-commons-nd-line"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- 右下角 snackbar 弹窗 -->
|
|
<div th:if="${theme.config.tool.snackbar.switch}" class="needEndHide" id="cookies-window">
|
|
<div class="cookies-window-title" th:text="${theme.config.tool.snackbar.introductionTitle}"></div>
|
|
<div class="cookies-window-content"><span class="cookies-tip"
|
|
th:text="${theme.config.tool.snackbar.introductionTip}"></span>
|
|
<a class="cookies-link" th:href="@{${theme.config.tool.snackbar.introductionUrl}}"
|
|
th:title="${theme.config.tool.snackbar.introductionName}" data-pjax-state=""><i
|
|
class="bber-gotobb haofont hao-icon-circle-arrow-right"></i></a>
|
|
</div>
|
|
</div>
|
|
<div id="quit-box" onclick="RemoveRewardMask()"></div>
|
|
|
|
<!--评论弹幕弹窗 -->
|
|
<div class="comment-barrage needEndHide" style="display: none;"></div>
|
|
|
|
<style>
|
|
a.footer-banner-link.cloud {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
img.entered.loading.cloud {
|
|
height: 32px;
|
|
}
|
|
/* #footer-banner {
|
|
background-color: [[${theme.config.footer.footerContent.default_enable_group.footer_banner_background_color}]];
|
|
} */
|
|
</style>
|
|
|
|
<th:block th:if="${theme.config.top.above.enable_background_img}">
|
|
<style>
|
|
@media screen and (min-width: 1300px) {
|
|
#footer {
|
|
background: linear-gradient(180deg, var(--heo-card-bg-none) 0%, #fff0 25%);
|
|
margin-top: 0.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
}
|
|
|
|
@media screen and (max-width: 768px) {
|
|
#footer {
|
|
background: linear-gradient(180deg, var(--heo-background) 0%, #fff0 25%);
|
|
margin-top: 0;
|
|
z-index: 3;
|
|
}
|
|
}
|
|
|
|
</style>
|
|
</th:block>
|
|
|
|
</footer>
|
|
|
|
|