2025-03-31 15:57:18 +00:00

106 lines
5.3 KiB
HTML

<aside class="sidebar" data-sidebar>
<div class="sidebar-info">
<figure class="avatar-box">
<a th:href="${site.url}">
<img th:src="${theme.config.index.header_info.header_info_img ?: site.logo ?: 'https://www.halo.run/logo'}"
th:srcset="|${thumbnail.gen(theme.config.index.header_info.header_info_img ?: site.logo ?: 'https://www.halo.run/logo', 's')} 400w,
${thumbnail.gen(theme.config.index.header_info.header_info_img ?: site.logo ?: 'https://www.halo.run/logo', 'm')} 800w|"
sizes="(max-width: 800px) 100vw, 800px"
th:alt="${theme.config.index.header_info.header_info_title ?: site.title}" width="80"
style="border-radius: 30px; object-fit: cover;">
</a>
</figure>
<div class="info-content">
<h1 class="name" th:text="${theme.config.index.header_info.header_info_title ?: site.title}"></h1>
<p class="title" th:text="${theme.config.index.header_info.header_info_subtitle ?: site.subtitle}"></p>
</div>
<button class="info_more-btn" data-sidebar-btn>
<span>个人信息</span>
<ion-icon name="chevron-down"></ion-icon>
</button>
</div>
<div class="sidebar-info_more">
<div class="separator"></div>
<ul class="contacts-list">
<li class="contact-item"
th:if="${theme.config.index.header_contact.email != null and !theme.config.index.header_contact.email.isEmpty()}">
<div class="icon-box">
<ion-icon name="mail-outline"></ion-icon>
</div>
<div class="contact-info">
<p class="contact-title">邮箱</p>
<a th:href="'mailto:' + ${theme.config.index.header_contact.email}" class="contact-link"
th:text="${theme.config.index.header_contact.email}"></a>
</div>
</li>
<li class="contact-item"
th:if="${theme.config.index.header_contact.phone != null and !theme.config.index.header_contact.phone.isEmpty()}">
<div class="icon-box">
<ion-icon name="phone-portrait-outline"></ion-icon>
</div>
<div class="contact-info">
<p class="contact-title">电话</p>
<a th:href="'tel:' + ${theme.config.index.header_contact.phone}" class="contact-link"
th:text="${theme.config.index.header_contact.phone}"></a>
</div>
</li>
<li class="contact-item"
th:if="${theme.config.index.header_contact.birthday != null and !theme.config.index.header_contact.birthday.isEmpty()}">
<div class="icon-box">
<ion-icon name="calendar-outline"></ion-icon>
</div>
<div class="contact-info">
<p class="contact-title">生日</p>
<time datetime="${theme.config.index.header_contact.birthday}"
th:text="${theme.config.index.header_contact.birthday}"></time>
</div>
</li>
<li class="contact-item"
th:if="${theme.config.index.header_contact.Location != null and !theme.config.index.header_contact.Location.isEmpty()}">
<div class="icon-box">
<ion-icon name="location-outline"></ion-icon>
</div>
<div class="contact-info">
<p class="contact-title">地区</p>
<address th:text="${theme.config.index.header_contact.Location}"></address>
</div>
</li>
</ul>
<div class="separator"></div>
<ul class="social-list" th:with="social = ${theme.config.index.social}">
<li class="social-item" th:each="social_item : ${social}">
<a class="social-link" th:href="${social_item.url}" target="_blank" th:title="${social_item.name}">
<ion-icon th:name="${social_item.icon}"></ion-icon>
</a>
</li>
</ul>
<div class="footer-info">
<div class="beian" th:if="${not #strings.isEmpty(theme.config.beian.icp_text)}">
<a href="https://beian.miit.gov.cn/" target="_blank" th:href="${theme.config.beian.icp_link}"
th:text="${theme.config.beian.icp_text}"></a>
</div>
<div class="gongan" th:if="${not #strings.isEmpty(theme.config.beian.gongan_text)}">
<img th:src="@{/assets/images/gongan_beian.webp}" alt="gongan_beian" />
<a href="https://beian.mps.gov.cn/#/query/webSearch" target="_blank"
th:href="${theme.config.beian.gongan_link}" th:text="${theme.config.beian.gongan_text}"></a>
</div>
<div class="copyright">
<div>
© [[${#dates.format(new java.util.Date().getTime(), 'yyyy')}]] <a href="/"
th:text="${site.title}"></a>
</div>
<div>
Powered by <a href="https://halo.run" target="_blank">Halo [[${site.version}]]</a>
</div>
</div>
</div>
</div>
</aside>